From dab3b0a97d8213105549f35914670dd7bd91d619 Mon Sep 17 00:00:00 2001 From: John DiSanti Date: Thu, 19 Aug 2021 15:30:12 -0700 Subject: [PATCH] Import release from smithy-rs v0.21 (#200) * Import release from smithy-rs v0.21 * Update services supported * Update README --- AWS_SERVICES_SUPPORTED.md | 3 + README.md | 4 +- sdk/Cargo.toml | 2 +- sdk/accessanalyzer/Cargo.toml | 2 +- sdk/accessanalyzer/src/model.rs | 30 +- sdk/acm/Cargo.toml | 2 +- sdk/acmpca/Cargo.toml | 2 +- sdk/alexaforbusiness/Cargo.toml | 2 +- sdk/amp/Cargo.toml | 2 +- sdk/amplify/Cargo.toml | 2 +- sdk/amplifybackend/Cargo.toml | 2 +- sdk/apigateway/Cargo.toml | 2 +- sdk/apigateway/src/client.rs | 15 + sdk/apigateway/src/input.rs | 23 + sdk/apigateway/src/json_deser.rs | 30 + sdk/apigateway/src/json_ser.rs | 991 +- sdk/apigateway/src/model.rs | 41 +- sdk/apigateway/src/output.rs | 81 +- sdk/apigatewaymanagement/Cargo.toml | 2 +- sdk/apigatewayv2/Cargo.toml | 2 +- sdk/apigatewayv2/src/json_deser.rs | 9 + sdk/apigatewayv2/src/json_ser.rs | 29 +- sdk/apigatewayv2/src/model.rs | 42 +- sdk/appconfig/Cargo.toml | 2 +- sdk/appflow/Cargo.toml | 2 +- sdk/appintegrations/Cargo.toml | 2 +- sdk/applicationautoscaling/Cargo.toml | 2 +- sdk/applicationcostprofiler/Cargo.toml | 2 +- sdk/applicationdiscovery/Cargo.toml | 2 +- sdk/applicationinsights/Cargo.toml | 2 +- sdk/appmesh/Cargo.toml | 2 +- sdk/appmesh/src/model.rs | 148 +- sdk/apprunner/Cargo.toml | 2 +- sdk/appstream/Cargo.toml | 2 +- sdk/appsync/Cargo.toml | 2 +- sdk/athena/Cargo.toml | 4 +- sdk/athena/src/client.rs | 179 +- sdk/athena/src/error.rs | 11 +- sdk/athena/src/input.rs | 296 +- sdk/athena/src/lib.rs | 25 +- sdk/athena/src/model.rs | 444 +- sdk/athena/src/operation.rs | 68 +- sdk/athena/src/output.rs | 102 +- sdk/auditmanager/Cargo.toml | 2 +- sdk/autoscaling/Cargo.toml | 2 +- sdk/autoscaling/src/client.rs | 40 +- sdk/autoscaling/src/input.rs | 73 +- sdk/autoscaling/src/model.rs | 205 +- sdk/autoscaling/src/operation.rs | 13 +- sdk/autoscaling/src/operation_ser.rs | 179 +- sdk/autoscaling/src/query_ser.rs | 314 +- sdk/autoscaling/src/xml_deser.rs | 788 +- sdk/autoscalingplans/Cargo.toml | 2 +- sdk/aws-auth-providers/Cargo.toml | 11 + sdk/aws-auth-providers/src/chain.rs | 75 + .../src/default_provider_chain.rs | 229 + sdk/aws-auth-providers/src/lib.rs | 51 + sdk/aws-auth-providers/src/profile.rs | 334 +- sdk/aws-auth-providers/src/profile/exec.rs | 202 +- sdk/aws-auth-providers/src/profile/repr.rs | 106 +- sdk/aws-auth-providers/src/sts_util.rs | 49 + sdk/aws-auth-providers/src/test_case.rs | 175 + .../src/web_identity_token.rs | 310 + .../test-data/assume-role-tests.json | 99 +- .../prefer_environment/env.json | 5 + .../prefer_environment/fs/home/.aws/config | 7 + .../fs/home/.aws/credentials | 3 + .../prefer_environment/http-traffic.json | 4 + .../prefer_environment/test-case.json | 10 + .../profile_overrides_web_identity/env.json | 6 + .../fs/home/.aws/config | 3 + .../fs/token.jwt | 1 + .../http-traffic.json | 5 + .../test-case.json | 7 + .../profile_static_keys/env.json | 3 + .../profile_static_keys/fs/home/.aws/config | 4 + .../fs/home/.aws/credentials | 3 + .../profile_static_keys/http-traffic.json | 5 + .../profile_static_keys/test-case.json | 10 + .../env.json | 5 + .../fs/home/.aws/config | 6 + .../fs/token.jwt | 1 + .../http-traffic.json | 5 + .../test-case.json | 7 + .../web_identity_token_env/env.json | 6 + .../web_identity_token_env/fs/token.jwt | 1 + .../web_identity_token_env/http-traffic.json | 104 + .../web_identity_token_env/test-case.json | 12 + .../web_identity_token_invalid_jwt/env.json | 5 + .../fs/home/.aws/config | 6 + .../fs/token.jwt | 1 + .../http-traffic.json | 104 + .../test-case.json | 7 + .../web_identity_token_profile/env.json | 5 + .../fs/home/.aws/config | 3 + .../web_identity_token_profile/fs/token.jwt | 1 + .../http-traffic.json | 104 + .../web_identity_token_profile/test-case.json | 12 + .../env.json | 5 + .../fs/home/.aws/config | 6 + .../fs/token.jwt | 1 + .../http-traffic.json | 208 + .../test-case.json | 12 + .../profile-provider/e2e_assume_role/env.json | 3 + .../e2e_assume_role/fs/home/.aws/config | 7 + .../e2e_assume_role/fs/home/.aws/credentials | 3 + .../e2e_assume_role/http-traffic.json | 107 + .../e2e_assume_role/test-case.json | 12 + .../profile-provider/empty_config/env.json | 3 + .../empty_config/http-traffic.json | 5 + .../empty_config/test-case.json | 7 + .../profile-provider/invalid_config/env.json | 3 + .../invalid_config/fs/home/.aws/config | 5 + .../invalid_config/http-traffic.json | 5 + .../invalid_config/test-case.json | 7 + .../profile-provider/region_override/env.json | 4 + .../region_override/fs/home/.aws/config | 7 + .../region_override/fs/home/.aws/credentials | 3 + .../region_override/http-traffic.json | 107 + .../region_override/test-case.json | 12 + .../profile-provider/retry_on_error/env.json | 3 + .../retry_on_error/fs/home/.aws/config | 7 + .../retry_on_error/fs/home/.aws/credentials | 3 + .../retry_on_error/http-traffic.json | 197 + .../retry_on_error/test-case.json | 12 + sdk/aws-auth/src/credentials.rs | 14 +- sdk/aws-auth/src/middleware.rs | 80 +- sdk/aws-auth/src/provider.rs | 37 +- sdk/aws-auth/src/provider/cache.rs | 49 +- sdk/aws-auth/src/provider/lazy_caching.rs | 11 +- sdk/aws-sig-auth/Cargo.toml | 3 +- sdk/aws-sig-auth/src/middleware.rs | 74 +- sdk/aws-sig-auth/src/signer.rs | 39 +- sdk/aws-sigv4/Cargo.toml | 28 + .../double-url-encode/double-url-encode.authz | 1 + .../double-url-encode/double-url-encode.creq | 8 + .../double-url-encode/double-url-encode.req | 3 + .../double-url-encode/double-url-encode.sreq | 4 + .../double-url-encode/double-url-encode.sts | 4 + .../get-header-key-duplicate.authz | 1 + .../get-header-key-duplicate.creq | 9 + .../get-header-key-duplicate.req | 6 + .../get-header-key-duplicate.sreq | 7 + .../get-header-key-duplicate.sts | 4 + .../get-header-value-multiline.authz | 1 + .../get-header-value-multiline.creq | 9 + .../get-header-value-multiline.req | 6 + .../get-header-value-multiline.sreq | 7 + .../get-header-value-multiline.sts | 4 + .../get-header-value-order.authz | 1 + .../get-header-value-order.creq | 9 + .../get-header-value-order.req | 7 + .../get-header-value-order.sreq | 8 + .../get-header-value-order.sts | 4 + .../get-header-value-trim.authz | 1 + .../get-header-value-trim.creq | 10 + .../get-header-value-trim.req | 5 + .../get-header-value-trim.sreq | 6 + .../get-header-value-trim.sts | 4 + .../get-unreserved/get-unreserved.authz | 1 + .../get-unreserved/get-unreserved.creq | 8 + .../get-unreserved/get-unreserved.req | 3 + .../get-unreserved/get-unreserved.sreq | 4 + .../get-unreserved/get-unreserved.sts | 4 + .../get-utf8/get-utf8.authz | 1 + .../get-utf8/get-utf8.creq | 8 + .../get-utf8/get-utf8.req | 3 + .../get-utf8/get-utf8.sreq | 4 + .../get-utf8/get-utf8.sts | 4 + .../get-vanilla-empty-query-key.authz | 1 + .../get-vanilla-empty-query-key.creq | 8 + .../get-vanilla-empty-query-key.req | 3 + .../get-vanilla-empty-query-key.sreq | 4 + .../get-vanilla-empty-query-key.sts | 4 + .../get-vanilla-query-order-key-case.authz | 1 + .../get-vanilla-query-order-key-case.creq | 8 + .../get-vanilla-query-order-key-case.req | 2 + .../get-vanilla-query-order-key-case.sreq | 4 + .../get-vanilla-query-order-key-case.sts | 4 + .../get-vanilla-query-order-key.authz | 1 + .../get-vanilla-query-order-key.creq | 8 + .../get-vanilla-query-order-key.req | 3 + .../get-vanilla-query-order-key.sreq | 4 + .../get-vanilla-query-order-key.sts | 4 + .../get-vanilla-query-order-value.authz | 1 + .../get-vanilla-query-order-value.creq | 8 + .../get-vanilla-query-order-value.req | 3 + .../get-vanilla-query-order-value.sreq | 4 + .../get-vanilla-query-order-value.sts | 4 + .../get-vanilla-query-unreserved.authz | 1 + .../get-vanilla-query-unreserved.creq | 8 + .../get-vanilla-query-unreserved.req | 3 + .../get-vanilla-query-unreserved.sreq | 4 + .../get-vanilla-query-unreserved.sts | 4 + .../get-vanilla-query/get-vanilla-query.authz | 1 + .../get-vanilla-query/get-vanilla-query.creq | 8 + .../get-vanilla-query/get-vanilla-query.req | 3 + .../get-vanilla-query/get-vanilla-query.sreq | 4 + .../get-vanilla-query/get-vanilla-query.sts | 4 + .../get-vanilla-utf8-query.authz | 1 + .../get-vanilla-utf8-query.creq | 8 + .../get-vanilla-utf8-query.req | 3 + .../get-vanilla-utf8-query.sreq | 4 + .../get-vanilla-utf8-query.sts | 4 + .../get-vanilla/get-vanilla.authz | 1 + .../get-vanilla/get-vanilla.creq | 8 + .../get-vanilla/get-vanilla.req | 3 + .../get-vanilla/get-vanilla.sreq | 4 + .../get-vanilla/get-vanilla.sts | 4 + sdk/aws-sigv4/aws-sig-v4-test-suite/iam.creq | 4 + .../get-relative-relative.authz | 1 + .../get-relative-relative.creq | 8 + .../get-relative-relative.req | 3 + .../get-relative-relative.sreq | 4 + .../get-relative-relative.sts | 4 + .../get-relative/get-relative.authz | 1 + .../get-relative/get-relative.creq | 8 + .../get-relative/get-relative.req | 3 + .../get-relative/get-relative.sreq | 4 + .../get-relative/get-relative.sts | 4 + .../get-slash-dot-slash.authz | 1 + .../get-slash-dot-slash.creq | 8 + .../get-slash-dot-slash.req | 3 + .../get-slash-dot-slash.sreq | 4 + .../get-slash-dot-slash.sts | 4 + .../get-slash-pointless-dot.authz | 1 + .../get-slash-pointless-dot.creq | 8 + .../get-slash-pointless-dot.req | 3 + .../get-slash-pointless-dot.sreq | 4 + .../get-slash-pointless-dot.sts | 4 + .../normalize-path/get-slash/get-slash.authz | 1 + .../normalize-path/get-slash/get-slash.creq | 8 + .../normalize-path/get-slash/get-slash.req | 3 + .../normalize-path/get-slash/get-slash.sreq | 4 + .../normalize-path/get-slash/get-slash.sts | 4 + .../get-slashes/get-slashes.authz | 1 + .../get-slashes/get-slashes.creq | 8 + .../get-slashes/get-slashes.req | 3 + .../get-slashes/get-slashes.sreq | 4 + .../get-slashes/get-slashes.sts | 4 + .../normalize-path/get-space/get-space.authz | 1 + .../normalize-path/get-space/get-space.creq | 8 + .../normalize-path/get-space/get-space.req | 3 + .../normalize-path/get-space/get-space.sreq | 4 + .../normalize-path/get-space/get-space.sts | 4 + .../normalize-path/normalize-path.txt | 3 + .../post-header-key-case.authz | 1 + .../post-header-key-case.creq | 8 + .../post-header-key-case.req | 3 + .../post-header-key-case.sreq | 4 + .../post-header-key-case.sts | 4 + .../post-header-key-sort.authz | 1 + .../post-header-key-sort.creq | 9 + .../post-header-key-sort.req | 4 + .../post-header-key-sort.sreq | 5 + .../post-header-key-sort.sts | 4 + .../post-header-value-case.authz | 1 + .../post-header-value-case.creq | 9 + .../post-header-value-case.req | 4 + .../post-header-value-case.sreq | 5 + .../post-header-value-case.sts | 4 + .../post-sts-header-after.authz | 1 + .../post-sts-header-after.creq | 8 + .../post-sts-header-after.req | 3 + .../post-sts-header-after.sreq | 5 + .../post-sts-header-after.sts | 4 + .../post-sts-header-before.authz | 1 + .../post-sts-header-before.creq | 9 + .../post-sts-header-before.req | 4 + .../post-sts-header-before.sreq | 5 + .../post-sts-header-before.sts | 4 + .../post-sts-token/readme.txt | 15 + .../post-vanilla-empty-query-value.authz | 1 + .../post-vanilla-empty-query-value.creq | 8 + .../post-vanilla-empty-query-value.req | 3 + .../post-vanilla-empty-query-value.sreq | 4 + .../post-vanilla-empty-query-value.sts | 4 + .../post-vanilla-query.authz | 1 + .../post-vanilla-query.creq | 8 + .../post-vanilla-query/post-vanilla-query.req | 3 + .../post-vanilla-query.sreq | 4 + .../post-vanilla-query/post-vanilla-query.sts | 4 + .../post-vanilla/post-vanilla.authz | 1 + .../post-vanilla/post-vanilla.creq | 8 + .../post-vanilla/post-vanilla.req | 3 + .../post-vanilla/post-vanilla.sreq | 4 + .../post-vanilla/post-vanilla.sts | 4 + ...ost-x-www-form-urlencoded-parameters.authz | 1 + ...post-x-www-form-urlencoded-parameters.creq | 9 + .../post-x-www-form-urlencoded-parameters.req | 6 + ...post-x-www-form-urlencoded-parameters.sreq | 7 + .../post-x-www-form-urlencoded-parameters.sts | 4 + .../post-x-www-form-urlencoded.authz | 1 + .../post-x-www-form-urlencoded.creq | 9 + .../post-x-www-form-urlencoded.req | 4 + .../post-x-www-form-urlencoded.sreq | 4 + .../post-x-www-form-urlencoded.sts | 4 + sdk/aws-sigv4/src/date_fmt.rs | 54 + sdk/aws-sigv4/src/event_stream.rs | 172 + .../src/http_request/canonical_request.rs | 346 + sdk/aws-sigv4/src/http_request/mod.rs | 591 + sdk/aws-sigv4/src/lib.rs | 63 + sdk/aws-sigv4/src/sign.rs | 57 + sdk/aws-types/Cargo.toml | 1 + sdk/aws-types/src/build_metadata.rs | 2 +- sdk/aws-types/src/os_shim_internal.rs | 138 +- sdk/aws-types/src/profile.rs | 61 +- sdk/aws-types/src/profile/source.rs | 29 +- sdk/backup/Cargo.toml | 2 +- sdk/batch/Cargo.toml | 2 +- sdk/braket/Cargo.toml | 2 +- sdk/budgets/Cargo.toml | 2 +- sdk/chime/Cargo.toml | 2 +- sdk/chime/src/client.rs | 49 +- sdk/chime/src/input.rs | 98 +- sdk/chime/src/model.rs | 27 +- sdk/chime/src/operation.rs | 211 +- sdk/chime/src/output.rs | 37 +- sdk/chimesdkidentity/Cargo.toml | 40 + sdk/chimesdkidentity/LICENSE | 202 + sdk/chimesdkidentity/src/aws_endpoint.rs | 67 + sdk/chimesdkidentity/src/client.rs | 1015 ++ sdk/chimesdkidentity/src/config.rs | 82 + sdk/chimesdkidentity/src/error.rs | 2755 +++ sdk/chimesdkidentity/src/error_meta.rs | 539 + sdk/chimesdkidentity/src/idempotency_token.rs | 88 + sdk/chimesdkidentity/src/input.rs | 2989 ++++ sdk/chimesdkidentity/src/json_deser.rs | 1613 ++ sdk/chimesdkidentity/src/json_errors.rs | 219 + sdk/chimesdkidentity/src/json_ser.rs | 140 + sdk/chimesdkidentity/src/lib.rs | 43 + sdk/chimesdkidentity/src/model.rs | 842 + sdk/chimesdkidentity/src/operation.rs | 471 + sdk/chimesdkidentity/src/operation_deser.rs | 2920 ++++ sdk/chimesdkidentity/src/operation_ser.rs | 63 + sdk/chimesdkidentity/src/output.rs | 899 + sdk/chimesdkmessaging/Cargo.toml | 40 + sdk/chimesdkmessaging/LICENSE | 202 + sdk/chimesdkmessaging/src/aws_endpoint.rs | 67 + sdk/chimesdkmessaging/src/client.rs | 2198 +++ sdk/chimesdkmessaging/src/config.rs | 82 + sdk/chimesdkmessaging/src/error.rs | 4665 ++++++ sdk/chimesdkmessaging/src/error_meta.rs | 945 ++ .../src/idempotency_token.rs | 88 + sdk/chimesdkmessaging/src/input.rs | 7080 ++++++++ sdk/chimesdkmessaging/src/json_deser.rs | 3065 ++++ sdk/chimesdkmessaging/src/json_errors.rs | 219 + sdk/chimesdkmessaging/src/json_ser.rs | 143 + sdk/chimesdkmessaging/src/lib.rs | 43 + sdk/chimesdkmessaging/src/model.rs | 2079 +++ sdk/chimesdkmessaging/src/operation.rs | 1075 ++ sdk/chimesdkmessaging/src/operation_deser.rs | 5080 ++++++ sdk/chimesdkmessaging/src/operation_ser.rs | 80 + sdk/chimesdkmessaging/src/output.rs | 1672 ++ sdk/cloud9/Cargo.toml | 2 +- sdk/cloud9/src/client.rs | 41 + sdk/cloud9/src/input.rs | 72 + sdk/cloud9/src/json_ser.rs | 148 +- sdk/cloud9/src/model.rs | 50 + sdk/clouddirectory/Cargo.toml | 2 +- sdk/clouddirectory/src/error.rs | 2 +- sdk/clouddirectory/src/model.rs | 42 +- sdk/cloudformation/Cargo.toml | 2 +- sdk/cloudfront/Cargo.toml | 2 +- sdk/cloudhsm/Cargo.toml | 2 +- sdk/cloudhsmv2/Cargo.toml | 2 +- sdk/cloudsearch/Cargo.toml | 2 +- sdk/cloudsearchdomain/Cargo.toml | 2 +- sdk/cloudtrail/Cargo.toml | 2 +- sdk/cloudwatch/Cargo.toml | 2 +- sdk/cloudwatchevents/Cargo.toml | 2 +- sdk/cloudwatchlogs/Cargo.toml | 4 +- sdk/cloudwatchlogs/src/client.rs | 46 +- sdk/cloudwatchlogs/src/error.rs | 2 +- sdk/cloudwatchlogs/src/input.rs | 87 +- sdk/cloudwatchlogs/src/lib.rs | 6 +- sdk/cloudwatchlogs/src/model.rs | 16 +- sdk/cloudwatchlogs/src/operation.rs | 54 +- sdk/codeartifact/Cargo.toml | 2 +- sdk/codebuild/Cargo.toml | 4 +- sdk/codebuild/src/client.rs | 189 +- sdk/codebuild/src/error.rs | 96 +- sdk/codebuild/src/error_meta.rs | 20 + sdk/codebuild/src/input.rs | 420 +- sdk/codebuild/src/json_deser.rs | 89 + sdk/codebuild/src/json_ser.rs | 475 +- sdk/codebuild/src/lib.rs | 14 +- sdk/codebuild/src/model.rs | 773 +- sdk/codebuild/src/operation.rs | 97 +- sdk/codebuild/src/operation_deser.rs | 85 + sdk/codebuild/src/operation_ser.rs | 10 + sdk/codebuild/src/output.rs | 118 +- sdk/codecommit/Cargo.toml | 2 +- sdk/codedeploy/Cargo.toml | 2 +- sdk/codeguruprofiler/Cargo.toml | 2 +- sdk/codegurureviewer/Cargo.toml | 2 +- sdk/codepipeline/Cargo.toml | 2 +- sdk/codestar/Cargo.toml | 2 +- sdk/codestarconnections/Cargo.toml | 2 +- sdk/codestarnotifications/Cargo.toml | 2 +- sdk/cognitoidentity/Cargo.toml | 2 +- sdk/cognitoidentity/src/input.rs | 8 + sdk/cognitoidentityprovider/Cargo.toml | 2 +- sdk/cognitoidentityprovider/src/input.rs | 30 + sdk/cognitosync/Cargo.toml | 2 +- sdk/comprehend/Cargo.toml | 2 +- sdk/comprehendmedical/Cargo.toml | 2 +- sdk/computeoptimizer/Cargo.toml | 2 +- sdk/config/Cargo.toml | 2 +- sdk/config/src/model.rs | 44 + sdk/connect/Cargo.toml | 2 +- sdk/connect/src/client.rs | 588 + sdk/connect/src/error.rs | 1144 +- sdk/connect/src/error_meta.rs | 210 + sdk/connect/src/input.rs | 3161 +++- sdk/connect/src/json_deser.rs | 396 + sdk/connect/src/json_ser.rs | 1278 +- sdk/connect/src/model.rs | 809 +- sdk/connect/src/operation.rs | 207 +- sdk/connect/src/operation_deser.rs | 1287 +- sdk/connect/src/operation_ser.rs | 40 + sdk/connect/src/output.rs | 337 + sdk/connectcontactlens/Cargo.toml | 2 +- sdk/connectparticipant/Cargo.toml | 2 +- sdk/costandusagereport/Cargo.toml | 2 +- sdk/costexplorer/Cargo.toml | 4 +- sdk/costexplorer/src/client.rs | 436 +- sdk/costexplorer/src/input.rs | 819 +- sdk/costexplorer/src/json_deser.rs | 285 + sdk/costexplorer/src/json_ser.rs | 1223 +- sdk/costexplorer/src/lib.rs | 12 +- sdk/costexplorer/src/model.rs | 2287 +-- sdk/costexplorer/src/operation.rs | 34 +- sdk/costexplorer/src/output.rs | 146 +- sdk/customerprofiles/Cargo.toml | 2 +- sdk/customerprofiles/src/client.rs | 29 +- sdk/customerprofiles/src/input.rs | 51 +- sdk/customerprofiles/src/json_ser.rs | 759 +- sdk/customerprofiles/src/model.rs | 90 +- sdk/customerprofiles/src/operation.rs | 12 +- sdk/customerprofiles/src/output.rs | 30 +- sdk/databasemigration/Cargo.toml | 2 +- sdk/databrew/Cargo.toml | 2 +- sdk/databrew/src/model.rs | 4 + sdk/dataexchange/Cargo.toml | 2 +- sdk/datapipeline/Cargo.toml | 2 +- sdk/datasync/Cargo.toml | 2 +- sdk/dax/Cargo.toml | 2 +- sdk/detective/Cargo.toml | 2 +- sdk/devicefarm/Cargo.toml | 2 +- sdk/devopsguru/Cargo.toml | 2 +- sdk/directconnect/Cargo.toml | 2 +- sdk/directory/Cargo.toml | 4 +- sdk/directory/src/client.rs | 274 +- sdk/directory/src/error.rs | 311 +- sdk/directory/src/error_meta.rs | 20 + sdk/directory/src/input.rs | 600 +- sdk/directory/src/json_deser.rs | 162 + sdk/directory/src/json_ser.rs | 597 +- sdk/directory/src/lib.rs | 14 +- sdk/directory/src/model.rs | 308 +- sdk/directory/src/operation.rs | 164 +- sdk/directory/src/operation_deser.rs | 127 + sdk/directory/src/operation_ser.rs | 13 + sdk/directory/src/output.rs | 126 +- sdk/dlm/Cargo.toml | 2 +- sdk/docdb/Cargo.toml | 2 +- sdk/dynamodb/Cargo.toml | 2 +- sdk/dynamodb/src/model.rs | 24 +- sdk/dynamodbstreams/Cargo.toml | 2 +- sdk/dynamodbstreams/src/model.rs | 24 +- sdk/ebs/Cargo.toml | 4 +- sdk/ebs/src/client.rs | 22 +- sdk/ebs/src/input.rs | 44 +- sdk/ebs/src/lib.rs | 16 +- sdk/ebs/src/operation.rs | 2 +- sdk/ebs/src/output.rs | 18 +- sdk/ec2/Cargo.toml | 2 +- sdk/ec2/src/client.rs | 11 + sdk/ec2/src/input.rs | 18 + sdk/ec2/src/model.rs | 110 +- sdk/ec2/src/operation.rs | 22 +- sdk/ec2/src/operation_ser.rs | 13913 ++++++++-------- sdk/ec2/src/output.rs | 4 +- sdk/ec2/src/xml_deser.rs | 4662 +++--- sdk/ec2instanceconnect/Cargo.toml | 2 +- sdk/ecr/Cargo.toml | 2 +- sdk/ecrpublic/Cargo.toml | 2 +- sdk/ecs/Cargo.toml | 2 +- sdk/ecs/src/client.rs | 34 +- sdk/ecs/src/input.rs | 56 +- sdk/ecs/src/model.rs | 32 +- sdk/efs/Cargo.toml | 2 +- sdk/eks/Cargo.toml | 2 +- sdk/elasticache/Cargo.toml | 2 +- sdk/elasticache/src/client.rs | 30 +- sdk/elasticache/src/input.rs | 58 +- sdk/elasticache/src/model.rs | 44 +- sdk/elasticache/src/operation.rs | 10 +- sdk/elasticache/src/output.rs | 32 +- sdk/elasticache/src/xml_deser.rs | 1238 +- sdk/elasticbeanstalk/Cargo.toml | 2 +- sdk/elasticinference/Cargo.toml | 2 +- sdk/elasticloadbalancing/Cargo.toml | 2 +- sdk/elasticloadbalancingv2/Cargo.toml | 2 +- sdk/elasticsearch/Cargo.toml | 2 +- sdk/elastictranscoder/Cargo.toml | 2 +- sdk/emr/Cargo.toml | 2 +- sdk/emr/src/client.rs | 10 +- sdk/emr/src/input.rs | 20 +- sdk/emr/src/json_deser.rs | 27 + sdk/emr/src/json_ser.rs | 788 +- sdk/emr/src/model.rs | 103 +- sdk/emr/src/operation.rs | 4 +- sdk/emrcontainers/Cargo.toml | 2 +- sdk/emrcontainers/src/model.rs | 2 +- sdk/eventbridge/Cargo.toml | 4 +- sdk/eventbridge/src/client.rs | 35 +- sdk/eventbridge/src/error.rs | 2 +- sdk/eventbridge/src/input.rs | 70 +- sdk/eventbridge/src/lib.rs | 8 +- sdk/eventbridge/src/model.rs | 148 +- sdk/eventbridge/src/operation.rs | 113 +- sdk/eventbridge/src/output.rs | 8 +- .../batch/src/bin/batch-helloworld.rs | 61 - sdk/examples/batch/src/bin/helloworld.rs | 26 + .../cognitoidentityprovider/Cargo.toml | 4 +- .../src/bin/list-user-pools.rs | 38 +- sdk/examples/cognitosync/Cargo.toml | 6 +- .../src/bin/list-identity-pool-usage.rs | 44 +- sdk/examples/dynamo-add-item/Cargo.toml | 14 - sdk/examples/dynamo-create-table/Cargo.toml | 14 - sdk/examples/dynamo-delete-item/Cargo.toml | 14 - sdk/examples/dynamo-delete-table/Cargo.toml | 14 - sdk/examples/dynamo-delete-table/src/main.rs | 67 - sdk/examples/dynamo-helloworld/Cargo.toml | 20 - sdk/examples/dynamo-helloworld/src/main.rs | 45 - sdk/examples/dynamo-list-items/Cargo.toml | 14 - sdk/examples/dynamo-list-items/src/main.rs | 75 - sdk/examples/dynamo-list-tables/Cargo.toml | 14 - sdk/examples/dynamo-list-tables/src/main.rs | 67 - .../{dynamo-movies => dynamodb}/Cargo.toml | 18 +- .../src/bin}/README.md | 0 .../main.rs => dynamodb/src/bin/add-item.rs} | 72 +- .../src/bin/create-table.rs} | 57 +- sdk/examples/dynamodb/src/bin/crud.rs | 380 + .../src => dynamodb/src/bin}/data.json | 0 .../src/bin/delete-item.rs} | 58 +- sdk/examples/dynamodb/src/bin/delete-table.rs | 66 + .../src/bin}/docker-compose.yml | 0 .../dynamodb/src/bin/dynamodb-helloworld.rs | 86 + sdk/examples/dynamodb/src/bin/list-items.rs | 71 + sdk/examples/dynamodb/src/bin/list-tables.rs | 67 + .../main.rs => dynamodb/src/bin/movies.rs} | 86 +- sdk/examples/s3/Cargo.toml | 8 +- sdk/examples/s3/src/bin/create-bucket.rs | 87 +- sdk/examples/s3/src/bin/delete-object.rs | 77 + sdk/examples/s3/src/bin/list-buckets.rs | 88 +- .../s3/src/bin/list-object-versions.rs | 71 + sdk/examples/s3/src/bin/list-objects.rs | 65 +- sdk/examples/s3/src/bin/s3-helloworld.rs | 96 +- sdk/examples/sns/Cargo.toml | 6 +- sdk/examples/sns/src/bin/create-topic.rs | 71 + sdk/examples/sns/src/bin/list-topics.rs | 62 + sdk/examples/sns/src/bin/sns-hello-world.rs | 60 +- sdk/finspace/Cargo.toml | 2 +- sdk/finspacedata/Cargo.toml | 2 +- sdk/firehose/Cargo.toml | 2 +- sdk/fis/Cargo.toml | 2 +- sdk/fms/Cargo.toml | 2 +- sdk/forecast/Cargo.toml | 2 +- sdk/forecastquery/Cargo.toml | 2 +- sdk/frauddetector/Cargo.toml | 2 +- sdk/fsx/Cargo.toml | 2 +- sdk/gamelift/Cargo.toml | 2 +- sdk/globalaccelerator/Cargo.toml | 2 +- sdk/glue/Cargo.toml | 2 +- sdk/greengrass/Cargo.toml | 2 +- sdk/greengrassv2/Cargo.toml | 2 +- sdk/groundstation/Cargo.toml | 2 +- sdk/groundstation/src/model.rs | 30 +- sdk/guardduty/Cargo.toml | 2 +- sdk/health/Cargo.toml | 2 +- sdk/healthlake/Cargo.toml | 2 +- sdk/healthlake/src/model.rs | 6 +- sdk/honeycode/Cargo.toml | 2 +- sdk/iam/Cargo.toml | 2 +- sdk/identitystore/Cargo.toml | 2 +- sdk/imagebuilder/Cargo.toml | 2 +- sdk/imagebuilder/src/client.rs | 193 +- sdk/imagebuilder/src/input.rs | 193 +- sdk/imagebuilder/src/model.rs | 12 +- sdk/inspector/Cargo.toml | 2 +- sdk/iot/Cargo.toml | 2 +- sdk/iot/src/model.rs | 8 +- sdk/iot1clickdevices/Cargo.toml | 2 +- sdk/iot1clickprojects/Cargo.toml | 2 +- sdk/iotanalytics/Cargo.toml | 2 +- sdk/iotanalytics/src/model.rs | 6 +- sdk/iotdataplane/Cargo.toml | 2 +- sdk/iotdeviceadvisor/Cargo.toml | 2 +- sdk/iotevents/Cargo.toml | 2 +- sdk/ioteventsdata/Cargo.toml | 2 +- sdk/iotfleethub/Cargo.toml | 2 +- sdk/iotjobsdataplane/Cargo.toml | 2 +- sdk/iotsecuretunneling/Cargo.toml | 2 +- sdk/iotsitewise/Cargo.toml | 2 +- sdk/iotsitewise/src/client.rs | 39 +- sdk/iotsitewise/src/input.rs | 333 +- sdk/iotsitewise/src/model.rs | 60 +- sdk/iotthingsgraph/Cargo.toml | 2 +- sdk/iotwireless/Cargo.toml | 2 +- sdk/ivs/Cargo.toml | 2 +- sdk/kafka/Cargo.toml | 2 +- sdk/kendra/Cargo.toml | 2 +- sdk/kendra/src/model.rs | 10 +- sdk/kinesis/Cargo.toml | 2 +- sdk/kinesisanalytics/Cargo.toml | 2 +- sdk/kinesisanalyticsv2/Cargo.toml | 2 +- sdk/kinesisvideo/Cargo.toml | 2 +- sdk/kinesisvideoarchivedmedia/Cargo.toml | 2 +- sdk/kinesisvideomedia/Cargo.toml | 2 +- sdk/kinesisvideosignaling/Cargo.toml | 2 +- sdk/kms/Cargo.toml | 2 +- sdk/lakeformation/Cargo.toml | 2 +- sdk/lambda/Cargo.toml | 2 +- sdk/lambda/src/client.rs | 2 +- sdk/lambda/src/input.rs | 4 +- sdk/lambda/src/model.rs | 4 + sdk/lexmodelbuilding/Cargo.toml | 2 +- sdk/lexmodelsv2/Cargo.toml | 2 +- sdk/lexmodelsv2/src/json_deser.rs | 21 + sdk/lexmodelsv2/src/json_ser.rs | 743 +- sdk/lexmodelsv2/src/model.rs | 78 +- sdk/lexmodelsv2/src/output.rs | 8 +- sdk/lexruntime/Cargo.toml | 2 +- sdk/lexruntimev2/Cargo.toml | 2 +- sdk/licensemanager/Cargo.toml | 2 +- sdk/licensemanager/src/model.rs | 5 +- sdk/lightsail/Cargo.toml | 2 +- sdk/lightsail/src/client.rs | 2 +- sdk/lightsail/src/input.rs | 4 +- sdk/lightsail/src/json_deser.rs | 69 + sdk/lightsail/src/model.rs | 114 + sdk/location/Cargo.toml | 2 +- sdk/location/src/input.rs | 12 + sdk/lookoutequipment/Cargo.toml | 2 +- sdk/lookoutmetrics/Cargo.toml | 2 +- sdk/lookoutvision/Cargo.toml | 2 +- sdk/machinelearning/Cargo.toml | 2 +- sdk/macie/Cargo.toml | 2 +- sdk/macie2/Cargo.toml | 2 +- sdk/managedblockchain/Cargo.toml | 2 +- sdk/marketplacecatalog/Cargo.toml | 2 +- sdk/marketplacecommerceanalytics/Cargo.toml | 2 +- sdk/marketplaceentitlement/Cargo.toml | 2 +- sdk/marketplaceentitlement/src/model.rs | 8 +- sdk/marketplacemetering/Cargo.toml | 2 +- sdk/mediaconnect/Cargo.toml | 2 +- sdk/mediaconvert/Cargo.toml | 2 +- sdk/medialive/Cargo.toml | 2 +- sdk/mediapackage/Cargo.toml | 2 +- sdk/mediapackagevod/Cargo.toml | 2 +- sdk/mediastore/Cargo.toml | 2 +- sdk/mediastoredata/Cargo.toml | 2 +- sdk/mediatailor/Cargo.toml | 2 +- sdk/mgn/Cargo.toml | 2 +- sdk/migrationhub/Cargo.toml | 2 +- sdk/migrationhubconfig/Cargo.toml | 2 +- sdk/mobile/Cargo.toml | 2 +- sdk/mq/Cargo.toml | 2 +- sdk/mturk/Cargo.toml | 2 +- sdk/mwaa/Cargo.toml | 2 +- sdk/neptune/Cargo.toml | 2 +- sdk/networkfirewall/Cargo.toml | 2 +- sdk/networkmanager/Cargo.toml | 2 +- sdk/nimble/Cargo.toml | 2 +- sdk/nimble/src/client.rs | 20 +- sdk/nimble/src/input.rs | 285 +- sdk/nimble/src/json_deser.rs | 18 + sdk/nimble/src/json_ser.rs | 477 +- sdk/nimble/src/model.rs | 44 +- sdk/nimble/src/operation.rs | 8 +- sdk/opsworks/Cargo.toml | 2 +- sdk/opsworkscm/Cargo.toml | 2 +- sdk/organizations/Cargo.toml | 2 +- sdk/outposts/Cargo.toml | 2 +- sdk/personalize/Cargo.toml | 2 +- sdk/personalizeevents/Cargo.toml | 2 +- sdk/personalizeruntime/Cargo.toml | 2 +- sdk/pi/Cargo.toml | 2 +- sdk/pinpoint/Cargo.toml | 2 +- sdk/pinpointemail/Cargo.toml | 2 +- sdk/pinpointsmsvoice/Cargo.toml | 2 +- sdk/polly/Cargo.toml | 2 +- sdk/pricing/Cargo.toml | 2 +- sdk/protocol-test-helpers/src/lib.rs | 4 +- sdk/proton/Cargo.toml | 2 +- sdk/proton/src/model.rs | 2 +- sdk/qldb/Cargo.toml | 2 +- sdk/qldbsession/Cargo.toml | 2 +- sdk/quicksight/Cargo.toml | 4 +- sdk/quicksight/src/client.rs | 42 +- sdk/quicksight/src/input.rs | 84 +- sdk/quicksight/src/lib.rs | 2 +- sdk/quicksight/src/model.rs | 116 +- sdk/quicksight/src/operation.rs | 40 +- sdk/quicksight/src/output.rs | 66 +- sdk/ram/Cargo.toml | 2 +- sdk/rds/Cargo.toml | 2 +- sdk/rds/src/client.rs | 14 +- sdk/rds/src/input.rs | 28 +- sdk/rds/src/model.rs | 54 +- sdk/rds/src/xml_deser.rs | 2208 +-- sdk/rdsdata/Cargo.toml | 2 +- sdk/rdsdata/src/model.rs | 50 +- sdk/redshift/Cargo.toml | 2 +- sdk/redshiftdata/Cargo.toml | 2 +- sdk/redshiftdata/src/model.rs | 12 +- sdk/rekognition/Cargo.toml | 2 +- sdk/rekognition/src/client.rs | 50 +- sdk/rekognition/src/input.rs | 100 +- sdk/rekognition/src/json_deser.rs | 37 + sdk/rekognition/src/json_ser.rs | 51 +- sdk/rekognition/src/model.rs | 277 +- sdk/rekognition/src/operation.rs | 24 +- sdk/rekognition/src/output.rs | 18 +- sdk/resourcegroups/Cargo.toml | 2 +- sdk/resourcegroupstagging/Cargo.toml | 2 +- sdk/robomaker/Cargo.toml | 2 +- sdk/route53/Cargo.toml | 2 +- sdk/route53/src/client.rs | 16 +- sdk/route53/src/error.rs | 2 +- sdk/route53/src/input.rs | 54 +- sdk/route53/src/model.rs | 48 +- sdk/route53/src/operation.rs | 46 +- sdk/route53/src/output.rs | 30 +- sdk/route53domains/Cargo.toml | 2 +- sdk/route53recoverycluster/Cargo.toml | 2 +- sdk/route53recoverycontrolconfig/Cargo.toml | 2 +- sdk/route53recoveryreadiness/Cargo.toml | 2 +- sdk/route53resolver/Cargo.toml | 4 +- sdk/route53resolver/src/client.rs | 14 +- sdk/route53resolver/src/input.rs | 28 +- sdk/route53resolver/src/lib.rs | 2 +- sdk/route53resolver/src/model.rs | 68 +- sdk/route53resolver/src/operation.rs | 31 +- sdk/route53resolver/src/output.rs | 24 +- sdk/s3/Cargo.toml | 2 +- sdk/s3/src/client.rs | 169 +- sdk/s3/src/error.rs | 2 +- sdk/s3/src/input.rs | 338 +- sdk/s3/src/model.rs | 182 +- sdk/s3/src/operation.rs | 230 +- sdk/s3/src/output.rs | 138 +- sdk/s3control/Cargo.toml | 2 +- sdk/s3control/src/model.rs | 4 +- sdk/s3outposts/Cargo.toml | 2 +- sdk/sagemaker/Cargo.toml | 2 +- sdk/sagemaker/src/client.rs | 43 +- sdk/sagemaker/src/input.rs | 72 +- sdk/sagemaker/src/json_deser.rs | 330 + sdk/sagemaker/src/json_ser.rs | 8002 ++++----- sdk/sagemaker/src/model.rs | 745 +- sdk/sagemaker/src/operation.rs | 14 +- sdk/sagemaker/src/output.rs | 81 +- sdk/sagemakera2iruntime/Cargo.toml | 2 +- sdk/sagemakeredge/Cargo.toml | 2 +- sdk/sagemakerfeaturestoreruntime/Cargo.toml | 2 +- sdk/sagemakerruntime/Cargo.toml | 2 +- sdk/sagemakerruntime/src/client.rs | 123 + sdk/sagemakerruntime/src/error.rs | 217 +- sdk/sagemakerruntime/src/error_meta.rs | 21 + sdk/sagemakerruntime/src/http_serde.rs | 8 + sdk/sagemakerruntime/src/input.rs | 403 + sdk/sagemakerruntime/src/json_deser.rs | 39 + sdk/sagemakerruntime/src/operation.rs | 41 + sdk/sagemakerruntime/src/operation_deser.rs | 107 + sdk/sagemakerruntime/src/output.rs | 65 + sdk/savingsplans/Cargo.toml | 2 +- sdk/schemas/Cargo.toml | 2 +- sdk/secretsmanager/Cargo.toml | 2 +- sdk/securityhub/Cargo.toml | 2 +- .../Cargo.toml | 2 +- sdk/servicecatalog/Cargo.toml | 2 +- sdk/servicecatalogappregistry/Cargo.toml | 2 +- sdk/servicediscovery/Cargo.toml | 2 +- sdk/servicequotas/Cargo.toml | 2 +- sdk/ses/Cargo.toml | 2 +- sdk/sesv2/Cargo.toml | 2 +- sdk/sfn/Cargo.toml | 2 +- sdk/shield/Cargo.toml | 2 +- sdk/signer/Cargo.toml | 2 +- sdk/smithy-async/src/rt/sleep.rs | 10 + sdk/smithy-client/Cargo.toml | 5 +- sdk/smithy-client/src/dvr.rs | 276 + sdk/smithy-client/src/dvr/record.rs | 216 + sdk/smithy-client/src/dvr/replay.rs | 276 + sdk/smithy-client/src/hyper_impls.rs | 8 +- sdk/smithy-client/src/lib.rs | 18 + sdk/smithy-client/src/test_connection.rs | 104 +- sdk/smithy-client/test-data/example.com.json | 106 + sdk/smithy-http/src/result.rs | 2 +- sdk/sms/Cargo.toml | 2 +- sdk/snowball/Cargo.toml | 2 +- sdk/snowdevicemanagement/Cargo.toml | 40 + sdk/snowdevicemanagement/LICENSE | 202 + sdk/snowdevicemanagement/src/aws_endpoint.rs | 67 + sdk/snowdevicemanagement/src/client.rs | 824 + sdk/snowdevicemanagement/src/config.rs | 82 + sdk/snowdevicemanagement/src/error.rs | 1831 ++ sdk/snowdevicemanagement/src/error_meta.rs | 340 + .../src/idempotency_token.rs | 88 + sdk/snowdevicemanagement/src/input.rs | 2399 +++ sdk/snowdevicemanagement/src/json_deser.rs | 2269 +++ sdk/snowdevicemanagement/src/json_errors.rs | 219 + sdk/snowdevicemanagement/src/json_ser.rs | 97 + sdk/snowdevicemanagement/src/lib.rs | 40 + sdk/snowdevicemanagement/src/model.rs | 1990 +++ sdk/snowdevicemanagement/src/operation.rs | 354 + .../src/operation_deser.rs | 1641 ++ sdk/snowdevicemanagement/src/operation_ser.rs | 30 + sdk/snowdevicemanagement/src/output.rs | 1076 ++ sdk/sns/Cargo.toml | 2 +- sdk/sqs/Cargo.toml | 2 +- sdk/ssm/Cargo.toml | 2 +- sdk/ssm/src/client.rs | 89 +- sdk/ssm/src/error.rs | 2 +- sdk/ssm/src/input.rs | 157 +- sdk/ssm/src/model.rs | 173 +- sdk/ssm/src/operation.rs | 63 +- sdk/ssm/src/output.rs | 38 +- sdk/ssmcontacts/Cargo.toml | 2 +- sdk/ssmincidents/Cargo.toml | 2 +- sdk/ssmincidents/src/client.rs | 12 +- sdk/ssmincidents/src/input.rs | 15 +- sdk/ssmincidents/src/json_deser.rs | 9 + sdk/ssmincidents/src/model.rs | 64 +- sdk/sso/Cargo.toml | 2 +- sdk/sso/src/input.rs | 8 + sdk/ssoadmin/Cargo.toml | 2 +- sdk/ssooidc/Cargo.toml | 2 +- sdk/ssooidc/src/input.rs | 6 + sdk/storagegateway/Cargo.toml | 2 +- sdk/sts/Cargo.toml | 10 +- sdk/sts/src/input.rs | 4 + sdk/sts/tests/signing-it.rs | 79 + sdk/support/Cargo.toml | 2 +- sdk/swf/Cargo.toml | 2 +- sdk/synthetics/Cargo.toml | 2 +- sdk/synthetics/src/client.rs | 7 + sdk/synthetics/src/input.rs | 14 + sdk/synthetics/src/model.rs | 39 +- sdk/textract/Cargo.toml | 2 +- sdk/transcribe/Cargo.toml | 2 +- sdk/transcribe/src/client.rs | 712 +- sdk/transcribe/src/error.rs | 980 +- sdk/transcribe/src/error_meta.rs | 220 + sdk/transcribe/src/input.rs | 2694 ++- sdk/transcribe/src/json_deser.rs | 1867 ++- sdk/transcribe/src/json_ser.rs | 907 +- sdk/transcribe/src/model.rs | 5006 ++++-- sdk/transcribe/src/operation.rs | 279 +- sdk/transcribe/src/operation_deser.rs | 1440 +- sdk/transcribe/src/operation_ser.rs | 90 + sdk/transcribe/src/output.rs | 482 +- sdk/transfer/Cargo.toml | 2 +- sdk/translate/Cargo.toml | 2 +- sdk/waf/Cargo.toml | 2 +- sdk/wafregional/Cargo.toml | 2 +- sdk/wafv2/Cargo.toml | 4 +- sdk/wafv2/src/client.rs | 538 +- sdk/wafv2/src/error.rs | 781 +- sdk/wafv2/src/error_meta.rs | 183 +- sdk/wafv2/src/input.rs | 1880 ++- sdk/wafv2/src/json_deser.rs | 749 +- sdk/wafv2/src/json_ser.rs | 1406 +- sdk/wafv2/src/lib.rs | 48 +- sdk/wafv2/src/model.rs | 1755 +- sdk/wafv2/src/operation.rs | 301 +- sdk/wafv2/src/operation_deser.rs | 920 +- sdk/wafv2/src/operation_ser.rs | 56 + sdk/wafv2/src/output.rs | 481 +- sdk/wellarchitected/Cargo.toml | 2 +- sdk/workdocs/Cargo.toml | 2 +- sdk/worklink/Cargo.toml | 2 +- sdk/workmail/Cargo.toml | 2 +- sdk/workmailmessageflow/Cargo.toml | 2 +- sdk/workspaces/Cargo.toml | 2 +- sdk/xray/Cargo.toml | 2 +- sdk/xray/src/model.rs | 6 +- 891 files changed, 125184 insertions(+), 31598 deletions(-) create mode 100644 sdk/aws-auth-providers/src/chain.rs create mode 100644 sdk/aws-auth-providers/src/default_provider_chain.rs create mode 100644 sdk/aws-auth-providers/src/sts_util.rs create mode 100644 sdk/aws-auth-providers/src/test_case.rs create mode 100644 sdk/aws-auth-providers/src/web_identity_token.rs create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/credentials create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/credentials create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/env.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/token.jwt create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/env.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/credentials create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/empty_config/env.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/empty_config/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/empty_config/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/invalid_config/env.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/invalid_config/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/invalid_config/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/invalid_config/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/region_override/env.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/credentials create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/region_override/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/region_override/test-case.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/env.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/config create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/credentials create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/http-traffic.json create mode 100644 sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/test-case.json create mode 100644 sdk/aws-sigv4/Cargo.toml create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/iam.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq create mode 100644 sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts create mode 100644 sdk/aws-sigv4/src/date_fmt.rs create mode 100644 sdk/aws-sigv4/src/event_stream.rs create mode 100644 sdk/aws-sigv4/src/http_request/canonical_request.rs create mode 100644 sdk/aws-sigv4/src/http_request/mod.rs create mode 100644 sdk/aws-sigv4/src/lib.rs create mode 100644 sdk/aws-sigv4/src/sign.rs create mode 100644 sdk/chimesdkidentity/Cargo.toml create mode 100644 sdk/chimesdkidentity/LICENSE create mode 100644 sdk/chimesdkidentity/src/aws_endpoint.rs create mode 100644 sdk/chimesdkidentity/src/client.rs create mode 100644 sdk/chimesdkidentity/src/config.rs create mode 100644 sdk/chimesdkidentity/src/error.rs create mode 100644 sdk/chimesdkidentity/src/error_meta.rs create mode 100644 sdk/chimesdkidentity/src/idempotency_token.rs create mode 100644 sdk/chimesdkidentity/src/input.rs create mode 100644 sdk/chimesdkidentity/src/json_deser.rs create mode 100644 sdk/chimesdkidentity/src/json_errors.rs create mode 100644 sdk/chimesdkidentity/src/json_ser.rs create mode 100644 sdk/chimesdkidentity/src/lib.rs create mode 100644 sdk/chimesdkidentity/src/model.rs create mode 100644 sdk/chimesdkidentity/src/operation.rs create mode 100644 sdk/chimesdkidentity/src/operation_deser.rs create mode 100644 sdk/chimesdkidentity/src/operation_ser.rs create mode 100644 sdk/chimesdkidentity/src/output.rs create mode 100644 sdk/chimesdkmessaging/Cargo.toml create mode 100644 sdk/chimesdkmessaging/LICENSE create mode 100644 sdk/chimesdkmessaging/src/aws_endpoint.rs create mode 100644 sdk/chimesdkmessaging/src/client.rs create mode 100644 sdk/chimesdkmessaging/src/config.rs create mode 100644 sdk/chimesdkmessaging/src/error.rs create mode 100644 sdk/chimesdkmessaging/src/error_meta.rs create mode 100644 sdk/chimesdkmessaging/src/idempotency_token.rs create mode 100644 sdk/chimesdkmessaging/src/input.rs create mode 100644 sdk/chimesdkmessaging/src/json_deser.rs create mode 100644 sdk/chimesdkmessaging/src/json_errors.rs create mode 100644 sdk/chimesdkmessaging/src/json_ser.rs create mode 100644 sdk/chimesdkmessaging/src/lib.rs create mode 100644 sdk/chimesdkmessaging/src/model.rs create mode 100644 sdk/chimesdkmessaging/src/operation.rs create mode 100644 sdk/chimesdkmessaging/src/operation_deser.rs create mode 100644 sdk/chimesdkmessaging/src/operation_ser.rs create mode 100644 sdk/chimesdkmessaging/src/output.rs delete mode 100644 sdk/examples/batch/src/bin/batch-helloworld.rs create mode 100644 sdk/examples/batch/src/bin/helloworld.rs delete mode 100644 sdk/examples/dynamo-add-item/Cargo.toml delete mode 100644 sdk/examples/dynamo-create-table/Cargo.toml delete mode 100644 sdk/examples/dynamo-delete-item/Cargo.toml delete mode 100644 sdk/examples/dynamo-delete-table/Cargo.toml delete mode 100644 sdk/examples/dynamo-delete-table/src/main.rs delete mode 100644 sdk/examples/dynamo-helloworld/Cargo.toml delete mode 100644 sdk/examples/dynamo-helloworld/src/main.rs delete mode 100644 sdk/examples/dynamo-list-items/Cargo.toml delete mode 100644 sdk/examples/dynamo-list-items/src/main.rs delete mode 100644 sdk/examples/dynamo-list-tables/Cargo.toml delete mode 100644 sdk/examples/dynamo-list-tables/src/main.rs rename sdk/examples/{dynamo-movies => dynamodb}/Cargo.toml (51%) rename sdk/examples/{dynamo-helloworld => dynamodb/src/bin}/README.md (100%) rename sdk/examples/{dynamo-add-item/src/main.rs => dynamodb/src/bin/add-item.rs} (66%) rename sdk/examples/{dynamo-create-table/src/main.rs => dynamodb/src/bin/create-table.rs} (58%) create mode 100644 sdk/examples/dynamodb/src/bin/crud.rs rename sdk/examples/{dynamo-movies/src => dynamodb/src/bin}/data.json (100%) rename sdk/examples/{dynamo-delete-item/src/main.rs => dynamodb/src/bin/delete-item.rs} (57%) create mode 100644 sdk/examples/dynamodb/src/bin/delete-table.rs rename sdk/examples/{dynamo-helloworld => dynamodb/src/bin}/docker-compose.yml (100%) create mode 100644 sdk/examples/dynamodb/src/bin/dynamodb-helloworld.rs create mode 100644 sdk/examples/dynamodb/src/bin/list-items.rs create mode 100644 sdk/examples/dynamodb/src/bin/list-tables.rs rename sdk/examples/{dynamo-movies/src/main.rs => dynamodb/src/bin/movies.rs} (75%) create mode 100644 sdk/examples/s3/src/bin/delete-object.rs create mode 100644 sdk/examples/s3/src/bin/list-object-versions.rs create mode 100644 sdk/examples/sns/src/bin/create-topic.rs create mode 100644 sdk/examples/sns/src/bin/list-topics.rs create mode 100644 sdk/smithy-client/src/dvr.rs create mode 100644 sdk/smithy-client/src/dvr/record.rs create mode 100644 sdk/smithy-client/src/dvr/replay.rs create mode 100644 sdk/smithy-client/test-data/example.com.json create mode 100644 sdk/snowdevicemanagement/Cargo.toml create mode 100644 sdk/snowdevicemanagement/LICENSE create mode 100644 sdk/snowdevicemanagement/src/aws_endpoint.rs create mode 100644 sdk/snowdevicemanagement/src/client.rs create mode 100644 sdk/snowdevicemanagement/src/config.rs create mode 100644 sdk/snowdevicemanagement/src/error.rs create mode 100644 sdk/snowdevicemanagement/src/error_meta.rs create mode 100644 sdk/snowdevicemanagement/src/idempotency_token.rs create mode 100644 sdk/snowdevicemanagement/src/input.rs create mode 100644 sdk/snowdevicemanagement/src/json_deser.rs create mode 100644 sdk/snowdevicemanagement/src/json_errors.rs create mode 100644 sdk/snowdevicemanagement/src/json_ser.rs create mode 100644 sdk/snowdevicemanagement/src/lib.rs create mode 100644 sdk/snowdevicemanagement/src/model.rs create mode 100644 sdk/snowdevicemanagement/src/operation.rs create mode 100644 sdk/snowdevicemanagement/src/operation_deser.rs create mode 100644 sdk/snowdevicemanagement/src/operation_ser.rs create mode 100644 sdk/snowdevicemanagement/src/output.rs create mode 100644 sdk/sts/tests/signing-it.rs diff --git a/AWS_SERVICES_SUPPORTED.md b/AWS_SERVICES_SUPPORTED.md index ea7a202f180b..7fa912a609dd 100644 --- a/AWS_SERVICES_SUPPORTED.md +++ b/AWS_SERVICES_SUPPORTED.md @@ -70,6 +70,8 @@ These services have not yet been manually tested by the SDK team and may not hav - [x] Amazon Budgets - [x] Amazon Ce - [x] Amazon Chime +- [x] Amazon Chime Identity +- [x] Amazon Chime Messaging - [x] Amazon Cloud9 - [x] Amazon Cloud Directory - [x] Amazon Cloud Front @@ -221,6 +223,7 @@ These services have not yet been manually tested by the SDK team and may not hav - [x] Amazon Signer - [x] Amazon SMS - [x] Amazon Sms-Voice +- [x] Amazon Snow Device Management - [x] Amazon SSO - [x] Amazon Sso-Admin - [x] Amazon Sso-Oidc diff --git a/README.md b/README.md index 527ac5c28ef4..5fece716949c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# The AWS SDK for Rust [![Docs](https://img.shields.io/badge/docs-v0.0.15--alpha-blue)](https://awslabs.github.io/aws-sdk-rust/) ![MSRV](https://img.shields.io/badge/msrv-1.52.1-red) +# The AWS SDK for Rust [![Docs](https://img.shields.io/badge/docs-v0.0.16--alpha-blue)](https://awslabs.github.io/aws-sdk-rust/) ![MSRV](https://img.shields.io/badge/msrv-1.52.1-red) This repo contains the new AWS SDK for Rust (the SDK) and its [public roadmap](https://github.com/awslabs/aws-sdk-rust/projects/1) @@ -15,7 +15,7 @@ The SDK provides one crate per AWS service. You must add [Tokio](https://crates. ```toml [dependencies] -aws-sdk-dynamodb = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.15-alpha", package = "aws-sdk-dynamodb" } +aws-sdk-dynamodb = { git = "https://github.com/awslabs/aws-sdk-rust", tag = "v0.0.16-alpha", package = "aws-sdk-dynamodb" } tokio = { version = "1", features = ["full"] } ``` 3. Provide your AWS credentials as environment variables: diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index 0a594ac54e2c..6ac4356f61a4 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -1,4 +1,4 @@ [workspace] members = [ - "migrationhub","accessanalyzer","acmpca","acm","alexaforbusiness","amp","amplify","amplifybackend","apigateway","apigatewaymanagement","apigatewayv2","appconfig","appflow","appintegrations","applicationautoscaling","applicationinsights","applicationcostprofiler","appmesh","apprunner","appstream","appsync","athena","auditmanager","autoscalingplans","autoscaling","backup","batch","braket","budgets","costexplorer","chime","cloud9","clouddirectory","cloudformation","cloudfront","cloudhsm","cloudhsmv2","cloudsearch","cloudsearchdomain","cloudtrail","codeartifact","codebuild","codecommit","codedeploy","codegurureviewer","codeguruprofiler","codepipeline","codestarconnections","codestarnotifications","codestar","cognitoidentity","cognitoidentityprovider","cognitosync","comprehend","comprehendmedical","computeoptimizer","config","connectcontactlens","connect","connectparticipant","costandusagereport","customerprofiles","databrew","dataexchange","datapipeline","datasync","dax","detective","devicefarm","devopsguru","directconnect","applicationdiscovery","dlm","databasemigration","docdb","directory","dynamodb","ebs","ec2instanceconnect","ec2","ecrpublic","ecr","ecs","eks","elasticinference","elasticache","elasticbeanstalk","efs","elasticloadbalancing","elasticloadbalancingv2","emr","elastictranscoder","ses","emrcontainers","marketplaceentitlement","elasticsearch","eventbridge","cloudwatchevents","finspacedata","finspace","firehose","fis","fms","forecast","forecastquery","frauddetector","fsx","gamelift","globalaccelerator","glue","greengrass","greengrassv2","groundstation","guardduty","health","healthlake","honeycode","iam","identitystore","imagebuilder","inspector","iotdataplane","iotjobsdataplane","iot","iot1clickdevices","iot1clickprojects","iotanalytics","iotdeviceadvisor","ioteventsdata","iotevents","iotfleethub","iotsecuretunneling","iotsitewise","iotthingsgraph","iotwireless","ivs","kafka","kendra","kinesisvideoarchivedmedia","kinesisvideomedia","kinesisvideosignaling","kinesis","kinesisanalytics","kinesisanalyticsv2","kinesisvideo","kms","lakeformation","lambda","lexmodelbuilding","licensemanager","lightsail","location","cloudwatchlogs","lookoutequipment","lookoutmetrics","lookoutvision","machinelearning","macie","macie2","managedblockchain","marketplacecatalog","marketplacecommerceanalytics","mediaconnect","mediaconvert","medialive","mediapackagevod","mediapackage","mediastoredata","mediastore","mediatailor","marketplacemetering","mgn","migrationhubconfig","mobile","lexmodelsv2","cloudwatch","mq","mturk","mwaa","neptune","networkfirewall","networkmanager","nimble","opsworks","opsworkscm","organizations","outposts","personalizeevents","personalizeruntime","personalize","pi","pinpointemail","pinpoint","polly","pricing","proton","qldbsession","qldb","quicksight","ram","rdsdata","rds","redshiftdata","redshift","rekognition","resourcegroups","resourcegroupstagging","robomaker","route53recoverycluster","route53recoverycontrolconfig","route53recoveryreadiness","route53","route53domains","route53resolver","lexruntime","lexruntimev2","sagemakerruntime","s3","s3control","s3outposts","sagemakera2iruntime","sagemakeredge","sagemakerfeaturestoreruntime","sagemaker","savingsplans","schemas","secretsmanager","securityhub","serverlessapplicationrepository","servicequotas","servicecatalogappregistry","servicecatalog","servicediscovery","sesv2","shield","signer","pinpointsmsvoice","sms","snowball","sns","sqs","ssmcontacts","ssmincidents","ssm","ssoadmin","ssooidc","sso","sfn","storagegateway","dynamodbstreams","sts","support","swf","synthetics","textract","transcribe","transfer","translate","wafregional","waf","wafv2","wellarchitected","workdocs","worklink","workmail","workmailmessageflow","workspaces","xray","protocol-test-helpers","smithy-async","smithy-client","smithy-eventstream","smithy-http","smithy-http-tower","smithy-json","smithy-query","smithy-types","smithy-xml","aws-auth","aws-auth-providers","aws-endpoint","aws-http","aws-hyper","aws-sig-auth","aws-types","examples/mediapackage","examples/cloudwatch","examples/lambda","examples/autoscalingplans","examples/kms","examples/cognitosync","examples/snowball","examples/applicationautoscaling","examples/eks","examples/route53","examples/sqs","examples/ses","examples/autoscaling","examples/ecr","examples/sts","examples/qldb","examples/rds","examples/sagemaker","examples/rdsdata","examples/s3","examples/cloudwatchlogs","examples/ec2","examples/cloudformation","examples/cognitoidentity","examples/iam","examples/cognitoidentityprovider","examples/polly","examples/sns","examples/ssm","examples/medialive","examples/config","examples/ecs","examples/secretsmanager","examples/ebs","examples/batch","examples/kinesis" + "migrationhub","accessanalyzer","acmpca","acm","alexaforbusiness","amp","amplify","amplifybackend","apigateway","apigatewaymanagement","apigatewayv2","appconfig","appflow","appintegrations","applicationautoscaling","applicationinsights","applicationcostprofiler","appmesh","apprunner","appstream","appsync","athena","auditmanager","autoscalingplans","autoscaling","backup","batch","braket","budgets","costexplorer","chimesdkidentity","chimesdkmessaging","chime","cloud9","clouddirectory","cloudformation","cloudfront","cloudhsm","cloudhsmv2","cloudsearch","cloudsearchdomain","cloudtrail","codeartifact","codebuild","codecommit","codedeploy","codegurureviewer","codeguruprofiler","codepipeline","codestarconnections","codestarnotifications","codestar","cognitoidentity","cognitoidentityprovider","cognitosync","comprehend","comprehendmedical","computeoptimizer","config","connectcontactlens","connect","connectparticipant","costandusagereport","customerprofiles","databrew","dataexchange","datapipeline","datasync","dax","detective","devicefarm","devopsguru","directconnect","applicationdiscovery","dlm","databasemigration","docdb","directory","dynamodb","ebs","ec2instanceconnect","ec2","ecrpublic","ecr","ecs","eks","elasticinference","elasticache","elasticbeanstalk","efs","elasticloadbalancing","elasticloadbalancingv2","emr","elastictranscoder","ses","emrcontainers","marketplaceentitlement","elasticsearch","eventbridge","cloudwatchevents","finspacedata","finspace","firehose","fis","fms","forecast","forecastquery","frauddetector","fsx","gamelift","globalaccelerator","glue","greengrass","greengrassv2","groundstation","guardduty","health","healthlake","honeycode","iam","identitystore","imagebuilder","inspector","iotdataplane","iotjobsdataplane","iot","iot1clickdevices","iot1clickprojects","iotanalytics","iotdeviceadvisor","ioteventsdata","iotevents","iotfleethub","iotsecuretunneling","iotsitewise","iotthingsgraph","iotwireless","ivs","kafka","kendra","kinesisvideoarchivedmedia","kinesisvideomedia","kinesisvideosignaling","kinesis","kinesisanalytics","kinesisanalyticsv2","kinesisvideo","kms","lakeformation","lambda","lexmodelbuilding","licensemanager","lightsail","location","cloudwatchlogs","lookoutequipment","lookoutmetrics","lookoutvision","machinelearning","macie","macie2","managedblockchain","marketplacecatalog","marketplacecommerceanalytics","mediaconnect","mediaconvert","medialive","mediapackagevod","mediapackage","mediastoredata","mediastore","mediatailor","marketplacemetering","mgn","migrationhubconfig","mobile","lexmodelsv2","cloudwatch","mq","mturk","mwaa","neptune","networkfirewall","networkmanager","nimble","opsworks","opsworkscm","organizations","outposts","personalizeevents","personalizeruntime","personalize","pi","pinpointemail","pinpoint","polly","pricing","proton","qldbsession","qldb","quicksight","ram","rdsdata","rds","redshiftdata","redshift","rekognition","resourcegroups","resourcegroupstagging","robomaker","route53recoverycluster","route53recoverycontrolconfig","route53recoveryreadiness","route53","route53domains","route53resolver","lexruntime","lexruntimev2","sagemakerruntime","s3","s3control","s3outposts","sagemakera2iruntime","sagemakeredge","sagemakerfeaturestoreruntime","sagemaker","savingsplans","schemas","secretsmanager","securityhub","serverlessapplicationrepository","servicequotas","servicecatalogappregistry","servicecatalog","servicediscovery","sesv2","shield","signer","pinpointsmsvoice","sms","snowdevicemanagement","snowball","sns","sqs","ssmcontacts","ssmincidents","ssm","ssoadmin","ssooidc","sso","sfn","storagegateway","dynamodbstreams","sts","support","swf","synthetics","textract","transcribe","transfer","translate","wafregional","waf","wafv2","wellarchitected","workdocs","worklink","workmail","workmailmessageflow","workspaces","xray","protocol-test-helpers","smithy-async","smithy-client","smithy-eventstream","smithy-http","smithy-http-tower","smithy-json","smithy-query","smithy-types","smithy-xml","aws-auth","aws-auth-providers","aws-endpoint","aws-http","aws-hyper","aws-sig-auth","aws-sigv4","aws-types","examples/mediapackage","examples/cloudwatch","examples/lambda","examples/autoscalingplans","examples/kms","examples/cognitosync","examples/snowball","examples/applicationautoscaling","examples/eks","examples/route53","examples/sqs","examples/ses","examples/autoscaling","examples/ecr","examples/sts","examples/qldb","examples/rds","examples/sagemaker","examples/dynamodb","examples/rdsdata","examples/s3","examples/cloudwatchlogs","examples/ec2","examples/cloudformation","examples/cognitoidentity","examples/iam","examples/cognitoidentityprovider","examples/polly","examples/sns","examples/ssm","examples/medialive","examples/config","examples/ecs","examples/secretsmanager","examples/ebs","examples/batch","examples/kinesis" ] \ No newline at end of file diff --git a/sdk/accessanalyzer/Cargo.toml b/sdk/accessanalyzer/Cargo.toml index 5d75949b1019..1237e39c00e6 100644 --- a/sdk/accessanalyzer/Cargo.toml +++ b/sdk/accessanalyzer/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-accessanalyzer" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify\n any policies that grant access to an external principal. It does this by using logic-based\n reasoning to analyze resource-based policies in your AWS environment. An external\n principal can be another AWS account, a root user, an IAM user or role, a federated\n user, an AWS service, or an anonymous user. You can also use Access Analyzer to preview and\n validate public and cross-account access to your resources before deploying permissions\n changes. This guide describes the AWS IAM Access Analyzer operations that you can call\n programmatically. For general information about Access Analyzer, see AWS IAM Access Analyzer in the IAM User Guide.

\n

To start using Access Analyzer, you first need to create an analyzer.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/accessanalyzer/src/model.rs b/sdk/accessanalyzer/src/model.rs index 65c9782525ef..5ed2559e8752 100644 --- a/sdk/accessanalyzer/src/model.rs +++ b/sdk/accessanalyzer/src/model.rs @@ -1174,7 +1174,7 @@ pub enum PathElement { Value(std::string::String), } impl PathElement { - pub fn as_index(&self) -> Result<&i32, &Self> { + pub fn as_index(&self) -> std::result::Result<&i32, &Self> { if let PathElement::Index(val) = &self { Ok(&val) } else { @@ -1184,7 +1184,7 @@ impl PathElement { pub fn is_index(&self) -> bool { self.as_index().is_ok() } - pub fn as_key(&self) -> Result<&std::string::String, &Self> { + pub fn as_key(&self) -> std::result::Result<&std::string::String, &Self> { if let PathElement::Key(val) = &self { Ok(&val) } else { @@ -1194,7 +1194,7 @@ impl PathElement { pub fn is_key(&self) -> bool { self.as_key().is_ok() } - pub fn as_substring(&self) -> Result<&crate::model::Substring, &Self> { + pub fn as_substring(&self) -> std::result::Result<&crate::model::Substring, &Self> { if let PathElement::Substring(val) = &self { Ok(&val) } else { @@ -1204,7 +1204,7 @@ impl PathElement { pub fn is_substring(&self) -> bool { self.as_substring().is_ok() } - pub fn as_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_value(&self) -> std::result::Result<&std::string::String, &Self> { if let PathElement::Value(val) = &self { Ok(&val) } else { @@ -4708,7 +4708,7 @@ pub enum Configuration { SqsQueue(crate::model::SqsQueueConfiguration), } impl Configuration { - pub fn as_iam_role(&self) -> Result<&crate::model::IamRoleConfiguration, &Self> { + pub fn as_iam_role(&self) -> std::result::Result<&crate::model::IamRoleConfiguration, &Self> { if let Configuration::IamRole(val) = &self { Ok(&val) } else { @@ -4718,7 +4718,7 @@ impl Configuration { pub fn is_iam_role(&self) -> bool { self.as_iam_role().is_ok() } - pub fn as_kms_key(&self) -> Result<&crate::model::KmsKeyConfiguration, &Self> { + pub fn as_kms_key(&self) -> std::result::Result<&crate::model::KmsKeyConfiguration, &Self> { if let Configuration::KmsKey(val) = &self { Ok(&val) } else { @@ -4728,7 +4728,7 @@ impl Configuration { pub fn is_kms_key(&self) -> bool { self.as_kms_key().is_ok() } - pub fn as_s3_bucket(&self) -> Result<&crate::model::S3BucketConfiguration, &Self> { + pub fn as_s3_bucket(&self) -> std::result::Result<&crate::model::S3BucketConfiguration, &Self> { if let Configuration::S3Bucket(val) = &self { Ok(&val) } else { @@ -4740,7 +4740,7 @@ impl Configuration { } pub fn as_secrets_manager_secret( &self, - ) -> Result<&crate::model::SecretsManagerSecretConfiguration, &Self> { + ) -> std::result::Result<&crate::model::SecretsManagerSecretConfiguration, &Self> { if let Configuration::SecretsManagerSecret(val) = &self { Ok(&val) } else { @@ -4750,7 +4750,7 @@ impl Configuration { pub fn is_secrets_manager_secret(&self) -> bool { self.as_secrets_manager_secret().is_ok() } - pub fn as_sqs_queue(&self) -> Result<&crate::model::SqsQueueConfiguration, &Self> { + pub fn as_sqs_queue(&self) -> std::result::Result<&crate::model::SqsQueueConfiguration, &Self> { if let Configuration::SqsQueue(val) = &self { Ok(&val) } else { @@ -5076,7 +5076,9 @@ pub enum NetworkOriginConfiguration { VpcConfiguration(crate::model::VpcConfiguration), } impl NetworkOriginConfiguration { - pub fn as_internet_configuration(&self) -> Result<&crate::model::InternetConfiguration, &Self> { + pub fn as_internet_configuration( + &self, + ) -> std::result::Result<&crate::model::InternetConfiguration, &Self> { if let NetworkOriginConfiguration::InternetConfiguration(val) = &self { Ok(&val) } else { @@ -5086,7 +5088,9 @@ impl NetworkOriginConfiguration { pub fn is_internet_configuration(&self) -> bool { self.as_internet_configuration().is_ok() } - pub fn as_vpc_configuration(&self) -> Result<&crate::model::VpcConfiguration, &Self> { + pub fn as_vpc_configuration( + &self, + ) -> std::result::Result<&crate::model::VpcConfiguration, &Self> { if let NetworkOriginConfiguration::VpcConfiguration(val) = &self { Ok(&val) } else { @@ -5324,7 +5328,7 @@ pub enum AclGrantee { Uri(std::string::String), } impl AclGrantee { - pub fn as_id(&self) -> Result<&std::string::String, &Self> { + pub fn as_id(&self) -> std::result::Result<&std::string::String, &Self> { if let AclGrantee::Id(val) = &self { Ok(&val) } else { @@ -5334,7 +5338,7 @@ impl AclGrantee { pub fn is_id(&self) -> bool { self.as_id().is_ok() } - pub fn as_uri(&self) -> Result<&std::string::String, &Self> { + pub fn as_uri(&self) -> std::result::Result<&std::string::String, &Self> { if let AclGrantee::Uri(val) = &self { Ok(&val) } else { diff --git a/sdk/acm/Cargo.toml b/sdk/acm/Cargo.toml index df636164b47f..abe73f32a267 100644 --- a/sdk/acm/Cargo.toml +++ b/sdk/acm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-acm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Web Services Certificate Manager\n

You can use Amazon Web Services Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites\n and applications. For more information about using ACM, see the Amazon Web Services Certificate Manager User Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/acmpca/Cargo.toml b/sdk/acmpca/Cargo.toml index d5dba6ec6c7e..e30faa2f3a7a 100644 --- a/sdk/acmpca/Cargo.toml +++ b/sdk/acmpca/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-acmpca" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

This is the ACM Private CA API Reference. It provides descriptions,\n\t\t\tsyntax, and usage examples for each of the actions and data types involved in creating\n\t\t\tand managing private certificate authorities (CA) for your organization.

\n\t\t

The documentation for each action shows the Query API request parameters and the XML\n\t\t\tresponse. Alternatively, you can use one of the AWS SDKs to access an API that's\n\t\t\ttailored to the programming language or platform that you're using. For more\n\t\t\tinformation, see AWS\n\t\t\tSDKs.

\n\t\t \n\t\t\t

Each ACM Private CA API action has a quota that determines the number of times the action\n\t\t\t\tcan be called per second. For more information, see API Rate Quotas in ACM Private CA\n\t\t\t\tin the ACM Private CA user guide.

\n\t\t
" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/alexaforbusiness/Cargo.toml b/sdk/alexaforbusiness/Cargo.toml index 3ea60e3e6e12..13c6c21ff279 100644 --- a/sdk/alexaforbusiness/Cargo.toml +++ b/sdk/alexaforbusiness/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-alexaforbusiness" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

Alexa for Business helps you use Alexa in your organization. Alexa for Business provides you with the tools\n to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your\n own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations.\n You can also make these available as private skills for your organization. Alexa for Business makes it\n efficient to voice-enable your products and services, thus providing context-aware voice\n experiences for your customers. Device makers building with the Alexa Voice Service (AVS)\n can create fully integrated solutions, register their products with Alexa for Business, and manage them\n as shared devices in their organization.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/amp/Cargo.toml b/sdk/amp/Cargo.toml index f258d8554187..de91488cc440 100644 --- a/sdk/amp/Cargo.toml +++ b/sdk/amp/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-amp" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Managed Service for Prometheus" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/amplify/Cargo.toml b/sdk/amplify/Cargo.toml index 03c0bffced92..f4262b228e64 100644 --- a/sdk/amplify/Cargo.toml +++ b/sdk/amplify/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-amplify" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

Amplify enables developers to develop and deploy cloud-powered mobile and web apps.\n The Amplify Console provides a continuous delivery and hosting service for web\n applications. For more information, see the Amplify Console User Guide. The\n Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation\n for client app development. For more information, see the Amplify Framework.\n

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/amplifybackend/Cargo.toml b/sdk/amplifybackend/Cargo.toml index d6b64e45bdde..b2932234710f 100644 --- a/sdk/amplifybackend/Cargo.toml +++ b/sdk/amplifybackend/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-amplifybackend" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

AWS Amplify Admin API

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/apigateway/Cargo.toml b/sdk/apigateway/Cargo.toml index 5f6cd3cd3040..145507eda3b7 100644 --- a/sdk/apigateway/Cargo.toml +++ b/sdk/apigateway/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-apigateway" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon API Gateway\n

Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/apigateway/src/client.rs b/sdk/apigateway/src/client.rs index 8de488086940..25e6d10e2b03 100644 --- a/sdk/apigateway/src/client.rs +++ b/sdk/apigateway/src/client.rs @@ -1181,6 +1181,21 @@ pub mod fluent_builders { self.inner = self.inner.set_mutual_tls_authentication(input); self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.inner = self.inner.ownership_verification_certificate_arn(input); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_ownership_verification_certificate_arn(input); + self + } } #[derive(std::fmt::Debug)] pub struct CreateModel { diff --git a/sdk/apigateway/src/input.rs b/sdk/apigateway/src/input.rs index 13ecdd41e2a8..dd8423a3dc45 100644 --- a/sdk/apigateway/src/input.rs +++ b/sdk/apigateway/src/input.rs @@ -1345,6 +1345,7 @@ pub mod create_domain_name_input { pub(crate) security_policy: std::option::Option, pub(crate) mutual_tls_authentication: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

[Required] The name of the DomainName resource.

@@ -1501,6 +1502,21 @@ pub mod create_domain_name_input { self.mutual_tls_authentication = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`CreateDomainNameInput`](crate::input::CreateDomainNameInput) pub fn build( self, @@ -1521,6 +1537,7 @@ pub mod create_domain_name_input { tags: self.tags, security_policy: self.security_policy, mutual_tls_authentication: self.mutual_tls_authentication, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, }) } } @@ -26195,6 +26212,8 @@ pub struct CreateDomainNameInput { pub security_policy: std::option::Option, ///

If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.

pub mutual_tls_authentication: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for CreateDomainNameInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -26211,6 +26230,10 @@ impl std::fmt::Debug for CreateDomainNameInput { formatter.field("tags", &self.tags); formatter.field("security_policy", &self.security_policy); formatter.field("mutual_tls_authentication", &self.mutual_tls_authentication); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } diff --git a/sdk/apigateway/src/json_deser.rs b/sdk/apigateway/src/json_deser.rs index 359592b407fe..b43efaf0777c 100644 --- a/sdk/apigateway/src/json_deser.rs +++ b/sdk/apigateway/src/json_deser.rs @@ -804,6 +804,13 @@ pub fn deser_operation_create_domain_name( crate::json_deser::deser_structure_mutual_tls_authentication(tokens)?, ); } + "ownershipVerificationCertificateArn" => { + builder = builder.set_ownership_verification_certificate_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "regionalCertificateArn" => { builder = builder.set_regional_certificate_arn( smithy_json::deserialize::token::expect_string_or_null(tokens.next())? @@ -2556,6 +2563,13 @@ pub fn deser_operation_get_domain_name( crate::json_deser::deser_structure_mutual_tls_authentication(tokens)?, ); } + "ownershipVerificationCertificateArn" => { + builder = builder.set_ownership_verification_certificate_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "regionalCertificateArn" => { builder = builder.set_regional_certificate_arn( smithy_json::deserialize::token::expect_string_or_null(tokens.next())? @@ -5866,6 +5880,13 @@ pub fn deser_operation_update_domain_name( crate::json_deser::deser_structure_mutual_tls_authentication(tokens)?, ); } + "ownershipVerificationCertificateArn" => { + builder = builder.set_ownership_verification_certificate_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "regionalCertificateArn" => { builder = builder.set_regional_certificate_arn( smithy_json::deserialize::token::expect_string_or_null(tokens.next())? @@ -9923,6 +9944,15 @@ where )?, ); } + "ownershipVerificationCertificateArn" => { + builder = builder.set_ownership_verification_certificate_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/apigateway/src/json_ser.rs b/sdk/apigateway/src/json_ser.rs index cc4101137713..ed88a4fae9fa 100644 --- a/sdk/apigateway/src/json_ser.rs +++ b/sdk/apigateway/src/json_ser.rs @@ -204,23 +204,28 @@ pub fn serialize_structure_create_domain_name_input( ); object_54.finish(); } - if let Some(var_55) = &input.regional_certificate_arn { - object.key("regionalCertificateArn").string(var_55); + if let Some(var_55) = &input.ownership_verification_certificate_arn { + object + .key("ownershipVerificationCertificateArn") + .string(var_55); + } + if let Some(var_56) = &input.regional_certificate_arn { + object.key("regionalCertificateArn").string(var_56); } - if let Some(var_56) = &input.regional_certificate_name { - object.key("regionalCertificateName").string(var_56); + if let Some(var_57) = &input.regional_certificate_name { + object.key("regionalCertificateName").string(var_57); } - if let Some(var_57) = &input.security_policy { - object.key("securityPolicy").string(var_57.as_str()); + if let Some(var_58) = &input.security_policy { + object.key("securityPolicy").string(var_58.as_str()); } - if let Some(var_58) = &input.tags { - let mut object_59 = object.key("tags").start_object(); - for (key_60, value_61) in var_58 { + if let Some(var_59) = &input.tags { + let mut object_60 = object.key("tags").start_object(); + for (key_61, value_62) in var_59 { { - object_59.key(key_60).string(value_61); + object_60.key(key_61).string(value_62); } } - object_59.finish(); + object_60.finish(); } } @@ -228,17 +233,17 @@ pub fn serialize_structure_create_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelInput, ) { - if let Some(var_62) = &input.content_type { - object.key("contentType").string(var_62); + if let Some(var_63) = &input.content_type { + object.key("contentType").string(var_63); } - if let Some(var_63) = &input.description { - object.key("description").string(var_63); + if let Some(var_64) = &input.description { + object.key("description").string(var_64); } - if let Some(var_64) = &input.name { - object.key("name").string(var_64); + if let Some(var_65) = &input.name { + object.key("name").string(var_65); } - if let Some(var_65) = &input.schema { - object.key("schema").string(var_65); + if let Some(var_66) = &input.schema { + object.key("schema").string(var_66); } } @@ -246,8 +251,8 @@ pub fn serialize_structure_create_request_validator_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateRequestValidatorInput, ) { - if let Some(var_66) = &input.name { - object.key("name").string(var_66); + if let Some(var_67) = &input.name { + object.key("name").string(var_67); } if input.validate_request_body { object @@ -265,8 +270,8 @@ pub fn serialize_structure_create_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateResourceInput, ) { - if let Some(var_67) = &input.path_part { - object.key("pathPart").string(var_67); + if let Some(var_68) = &input.path_part { + object.key("pathPart").string(var_68); } } @@ -274,57 +279,57 @@ pub fn serialize_structure_create_rest_api_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateRestApiInput, ) { - if let Some(var_68) = &input.api_key_source { - object.key("apiKeySource").string(var_68.as_str()); + if let Some(var_69) = &input.api_key_source { + object.key("apiKeySource").string(var_69.as_str()); } - if let Some(var_69) = &input.binary_media_types { - let mut array_70 = object.key("binaryMediaTypes").start_array(); - for item_71 in var_69 { + if let Some(var_70) = &input.binary_media_types { + let mut array_71 = object.key("binaryMediaTypes").start_array(); + for item_72 in var_70 { { - array_70.value().string(item_71); + array_71.value().string(item_72); } } - array_70.finish(); + array_71.finish(); } - if let Some(var_72) = &input.clone_from { - object.key("cloneFrom").string(var_72); + if let Some(var_73) = &input.clone_from { + object.key("cloneFrom").string(var_73); } - if let Some(var_73) = &input.description { - object.key("description").string(var_73); + if let Some(var_74) = &input.description { + object.key("description").string(var_74); } if input.disable_execute_api_endpoint { object .key("disableExecuteApiEndpoint") .boolean(input.disable_execute_api_endpoint); } - if let Some(var_74) = &input.endpoint_configuration { - let mut object_75 = object.key("endpointConfiguration").start_object(); - crate::json_ser::serialize_structure_endpoint_configuration(&mut object_75, var_74); - object_75.finish(); + if let Some(var_75) = &input.endpoint_configuration { + let mut object_76 = object.key("endpointConfiguration").start_object(); + crate::json_ser::serialize_structure_endpoint_configuration(&mut object_76, var_75); + object_76.finish(); } - if let Some(var_76) = &input.minimum_compression_size { + if let Some(var_77) = &input.minimum_compression_size { object.key("minimumCompressionSize").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_76).into()), + smithy_types::Number::NegInt((*var_77).into()), ); } - if let Some(var_77) = &input.name { - object.key("name").string(var_77); + if let Some(var_78) = &input.name { + object.key("name").string(var_78); } - if let Some(var_78) = &input.policy { - object.key("policy").string(var_78); + if let Some(var_79) = &input.policy { + object.key("policy").string(var_79); } - if let Some(var_79) = &input.tags { - let mut object_80 = object.key("tags").start_object(); - for (key_81, value_82) in var_79 { + if let Some(var_80) = &input.tags { + let mut object_81 = object.key("tags").start_object(); + for (key_82, value_83) in var_80 { { - object_80.key(key_81).string(value_82); + object_81.key(key_82).string(value_83); } } - object_80.finish(); + object_81.finish(); } - if let Some(var_83) = &input.version { - object.key("version").string(var_83); + if let Some(var_84) = &input.version { + object.key("version").string(var_84); } } @@ -337,46 +342,46 @@ pub fn serialize_structure_create_stage_input( .key("cacheClusterEnabled") .boolean(input.cache_cluster_enabled); } - if let Some(var_84) = &input.cache_cluster_size { - object.key("cacheClusterSize").string(var_84.as_str()); + if let Some(var_85) = &input.cache_cluster_size { + object.key("cacheClusterSize").string(var_85.as_str()); } - if let Some(var_85) = &input.canary_settings { - let mut object_86 = object.key("canarySettings").start_object(); - crate::json_ser::serialize_structure_canary_settings(&mut object_86, var_85); - object_86.finish(); + if let Some(var_86) = &input.canary_settings { + let mut object_87 = object.key("canarySettings").start_object(); + crate::json_ser::serialize_structure_canary_settings(&mut object_87, var_86); + object_87.finish(); } - if let Some(var_87) = &input.deployment_id { - object.key("deploymentId").string(var_87); + if let Some(var_88) = &input.deployment_id { + object.key("deploymentId").string(var_88); } - if let Some(var_88) = &input.description { - object.key("description").string(var_88); + if let Some(var_89) = &input.description { + object.key("description").string(var_89); } - if let Some(var_89) = &input.documentation_version { - object.key("documentationVersion").string(var_89); + if let Some(var_90) = &input.documentation_version { + object.key("documentationVersion").string(var_90); } - if let Some(var_90) = &input.stage_name { - object.key("stageName").string(var_90); + if let Some(var_91) = &input.stage_name { + object.key("stageName").string(var_91); } - if let Some(var_91) = &input.tags { - let mut object_92 = object.key("tags").start_object(); - for (key_93, value_94) in var_91 { + if let Some(var_92) = &input.tags { + let mut object_93 = object.key("tags").start_object(); + for (key_94, value_95) in var_92 { { - object_92.key(key_93).string(value_94); + object_93.key(key_94).string(value_95); } } - object_92.finish(); + object_93.finish(); } if input.tracing_enabled { object.key("tracingEnabled").boolean(input.tracing_enabled); } - if let Some(var_95) = &input.variables { - let mut object_96 = object.key("variables").start_object(); - for (key_97, value_98) in var_95 { + if let Some(var_96) = &input.variables { + let mut object_97 = object.key("variables").start_object(); + for (key_98, value_99) in var_96 { { - object_96.key(key_97).string(value_98); + object_97.key(key_98).string(value_99); } } - object_96.finish(); + object_97.finish(); } } @@ -384,41 +389,41 @@ pub fn serialize_structure_create_usage_plan_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUsagePlanInput, ) { - if let Some(var_99) = &input.api_stages { - let mut array_100 = object.key("apiStages").start_array(); - for item_101 in var_99 { + if let Some(var_100) = &input.api_stages { + let mut array_101 = object.key("apiStages").start_array(); + for item_102 in var_100 { { - let mut object_102 = array_100.value().start_object(); - crate::json_ser::serialize_structure_api_stage(&mut object_102, item_101); - object_102.finish(); + let mut object_103 = array_101.value().start_object(); + crate::json_ser::serialize_structure_api_stage(&mut object_103, item_102); + object_103.finish(); } } - array_100.finish(); + array_101.finish(); } - if let Some(var_103) = &input.description { - object.key("description").string(var_103); + if let Some(var_104) = &input.description { + object.key("description").string(var_104); } - if let Some(var_104) = &input.name { - object.key("name").string(var_104); + if let Some(var_105) = &input.name { + object.key("name").string(var_105); } - if let Some(var_105) = &input.quota { - let mut object_106 = object.key("quota").start_object(); - crate::json_ser::serialize_structure_quota_settings(&mut object_106, var_105); - object_106.finish(); + if let Some(var_106) = &input.quota { + let mut object_107 = object.key("quota").start_object(); + crate::json_ser::serialize_structure_quota_settings(&mut object_107, var_106); + object_107.finish(); } - if let Some(var_107) = &input.tags { - let mut object_108 = object.key("tags").start_object(); - for (key_109, value_110) in var_107 { + if let Some(var_108) = &input.tags { + let mut object_109 = object.key("tags").start_object(); + for (key_110, value_111) in var_108 { { - object_108.key(key_109).string(value_110); + object_109.key(key_110).string(value_111); } } - object_108.finish(); + object_109.finish(); } - if let Some(var_111) = &input.throttle { - let mut object_112 = object.key("throttle").start_object(); - crate::json_ser::serialize_structure_throttle_settings(&mut object_112, var_111); - object_112.finish(); + if let Some(var_112) = &input.throttle { + let mut object_113 = object.key("throttle").start_object(); + crate::json_ser::serialize_structure_throttle_settings(&mut object_113, var_112); + object_113.finish(); } } @@ -426,11 +431,11 @@ pub fn serialize_structure_create_usage_plan_key_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUsagePlanKeyInput, ) { - if let Some(var_113) = &input.key_id { - object.key("keyId").string(var_113); + if let Some(var_114) = &input.key_id { + object.key("keyId").string(var_114); } - if let Some(var_114) = &input.key_type { - object.key("keyType").string(var_114); + if let Some(var_115) = &input.key_type { + object.key("keyType").string(var_115); } } @@ -438,29 +443,29 @@ pub fn serialize_structure_create_vpc_link_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateVpcLinkInput, ) { - if let Some(var_115) = &input.description { - object.key("description").string(var_115); + if let Some(var_116) = &input.description { + object.key("description").string(var_116); } - if let Some(var_116) = &input.name { - object.key("name").string(var_116); + if let Some(var_117) = &input.name { + object.key("name").string(var_117); } - if let Some(var_117) = &input.tags { - let mut object_118 = object.key("tags").start_object(); - for (key_119, value_120) in var_117 { + if let Some(var_118) = &input.tags { + let mut object_119 = object.key("tags").start_object(); + for (key_120, value_121) in var_118 { { - object_118.key(key_119).string(value_120); + object_119.key(key_120).string(value_121); } } - object_118.finish(); + object_119.finish(); } - if let Some(var_121) = &input.target_arns { - let mut array_122 = object.key("targetArns").start_array(); - for item_123 in var_121 { + if let Some(var_122) = &input.target_arns { + let mut array_123 = object.key("targetArns").start_array(); + for item_124 in var_122 { { - array_122.value().string(item_123); + array_123.value().string(item_124); } } - array_122.finish(); + array_123.finish(); } } @@ -468,17 +473,17 @@ pub fn serialize_structure_generate_client_certificate_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GenerateClientCertificateInput, ) { - if let Some(var_124) = &input.description { - object.key("description").string(var_124); + if let Some(var_125) = &input.description { + object.key("description").string(var_125); } - if let Some(var_125) = &input.tags { - let mut object_126 = object.key("tags").start_object(); - for (key_127, value_128) in var_125 { + if let Some(var_126) = &input.tags { + let mut object_127 = object.key("tags").start_object(); + for (key_128, value_129) in var_126 { { - object_126.key(key_127).string(value_128); + object_127.key(key_128).string(value_129); } } - object_126.finish(); + object_127.finish(); } } @@ -486,26 +491,26 @@ pub fn serialize_structure_put_gateway_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutGatewayResponseInput, ) { - if let Some(var_129) = &input.response_parameters { - let mut object_130 = object.key("responseParameters").start_object(); - for (key_131, value_132) in var_129 { + if let Some(var_130) = &input.response_parameters { + let mut object_131 = object.key("responseParameters").start_object(); + for (key_132, value_133) in var_130 { { - object_130.key(key_131).string(value_132); + object_131.key(key_132).string(value_133); } } - object_130.finish(); + object_131.finish(); } - if let Some(var_133) = &input.response_templates { - let mut object_134 = object.key("responseTemplates").start_object(); - for (key_135, value_136) in var_133 { + if let Some(var_134) = &input.response_templates { + let mut object_135 = object.key("responseTemplates").start_object(); + for (key_136, value_137) in var_134 { { - object_134.key(key_135).string(value_136); + object_135.key(key_136).string(value_137); } } - object_134.finish(); + object_135.finish(); } - if let Some(var_137) = &input.status_code { - object.key("statusCode").string(var_137); + if let Some(var_138) = &input.status_code { + object.key("statusCode").string(var_138); } } @@ -513,70 +518,70 @@ pub fn serialize_structure_put_integration_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutIntegrationInput, ) { - if let Some(var_138) = &input.cache_key_parameters { - let mut array_139 = object.key("cacheKeyParameters").start_array(); - for item_140 in var_138 { + if let Some(var_139) = &input.cache_key_parameters { + let mut array_140 = object.key("cacheKeyParameters").start_array(); + for item_141 in var_139 { { - array_139.value().string(item_140); + array_140.value().string(item_141); } } - array_139.finish(); + array_140.finish(); } - if let Some(var_141) = &input.cache_namespace { - object.key("cacheNamespace").string(var_141); + if let Some(var_142) = &input.cache_namespace { + object.key("cacheNamespace").string(var_142); } - if let Some(var_142) = &input.connection_id { - object.key("connectionId").string(var_142); + if let Some(var_143) = &input.connection_id { + object.key("connectionId").string(var_143); } - if let Some(var_143) = &input.connection_type { - object.key("connectionType").string(var_143.as_str()); + if let Some(var_144) = &input.connection_type { + object.key("connectionType").string(var_144.as_str()); } - if let Some(var_144) = &input.content_handling { - object.key("contentHandling").string(var_144.as_str()); + if let Some(var_145) = &input.content_handling { + object.key("contentHandling").string(var_145.as_str()); } - if let Some(var_145) = &input.credentials { - object.key("credentials").string(var_145); + if let Some(var_146) = &input.credentials { + object.key("credentials").string(var_146); } - if let Some(var_146) = &input.integration_http_method { - object.key("httpMethod").string(var_146); + if let Some(var_147) = &input.integration_http_method { + object.key("httpMethod").string(var_147); } - if let Some(var_147) = &input.passthrough_behavior { - object.key("passthroughBehavior").string(var_147); + if let Some(var_148) = &input.passthrough_behavior { + object.key("passthroughBehavior").string(var_148); } - if let Some(var_148) = &input.request_parameters { - let mut object_149 = object.key("requestParameters").start_object(); - for (key_150, value_151) in var_148 { + if let Some(var_149) = &input.request_parameters { + let mut object_150 = object.key("requestParameters").start_object(); + for (key_151, value_152) in var_149 { { - object_149.key(key_150).string(value_151); + object_150.key(key_151).string(value_152); } } - object_149.finish(); + object_150.finish(); } - if let Some(var_152) = &input.request_templates { - let mut object_153 = object.key("requestTemplates").start_object(); - for (key_154, value_155) in var_152 { + if let Some(var_153) = &input.request_templates { + let mut object_154 = object.key("requestTemplates").start_object(); + for (key_155, value_156) in var_153 { { - object_153.key(key_154).string(value_155); + object_154.key(key_155).string(value_156); } } - object_153.finish(); + object_154.finish(); } - if let Some(var_156) = &input.timeout_in_millis { + if let Some(var_157) = &input.timeout_in_millis { object.key("timeoutInMillis").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_156).into()), + smithy_types::Number::NegInt((*var_157).into()), ); } - if let Some(var_157) = &input.tls_config { - let mut object_158 = object.key("tlsConfig").start_object(); - crate::json_ser::serialize_structure_tls_config(&mut object_158, var_157); - object_158.finish(); + if let Some(var_158) = &input.tls_config { + let mut object_159 = object.key("tlsConfig").start_object(); + crate::json_ser::serialize_structure_tls_config(&mut object_159, var_158); + object_159.finish(); } - if let Some(var_159) = &input.r#type { - object.key("type").string(var_159.as_str()); + if let Some(var_160) = &input.r#type { + object.key("type").string(var_160.as_str()); } - if let Some(var_160) = &input.uri { - object.key("uri").string(var_160); + if let Some(var_161) = &input.uri { + object.key("uri").string(var_161); } } @@ -584,29 +589,29 @@ pub fn serialize_structure_put_integration_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutIntegrationResponseInput, ) { - if let Some(var_161) = &input.content_handling { - object.key("contentHandling").string(var_161.as_str()); + if let Some(var_162) = &input.content_handling { + object.key("contentHandling").string(var_162.as_str()); } - if let Some(var_162) = &input.response_parameters { - let mut object_163 = object.key("responseParameters").start_object(); - for (key_164, value_165) in var_162 { + if let Some(var_163) = &input.response_parameters { + let mut object_164 = object.key("responseParameters").start_object(); + for (key_165, value_166) in var_163 { { - object_163.key(key_164).string(value_165); + object_164.key(key_165).string(value_166); } } - object_163.finish(); + object_164.finish(); } - if let Some(var_166) = &input.response_templates { - let mut object_167 = object.key("responseTemplates").start_object(); - for (key_168, value_169) in var_166 { + if let Some(var_167) = &input.response_templates { + let mut object_168 = object.key("responseTemplates").start_object(); + for (key_169, value_170) in var_167 { { - object_167.key(key_168).string(value_169); + object_168.key(key_169).string(value_170); } } - object_167.finish(); + object_168.finish(); } - if let Some(var_170) = &input.selection_pattern { - object.key("selectionPattern").string(var_170); + if let Some(var_171) = &input.selection_pattern { + object.key("selectionPattern").string(var_171); } } @@ -617,44 +622,44 @@ pub fn serialize_structure_put_method_input( if input.api_key_required { object.key("apiKeyRequired").boolean(input.api_key_required); } - if let Some(var_171) = &input.authorization_scopes { - let mut array_172 = object.key("authorizationScopes").start_array(); - for item_173 in var_171 { + if let Some(var_172) = &input.authorization_scopes { + let mut array_173 = object.key("authorizationScopes").start_array(); + for item_174 in var_172 { { - array_172.value().string(item_173); + array_173.value().string(item_174); } } - array_172.finish(); + array_173.finish(); } - if let Some(var_174) = &input.authorization_type { - object.key("authorizationType").string(var_174); + if let Some(var_175) = &input.authorization_type { + object.key("authorizationType").string(var_175); } - if let Some(var_175) = &input.authorizer_id { - object.key("authorizerId").string(var_175); + if let Some(var_176) = &input.authorizer_id { + object.key("authorizerId").string(var_176); } - if let Some(var_176) = &input.operation_name { - object.key("operationName").string(var_176); + if let Some(var_177) = &input.operation_name { + object.key("operationName").string(var_177); } - if let Some(var_177) = &input.request_models { - let mut object_178 = object.key("requestModels").start_object(); - for (key_179, value_180) in var_177 { + if let Some(var_178) = &input.request_models { + let mut object_179 = object.key("requestModels").start_object(); + for (key_180, value_181) in var_178 { { - object_178.key(key_179).string(value_180); + object_179.key(key_180).string(value_181); } } - object_178.finish(); + object_179.finish(); } - if let Some(var_181) = &input.request_parameters { - let mut object_182 = object.key("requestParameters").start_object(); - for (key_183, value_184) in var_181 { + if let Some(var_182) = &input.request_parameters { + let mut object_183 = object.key("requestParameters").start_object(); + for (key_184, value_185) in var_182 { { - object_182.key(key_183).boolean(*value_184); + object_183.key(key_184).boolean(*value_185); } } - object_182.finish(); + object_183.finish(); } - if let Some(var_185) = &input.request_validator_id { - object.key("requestValidatorId").string(var_185); + if let Some(var_186) = &input.request_validator_id { + object.key("requestValidatorId").string(var_186); } } @@ -662,23 +667,23 @@ pub fn serialize_structure_put_method_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutMethodResponseInput, ) { - if let Some(var_186) = &input.response_models { - let mut object_187 = object.key("responseModels").start_object(); - for (key_188, value_189) in var_186 { + if let Some(var_187) = &input.response_models { + let mut object_188 = object.key("responseModels").start_object(); + for (key_189, value_190) in var_187 { { - object_187.key(key_188).string(value_189); + object_188.key(key_189).string(value_190); } } - object_187.finish(); + object_188.finish(); } - if let Some(var_190) = &input.response_parameters { - let mut object_191 = object.key("responseParameters").start_object(); - for (key_192, value_193) in var_190 { + if let Some(var_191) = &input.response_parameters { + let mut object_192 = object.key("responseParameters").start_object(); + for (key_193, value_194) in var_191 { { - object_191.key(key_192).boolean(*value_193); + object_192.key(key_193).boolean(*value_194); } } - object_191.finish(); + object_192.finish(); } } @@ -686,14 +691,14 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_194) = &input.tags { - let mut object_195 = object.key("tags").start_object(); - for (key_196, value_197) in var_194 { + if let Some(var_195) = &input.tags { + let mut object_196 = object.key("tags").start_object(); + for (key_197, value_198) in var_195 { { - object_195.key(key_196).string(value_197); + object_196.key(key_197).string(value_198); } } - object_195.finish(); + object_196.finish(); } } @@ -701,53 +706,53 @@ pub fn serialize_structure_test_invoke_authorizer_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TestInvokeAuthorizerInput, ) { - if let Some(var_198) = &input.additional_context { - let mut object_199 = object.key("additionalContext").start_object(); - for (key_200, value_201) in var_198 { + if let Some(var_199) = &input.additional_context { + let mut object_200 = object.key("additionalContext").start_object(); + for (key_201, value_202) in var_199 { { - object_199.key(key_200).string(value_201); + object_200.key(key_201).string(value_202); } } - object_199.finish(); + object_200.finish(); } - if let Some(var_202) = &input.body { - object.key("body").string(var_202); + if let Some(var_203) = &input.body { + object.key("body").string(var_203); } - if let Some(var_203) = &input.headers { - let mut object_204 = object.key("headers").start_object(); - for (key_205, value_206) in var_203 { + if let Some(var_204) = &input.headers { + let mut object_205 = object.key("headers").start_object(); + for (key_206, value_207) in var_204 { { - object_204.key(key_205).string(value_206); + object_205.key(key_206).string(value_207); } } - object_204.finish(); + object_205.finish(); } - if let Some(var_207) = &input.multi_value_headers { - let mut object_208 = object.key("multiValueHeaders").start_object(); - for (key_209, value_210) in var_207 { + if let Some(var_208) = &input.multi_value_headers { + let mut object_209 = object.key("multiValueHeaders").start_object(); + for (key_210, value_211) in var_208 { { - let mut array_211 = object_208.key(key_209).start_array(); - for item_212 in value_210 { + let mut array_212 = object_209.key(key_210).start_array(); + for item_213 in value_211 { { - array_211.value().string(item_212); + array_212.value().string(item_213); } } - array_211.finish(); + array_212.finish(); } } - object_208.finish(); + object_209.finish(); } - if let Some(var_213) = &input.path_with_query_string { - object.key("pathWithQueryString").string(var_213); + if let Some(var_214) = &input.path_with_query_string { + object.key("pathWithQueryString").string(var_214); } - if let Some(var_214) = &input.stage_variables { - let mut object_215 = object.key("stageVariables").start_object(); - for (key_216, value_217) in var_214 { + if let Some(var_215) = &input.stage_variables { + let mut object_216 = object.key("stageVariables").start_object(); + for (key_217, value_218) in var_215 { { - object_215.key(key_216).string(value_217); + object_216.key(key_217).string(value_218); } } - object_215.finish(); + object_216.finish(); } } @@ -755,47 +760,47 @@ pub fn serialize_structure_test_invoke_method_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TestInvokeMethodInput, ) { - if let Some(var_218) = &input.body { - object.key("body").string(var_218); + if let Some(var_219) = &input.body { + object.key("body").string(var_219); } - if let Some(var_219) = &input.client_certificate_id { - object.key("clientCertificateId").string(var_219); + if let Some(var_220) = &input.client_certificate_id { + object.key("clientCertificateId").string(var_220); } - if let Some(var_220) = &input.headers { - let mut object_221 = object.key("headers").start_object(); - for (key_222, value_223) in var_220 { + if let Some(var_221) = &input.headers { + let mut object_222 = object.key("headers").start_object(); + for (key_223, value_224) in var_221 { { - object_221.key(key_222).string(value_223); + object_222.key(key_223).string(value_224); } } - object_221.finish(); + object_222.finish(); } - if let Some(var_224) = &input.multi_value_headers { - let mut object_225 = object.key("multiValueHeaders").start_object(); - for (key_226, value_227) in var_224 { + if let Some(var_225) = &input.multi_value_headers { + let mut object_226 = object.key("multiValueHeaders").start_object(); + for (key_227, value_228) in var_225 { { - let mut array_228 = object_225.key(key_226).start_array(); - for item_229 in value_227 { + let mut array_229 = object_226.key(key_227).start_array(); + for item_230 in value_228 { { - array_228.value().string(item_229); + array_229.value().string(item_230); } } - array_228.finish(); + array_229.finish(); } } - object_225.finish(); + object_226.finish(); } - if let Some(var_230) = &input.path_with_query_string { - object.key("pathWithQueryString").string(var_230); + if let Some(var_231) = &input.path_with_query_string { + object.key("pathWithQueryString").string(var_231); } - if let Some(var_231) = &input.stage_variables { - let mut object_232 = object.key("stageVariables").start_object(); - for (key_233, value_234) in var_231 { + if let Some(var_232) = &input.stage_variables { + let mut object_233 = object.key("stageVariables").start_object(); + for (key_234, value_235) in var_232 { { - object_232.key(key_233).string(value_234); + object_233.key(key_234).string(value_235); } } - object_232.finish(); + object_233.finish(); } } @@ -803,16 +808,16 @@ pub fn serialize_structure_update_account_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateAccountInput, ) { - if let Some(var_235) = &input.patch_operations { - let mut array_236 = object.key("patchOperations").start_array(); - for item_237 in var_235 { + if let Some(var_236) = &input.patch_operations { + let mut array_237 = object.key("patchOperations").start_array(); + for item_238 in var_236 { { - let mut object_238 = array_236.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_238, item_237); - object_238.finish(); + let mut object_239 = array_237.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_239, item_238); + object_239.finish(); } } - array_236.finish(); + array_237.finish(); } } @@ -820,16 +825,16 @@ pub fn serialize_structure_update_api_key_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateApiKeyInput, ) { - if let Some(var_239) = &input.patch_operations { - let mut array_240 = object.key("patchOperations").start_array(); - for item_241 in var_239 { + if let Some(var_240) = &input.patch_operations { + let mut array_241 = object.key("patchOperations").start_array(); + for item_242 in var_240 { { - let mut object_242 = array_240.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_242, item_241); - object_242.finish(); + let mut object_243 = array_241.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_243, item_242); + object_243.finish(); } } - array_240.finish(); + array_241.finish(); } } @@ -837,16 +842,16 @@ pub fn serialize_structure_update_authorizer_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateAuthorizerInput, ) { - if let Some(var_243) = &input.patch_operations { - let mut array_244 = object.key("patchOperations").start_array(); - for item_245 in var_243 { + if let Some(var_244) = &input.patch_operations { + let mut array_245 = object.key("patchOperations").start_array(); + for item_246 in var_244 { { - let mut object_246 = array_244.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_246, item_245); - object_246.finish(); + let mut object_247 = array_245.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_247, item_246); + object_247.finish(); } } - array_244.finish(); + array_245.finish(); } } @@ -854,16 +859,16 @@ pub fn serialize_structure_update_base_path_mapping_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateBasePathMappingInput, ) { - if let Some(var_247) = &input.patch_operations { - let mut array_248 = object.key("patchOperations").start_array(); - for item_249 in var_247 { + if let Some(var_248) = &input.patch_operations { + let mut array_249 = object.key("patchOperations").start_array(); + for item_250 in var_248 { { - let mut object_250 = array_248.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_250, item_249); - object_250.finish(); + let mut object_251 = array_249.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_251, item_250); + object_251.finish(); } } - array_248.finish(); + array_249.finish(); } } @@ -871,16 +876,16 @@ pub fn serialize_structure_update_client_certificate_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateClientCertificateInput, ) { - if let Some(var_251) = &input.patch_operations { - let mut array_252 = object.key("patchOperations").start_array(); - for item_253 in var_251 { + if let Some(var_252) = &input.patch_operations { + let mut array_253 = object.key("patchOperations").start_array(); + for item_254 in var_252 { { - let mut object_254 = array_252.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_254, item_253); - object_254.finish(); + let mut object_255 = array_253.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_255, item_254); + object_255.finish(); } } - array_252.finish(); + array_253.finish(); } } @@ -888,16 +893,16 @@ pub fn serialize_structure_update_deployment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDeploymentInput, ) { - if let Some(var_255) = &input.patch_operations { - let mut array_256 = object.key("patchOperations").start_array(); - for item_257 in var_255 { + if let Some(var_256) = &input.patch_operations { + let mut array_257 = object.key("patchOperations").start_array(); + for item_258 in var_256 { { - let mut object_258 = array_256.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_258, item_257); - object_258.finish(); + let mut object_259 = array_257.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_259, item_258); + object_259.finish(); } } - array_256.finish(); + array_257.finish(); } } @@ -905,16 +910,16 @@ pub fn serialize_structure_update_documentation_part_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDocumentationPartInput, ) { - if let Some(var_259) = &input.patch_operations { - let mut array_260 = object.key("patchOperations").start_array(); - for item_261 in var_259 { + if let Some(var_260) = &input.patch_operations { + let mut array_261 = object.key("patchOperations").start_array(); + for item_262 in var_260 { { - let mut object_262 = array_260.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_262, item_261); - object_262.finish(); + let mut object_263 = array_261.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_263, item_262); + object_263.finish(); } } - array_260.finish(); + array_261.finish(); } } @@ -922,16 +927,16 @@ pub fn serialize_structure_update_documentation_version_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDocumentationVersionInput, ) { - if let Some(var_263) = &input.patch_operations { - let mut array_264 = object.key("patchOperations").start_array(); - for item_265 in var_263 { + if let Some(var_264) = &input.patch_operations { + let mut array_265 = object.key("patchOperations").start_array(); + for item_266 in var_264 { { - let mut object_266 = array_264.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_266, item_265); - object_266.finish(); + let mut object_267 = array_265.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_267, item_266); + object_267.finish(); } } - array_264.finish(); + array_265.finish(); } } @@ -939,16 +944,16 @@ pub fn serialize_structure_update_domain_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDomainNameInput, ) { - if let Some(var_267) = &input.patch_operations { - let mut array_268 = object.key("patchOperations").start_array(); - for item_269 in var_267 { + if let Some(var_268) = &input.patch_operations { + let mut array_269 = object.key("patchOperations").start_array(); + for item_270 in var_268 { { - let mut object_270 = array_268.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_270, item_269); - object_270.finish(); + let mut object_271 = array_269.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_271, item_270); + object_271.finish(); } } - array_268.finish(); + array_269.finish(); } } @@ -956,16 +961,16 @@ pub fn serialize_structure_update_gateway_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateGatewayResponseInput, ) { - if let Some(var_271) = &input.patch_operations { - let mut array_272 = object.key("patchOperations").start_array(); - for item_273 in var_271 { + if let Some(var_272) = &input.patch_operations { + let mut array_273 = object.key("patchOperations").start_array(); + for item_274 in var_272 { { - let mut object_274 = array_272.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_274, item_273); - object_274.finish(); + let mut object_275 = array_273.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_275, item_274); + object_275.finish(); } } - array_272.finish(); + array_273.finish(); } } @@ -973,16 +978,16 @@ pub fn serialize_structure_update_integration_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateIntegrationInput, ) { - if let Some(var_275) = &input.patch_operations { - let mut array_276 = object.key("patchOperations").start_array(); - for item_277 in var_275 { + if let Some(var_276) = &input.patch_operations { + let mut array_277 = object.key("patchOperations").start_array(); + for item_278 in var_276 { { - let mut object_278 = array_276.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_278, item_277); - object_278.finish(); + let mut object_279 = array_277.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_279, item_278); + object_279.finish(); } } - array_276.finish(); + array_277.finish(); } } @@ -990,16 +995,16 @@ pub fn serialize_structure_update_integration_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateIntegrationResponseInput, ) { - if let Some(var_279) = &input.patch_operations { - let mut array_280 = object.key("patchOperations").start_array(); - for item_281 in var_279 { + if let Some(var_280) = &input.patch_operations { + let mut array_281 = object.key("patchOperations").start_array(); + for item_282 in var_280 { { - let mut object_282 = array_280.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_282, item_281); - object_282.finish(); + let mut object_283 = array_281.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_283, item_282); + object_283.finish(); } } - array_280.finish(); + array_281.finish(); } } @@ -1007,16 +1012,16 @@ pub fn serialize_structure_update_method_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateMethodInput, ) { - if let Some(var_283) = &input.patch_operations { - let mut array_284 = object.key("patchOperations").start_array(); - for item_285 in var_283 { + if let Some(var_284) = &input.patch_operations { + let mut array_285 = object.key("patchOperations").start_array(); + for item_286 in var_284 { { - let mut object_286 = array_284.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_286, item_285); - object_286.finish(); + let mut object_287 = array_285.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_287, item_286); + object_287.finish(); } } - array_284.finish(); + array_285.finish(); } } @@ -1024,16 +1029,16 @@ pub fn serialize_structure_update_method_response_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateMethodResponseInput, ) { - if let Some(var_287) = &input.patch_operations { - let mut array_288 = object.key("patchOperations").start_array(); - for item_289 in var_287 { + if let Some(var_288) = &input.patch_operations { + let mut array_289 = object.key("patchOperations").start_array(); + for item_290 in var_288 { { - let mut object_290 = array_288.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_290, item_289); - object_290.finish(); + let mut object_291 = array_289.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_291, item_290); + object_291.finish(); } } - array_288.finish(); + array_289.finish(); } } @@ -1041,16 +1046,16 @@ pub fn serialize_structure_update_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateModelInput, ) { - if let Some(var_291) = &input.patch_operations { - let mut array_292 = object.key("patchOperations").start_array(); - for item_293 in var_291 { + if let Some(var_292) = &input.patch_operations { + let mut array_293 = object.key("patchOperations").start_array(); + for item_294 in var_292 { { - let mut object_294 = array_292.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_294, item_293); - object_294.finish(); + let mut object_295 = array_293.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_295, item_294); + object_295.finish(); } } - array_292.finish(); + array_293.finish(); } } @@ -1058,16 +1063,16 @@ pub fn serialize_structure_update_request_validator_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRequestValidatorInput, ) { - if let Some(var_295) = &input.patch_operations { - let mut array_296 = object.key("patchOperations").start_array(); - for item_297 in var_295 { + if let Some(var_296) = &input.patch_operations { + let mut array_297 = object.key("patchOperations").start_array(); + for item_298 in var_296 { { - let mut object_298 = array_296.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_298, item_297); - object_298.finish(); + let mut object_299 = array_297.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_299, item_298); + object_299.finish(); } } - array_296.finish(); + array_297.finish(); } } @@ -1075,16 +1080,16 @@ pub fn serialize_structure_update_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateResourceInput, ) { - if let Some(var_299) = &input.patch_operations { - let mut array_300 = object.key("patchOperations").start_array(); - for item_301 in var_299 { + if let Some(var_300) = &input.patch_operations { + let mut array_301 = object.key("patchOperations").start_array(); + for item_302 in var_300 { { - let mut object_302 = array_300.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_302, item_301); - object_302.finish(); + let mut object_303 = array_301.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_303, item_302); + object_303.finish(); } } - array_300.finish(); + array_301.finish(); } } @@ -1092,16 +1097,16 @@ pub fn serialize_structure_update_rest_api_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRestApiInput, ) { - if let Some(var_303) = &input.patch_operations { - let mut array_304 = object.key("patchOperations").start_array(); - for item_305 in var_303 { + if let Some(var_304) = &input.patch_operations { + let mut array_305 = object.key("patchOperations").start_array(); + for item_306 in var_304 { { - let mut object_306 = array_304.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_306, item_305); - object_306.finish(); + let mut object_307 = array_305.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_307, item_306); + object_307.finish(); } } - array_304.finish(); + array_305.finish(); } } @@ -1109,16 +1114,16 @@ pub fn serialize_structure_update_stage_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateStageInput, ) { - if let Some(var_307) = &input.patch_operations { - let mut array_308 = object.key("patchOperations").start_array(); - for item_309 in var_307 { + if let Some(var_308) = &input.patch_operations { + let mut array_309 = object.key("patchOperations").start_array(); + for item_310 in var_308 { { - let mut object_310 = array_308.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_310, item_309); - object_310.finish(); + let mut object_311 = array_309.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_311, item_310); + object_311.finish(); } } - array_308.finish(); + array_309.finish(); } } @@ -1126,16 +1131,16 @@ pub fn serialize_structure_update_usage_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUsageInput, ) { - if let Some(var_311) = &input.patch_operations { - let mut array_312 = object.key("patchOperations").start_array(); - for item_313 in var_311 { + if let Some(var_312) = &input.patch_operations { + let mut array_313 = object.key("patchOperations").start_array(); + for item_314 in var_312 { { - let mut object_314 = array_312.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_314, item_313); - object_314.finish(); + let mut object_315 = array_313.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_315, item_314); + object_315.finish(); } } - array_312.finish(); + array_313.finish(); } } @@ -1143,16 +1148,16 @@ pub fn serialize_structure_update_usage_plan_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUsagePlanInput, ) { - if let Some(var_315) = &input.patch_operations { - let mut array_316 = object.key("patchOperations").start_array(); - for item_317 in var_315 { + if let Some(var_316) = &input.patch_operations { + let mut array_317 = object.key("patchOperations").start_array(); + for item_318 in var_316 { { - let mut object_318 = array_316.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_318, item_317); - object_318.finish(); + let mut object_319 = array_317.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_319, item_318); + object_319.finish(); } } - array_316.finish(); + array_317.finish(); } } @@ -1160,16 +1165,16 @@ pub fn serialize_structure_update_vpc_link_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateVpcLinkInput, ) { - if let Some(var_319) = &input.patch_operations { - let mut array_320 = object.key("patchOperations").start_array(); - for item_321 in var_319 { + if let Some(var_320) = &input.patch_operations { + let mut array_321 = object.key("patchOperations").start_array(); + for item_322 in var_320 { { - let mut object_322 = array_320.value().start_object(); - crate::json_ser::serialize_structure_patch_operation(&mut object_322, item_321); - object_322.finish(); + let mut object_323 = array_321.value().start_object(); + crate::json_ser::serialize_structure_patch_operation(&mut object_323, item_322); + object_323.finish(); } } - array_320.finish(); + array_321.finish(); } } @@ -1177,11 +1182,11 @@ pub fn serialize_structure_stage_key( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StageKey, ) { - if let Some(var_323) = &input.rest_api_id { - object.key("restApiId").string(var_323); + if let Some(var_324) = &input.rest_api_id { + object.key("restApiId").string(var_324); } - if let Some(var_324) = &input.stage_name { - object.key("stageName").string(var_324); + if let Some(var_325) = &input.stage_name { + object.key("stageName").string(var_325); } } @@ -1195,14 +1200,14 @@ pub fn serialize_structure_deployment_canary_settings( smithy_types::Number::Float((input.percent_traffic).into()), ); } - if let Some(var_325) = &input.stage_variable_overrides { - let mut object_326 = object.key("stageVariableOverrides").start_object(); - for (key_327, value_328) in var_325 { + if let Some(var_326) = &input.stage_variable_overrides { + let mut object_327 = object.key("stageVariableOverrides").start_object(); + for (key_328, value_329) in var_326 { { - object_326.key(key_327).string(value_328); + object_327.key(key_328).string(value_329); } } - object_326.finish(); + object_327.finish(); } if input.use_stage_cache { object.key("useStageCache").boolean(input.use_stage_cache); @@ -1213,20 +1218,20 @@ pub fn serialize_structure_documentation_part_location( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DocumentationPartLocation, ) { - if let Some(var_329) = &input.r#type { - object.key("type").string(var_329.as_str()); + if let Some(var_330) = &input.r#type { + object.key("type").string(var_330.as_str()); } - if let Some(var_330) = &input.path { - object.key("path").string(var_330); + if let Some(var_331) = &input.path { + object.key("path").string(var_331); } - if let Some(var_331) = &input.method { - object.key("method").string(var_331); + if let Some(var_332) = &input.method { + object.key("method").string(var_332); } - if let Some(var_332) = &input.status_code { - object.key("statusCode").string(var_332); + if let Some(var_333) = &input.status_code { + object.key("statusCode").string(var_333); } - if let Some(var_333) = &input.name { - object.key("name").string(var_333); + if let Some(var_334) = &input.name { + object.key("name").string(var_334); } } @@ -1234,23 +1239,23 @@ pub fn serialize_structure_endpoint_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EndpointConfiguration, ) { - if let Some(var_334) = &input.types { - let mut array_335 = object.key("types").start_array(); - for item_336 in var_334 { + if let Some(var_335) = &input.types { + let mut array_336 = object.key("types").start_array(); + for item_337 in var_335 { { - array_335.value().string(item_336.as_str()); + array_336.value().string(item_337.as_str()); } } - array_335.finish(); + array_336.finish(); } - if let Some(var_337) = &input.vpc_endpoint_ids { - let mut array_338 = object.key("vpcEndpointIds").start_array(); - for item_339 in var_337 { + if let Some(var_338) = &input.vpc_endpoint_ids { + let mut array_339 = object.key("vpcEndpointIds").start_array(); + for item_340 in var_338 { { - array_338.value().string(item_339); + array_339.value().string(item_340); } } - array_338.finish(); + array_339.finish(); } } @@ -1258,11 +1263,11 @@ pub fn serialize_structure_mutual_tls_authentication_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MutualTlsAuthenticationInput, ) { - if let Some(var_340) = &input.truststore_uri { - object.key("truststoreUri").string(var_340); + if let Some(var_341) = &input.truststore_uri { + object.key("truststoreUri").string(var_341); } - if let Some(var_341) = &input.truststore_version { - object.key("truststoreVersion").string(var_341); + if let Some(var_342) = &input.truststore_version { + object.key("truststoreVersion").string(var_342); } } @@ -1276,17 +1281,17 @@ pub fn serialize_structure_canary_settings( smithy_types::Number::Float((input.percent_traffic).into()), ); } - if let Some(var_342) = &input.deployment_id { - object.key("deploymentId").string(var_342); + if let Some(var_343) = &input.deployment_id { + object.key("deploymentId").string(var_343); } - if let Some(var_343) = &input.stage_variable_overrides { - let mut object_344 = object.key("stageVariableOverrides").start_object(); - for (key_345, value_346) in var_343 { + if let Some(var_344) = &input.stage_variable_overrides { + let mut object_345 = object.key("stageVariableOverrides").start_object(); + for (key_346, value_347) in var_344 { { - object_344.key(key_345).string(value_346); + object_345.key(key_346).string(value_347); } } - object_344.finish(); + object_345.finish(); } if input.use_stage_cache { object.key("useStageCache").boolean(input.use_stage_cache); @@ -1297,22 +1302,22 @@ pub fn serialize_structure_api_stage( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ApiStage, ) { - if let Some(var_347) = &input.api_id { - object.key("apiId").string(var_347); + if let Some(var_348) = &input.api_id { + object.key("apiId").string(var_348); } - if let Some(var_348) = &input.stage { - object.key("stage").string(var_348); + if let Some(var_349) = &input.stage { + object.key("stage").string(var_349); } - if let Some(var_349) = &input.throttle { - let mut object_350 = object.key("throttle").start_object(); - for (key_351, value_352) in var_349 { + if let Some(var_350) = &input.throttle { + let mut object_351 = object.key("throttle").start_object(); + for (key_352, value_353) in var_350 { { - let mut object_353 = object_350.key(key_351).start_object(); - crate::json_ser::serialize_structure_throttle_settings(&mut object_353, value_352); - object_353.finish(); + let mut object_354 = object_351.key(key_352).start_object(); + crate::json_ser::serialize_structure_throttle_settings(&mut object_354, value_353); + object_354.finish(); } } - object_350.finish(); + object_351.finish(); } } @@ -1332,8 +1337,8 @@ pub fn serialize_structure_quota_settings( smithy_types::Number::NegInt((input.offset).into()), ); } - if let Some(var_354) = &input.period { - object.key("period").string(var_354.as_str()); + if let Some(var_355) = &input.period { + object.key("period").string(var_355.as_str()); } } @@ -1370,16 +1375,16 @@ pub fn serialize_structure_patch_operation( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PatchOperation, ) { - if let Some(var_355) = &input.op { - object.key("op").string(var_355.as_str()); + if let Some(var_356) = &input.op { + object.key("op").string(var_356.as_str()); } - if let Some(var_356) = &input.path { - object.key("path").string(var_356); + if let Some(var_357) = &input.path { + object.key("path").string(var_357); } - if let Some(var_357) = &input.value { - object.key("value").string(var_357); + if let Some(var_358) = &input.value { + object.key("value").string(var_358); } - if let Some(var_358) = &input.from { - object.key("from").string(var_358); + if let Some(var_359) = &input.from { + object.key("from").string(var_359); } } diff --git a/sdk/apigateway/src/model.rs b/sdk/apigateway/src/model.rs index bc86068c0059..d2fa5f41d1ec 100644 --- a/sdk/apigateway/src/model.rs +++ b/sdk/apigateway/src/model.rs @@ -3094,6 +3094,8 @@ impl AsRef for SecurityPolicy { pub enum DomainNameStatus { Available, Pending, + PendingCertificateReimport, + PendingOwnershipVerification, Updating, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), @@ -3103,6 +3105,8 @@ impl std::convert::From<&str> for DomainNameStatus { match s { "AVAILABLE" => DomainNameStatus::Available, "PENDING" => DomainNameStatus::Pending, + "PENDING_CERTIFICATE_REIMPORT" => DomainNameStatus::PendingCertificateReimport, + "PENDING_OWNERSHIP_VERIFICATION" => DomainNameStatus::PendingOwnershipVerification, "UPDATING" => DomainNameStatus::Updating, other => DomainNameStatus::Unknown(other.to_owned()), } @@ -3120,12 +3124,20 @@ impl DomainNameStatus { match self { DomainNameStatus::Available => "AVAILABLE", DomainNameStatus::Pending => "PENDING", + DomainNameStatus::PendingCertificateReimport => "PENDING_CERTIFICATE_REIMPORT", + DomainNameStatus::PendingOwnershipVerification => "PENDING_OWNERSHIP_VERIFICATION", DomainNameStatus::Updating => "UPDATING", DomainNameStatus::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["AVAILABLE", "PENDING", "UPDATING"] + &[ + "AVAILABLE", + "PENDING", + "PENDING_CERTIFICATE_REIMPORT", + "PENDING_OWNERSHIP_VERIFICATION", + "UPDATING", + ] } } impl AsRef for DomainNameStatus { @@ -5482,7 +5494,7 @@ pub struct DomainName { pub distribution_hosted_zone_id: std::option::Option, ///

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

pub endpoint_configuration: std::option::Option, - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub domain_name_status: std::option::Option, ///

An optional text message containing detailed information about status of the DomainName migration.

pub domain_name_status_message: std::option::Option, @@ -5493,6 +5505,8 @@ pub struct DomainName { std::option::Option>, ///

The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

pub mutual_tls_authentication: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for DomainName { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -5519,6 +5533,10 @@ impl std::fmt::Debug for DomainName { formatter.field("security_policy", &self.security_policy); formatter.field("tags", &self.tags); formatter.field("mutual_tls_authentication", &self.mutual_tls_authentication); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } @@ -5547,6 +5565,7 @@ pub mod domain_name { >, pub(crate) mutual_tls_authentication: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

The custom domain name as an API host name, for example, my-api.example.com.

@@ -5684,7 +5703,7 @@ pub mod domain_name { self.endpoint_configuration = input; self } - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub fn domain_name_status(mut self, input: crate::model::DomainNameStatus) -> Self { self.domain_name_status = Some(input); self @@ -5754,6 +5773,21 @@ pub mod domain_name { self.mutual_tls_authentication = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`DomainName`](crate::model::DomainName) pub fn build(self) -> crate::model::DomainName { crate::model::DomainName { @@ -5773,6 +5807,7 @@ pub mod domain_name { security_policy: self.security_policy, tags: self.tags, mutual_tls_authentication: self.mutual_tls_authentication, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, } } } diff --git a/sdk/apigateway/src/output.rs b/sdk/apigateway/src/output.rs index 202a67bda4cb..2ce0ed766bcd 100644 --- a/sdk/apigateway/src/output.rs +++ b/sdk/apigateway/src/output.rs @@ -3112,7 +3112,7 @@ pub struct UpdateDomainNameOutput { pub distribution_hosted_zone_id: std::option::Option, ///

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

pub endpoint_configuration: std::option::Option, - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub domain_name_status: std::option::Option, ///

An optional text message containing detailed information about status of the DomainName migration.

pub domain_name_status_message: std::option::Option, @@ -3123,6 +3123,8 @@ pub struct UpdateDomainNameOutput { std::option::Option>, ///

The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

pub mutual_tls_authentication: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for UpdateDomainNameOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -3149,6 +3151,10 @@ impl std::fmt::Debug for UpdateDomainNameOutput { formatter.field("security_policy", &self.security_policy); formatter.field("tags", &self.tags); formatter.field("mutual_tls_authentication", &self.mutual_tls_authentication); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } @@ -3177,6 +3183,7 @@ pub mod update_domain_name_output { >, pub(crate) mutual_tls_authentication: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

The custom domain name as an API host name, for example, my-api.example.com.

@@ -3314,7 +3321,7 @@ pub mod update_domain_name_output { self.endpoint_configuration = input; self } - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub fn domain_name_status(mut self, input: crate::model::DomainNameStatus) -> Self { self.domain_name_status = Some(input); self @@ -3384,6 +3391,21 @@ pub mod update_domain_name_output { self.mutual_tls_authentication = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`UpdateDomainNameOutput`](crate::output::UpdateDomainNameOutput) pub fn build(self) -> crate::output::UpdateDomainNameOutput { crate::output::UpdateDomainNameOutput { @@ -3403,6 +3425,7 @@ pub mod update_domain_name_output { security_policy: self.security_policy, tags: self.tags, mutual_tls_authentication: self.mutual_tls_authentication, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, } } } @@ -11856,7 +11879,7 @@ pub struct GetDomainNameOutput { pub distribution_hosted_zone_id: std::option::Option, ///

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

pub endpoint_configuration: std::option::Option, - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub domain_name_status: std::option::Option, ///

An optional text message containing detailed information about status of the DomainName migration.

pub domain_name_status_message: std::option::Option, @@ -11867,6 +11890,8 @@ pub struct GetDomainNameOutput { std::option::Option>, ///

The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

pub mutual_tls_authentication: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for GetDomainNameOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -11893,6 +11918,10 @@ impl std::fmt::Debug for GetDomainNameOutput { formatter.field("security_policy", &self.security_policy); formatter.field("tags", &self.tags); formatter.field("mutual_tls_authentication", &self.mutual_tls_authentication); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } @@ -11921,6 +11950,7 @@ pub mod get_domain_name_output { >, pub(crate) mutual_tls_authentication: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

The custom domain name as an API host name, for example, my-api.example.com.

@@ -12058,7 +12088,7 @@ pub mod get_domain_name_output { self.endpoint_configuration = input; self } - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub fn domain_name_status(mut self, input: crate::model::DomainNameStatus) -> Self { self.domain_name_status = Some(input); self @@ -12128,6 +12158,21 @@ pub mod get_domain_name_output { self.mutual_tls_authentication = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`GetDomainNameOutput`](crate::output::GetDomainNameOutput) pub fn build(self) -> crate::output::GetDomainNameOutput { crate::output::GetDomainNameOutput { @@ -12147,6 +12192,7 @@ pub mod get_domain_name_output { security_policy: self.security_policy, tags: self.tags, mutual_tls_authentication: self.mutual_tls_authentication, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, } } } @@ -16076,7 +16122,7 @@ pub struct CreateDomainNameOutput { pub distribution_hosted_zone_id: std::option::Option, ///

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

pub endpoint_configuration: std::option::Option, - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub domain_name_status: std::option::Option, ///

An optional text message containing detailed information about status of the DomainName migration.

pub domain_name_status_message: std::option::Option, @@ -16087,6 +16133,8 @@ pub struct CreateDomainNameOutput { std::option::Option>, ///

The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.

pub mutual_tls_authentication: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for CreateDomainNameOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -16113,6 +16161,10 @@ impl std::fmt::Debug for CreateDomainNameOutput { formatter.field("security_policy", &self.security_policy); formatter.field("tags", &self.tags); formatter.field("mutual_tls_authentication", &self.mutual_tls_authentication); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } @@ -16141,6 +16193,7 @@ pub mod create_domain_name_output { >, pub(crate) mutual_tls_authentication: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

The custom domain name as an API host name, for example, my-api.example.com.

@@ -16278,7 +16331,7 @@ pub mod create_domain_name_output { self.endpoint_configuration = input; self } - ///

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the DomainName migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub fn domain_name_status(mut self, input: crate::model::DomainNameStatus) -> Self { self.domain_name_status = Some(input); self @@ -16348,6 +16401,21 @@ pub mod create_domain_name_output { self.mutual_tls_authentication = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn.

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`CreateDomainNameOutput`](crate::output::CreateDomainNameOutput) pub fn build(self) -> crate::output::CreateDomainNameOutput { crate::output::CreateDomainNameOutput { @@ -16367,6 +16435,7 @@ pub mod create_domain_name_output { security_policy: self.security_policy, tags: self.tags, mutual_tls_authentication: self.mutual_tls_authentication, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, } } } diff --git a/sdk/apigatewaymanagement/Cargo.toml b/sdk/apigatewaymanagement/Cargo.toml index 0350d0b8ba23..cdb3fb8c9b9f 100644 --- a/sdk/apigatewaymanagement/Cargo.toml +++ b/sdk/apigatewaymanagement/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-apigatewaymanagement" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

The Amazon API Gateway Management API allows you to directly manage runtime aspects of your deployed APIs. To use it, you must explicitly set the SDK's endpoint to point to the endpoint of your deployed API. The endpoint will be of the form https://{api-id}.execute-api.{region}.amazonaws.com/{stage}, or will be the endpoint corresponding to your API's custom domain and base path, if applicable.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/apigatewayv2/Cargo.toml b/sdk/apigatewayv2/Cargo.toml index b8d616435e3f..d924f913d4db 100644 --- a/sdk/apigatewayv2/Cargo.toml +++ b/sdk/apigatewayv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-apigatewayv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

Amazon API Gateway V2

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/apigatewayv2/src/json_deser.rs b/sdk/apigatewayv2/src/json_deser.rs index 27aaddadde93..b9bdcb1401d9 100644 --- a/sdk/apigatewayv2/src/json_deser.rs +++ b/sdk/apigatewayv2/src/json_deser.rs @@ -6064,6 +6064,15 @@ where .transpose()?, ); } + "ownershipVerificationCertificateArn" => { + builder = builder.set_ownership_verification_certificate_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/apigatewayv2/src/json_ser.rs b/sdk/apigatewayv2/src/json_ser.rs index 75e5d203fbee..8817040816fa 100644 --- a/sdk/apigatewayv2/src/json_ser.rs +++ b/sdk/apigatewayv2/src/json_ser.rs @@ -1088,17 +1088,22 @@ pub fn serialize_structure_domain_name_configuration( if let Some(var_301) = &input.security_policy { object.key("securityPolicy").string(var_301.as_str()); } + if let Some(var_302) = &input.ownership_verification_certificate_arn { + object + .key("ownershipVerificationCertificateArn") + .string(var_302); + } } pub fn serialize_structure_mutual_tls_authentication_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MutualTlsAuthenticationInput, ) { - if let Some(var_302) = &input.truststore_uri { - object.key("truststoreUri").string(var_302); + if let Some(var_303) = &input.truststore_uri { + object.key("truststoreUri").string(var_303); } - if let Some(var_303) = &input.truststore_version { - object.key("truststoreVersion").string(var_303); + if let Some(var_304) = &input.truststore_version { + object.key("truststoreVersion").string(var_304); } } @@ -1106,8 +1111,8 @@ pub fn serialize_structure_tls_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TlsConfigInput, ) { - if let Some(var_304) = &input.server_name_to_verify { - object.key("serverNameToVerify").string(var_304); + if let Some(var_305) = &input.server_name_to_verify { + object.key("serverNameToVerify").string(var_305); } } @@ -1124,11 +1129,11 @@ pub fn serialize_structure_access_log_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AccessLogSettings, ) { - if let Some(var_305) = &input.destination_arn { - object.key("destinationArn").string(var_305); + if let Some(var_306) = &input.destination_arn { + object.key("destinationArn").string(var_306); } - if let Some(var_306) = &input.format { - object.key("format").string(var_306); + if let Some(var_307) = &input.format { + object.key("format").string(var_307); } } @@ -1146,8 +1151,8 @@ pub fn serialize_structure_route_settings( .key("detailedMetricsEnabled") .boolean(input.detailed_metrics_enabled); } - if let Some(var_307) = &input.logging_level { - object.key("loggingLevel").string(var_307.as_str()); + if let Some(var_308) = &input.logging_level { + object.key("loggingLevel").string(var_308.as_str()); } if input.throttling_burst_limit != 0 { object.key("throttlingBurstLimit").number( diff --git a/sdk/apigatewayv2/src/model.rs b/sdk/apigatewayv2/src/model.rs index 11a2245fa01f..3af57958ec40 100644 --- a/sdk/apigatewayv2/src/model.rs +++ b/sdk/apigatewayv2/src/model.rs @@ -847,7 +847,7 @@ pub struct DomainNameConfiguration { pub certificate_name: std::option::Option, ///

The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.

pub certificate_upload_date: std::option::Option, - ///

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the domain name migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub domain_name_status: std::option::Option, ///

An optional text message containing detailed information about status of the domain name migration.

pub domain_name_status_message: std::option::Option, @@ -857,6 +857,8 @@ pub struct DomainNameConfiguration { pub hosted_zone_id: std::option::Option, ///

The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.

pub security_policy: std::option::Option, + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn

+ pub ownership_verification_certificate_arn: std::option::Option, } impl std::fmt::Debug for DomainNameConfiguration { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -873,6 +875,10 @@ impl std::fmt::Debug for DomainNameConfiguration { formatter.field("endpoint_type", &self.endpoint_type); formatter.field("hosted_zone_id", &self.hosted_zone_id); formatter.field("security_policy", &self.security_policy); + formatter.field( + "ownership_verification_certificate_arn", + &self.ownership_verification_certificate_arn, + ); formatter.finish() } } @@ -891,6 +897,7 @@ pub mod domain_name_configuration { pub(crate) endpoint_type: std::option::Option, pub(crate) hosted_zone_id: std::option::Option, pub(crate) security_policy: std::option::Option, + pub(crate) ownership_verification_certificate_arn: std::option::Option, } impl Builder { ///

A domain name for the API.

@@ -941,7 +948,7 @@ pub mod domain_name_configuration { self.certificate_upload_date = input; self } - ///

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+ ///

The status of the domain name migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

pub fn domain_name_status(mut self, input: crate::model::DomainNameStatus) -> Self { self.domain_name_status = Some(input); self @@ -1001,6 +1008,21 @@ pub mod domain_name_configuration { self.security_policy = input; self } + ///

The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the regionalCertificateArn

+ pub fn ownership_verification_certificate_arn( + mut self, + input: impl Into, + ) -> Self { + self.ownership_verification_certificate_arn = Some(input.into()); + self + } + pub fn set_ownership_verification_certificate_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.ownership_verification_certificate_arn = input; + self + } /// Consumes the builder and constructs a [`DomainNameConfiguration`](crate::model::DomainNameConfiguration) pub fn build(self) -> crate::model::DomainNameConfiguration { crate::model::DomainNameConfiguration { @@ -1013,6 +1035,7 @@ pub mod domain_name_configuration { endpoint_type: self.endpoint_type, hosted_zone_id: self.hosted_zone_id, security_policy: self.security_policy, + ownership_verification_certificate_arn: self.ownership_verification_certificate_arn, } } } @@ -1126,7 +1149,7 @@ impl AsRef for EndpointType { } } -///

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

+///

The status of the domain name migration. The valid values are AVAILABLE, UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

#[non_exhaustive] #[derive( std::clone::Clone, @@ -1139,6 +1162,8 @@ impl AsRef for EndpointType { )] pub enum DomainNameStatus { Available, + PendingCertificateReimport, + PendingOwnershipVerification, Updating, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), @@ -1147,6 +1172,8 @@ impl std::convert::From<&str> for DomainNameStatus { fn from(s: &str) -> Self { match s { "AVAILABLE" => DomainNameStatus::Available, + "PENDING_CERTIFICATE_REIMPORT" => DomainNameStatus::PendingCertificateReimport, + "PENDING_OWNERSHIP_VERIFICATION" => DomainNameStatus::PendingOwnershipVerification, "UPDATING" => DomainNameStatus::Updating, other => DomainNameStatus::Unknown(other.to_owned()), } @@ -1163,12 +1190,19 @@ impl DomainNameStatus { pub fn as_str(&self) -> &str { match self { DomainNameStatus::Available => "AVAILABLE", + DomainNameStatus::PendingCertificateReimport => "PENDING_CERTIFICATE_REIMPORT", + DomainNameStatus::PendingOwnershipVerification => "PENDING_OWNERSHIP_VERIFICATION", DomainNameStatus::Updating => "UPDATING", DomainNameStatus::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["AVAILABLE", "UPDATING"] + &[ + "AVAILABLE", + "PENDING_CERTIFICATE_REIMPORT", + "PENDING_OWNERSHIP_VERIFICATION", + "UPDATING", + ] } } impl AsRef for DomainNameStatus { diff --git a/sdk/appconfig/Cargo.toml b/sdk/appconfig/Cargo.toml index 955641569da8..73193807e511 100644 --- a/sdk/appconfig/Cargo.toml +++ b/sdk/appconfig/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appconfig" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS AppConfig\n

Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, and quickly deploy\n application configurations. AppConfig supports controlled deployments to applications of any\n size and includes built-in validation checks and monitoring. You can use AppConfig with\n applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT\n devices.

\n\n

To prevent errors when deploying application configurations, especially for production\n systems where a simple typo could cause an unexpected outage, AppConfig includes validators.\n A validator provides a syntactic or semantic check to ensure that the configuration you\n want to deploy works as intended. To validate your application configuration data, you\n provide a schema or a Lambda function that runs against the configuration. The\n configuration deployment or update can only proceed when the configuration data is\n valid.

\n\n

During a configuration deployment, AppConfig monitors the application to ensure that the\n deployment is successful. If the system encounters an error, AppConfig rolls back the change\n to minimize impact for your application users. You can configure a deployment strategy for\n each application or environment that includes deployment criteria, including velocity, bake\n time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an\n alarm, AppConfig automatically rolls back to the previous version.

\n\n

AppConfig supports multiple use cases. Here are some examples.

\n
    \n
  • \n

    \n Application tuning: Use AppConfig to carefully\n introduce changes to your application that can only be tested with production\n traffic.

    \n
  • \n
  • \n

    \n Feature toggle: Use AppConfig to turn on new\n features that require a timely deployment, such as a product launch or announcement.\n

    \n
  • \n
  • \n

    \n Allow list: Use AppConfig to allow premium\n subscribers to access paid content.

    \n
  • \n
  • \n

    \n Operational issues: Use AppConfig to reduce stress\n on your application when a dependency or other external factor impacts the\n system.

    \n
  • \n
\n

This reference is intended to be used with the AWS AppConfig User Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appflow/Cargo.toml b/sdk/appflow/Cargo.toml index 337160c76081..596f81f9a7ff 100644 --- a/sdk/appflow/Cargo.toml +++ b/sdk/appflow/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appflow" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need\n detailed information about the Amazon AppFlow API operations, data types, and errors.

\n\n

Amazon AppFlow is a fully managed integration service that enables you to securely\n transfer data between software as a service (SaaS) applications like Salesforce, Marketo,\n Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.

\n\n\n\n

Use the following links to get started on the Amazon AppFlow API:

\n\n
    \n
  • \n

    \n Actions: An alphabetical list of all Amazon AppFlow API operations.

    \n
  • \n
  • \n

    \n Data\n types: An alphabetical list of all Amazon AppFlow data types.

    \n
  • \n
  • \n

    \n Common parameters: Parameters that all Query operations can use.

    \n
  • \n
  • \n

    \n Common\n errors: Client and server errors that all operations can return.

    \n
  • \n
\n\n

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User\n Guide.

\n

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include\n applicable OAuth attributes (such as auth-code and redirecturi) with\n the connector-specific ConnectorProfileProperties when creating a new connector\n profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the\n \n Authorize Apps with OAuth\n documentation.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appintegrations/Cargo.toml b/sdk/appintegrations/Cargo.toml index 5fa91870de29..9b39ce54b3ca 100644 --- a/sdk/appintegrations/Cargo.toml +++ b/sdk/appintegrations/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appintegrations" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

The Amazon AppIntegrations service enables you to configure and reuse connections to external applications.

\n

For information about how you can use external applications with Amazon Connect, see Set up pre-built integrations in the Amazon Connect Administrator Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/applicationautoscaling/Cargo.toml b/sdk/applicationautoscaling/Cargo.toml index 2da820a70cbe..87d33bc504fa 100644 --- a/sdk/applicationautoscaling/Cargo.toml +++ b/sdk/applicationautoscaling/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-applicationautoscaling" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

With Application Auto Scaling, you can configure automatic scaling for the following\n resources:

\n
    \n
  • \n

    Amazon ECS services

    \n
  • \n
  • \n

    Amazon EC2 Spot Fleet requests

    \n
  • \n
  • \n

    Amazon EMR clusters

    \n
  • \n
  • \n

    Amazon AppStream 2.0 fleets

    \n
  • \n
  • \n

    Amazon DynamoDB tables and global secondary indexes throughput capacity

    \n
  • \n
  • \n

    Amazon Aurora Replicas

    \n
  • \n
  • \n

    Amazon SageMaker endpoint variants

    \n
  • \n
  • \n

    Custom resources provided by your own applications or services

    \n
  • \n
  • \n

    Amazon Comprehend document classification and entity recognizer endpoints

    \n
  • \n
  • \n

    AWS Lambda function provisioned concurrency

    \n
  • \n
  • \n

    Amazon Keyspaces (for Apache Cassandra) tables

    \n
  • \n
  • \n

    Amazon Managed Streaming for Apache Kafka broker storage

    \n
  • \n
\n

\n API Summary\n

\n

The Application Auto Scaling service API includes three key sets of actions:

\n
    \n
  • \n

    Register and manage scalable targets - Register AWS or custom resources as scalable\n targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and\n retrieve information on existing scalable targets.

    \n
  • \n
  • \n

    Configure and manage automatic scaling - Define scaling policies to dynamically scale\n your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions,\n and retrieve your recent scaling activity history.

    \n
  • \n
  • \n

    Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by\n calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can\n suspend and resume (individually or in combination) scale-out activities that are\n triggered by a scaling policy, scale-in activities that are triggered by a scaling policy,\n and scheduled scaling.

    \n
  • \n
\n\n \n

To learn more about Application Auto Scaling, including information about granting IAM users required\n permissions for Application Auto Scaling actions, see the Application Auto Scaling User\n Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/applicationcostprofiler/Cargo.toml b/sdk/applicationcostprofiler/Cargo.toml index 1f8923a1186b..762af32395f3 100644 --- a/sdk/applicationcostprofiler/Cargo.toml +++ b/sdk/applicationcostprofiler/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-applicationcostprofiler" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

This reference provides descriptions of the AWS Application Cost Profiler API.

\n

The AWS Application Cost Profiler API provides programmatic access to view, create, update, and delete\n application cost report definitions, as well as to import your usage data into the Application Cost Profiler\n service.

\n

For more information about using this service, see the AWS Application Cost\n Profiler User Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/applicationdiscovery/Cargo.toml b/sdk/applicationdiscovery/Cargo.toml index f0f0955a6613..9ceba9d27110 100644 --- a/sdk/applicationdiscovery/Cargo.toml +++ b/sdk/applicationdiscovery/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-applicationdiscovery" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Application Discovery Service\n\n

AWS Application Discovery Service helps you plan application migration projects. It\n automatically identifies servers, virtual machines (VMs), and network dependencies in your\n on-premises data centers. For more information, see the AWS Application Discovery Service\n FAQ. Application Discovery Service offers three ways of performing discovery and\n collecting data about your on-premises servers:

\n\n
    \n
  • \n

    \n Agentless discovery is recommended for environments\n that use VMware vCenter Server. This mode doesn't require you to install an agent on each\n host. It does not work in non-VMware environments.

    \n\n
      \n
    • \n

      Agentless discovery gathers server information regardless of the operating\n systems, which minimizes the time required for initial on-premises infrastructure\n assessment.

      \n
    • \n
    • \n

      Agentless discovery doesn't collect information about network dependencies, only\n agent-based discovery collects that information.

      \n
    • \n
    \n
  • \n
\n\n
    \n
  • \n

    \n Agent-based discovery collects a richer set of data\n than agentless discovery by using the AWS Application Discovery Agent, which you install\n on one or more hosts in your data center.

    \n\n
      \n
    • \n

      The agent captures infrastructure and application information, including an\n inventory of running processes, system performance information, resource utilization,\n and network dependencies.

      \n
    • \n
    • \n

      The information collected by agents is secured at rest and in transit to the\n Application Discovery Service database in the cloud.

      \n
    • \n
    \n
  • \n
\n\n
    \n
  • \n

    \n AWS Partner Network (APN) solutions integrate with\n Application Discovery Service, enabling you to import details of your on-premises\n environment directly into Migration Hub without using the discovery connector or discovery\n agent.

    \n\n
      \n
    • \n

      Third-party application discovery tools can query AWS Application Discovery\n Service, and they can write to the Application Discovery Service database using the\n public API.

      \n
    • \n
    • \n

      In this way, you can import data into Migration Hub and view it, so that you can\n associate applications with servers and track migrations.

      \n
    • \n
    \n
  • \n
\n\n\n

\n Recommendations\n

\n

We recommend that you use agent-based discovery for non-VMware environments, and\n whenever you want to collect information about network dependencies. You can run agent-based\n and agentless discovery simultaneously. Use agentless discovery to complete the initial\n infrastructure assessment quickly, and then install agents on select hosts to collect\n additional information.

\n\n

\n Working With This Guide\n

\n\n

This API reference provides descriptions, syntax, and usage examples for each of the\n actions and data types for Application Discovery Service. The topic for each action shows the\n API request parameters and the response. Alternatively, you can use one of the AWS SDKs to\n access an API that is tailored to the programming language or platform that you're using. For\n more information, see AWS\n SDKs.

\n\n \n
    \n
  • \n

    Remember that you must set your Migration Hub home region before you call any of\n these APIs.

    \n
  • \n
  • \n

    You must make API calls for write actions (create, notify, associate, disassociate,\n import, or put) while in your home region, or a HomeRegionNotSetException\n error is returned.

    \n
  • \n
  • \n

    API calls for read actions (list, describe, stop, and delete) are permitted outside\n of your home region.

    \n
  • \n
  • \n

    Although it is unlikely, the Migration Hub home region could change. If you call\n APIs outside the home region, an InvalidInputException is returned.

    \n
  • \n
  • \n

    You must call GetHomeRegion to obtain the latest Migration Hub home\n region.

    \n
  • \n
\n
\n\n

This guide is intended for use with the AWS Application\n Discovery Service User Guide.

\n\n \n

All data is handled according to the AWS\n Privacy Policy. You can operate Application Discovery Service offline to inspect\n collected data before it is shared with the service.

\n
" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/applicationinsights/Cargo.toml b/sdk/applicationinsights/Cargo.toml index e2199a037ef3..e48b0e07f235 100644 --- a/sdk/applicationinsights/Cargo.toml +++ b/sdk/applicationinsights/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-applicationinsights" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon CloudWatch Application Insights\n

Amazon CloudWatch Application Insights is a service that\n helps you detect common problems with your applications. It\n enables you to pinpoint the source of issues in your applications (built with technologies\n such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into\n detected problems.

\n

After you onboard your application, CloudWatch Application Insights identifies, \n recommends, and sets up metrics and logs. It continuously analyzes and\n correlates your metrics and logs for unusual behavior to surface actionable problems with\n your application. For example, if your application is slow and unresponsive and leading to\n HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you\n that a memory pressure problem with your SQL Server database is occurring. It bases this\n analysis on impactful metrics and log errors.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appmesh/Cargo.toml b/sdk/appmesh/Cargo.toml index 1176f40dd49a..2581377b355e 100644 --- a/sdk/appmesh/Cargo.toml +++ b/sdk/appmesh/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appmesh" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and\n control microservices. App Mesh standardizes how your microservices communicate, giving you\n end-to-end visibility and helping to ensure high availability for your applications.

\n

App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with Amazon Web Services Fargate, Amazon ECS, Amazon EKS,\n Kubernetes on Amazon Web Services, and Amazon EC2.

\n \n

App Mesh supports microservice applications that use service discovery naming for their\n components. For more information about service discovery on Amazon ECS, see Service Discovery in the Amazon Elastic Container Service Developer Guide. Kubernetes\n kube-dns and coredns are supported. For more information,\n see DNS\n for Services and Pods in the Kubernetes documentation.

\n
" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appmesh/src/model.rs b/sdk/appmesh/src/model.rs index 7fca5e21a44e..4c6ad83e5bce 100644 --- a/sdk/appmesh/src/model.rs +++ b/sdk/appmesh/src/model.rs @@ -1139,7 +1139,9 @@ pub enum VirtualServiceProvider { VirtualRouter(crate::model::VirtualRouterServiceProvider), } impl VirtualServiceProvider { - pub fn as_virtual_node(&self) -> Result<&crate::model::VirtualNodeServiceProvider, &Self> { + pub fn as_virtual_node( + &self, + ) -> std::result::Result<&crate::model::VirtualNodeServiceProvider, &Self> { if let VirtualServiceProvider::VirtualNode(val) = &self { Ok(&val) } else { @@ -1149,7 +1151,9 @@ impl VirtualServiceProvider { pub fn is_virtual_node(&self) -> bool { self.as_virtual_node().is_ok() } - pub fn as_virtual_router(&self) -> Result<&crate::model::VirtualRouterServiceProvider, &Self> { + pub fn as_virtual_router( + &self, + ) -> std::result::Result<&crate::model::VirtualRouterServiceProvider, &Self> { if let VirtualServiceProvider::VirtualRouter(val) = &self { Ok(&val) } else { @@ -3087,7 +3091,7 @@ pub enum GrpcRouteMetadataMatchMethod { Suffix(std::string::String), } impl GrpcRouteMetadataMatchMethod { - pub fn as_exact(&self) -> Result<&std::string::String, &Self> { + pub fn as_exact(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcRouteMetadataMatchMethod::Exact(val) = &self { Ok(&val) } else { @@ -3097,7 +3101,7 @@ impl GrpcRouteMetadataMatchMethod { pub fn is_exact(&self) -> bool { self.as_exact().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcRouteMetadataMatchMethod::Prefix(val) = &self { Ok(&val) } else { @@ -3107,7 +3111,7 @@ impl GrpcRouteMetadataMatchMethod { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_range(&self) -> Result<&crate::model::MatchRange, &Self> { + pub fn as_range(&self) -> std::result::Result<&crate::model::MatchRange, &Self> { if let GrpcRouteMetadataMatchMethod::Range(val) = &self { Ok(&val) } else { @@ -3117,7 +3121,7 @@ impl GrpcRouteMetadataMatchMethod { pub fn is_range(&self) -> bool { self.as_range().is_ok() } - pub fn as_regex(&self) -> Result<&std::string::String, &Self> { + pub fn as_regex(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcRouteMetadataMatchMethod::Regex(val) = &self { Ok(&val) } else { @@ -3127,7 +3131,7 @@ impl GrpcRouteMetadataMatchMethod { pub fn is_regex(&self) -> bool { self.as_regex().is_ok() } - pub fn as_suffix(&self) -> Result<&std::string::String, &Self> { + pub fn as_suffix(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcRouteMetadataMatchMethod::Suffix(val) = &self { Ok(&val) } else { @@ -3899,7 +3903,7 @@ pub enum HeaderMatchMethod { Suffix(std::string::String), } impl HeaderMatchMethod { - pub fn as_exact(&self) -> Result<&std::string::String, &Self> { + pub fn as_exact(&self) -> std::result::Result<&std::string::String, &Self> { if let HeaderMatchMethod::Exact(val) = &self { Ok(&val) } else { @@ -3909,7 +3913,7 @@ impl HeaderMatchMethod { pub fn is_exact(&self) -> bool { self.as_exact().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let HeaderMatchMethod::Prefix(val) = &self { Ok(&val) } else { @@ -3919,7 +3923,7 @@ impl HeaderMatchMethod { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_range(&self) -> Result<&crate::model::MatchRange, &Self> { + pub fn as_range(&self) -> std::result::Result<&crate::model::MatchRange, &Self> { if let HeaderMatchMethod::Range(val) = &self { Ok(&val) } else { @@ -3929,7 +3933,7 @@ impl HeaderMatchMethod { pub fn is_range(&self) -> bool { self.as_range().is_ok() } - pub fn as_regex(&self) -> Result<&std::string::String, &Self> { + pub fn as_regex(&self) -> std::result::Result<&std::string::String, &Self> { if let HeaderMatchMethod::Regex(val) = &self { Ok(&val) } else { @@ -3939,7 +3943,7 @@ impl HeaderMatchMethod { pub fn is_regex(&self) -> bool { self.as_regex().is_ok() } - pub fn as_suffix(&self) -> Result<&std::string::String, &Self> { + pub fn as_suffix(&self) -> std::result::Result<&std::string::String, &Self> { if let HeaderMatchMethod::Suffix(val) = &self { Ok(&val) } else { @@ -4961,7 +4965,7 @@ pub enum AccessLog { } impl AccessLog { #[allow(irrefutable_let_patterns)] - pub fn as_file(&self) -> Result<&crate::model::FileAccessLog, &Self> { + pub fn as_file(&self) -> std::result::Result<&crate::model::FileAccessLog, &Self> { if let AccessLog::File(val) = &self { Ok(&val) } else { @@ -5416,7 +5420,9 @@ pub enum TlsValidationContextTrust { Sds(crate::model::TlsValidationContextSdsTrust), } impl TlsValidationContextTrust { - pub fn as_acm(&self) -> Result<&crate::model::TlsValidationContextAcmTrust, &Self> { + pub fn as_acm( + &self, + ) -> std::result::Result<&crate::model::TlsValidationContextAcmTrust, &Self> { if let TlsValidationContextTrust::Acm(val) = &self { Ok(&val) } else { @@ -5426,7 +5432,9 @@ impl TlsValidationContextTrust { pub fn is_acm(&self) -> bool { self.as_acm().is_ok() } - pub fn as_file(&self) -> Result<&crate::model::TlsValidationContextFileTrust, &Self> { + pub fn as_file( + &self, + ) -> std::result::Result<&crate::model::TlsValidationContextFileTrust, &Self> { if let TlsValidationContextTrust::File(val) = &self { Ok(&val) } else { @@ -5436,7 +5444,9 @@ impl TlsValidationContextTrust { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::TlsValidationContextSdsTrust, &Self> { + pub fn as_sds( + &self, + ) -> std::result::Result<&crate::model::TlsValidationContextSdsTrust, &Self> { if let TlsValidationContextTrust::Sds(val) = &self { Ok(&val) } else { @@ -5620,7 +5630,7 @@ pub enum ClientTlsCertificate { Sds(crate::model::ListenerTlsSdsCertificate), } impl ClientTlsCertificate { - pub fn as_file(&self) -> Result<&crate::model::ListenerTlsFileCertificate, &Self> { + pub fn as_file(&self) -> std::result::Result<&crate::model::ListenerTlsFileCertificate, &Self> { if let ClientTlsCertificate::File(val) = &self { Ok(&val) } else { @@ -5630,7 +5640,7 @@ impl ClientTlsCertificate { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::ListenerTlsSdsCertificate, &Self> { + pub fn as_sds(&self) -> std::result::Result<&crate::model::ListenerTlsSdsCertificate, &Self> { if let ClientTlsCertificate::Sds(val) = &self { Ok(&val) } else { @@ -5770,7 +5780,9 @@ pub enum Backend { } impl Backend { #[allow(irrefutable_let_patterns)] - pub fn as_virtual_service(&self) -> Result<&crate::model::VirtualServiceBackend, &Self> { + pub fn as_virtual_service( + &self, + ) -> std::result::Result<&crate::model::VirtualServiceBackend, &Self> { if let Backend::VirtualService(val) = &self { Ok(&val) } else { @@ -5994,7 +6006,9 @@ pub enum VirtualNodeConnectionPool { Tcp(crate::model::VirtualNodeTcpConnectionPool), } impl VirtualNodeConnectionPool { - pub fn as_grpc(&self) -> Result<&crate::model::VirtualNodeGrpcConnectionPool, &Self> { + pub fn as_grpc( + &self, + ) -> std::result::Result<&crate::model::VirtualNodeGrpcConnectionPool, &Self> { if let VirtualNodeConnectionPool::Grpc(val) = &self { Ok(&val) } else { @@ -6004,7 +6018,9 @@ impl VirtualNodeConnectionPool { pub fn is_grpc(&self) -> bool { self.as_grpc().is_ok() } - pub fn as_http(&self) -> Result<&crate::model::VirtualNodeHttpConnectionPool, &Self> { + pub fn as_http( + &self, + ) -> std::result::Result<&crate::model::VirtualNodeHttpConnectionPool, &Self> { if let VirtualNodeConnectionPool::Http(val) = &self { Ok(&val) } else { @@ -6014,7 +6030,9 @@ impl VirtualNodeConnectionPool { pub fn is_http(&self) -> bool { self.as_http().is_ok() } - pub fn as_http2(&self) -> Result<&crate::model::VirtualNodeHttp2ConnectionPool, &Self> { + pub fn as_http2( + &self, + ) -> std::result::Result<&crate::model::VirtualNodeHttp2ConnectionPool, &Self> { if let VirtualNodeConnectionPool::Http2(val) = &self { Ok(&val) } else { @@ -6024,7 +6042,9 @@ impl VirtualNodeConnectionPool { pub fn is_http2(&self) -> bool { self.as_http2().is_ok() } - pub fn as_tcp(&self) -> Result<&crate::model::VirtualNodeTcpConnectionPool, &Self> { + pub fn as_tcp( + &self, + ) -> std::result::Result<&crate::model::VirtualNodeTcpConnectionPool, &Self> { if let VirtualNodeConnectionPool::Tcp(val) = &self { Ok(&val) } else { @@ -6355,7 +6375,7 @@ pub enum ListenerTimeout { Tcp(crate::model::TcpTimeout), } impl ListenerTimeout { - pub fn as_grpc(&self) -> Result<&crate::model::GrpcTimeout, &Self> { + pub fn as_grpc(&self) -> std::result::Result<&crate::model::GrpcTimeout, &Self> { if let ListenerTimeout::Grpc(val) = &self { Ok(&val) } else { @@ -6365,7 +6385,7 @@ impl ListenerTimeout { pub fn is_grpc(&self) -> bool { self.as_grpc().is_ok() } - pub fn as_http(&self) -> Result<&crate::model::HttpTimeout, &Self> { + pub fn as_http(&self) -> std::result::Result<&crate::model::HttpTimeout, &Self> { if let ListenerTimeout::Http(val) = &self { Ok(&val) } else { @@ -6375,7 +6395,7 @@ impl ListenerTimeout { pub fn is_http(&self) -> bool { self.as_http().is_ok() } - pub fn as_http2(&self) -> Result<&crate::model::HttpTimeout, &Self> { + pub fn as_http2(&self) -> std::result::Result<&crate::model::HttpTimeout, &Self> { if let ListenerTimeout::Http2(val) = &self { Ok(&val) } else { @@ -6385,7 +6405,7 @@ impl ListenerTimeout { pub fn is_http2(&self) -> bool { self.as_http2().is_ok() } - pub fn as_tcp(&self) -> Result<&crate::model::TcpTimeout, &Self> { + pub fn as_tcp(&self) -> std::result::Result<&crate::model::TcpTimeout, &Self> { if let ListenerTimeout::Tcp(val) = &self { Ok(&val) } else { @@ -6748,7 +6768,9 @@ pub enum ListenerTlsValidationContextTrust { Sds(crate::model::TlsValidationContextSdsTrust), } impl ListenerTlsValidationContextTrust { - pub fn as_file(&self) -> Result<&crate::model::TlsValidationContextFileTrust, &Self> { + pub fn as_file( + &self, + ) -> std::result::Result<&crate::model::TlsValidationContextFileTrust, &Self> { if let ListenerTlsValidationContextTrust::File(val) = &self { Ok(&val) } else { @@ -6758,7 +6780,9 @@ impl ListenerTlsValidationContextTrust { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::TlsValidationContextSdsTrust, &Self> { + pub fn as_sds( + &self, + ) -> std::result::Result<&crate::model::TlsValidationContextSdsTrust, &Self> { if let ListenerTlsValidationContextTrust::Sds(val) = &self { Ok(&val) } else { @@ -6782,7 +6806,7 @@ pub enum ListenerTlsCertificate { Sds(crate::model::ListenerTlsSdsCertificate), } impl ListenerTlsCertificate { - pub fn as_acm(&self) -> Result<&crate::model::ListenerTlsAcmCertificate, &Self> { + pub fn as_acm(&self) -> std::result::Result<&crate::model::ListenerTlsAcmCertificate, &Self> { if let ListenerTlsCertificate::Acm(val) = &self { Ok(&val) } else { @@ -6792,7 +6816,7 @@ impl ListenerTlsCertificate { pub fn is_acm(&self) -> bool { self.as_acm().is_ok() } - pub fn as_file(&self) -> Result<&crate::model::ListenerTlsFileCertificate, &Self> { + pub fn as_file(&self) -> std::result::Result<&crate::model::ListenerTlsFileCertificate, &Self> { if let ListenerTlsCertificate::File(val) = &self { Ok(&val) } else { @@ -6802,7 +6826,7 @@ impl ListenerTlsCertificate { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::ListenerTlsSdsCertificate, &Self> { + pub fn as_sds(&self) -> std::result::Result<&crate::model::ListenerTlsSdsCertificate, &Self> { if let ListenerTlsCertificate::Sds(val) = &self { Ok(&val) } else { @@ -6926,7 +6950,9 @@ pub enum ServiceDiscovery { Dns(crate::model::DnsServiceDiscovery), } impl ServiceDiscovery { - pub fn as_aws_cloud_map(&self) -> Result<&crate::model::AwsCloudMapServiceDiscovery, &Self> { + pub fn as_aws_cloud_map( + &self, + ) -> std::result::Result<&crate::model::AwsCloudMapServiceDiscovery, &Self> { if let ServiceDiscovery::AwsCloudMap(val) = &self { Ok(&val) } else { @@ -6936,7 +6962,7 @@ impl ServiceDiscovery { pub fn is_aws_cloud_map(&self) -> bool { self.as_aws_cloud_map().is_ok() } - pub fn as_dns(&self) -> Result<&crate::model::DnsServiceDiscovery, &Self> { + pub fn as_dns(&self) -> std::result::Result<&crate::model::DnsServiceDiscovery, &Self> { if let ServiceDiscovery::Dns(val) = &self { Ok(&val) } else { @@ -7749,7 +7775,9 @@ pub enum VirtualGatewayAccessLog { } impl VirtualGatewayAccessLog { #[allow(irrefutable_let_patterns)] - pub fn as_file(&self) -> Result<&crate::model::VirtualGatewayFileAccessLog, &Self> { + pub fn as_file( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayFileAccessLog, &Self> { if let VirtualGatewayAccessLog::File(val) = &self { Ok(&val) } else { @@ -7932,7 +7960,9 @@ pub enum VirtualGatewayConnectionPool { Http2(crate::model::VirtualGatewayHttp2ConnectionPool), } impl VirtualGatewayConnectionPool { - pub fn as_grpc(&self) -> Result<&crate::model::VirtualGatewayGrpcConnectionPool, &Self> { + pub fn as_grpc( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayGrpcConnectionPool, &Self> { if let VirtualGatewayConnectionPool::Grpc(val) = &self { Ok(&val) } else { @@ -7942,7 +7972,9 @@ impl VirtualGatewayConnectionPool { pub fn is_grpc(&self) -> bool { self.as_grpc().is_ok() } - pub fn as_http(&self) -> Result<&crate::model::VirtualGatewayHttpConnectionPool, &Self> { + pub fn as_http( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayHttpConnectionPool, &Self> { if let VirtualGatewayConnectionPool::Http(val) = &self { Ok(&val) } else { @@ -7952,7 +7984,9 @@ impl VirtualGatewayConnectionPool { pub fn is_http(&self) -> bool { self.as_http().is_ok() } - pub fn as_http2(&self) -> Result<&crate::model::VirtualGatewayHttp2ConnectionPool, &Self> { + pub fn as_http2( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayHttp2ConnectionPool, &Self> { if let VirtualGatewayConnectionPool::Http2(val) = &self { Ok(&val) } else { @@ -8267,7 +8301,9 @@ pub enum VirtualGatewayListenerTlsCertificate { Sds(crate::model::VirtualGatewayListenerTlsSdsCertificate), } impl VirtualGatewayListenerTlsCertificate { - pub fn as_acm(&self) -> Result<&crate::model::VirtualGatewayListenerTlsAcmCertificate, &Self> { + pub fn as_acm( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayListenerTlsAcmCertificate, &Self> { if let VirtualGatewayListenerTlsCertificate::Acm(val) = &self { Ok(&val) } else { @@ -8279,7 +8315,7 @@ impl VirtualGatewayListenerTlsCertificate { } pub fn as_file( &self, - ) -> Result<&crate::model::VirtualGatewayListenerTlsFileCertificate, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayListenerTlsFileCertificate, &Self> { if let VirtualGatewayListenerTlsCertificate::File(val) = &self { Ok(&val) } else { @@ -8289,7 +8325,9 @@ impl VirtualGatewayListenerTlsCertificate { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::VirtualGatewayListenerTlsSdsCertificate, &Self> { + pub fn as_sds( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayListenerTlsSdsCertificate, &Self> { if let VirtualGatewayListenerTlsCertificate::Sds(val) = &self { Ok(&val) } else { @@ -8566,7 +8604,8 @@ pub enum VirtualGatewayListenerTlsValidationContextTrust { impl VirtualGatewayListenerTlsValidationContextTrust { pub fn as_file( &self, - ) -> Result<&crate::model::VirtualGatewayTlsValidationContextFileTrust, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayTlsValidationContextFileTrust, &Self> + { if let VirtualGatewayListenerTlsValidationContextTrust::File(val) = &self { Ok(&val) } else { @@ -8578,7 +8617,7 @@ impl VirtualGatewayListenerTlsValidationContextTrust { } pub fn as_sds( &self, - ) -> Result<&crate::model::VirtualGatewayTlsValidationContextSdsTrust, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayTlsValidationContextSdsTrust, &Self> { if let VirtualGatewayListenerTlsValidationContextTrust::Sds(val) = &self { Ok(&val) } else { @@ -9312,7 +9351,7 @@ pub enum VirtualGatewayTlsValidationContextTrust { impl VirtualGatewayTlsValidationContextTrust { pub fn as_acm( &self, - ) -> Result<&crate::model::VirtualGatewayTlsValidationContextAcmTrust, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayTlsValidationContextAcmTrust, &Self> { if let VirtualGatewayTlsValidationContextTrust::Acm(val) = &self { Ok(&val) } else { @@ -9324,7 +9363,8 @@ impl VirtualGatewayTlsValidationContextTrust { } pub fn as_file( &self, - ) -> Result<&crate::model::VirtualGatewayTlsValidationContextFileTrust, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayTlsValidationContextFileTrust, &Self> + { if let VirtualGatewayTlsValidationContextTrust::File(val) = &self { Ok(&val) } else { @@ -9336,7 +9376,7 @@ impl VirtualGatewayTlsValidationContextTrust { } pub fn as_sds( &self, - ) -> Result<&crate::model::VirtualGatewayTlsValidationContextSdsTrust, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayTlsValidationContextSdsTrust, &Self> { if let VirtualGatewayTlsValidationContextTrust::Sds(val) = &self { Ok(&val) } else { @@ -9419,7 +9459,7 @@ pub enum VirtualGatewayClientTlsCertificate { impl VirtualGatewayClientTlsCertificate { pub fn as_file( &self, - ) -> Result<&crate::model::VirtualGatewayListenerTlsFileCertificate, &Self> { + ) -> std::result::Result<&crate::model::VirtualGatewayListenerTlsFileCertificate, &Self> { if let VirtualGatewayClientTlsCertificate::File(val) = &self { Ok(&val) } else { @@ -9429,7 +9469,9 @@ impl VirtualGatewayClientTlsCertificate { pub fn is_file(&self) -> bool { self.as_file().is_ok() } - pub fn as_sds(&self) -> Result<&crate::model::VirtualGatewayListenerTlsSdsCertificate, &Self> { + pub fn as_sds( + &self, + ) -> std::result::Result<&crate::model::VirtualGatewayListenerTlsSdsCertificate, &Self> { if let VirtualGatewayClientTlsCertificate::Sds(val) = &self { Ok(&val) } else { @@ -10517,7 +10559,7 @@ pub enum GrpcMetadataMatchMethod { Suffix(std::string::String), } impl GrpcMetadataMatchMethod { - pub fn as_exact(&self) -> Result<&std::string::String, &Self> { + pub fn as_exact(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcMetadataMatchMethod::Exact(val) = &self { Ok(&val) } else { @@ -10527,7 +10569,7 @@ impl GrpcMetadataMatchMethod { pub fn is_exact(&self) -> bool { self.as_exact().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcMetadataMatchMethod::Prefix(val) = &self { Ok(&val) } else { @@ -10537,7 +10579,7 @@ impl GrpcMetadataMatchMethod { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_range(&self) -> Result<&crate::model::MatchRange, &Self> { + pub fn as_range(&self) -> std::result::Result<&crate::model::MatchRange, &Self> { if let GrpcMetadataMatchMethod::Range(val) = &self { Ok(&val) } else { @@ -10547,7 +10589,7 @@ impl GrpcMetadataMatchMethod { pub fn is_range(&self) -> bool { self.as_range().is_ok() } - pub fn as_regex(&self) -> Result<&std::string::String, &Self> { + pub fn as_regex(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcMetadataMatchMethod::Regex(val) = &self { Ok(&val) } else { @@ -10557,7 +10599,7 @@ impl GrpcMetadataMatchMethod { pub fn is_regex(&self) -> bool { self.as_regex().is_ok() } - pub fn as_suffix(&self) -> Result<&std::string::String, &Self> { + pub fn as_suffix(&self) -> std::result::Result<&std::string::String, &Self> { if let GrpcMetadataMatchMethod::Suffix(val) = &self { Ok(&val) } else { diff --git a/sdk/apprunner/Cargo.toml b/sdk/apprunner/Cargo.toml index bbd39fb417bb..727fb6d5d414 100644 --- a/sdk/apprunner/Cargo.toml +++ b/sdk/apprunner/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-apprunner" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS App Runner\n\n \n\n

AWS App Runner is an application service that provides a fast, simple, and cost-effective way to go directly from an existing container image or source code\n to a running service in the AWS cloud in seconds. You don't need to learn new technologies, decide which compute service to use, or understand how to\n provision and configure AWS resources.

\n

App Runner connects directly to your container registry or source code repository. It provides an automatic delivery pipeline with fully managed operations,\n high performance, scalability, and security.

\n

For more information about App Runner, see the AWS App Runner Developer Guide.\n For release information, see the AWS App Runner Release Notes.

\n

\n To install the Software Development Kits (SDKs), Integrated\n Development Environment (IDE) Toolkits, and command line tools that you can use to access the API, see Tools for\n Amazon Web Services.

\n

\n Endpoints\n

\n

For a list of Region-specific endpoints that App Runner supports, see AWS App Runner\n endpoints and quotas in the AWS General Reference.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appstream/Cargo.toml b/sdk/appstream/Cargo.toml index 1983c87ca386..841eeff2ce27 100644 --- a/sdk/appstream/Cargo.toml +++ b/sdk/appstream/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appstream" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon AppStream 2.0\n

This is the Amazon AppStream 2.0 API Reference. This documentation provides descriptions and syntax for each of the actions and data types in AppStream 2.0. AppStream 2.0 is a fully managed, secure application streaming service that lets you stream desktop applications to users without rewriting applications. AppStream 2.0 manages the AWS resources that are required to host and run your applications, scales automatically, and provides access to your users on demand.

\n \n \n

You can call the AppStream 2.0 API operations by using an interface VPC endpoint (interface endpoint). For more information, see Access AppStream 2.0 API Operations and CLI Commands Through an Interface VPC Endpoint in the Amazon AppStream 2.0 Administration Guide.

\n
\n \n

To learn more about AppStream 2.0, see the following resources:

\n \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/appsync/Cargo.toml b/sdk/appsync/Cargo.toml index bdceef24dc38..374c6e12c787 100644 --- a/sdk/appsync/Cargo.toml +++ b/sdk/appsync/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-appsync" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

AppSync provides API actions for creating and interacting with data sources using\n GraphQL from your application.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/athena/Cargo.toml b/sdk/athena/Cargo.toml index fe5fd778a98c..8c88de3fffa0 100644 --- a/sdk/athena/Cargo.toml +++ b/sdk/athena/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-athena" -version = "0.0.15-alpha" -description = "

Amazon Athena is an interactive query service that lets you use standard SQL to\n analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and\n run ad-hoc queries and get results in seconds. Athena is serverless, so there is no\n infrastructure to set up or manage. You pay only for the queries you run. Athena scales\n automatically—executing queries in parallel—so results are fast, even with large\n datasets and complex queries. For more information, see What is Amazon\n Athena in the Amazon Athena User Guide.

\n

If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or\n later with the Amazon Athena API. Earlier version drivers do not support the API. For\n more information and to download the driver, see Accessing\n Amazon Athena with JDBC.

\n

For code samples using the AWS SDK for Java, see Examples and\n Code Samples in the Amazon Athena User Guide.

" +version = "0.0.16-alpha" +description = "

Amazon Athena is an interactive query service that lets you use standard SQL\n to analyze data directly in Amazon S3. You can point Athena at your\n data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay\n only for the queries you run. Athena scales automatically—executing queries\n in parallel—so results are fast, even with large datasets and complex queries. For more\n information, see What is Amazon Athena in the Amazon Athena User\n Guide.

\n

If you connect to Athena using the JDBC driver, use version 1.1.0 of the\n driver or later with the Amazon Athena API. Earlier version drivers do not\n support the API. For more information and to download the driver, see Accessing\n Amazon Athena with JDBC.

\n

For code samples using the Amazon Web Services SDK for Java, see Examples and\n Code Samples in the Amazon Athena User\n Guide.

" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/athena/src/client.rs b/sdk/athena/src/client.rs index 62e51c3c0d39..766471efe470 100644 --- a/sdk/athena/src/client.rs +++ b/sdk/athena/src/client.rs @@ -262,9 +262,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The name of the data catalog to create. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

+ ///

The name of the data catalog to create. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); self @@ -273,14 +273,9 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

The type of data catalog to create: LAMBDA for a federated catalog or - /// HIVE for an external hive metastore.

- /// - ///

Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

- ///
+ ///

The type of data catalog to create: LAMBDA for a federated catalog, + /// HIVE for an external hive metastore, or GLUE for an + /// Glue Data Catalog.

pub fn r#type(mut self, input: crate::model::DataCatalogType) -> Self { self.inner = self.inner.r#type(input); self @@ -301,8 +296,8 @@ pub mod fluent_builders { self.inner = self.inner.set_description(input); self } - ///

Specifies the Lambda function or functions to use for creating the data catalog. This - /// is a mapping whose values depend on the catalog type.

+ ///

Specifies the Lambda function or functions to use for creating the data + /// catalog. This is a mapping whose values depend on the catalog type.

///
    ///
  • ///

    For the HIVE data catalog type, use the following syntax. The @@ -320,9 +315,9 @@ pub mod fluent_builders { /// of required parameters, but not both.

    ///
      ///
    • - ///

      If you have one Lambda function that processes metadata and another - /// for reading the actual data, use the following syntax. Both parameters - /// are required.

      + ///

      If you have one Lambda function that processes metadata + /// and another for reading the actual data, use the following syntax. Both + /// parameters are required.

      ///

      /// metadata-function=lambda_arn, /// record-function=lambda_arn @@ -330,9 +325,8 @@ pub mod fluent_builders { ///

      ///
    • ///
    • - ///

      If you have a composite Lambda function that processes both metadata - /// and data, use the following syntax to specify your Lambda - /// function.

      + ///

      If you have a composite Lambda function that processes + /// both metadata and data, use the following syntax to specify your Lambda function.

      ///

      /// function=lambda_arn /// @@ -340,6 +334,35 @@ pub mod fluent_builders { ///

    • ///
    ///
  • + ///
  • + ///

    The GLUE type takes a catalog ID parameter and is required. The + /// + /// catalog_id + /// is the account ID of the + /// Amazon Web Services account to which the Glue Data Catalog + /// belongs.

    + ///

    + /// catalog-id=catalog_id + /// + ///

    + ///
      + ///
    • + ///

      The GLUE data catalog type also applies to the default + /// AwsDataCatalog that already exists in your account, of + /// which you can have only one and cannot modify.

      + ///
    • + ///
    • + ///

      Queries that specify a Glue Data Catalog other than the default + /// AwsDataCatalog must be run on Athena engine + /// version 2.

      + ///
    • + ///
    • + ///

      In Regions where Athena engine version 2 is not available, + /// creating new Glue data catalogs results in an + /// INVALID_INPUT error.

      + ///
    • + ///
    + ///
  • ///
pub fn parameters( mut self, @@ -443,9 +466,10 @@ pub mod fluent_builders { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

/// - ///

This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

+ ///

This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

///
pub fn client_request_token(mut self, input: impl Into) -> Self { self.inner = self.inner.client_request_token(input); @@ -582,12 +606,13 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

The configuration for the workgroup, which includes the location in Amazon S3 where - /// query results are stored, the encryption configuration, if any, used for encrypting - /// query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the - /// limit for the amount of bytes scanned (cutoff) per query, if it is specified, and - /// whether workgroup's settings (specified with EnforceWorkGroupConfiguration) in the - /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

+ ///

The configuration for the workgroup, which includes the location in Amazon S3 + /// where query results are stored, the encryption configuration, if any, used for + /// encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the + /// workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is + /// specified, and whether workgroup's settings (specified with + /// EnforceWorkGroupConfiguration) in the + /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

pub fn configuration(mut self, input: crate::model::WorkGroupConfiguration) -> Self { self.inner = self.inner.configuration(input); self @@ -1089,9 +1114,9 @@ pub mod fluent_builders { self.inner = self.inner.set_query_execution_id(input); self } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1254,9 +1279,9 @@ pub mod fluent_builders { self.inner = self.inner.set_catalog_name(input); self } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1306,9 +1331,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1358,9 +1383,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1410,9 +1435,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1482,9 +1507,9 @@ pub mod fluent_builders { self.inner = self.inner.set_work_group(input); self } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1534,9 +1559,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1628,9 +1653,9 @@ pub mod fluent_builders { self.inner = self.inner.set_expression(input); self } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1742,9 +1767,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

+ ///

A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1808,9 +1833,10 @@ pub mod fluent_builders { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

/// - ///

This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

+ ///

This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

///
pub fn client_request_token(mut self, input: impl Into) -> Self { self.inner = self.inner.client_request_token(input); @@ -1938,8 +1964,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

Specifies the ARN of the Athena resource (workgroup or data catalog) to which tags are - /// to be added.

+ ///

Specifies the ARN of the Athena resource (workgroup or data catalog) to + /// which tags are to be added.

pub fn resource_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_arn(input); self @@ -1948,8 +1974,7 @@ pub mod fluent_builders { self.inner = self.inner.set_resource_arn(input); self } - ///

A collection of one or more tags, separated by commas, to be added to an Athena - /// workgroup or data catalog resource.

+ ///

A collection of one or more tags, separated by commas, to be added to an Athena workgroup or data catalog resource.

pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); self @@ -2047,9 +2072,9 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

The name of the data catalog to update. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

+ ///

The name of the data catalog to update. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); self @@ -2059,13 +2084,8 @@ pub mod fluent_builders { self } ///

Specifies the type of data catalog to update. Specify LAMBDA for a - /// federated catalog or HIVE for an external hive metastore.

- /// - ///

Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

- ///
+ /// federated catalog, HIVE for an external hive metastore, or + /// GLUE for an Glue Data Catalog.

pub fn r#type(mut self, input: crate::model::DataCatalogType) -> Self { self.inner = self.inner.r#type(input); self @@ -2086,8 +2106,8 @@ pub mod fluent_builders { self.inner = self.inner.set_description(input); self } - ///

Specifies the Lambda function or functions to use for updating the data catalog. This - /// is a mapping whose values depend on the catalog type.

+ ///

Specifies the Lambda function or functions to use for updating the data + /// catalog. This is a mapping whose values depend on the catalog type.

///
    ///
  • ///

    For the HIVE data catalog type, use the following syntax. The @@ -2105,9 +2125,9 @@ pub mod fluent_builders { /// of required parameters, but not both.

    ///
      ///
    • - ///

      If you have one Lambda function that processes metadata and another - /// for reading the actual data, use the following syntax. Both parameters - /// are required.

      + ///

      If you have one Lambda function that processes metadata + /// and another for reading the actual data, use the following syntax. Both + /// parameters are required.

      ///

      /// metadata-function=lambda_arn, /// record-function=lambda_arn @@ -2115,9 +2135,8 @@ pub mod fluent_builders { ///

      ///
    • ///
    • - ///

      If you have a composite Lambda function that processes both metadata - /// and data, use the following syntax to specify your Lambda - /// function.

      + ///

      If you have a composite Lambda function that processes + /// both metadata and data, use the following syntax to specify your Lambda function.

      ///

      /// function=lambda_arn /// diff --git a/sdk/athena/src/error.rs b/sdk/athena/src/error.rs index 8bfb64e95faf..941cf0e0e8ce 100644 --- a/sdk/athena/src/error.rs +++ b/sdk/athena/src/error.rs @@ -3429,11 +3429,12 @@ impl TooManyRequestsException { } } -///

      An exception that Athena received when it called a custom metastore. Occurs if the -/// error is not caused by user input (InvalidRequestException) or from the -/// Athena platform (InternalServerException). For example, if a user-created -/// Lambda function is missing permissions, the Lambda 4XX exception is -/// returned in a MetadataException.

      +///

      An exception that Athena received when it called a custom metastore. +/// Occurs if the error is not caused by user input (InvalidRequestException) +/// or from the Athena platform (InternalServerException). For +/// example, if a user-created Lambda function is missing permissions, the +/// Lambda +/// 4XX exception is returned in a MetadataException.

      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct MetadataException { diff --git a/sdk/athena/src/input.rs b/sdk/athena/src/input.rs index 0c5e0ee79887..aa070490b195 100644 --- a/sdk/athena/src/input.rs +++ b/sdk/athena/src/input.rs @@ -301,9 +301,9 @@ pub mod create_data_catalog_input { pub(crate) tags: std::option::Option>, } impl Builder { - ///

      The name of the data catalog to create. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

      + ///

      The name of the data catalog to create. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

      pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -312,14 +312,9 @@ pub mod create_data_catalog_input { self.name = input; self } - ///

      The type of data catalog to create: LAMBDA for a federated catalog or - /// HIVE for an external hive metastore.

      - /// - ///

      Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

      - ///
      + ///

      The type of data catalog to create: LAMBDA for a federated catalog, + /// HIVE for an external hive metastore, or GLUE for an + /// Glue Data Catalog.

      pub fn r#type(mut self, input: crate::model::DataCatalogType) -> Self { self.r#type = Some(input); self @@ -552,9 +547,10 @@ pub mod create_named_query_input { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

      /// - ///

      This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

      + ///

      This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

      ///
      pub fn client_request_token(mut self, input: impl Into) -> Self { self.client_request_token = Some(input.into()); @@ -905,12 +901,13 @@ pub mod create_work_group_input { self.name = input; self } - ///

      The configuration for the workgroup, which includes the location in Amazon S3 where - /// query results are stored, the encryption configuration, if any, used for encrypting - /// query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the - /// limit for the amount of bytes scanned (cutoff) per query, if it is specified, and - /// whether workgroup's settings (specified with EnforceWorkGroupConfiguration) in the - /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

      + ///

      The configuration for the workgroup, which includes the location in Amazon S3 + /// where query results are stored, the encryption configuration, if any, used for + /// encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the + /// workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is + /// specified, and whether workgroup's settings (specified with + /// EnforceWorkGroupConfiguration) in the + /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

      pub fn configuration(mut self, input: crate::model::WorkGroupConfiguration) -> Self { self.configuration = Some(input); self @@ -2398,9 +2395,9 @@ pub mod get_query_results_input { self.query_execution_id = input; self } - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -2862,9 +2859,9 @@ pub mod list_databases_input { self.catalog_name = input; self } - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3013,9 +3010,9 @@ pub mod list_data_catalogs_input { pub(crate) max_results: std::option::Option, } impl Builder { - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3165,9 +3162,9 @@ pub mod list_engine_versions_input { pub(crate) max_results: std::option::Option, } impl Builder { - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3318,9 +3315,9 @@ pub mod list_named_queries_input { pub(crate) work_group: std::option::Option, } impl Builder { - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3492,9 +3489,9 @@ pub mod list_prepared_statements_input { self.work_group = input; self } - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3646,9 +3643,9 @@ pub mod list_query_executions_input { pub(crate) work_group: std::option::Option, } impl Builder { - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3844,9 +3841,9 @@ pub mod list_table_metadata_input { self.expression = input; self } - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -4163,9 +4160,9 @@ pub mod list_work_groups_input { pub(crate) max_results: std::option::Option, } impl Builder { - ///

      A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

      + ///

      A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -4332,9 +4329,10 @@ pub mod start_query_execution_input { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

      /// - ///

      This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

      + ///

      This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

      ///
      pub fn client_request_token(mut self, input: impl Into) -> Self { self.client_request_token = Some(input.into()); @@ -4669,8 +4667,8 @@ pub mod tag_resource_input { pub(crate) tags: std::option::Option>, } impl Builder { - ///

      Specifies the ARN of the Athena resource (workgroup or data catalog) to which tags are - /// to be added.

      + ///

      Specifies the ARN of the Athena resource (workgroup or data catalog) to + /// which tags are to be added.

      pub fn resource_arn(mut self, input: impl Into) -> Self { self.resource_arn = Some(input.into()); self @@ -4978,9 +4976,9 @@ pub mod update_data_catalog_input { >, } impl Builder { - ///

      The name of the data catalog to update. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

      + ///

      The name of the data catalog to update. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

      pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -4990,13 +4988,8 @@ pub mod update_data_catalog_input { self } ///

      Specifies the type of data catalog to update. Specify LAMBDA for a - /// federated catalog or HIVE for an external hive metastore.

      - /// - ///

      Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

      - ///
      + /// federated catalog, HIVE for an external hive metastore, or + /// GLUE for an Glue Data Catalog.

      pub fn r#type(mut self, input: crate::model::DataCatalogType) -> Self { self.r#type = Some(input); self @@ -5569,23 +5562,18 @@ impl std::fmt::Debug for UpdatePreparedStatementInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDataCatalogInput { - ///

      The name of the data catalog to update. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

      + ///

      The name of the data catalog to update. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

      pub name: std::option::Option, ///

      Specifies the type of data catalog to update. Specify LAMBDA for a - /// federated catalog or HIVE for an external hive metastore.

      - /// - ///

      Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

      - ///
      + /// federated catalog, HIVE for an external hive metastore, or + /// GLUE for an Glue Data Catalog.

      pub r#type: std::option::Option, ///

      New or modified text that describes the data catalog.

      pub description: std::option::Option, - ///

      Specifies the Lambda function or functions to use for updating the data catalog. This - /// is a mapping whose values depend on the catalog type.

      + ///

      Specifies the Lambda function or functions to use for updating the data + /// catalog. This is a mapping whose values depend on the catalog type.

      ///
        ///
      • ///

        For the HIVE data catalog type, use the following syntax. The @@ -5603,9 +5591,9 @@ pub struct UpdateDataCatalogInput { /// of required parameters, but not both.

        ///
          ///
        • - ///

          If you have one Lambda function that processes metadata and another - /// for reading the actual data, use the following syntax. Both parameters - /// are required.

          + ///

          If you have one Lambda function that processes metadata + /// and another for reading the actual data, use the following syntax. Both + /// parameters are required.

          ///

          /// metadata-function=lambda_arn, /// record-function=lambda_arn @@ -5613,9 +5601,8 @@ pub struct UpdateDataCatalogInput { ///

          ///
        • ///
        • - ///

          If you have a composite Lambda function that processes both metadata - /// and data, use the following syntax to specify your Lambda - /// function.

          + ///

          If you have a composite Lambda function that processes + /// both metadata and data, use the following syntax to specify your Lambda function.

          ///

          /// function=lambda_arn /// @@ -5659,11 +5646,10 @@ impl std::fmt::Debug for UntagResourceInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagResourceInput { - ///

          Specifies the ARN of the Athena resource (workgroup or data catalog) to which tags are - /// to be added.

          + ///

          Specifies the ARN of the Athena resource (workgroup or data catalog) to + /// which tags are to be added.

          pub resource_arn: std::option::Option, - ///

          A collection of one or more tags, separated by commas, to be added to an Athena - /// workgroup or data catalog resource.

          + ///

          A collection of one or more tags, separated by commas, to be added to an Athena workgroup or data catalog resource.

          pub tags: std::option::Option>, } impl std::fmt::Debug for TagResourceInput { @@ -5699,9 +5685,10 @@ pub struct StartQueryExecutionInput { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

          /// - ///

          This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

          + ///

          This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

          ///
          pub client_request_token: std::option::Option, ///

          The database within which the query executes.

          @@ -5729,9 +5716,9 @@ impl std::fmt::Debug for StartQueryExecutionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListWorkGroupsInput { - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of workgroups to return in this request.

          pub max_results: std::option::Option, @@ -5778,9 +5765,9 @@ pub struct ListTableMetadataInput { ///

          A regex filter that pattern-matches table names. If no expression is supplied, /// metadata for all tables are listed.

          pub expression: std::option::Option, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          Specifies the maximum number of results to return.

          pub max_results: std::option::Option, @@ -5800,9 +5787,9 @@ impl std::fmt::Debug for ListTableMetadataInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListQueryExecutionsInput { - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of query executions to return in this request.

          pub max_results: std::option::Option, @@ -5826,9 +5813,9 @@ impl std::fmt::Debug for ListQueryExecutionsInput { pub struct ListPreparedStatementsInput { ///

          The workgroup to list the prepared statements for.

          pub work_group: std::option::Option, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of results to return in this request.

          pub max_results: std::option::Option, @@ -5846,9 +5833,9 @@ impl std::fmt::Debug for ListPreparedStatementsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListNamedQueriesInput { - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of queries to return in this request.

          pub max_results: std::option::Option, @@ -5870,9 +5857,9 @@ impl std::fmt::Debug for ListNamedQueriesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListEngineVersionsInput { - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of engine versions to return in this request.

          pub max_results: std::option::Option, @@ -5889,9 +5876,9 @@ impl std::fmt::Debug for ListEngineVersionsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDataCatalogsInput { - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          Specifies the maximum number of data catalogs to return.

          pub max_results: std::option::Option, @@ -5910,9 +5897,9 @@ impl std::fmt::Debug for ListDataCatalogsInput { pub struct ListDatabasesInput { ///

          The name of the data catalog that contains the databases to return.

          pub catalog_name: std::option::Option, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          Specifies the maximum number of results to return.

          pub max_results: std::option::Option, @@ -5967,9 +5954,9 @@ impl std::fmt::Debug for GetTableMetadataInput { pub struct GetQueryResultsInput { ///

          The unique ID of the query execution.

          pub query_execution_id: std::option::Option, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, ///

          The maximum number of results (rows) to return in this request.

          pub max_results: std::option::Option, @@ -6129,12 +6116,13 @@ impl std::fmt::Debug for DeleteDataCatalogInput { pub struct CreateWorkGroupInput { ///

          The workgroup name.

          pub name: std::option::Option, - ///

          The configuration for the workgroup, which includes the location in Amazon S3 where - /// query results are stored, the encryption configuration, if any, used for encrypting - /// query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the - /// limit for the amount of bytes scanned (cutoff) per query, if it is specified, and - /// whether workgroup's settings (specified with EnforceWorkGroupConfiguration) in the - /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          + ///

          The configuration for the workgroup, which includes the location in Amazon S3 + /// where query results are stored, the encryption configuration, if any, used for + /// encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the + /// workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is + /// specified, and whether workgroup's settings (specified with + /// EnforceWorkGroupConfiguration) in the + /// WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub configuration: std::option::Option, ///

          The workgroup description.

          pub description: std::option::Option, @@ -6191,9 +6179,10 @@ pub struct CreateNamedQueryInput { /// received, the same response is returned and another query is not created. If a parameter /// has changed, for example, the QueryString, an error is returned.

          /// - ///

          This token is listed as not required because AWS SDKs (for example the AWS SDK for - /// Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS - /// CLI, you must provide this token or the action will fail.

          + ///

          This token is listed as not required because Amazon Web Services SDKs (for example + /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are + /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide + /// this token or the action will fail.

          ///
          pub client_request_token: std::option::Option, ///

          The name of the workgroup in which the named query is being created.

          @@ -6215,23 +6204,18 @@ impl std::fmt::Debug for CreateNamedQueryInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateDataCatalogInput { - ///

          The name of the data catalog to create. The catalog name must be unique for the AWS - /// account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen - /// characters.

          + ///

          The name of the data catalog to create. The catalog name must be unique for the + /// Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at + /// sign, or hyphen characters.

          pub name: std::option::Option, - ///

          The type of data catalog to create: LAMBDA for a federated catalog or - /// HIVE for an external hive metastore.

          - /// - ///

          Do not use the GLUE type. This refers to the - /// AwsDataCatalog that already exists in your account, of which you - /// can have only one. Specifying the GLUE type will result in an - /// INVALID_INPUT error.

          - ///
          + ///

          The type of data catalog to create: LAMBDA for a federated catalog, + /// HIVE for an external hive metastore, or GLUE for an + /// Glue Data Catalog.

          pub r#type: std::option::Option, ///

          A description of the data catalog to be created.

          pub description: std::option::Option, - ///

          Specifies the Lambda function or functions to use for creating the data catalog. This - /// is a mapping whose values depend on the catalog type.

          + ///

          Specifies the Lambda function or functions to use for creating the data + /// catalog. This is a mapping whose values depend on the catalog type.

          ///
            ///
          • ///

            For the HIVE data catalog type, use the following syntax. The @@ -6249,9 +6233,9 @@ pub struct CreateDataCatalogInput { /// of required parameters, but not both.

            ///
              ///
            • - ///

              If you have one Lambda function that processes metadata and another - /// for reading the actual data, use the following syntax. Both parameters - /// are required.

              + ///

              If you have one Lambda function that processes metadata + /// and another for reading the actual data, use the following syntax. Both + /// parameters are required.

              ///

              /// metadata-function=lambda_arn, /// record-function=lambda_arn @@ -6259,9 +6243,8 @@ pub struct CreateDataCatalogInput { ///

              ///
            • ///
            • - ///

              If you have a composite Lambda function that processes both metadata - /// and data, use the following syntax to specify your Lambda - /// function.

              + ///

              If you have a composite Lambda function that processes + /// both metadata and data, use the following syntax to specify your Lambda function.

              ///

              /// function=lambda_arn /// @@ -6269,6 +6252,35 @@ pub struct CreateDataCatalogInput { ///

            • ///
            ///
          • + ///
          • + ///

            The GLUE type takes a catalog ID parameter and is required. The + /// + /// catalog_id + /// is the account ID of the + /// Amazon Web Services account to which the Glue Data Catalog + /// belongs.

            + ///

            + /// catalog-id=catalog_id + /// + ///

            + ///
              + ///
            • + ///

              The GLUE data catalog type also applies to the default + /// AwsDataCatalog that already exists in your account, of + /// which you can have only one and cannot modify.

              + ///
            • + ///
            • + ///

              Queries that specify a Glue Data Catalog other than the default + /// AwsDataCatalog must be run on Athena engine + /// version 2.

              + ///
            • + ///
            • + ///

              In Regions where Athena engine version 2 is not available, + /// creating new Glue data catalogs results in an + /// INVALID_INPUT error.

              + ///
            • + ///
            + ///
          • ///
          pub parameters: std::option::Option>, diff --git a/sdk/athena/src/lib.rs b/sdk/athena/src/lib.rs index 8b59273c3d2f..0a04aac061fe 100644 --- a/sdk/athena/src/lib.rs +++ b/sdk/athena/src/lib.rs @@ -4,19 +4,20 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//!

          Amazon Athena is an interactive query service that lets you use standard SQL to -//! analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and -//! run ad-hoc queries and get results in seconds. Athena is serverless, so there is no -//! infrastructure to set up or manage. You pay only for the queries you run. Athena scales -//! automatically—executing queries in parallel—so results are fast, even with large -//! datasets and complex queries. For more information, see What is Amazon -//! Athena in the Amazon Athena User Guide.

          -//!

          If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or -//! later with the Amazon Athena API. Earlier version drivers do not support the API. For -//! more information and to download the driver, see Accessing +//!

          Amazon Athena is an interactive query service that lets you use standard SQL +//! to analyze data directly in Amazon S3. You can point Athena at your +//! data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay +//! only for the queries you run. Athena scales automatically—executing queries +//! in parallel—so results are fast, even with large datasets and complex queries. For more +//! information, see What is Amazon Athena in the Amazon Athena User +//! Guide.

          +//!

          If you connect to Athena using the JDBC driver, use version 1.1.0 of the +//! driver or later with the Amazon Athena API. Earlier version drivers do not +//! support the API. For more information and to download the driver, see Accessing //! Amazon Athena with JDBC.

          -//!

          For code samples using the AWS SDK for Java, see Examples and -//! Code Samples in the Amazon Athena User Guide.

          +//!

          For code samples using the Amazon Web Services SDK for Java, see Examples and +//! Code Samples in the Amazon Athena User +//! Guide.

          // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. pub use error_meta::Error; diff --git a/sdk/athena/src/model.rs b/sdk/athena/src/model.rs index ce660f4a79a8..7c8f236c51ec 100644 --- a/sdk/athena/src/model.rs +++ b/sdk/athena/src/model.rs @@ -50,10 +50,11 @@ impl AsRef for WorkGroupState { } ///

          The configuration information that will be updated for this workgroup, which includes -/// the location in Amazon S3 where query results are stored, the encryption option, if any, -/// used for query results, whether the Amazon CloudWatch Metrics are enabled for the -/// workgroup, whether the workgroup settings override the client-side settings, and the -/// data usage limit for the amount of bytes scanned per query, if it is specified.

          +/// the location in Amazon S3 where query results are stored, the encryption option, +/// if any, used for query results, whether the Amazon CloudWatch Metrics are enabled +/// for the workgroup, whether the workgroup settings override the client-side settings, and +/// the data usage limit for the amount of bytes scanned per query, if it is +/// specified.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WorkGroupConfigurationUpdates { @@ -64,8 +65,7 @@ pub struct WorkGroupConfigurationUpdates { /// updated. Includes the updated results location and an updated option for encrypting /// query results.

          pub result_configuration_updates: std::option::Option, - ///

          Indicates whether this workgroup enables publishing metrics to Amazon - /// CloudWatch.

          + ///

          Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.

          pub publish_cloud_watch_metrics_enabled: std::option::Option, ///

          The upper limit (cutoff) for the amount of bytes a single query in a workgroup is /// allowed to scan.

          @@ -73,14 +73,16 @@ pub struct WorkGroupConfigurationUpdates { ///

          Indicates that the data usage control limit per query is removed. WorkGroupConfiguration$BytesScannedCutoffPerQuery ///

          pub remove_bytes_scanned_cutoff_per_query: std::option::Option, - ///

          If set to true, allows members assigned to a workgroup to specify Amazon - /// S3 Requester Pays buckets in queries. If set to false, workgroup members - /// cannot query data from Requester Pays buckets, and queries that retrieve data from - /// Requester Pays buckets cause an error. The default is false. For more + ///

          If set to true, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to false, workgroup + /// members cannot query data from Requester Pays buckets, and queries that retrieve data + /// from Requester Pays buckets cause an error. The default is false. For more /// information about Requester Pays buckets, see Requester Pays Buckets /// in the Amazon Simple Storage Service Developer Guide.

          pub requester_pays_enabled: std::option::Option, - ///

          The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version requested when a workgroup is updated. After the update, all + /// queries on the workgroup run on the requested engine version. If no value was previously + /// set, the default is Auto. Queries on the AmazonAthenaPreviewFunctionality + /// workgroup run on the preview engine regardless of this setting.

          pub engine_version: std::option::Option, } impl std::fmt::Debug for WorkGroupConfigurationUpdates { @@ -157,8 +159,7 @@ pub mod work_group_configuration_updates { self.result_configuration_updates = input; self } - ///

          Indicates whether this workgroup enables publishing metrics to Amazon - /// CloudWatch.

          + ///

          Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.

          pub fn publish_cloud_watch_metrics_enabled(mut self, input: bool) -> Self { self.publish_cloud_watch_metrics_enabled = Some(input); self @@ -196,10 +197,9 @@ pub mod work_group_configuration_updates { self.remove_bytes_scanned_cutoff_per_query = input; self } - ///

          If set to true, allows members assigned to a workgroup to specify Amazon - /// S3 Requester Pays buckets in queries. If set to false, workgroup members - /// cannot query data from Requester Pays buckets, and queries that retrieve data from - /// Requester Pays buckets cause an error. The default is false. For more + ///

          If set to true, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to false, workgroup + /// members cannot query data from Requester Pays buckets, and queries that retrieve data + /// from Requester Pays buckets cause an error. The default is false. For more /// information about Requester Pays buckets, see Requester Pays Buckets /// in the Amazon Simple Storage Service Developer Guide.

          pub fn requester_pays_enabled(mut self, input: bool) -> Self { @@ -210,7 +210,10 @@ pub mod work_group_configuration_updates { self.requester_pays_enabled = input; self } - ///

          The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on the requested engine version. If no value was previously set, the default is Auto. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version requested when a workgroup is updated. After the update, all + /// queries on the workgroup run on the requested engine version. If no value was previously + /// set, the default is Auto. Queries on the AmazonAthenaPreviewFunctionality + /// workgroup run on the preview engine regardless of this setting.

          pub fn engine_version(mut self, input: crate::model::EngineVersion) -> Self { self.engine_version = Some(input); self @@ -247,11 +250,14 @@ impl WorkGroupConfigurationUpdates { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EngineVersion { - ///

          The engine version requested by the user. Possible values are determined by the output of ListEngineVersions, including Auto. The default is Auto.

          + ///

          The engine version requested by the user. Possible values are determined by the output + /// of ListEngineVersions, including Auto. The default is Auto.

          pub selected_engine_version: std::option::Option, - ///

          Read only. The engine version on which the query runs. If the user requests - /// a valid engine version other than Auto, the effective engine version is the same as the - /// engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a CreateWorkGroup or UpdateWorkGroup operation, the + ///

          Read only. The engine version on which the query runs. If the user requests a valid + /// engine version other than Auto, the effective engine version is the same as the engine + /// version that the user requested. If the user requests Auto, the effective engine version + /// is chosen by Athena. When a request to update the engine version is made by + /// a CreateWorkGroup or UpdateWorkGroup operation, the /// EffectiveEngineVersion field is ignored.

          pub effective_engine_version: std::option::Option, } @@ -273,7 +279,8 @@ pub mod engine_version { pub(crate) effective_engine_version: std::option::Option, } impl Builder { - ///

          The engine version requested by the user. Possible values are determined by the output of ListEngineVersions, including Auto. The default is Auto.

          + ///

          The engine version requested by the user. Possible values are determined by the output + /// of ListEngineVersions, including Auto. The default is Auto.

          pub fn selected_engine_version(mut self, input: impl Into) -> Self { self.selected_engine_version = Some(input.into()); self @@ -285,9 +292,11 @@ pub mod engine_version { self.selected_engine_version = input; self } - ///

          Read only. The engine version on which the query runs. If the user requests - /// a valid engine version other than Auto, the effective engine version is the same as the - /// engine version that the user requested. If the user requests Auto, the effective engine version is chosen by Athena. When a request to update the engine version is made by a CreateWorkGroup or UpdateWorkGroup operation, the + ///

          Read only. The engine version on which the query runs. If the user requests a valid + /// engine version other than Auto, the effective engine version is the same as the engine + /// version that the user requested. If the user requests Auto, the effective engine version + /// is chosen by Athena. When a request to update the engine version is made by + /// a CreateWorkGroup or UpdateWorkGroup operation, the /// EffectiveEngineVersion field is ignored.

          pub fn effective_engine_version(mut self, input: impl Into) -> Self { self.effective_engine_version = Some(input.into()); @@ -325,14 +334,16 @@ pub struct ResultConfigurationUpdates { /// s3://path/to/query/bucket/. For more information, see Query Results If /// workgroup settings override client-side settings, then the query uses the location for /// the query results and the encryption configuration that are specified for the workgroup. - /// The "workgroup settings override" is specified in EnforceWorkGroupConfiguration - /// (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          + /// The "workgroup settings override" is specified in + /// EnforceWorkGroupConfiguration (true/false) in the + /// WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub output_location: std::option::Option, ///

          If set to "true", indicates that the previously-specified query results location (also /// known as a client-side setting) for queries in this workgroup should be ignored and set - /// to null. If set to "false" or not set, and a value is present in the OutputLocation in - /// ResultConfigurationUpdates (the client-side setting), the OutputLocation in the - /// workgroup's ResultConfiguration will be updated with the new value. For more + /// to null. If set to "false" or not set, and a value is present in the + /// OutputLocation in ResultConfigurationUpdates (the + /// client-side setting), the OutputLocation in the workgroup's + /// ResultConfiguration will be updated with the new value. For more /// information, see Workgroup Settings Override /// Client-Side Settings.

          pub remove_output_location: std::option::Option, @@ -341,9 +352,10 @@ pub struct ResultConfigurationUpdates { ///

          If set to "true", indicates that the previously-specified encryption configuration /// (also known as the client-side setting) for queries in this workgroup should be ignored /// and set to null. If set to "false" or not set, and a value is present in the - /// EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the - /// EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the - /// new value. For more information, see Workgroup Settings Override + /// EncryptionConfiguration in ResultConfigurationUpdates (the + /// client-side setting), the EncryptionConfiguration in the workgroup's + /// ResultConfiguration will be updated with the new value. For more + /// information, see Workgroup Settings Override /// Client-Side Settings.

          pub remove_encryption_configuration: std::option::Option, } @@ -377,8 +389,9 @@ pub mod result_configuration_updates { /// s3://path/to/query/bucket/. For more information, see Query Results If /// workgroup settings override client-side settings, then the query uses the location for /// the query results and the encryption configuration that are specified for the workgroup. - /// The "workgroup settings override" is specified in EnforceWorkGroupConfiguration - /// (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          + /// The "workgroup settings override" is specified in + /// EnforceWorkGroupConfiguration (true/false) in the + /// WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub fn output_location(mut self, input: impl Into) -> Self { self.output_location = Some(input.into()); self @@ -392,9 +405,10 @@ pub mod result_configuration_updates { } ///

          If set to "true", indicates that the previously-specified query results location (also /// known as a client-side setting) for queries in this workgroup should be ignored and set - /// to null. If set to "false" or not set, and a value is present in the OutputLocation in - /// ResultConfigurationUpdates (the client-side setting), the OutputLocation in the - /// workgroup's ResultConfiguration will be updated with the new value. For more + /// to null. If set to "false" or not set, and a value is present in the + /// OutputLocation in ResultConfigurationUpdates (the + /// client-side setting), the OutputLocation in the workgroup's + /// ResultConfiguration will be updated with the new value. For more /// information, see Workgroup Settings Override /// Client-Side Settings.

          pub fn remove_output_location(mut self, input: bool) -> Self { @@ -423,9 +437,10 @@ pub mod result_configuration_updates { ///

          If set to "true", indicates that the previously-specified encryption configuration /// (also known as the client-side setting) for queries in this workgroup should be ignored /// and set to null. If set to "false" or not set, and a value is present in the - /// EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the - /// EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the - /// new value. For more information, see Workgroup Settings Override + /// EncryptionConfiguration in ResultConfigurationUpdates (the + /// client-side setting), the EncryptionConfiguration in the workgroup's + /// ResultConfiguration will be updated with the new value. For more + /// information, see Workgroup Settings Override /// Client-Side Settings.

          pub fn remove_encryption_configuration(mut self, input: bool) -> Self { self.remove_encryption_configuration = Some(input); @@ -456,13 +471,13 @@ impl ResultConfigurationUpdates { } } -///

          If query results are encrypted in Amazon S3, indicates the encryption option used (for -/// example, SSE-KMS or CSE-KMS) and key information.

          +///

          If query results are encrypted in Amazon S3, indicates the encryption option +/// used (for example, SSE-KMS or CSE-KMS) and key +/// information.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EncryptionConfiguration { - ///

          Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys - /// (SSE-S3), server-side encryption with KMS-managed keys + ///

          Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE-S3), server-side encryption with KMS-managed keys /// (SSE-KMS), or client-side encryption with KMS-managed keys (CSE-KMS) is /// used.

          ///

          If a query runs in a workgroup and the workgroup overrides client-side settings, then @@ -491,8 +506,7 @@ pub mod encryption_configuration { pub(crate) kms_key: std::option::Option, } impl Builder { - ///

          Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys - /// (SSE-S3), server-side encryption with KMS-managed keys + ///

          Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE-S3), server-side encryption with KMS-managed keys /// (SSE-KMS), or client-side encryption with KMS-managed keys (CSE-KMS) is /// used.

          ///

          If a query runs in a workgroup and the workgroup overrides client-side settings, then @@ -641,12 +655,12 @@ impl AsRef for DataCatalogType { } } -///

          A label that you assign to a resource. In Athena, a resource can be a workgroup or -/// data catalog. Each tag consists of a key and an optional value, both of which you -/// define. For example, you can use tags to categorize Athena workgroups or data catalogs -/// by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to -/// search and filter workgroups or data catalogs in your account. For best practices, see -/// Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode +///

          A label that you assign to a resource. In Athena, a resource can be a +/// workgroup or data catalog. Each tag consists of a key and an optional value, both of +/// which you define. For example, you can use tags to categorize Athena +/// workgroups or data catalogs by purpose, owner, or environment. Use a consistent set of +/// tag keys to make it easier to search and filter workgroups or data catalogs in your +/// account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode /// characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use /// letters and numbers representable in UTF-8, and the following characters: + - = . _ : / /// @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you @@ -768,9 +782,9 @@ impl AsRef for ThrottleReason { } } -///

          The location in Amazon S3 where query results are stored and the encryption option, if -/// any, used for query results. These are known as "client-side settings". If workgroup -/// settings override client-side settings, then the query uses the workgroup +///

          The location in Amazon S3 where query results are stored and the encryption +/// option, if any, used for query results. These are known as "client-side settings". If +/// workgroup settings override client-side settings, then the query uses the workgroup /// settings.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -778,16 +792,16 @@ pub struct ResultConfiguration { ///

          The location in Amazon S3 where your query results are stored, such as /// s3://path/to/query/bucket/. To run the query, you must specify the /// query results location using one of the ways: either for individual queries using either - /// this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena issues an error - /// that no output location is provided. For more information, see Query Results. If + /// this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena + /// issues an error that no output location is provided. For more information, see Query Results. If /// workgroup settings override client-side settings, then the query uses the settings /// specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub output_location: std::option::Option, - ///

          If query results are encrypted in Amazon S3, indicates the encryption option used (for - /// example, SSE-KMS or CSE-KMS) and key information. This is a - /// client-side setting. If workgroup settings override client-side settings, then the query - /// uses the encryption configuration that is specified for the workgroup, and also uses the - /// location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

          + ///

          If query results are encrypted in Amazon S3, indicates the encryption option + /// used (for example, SSE-KMS or CSE-KMS) and key information. + /// This is a client-side setting. If workgroup settings override client-side settings, then + /// the query uses the encryption configuration that is specified for the workgroup, and + /// also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

          pub encryption_configuration: std::option::Option, } impl std::fmt::Debug for ResultConfiguration { @@ -812,8 +826,8 @@ pub mod result_configuration { ///

          The location in Amazon S3 where your query results are stored, such as /// s3://path/to/query/bucket/. To run the query, you must specify the /// query results location using one of the ways: either for individual queries using either - /// this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena issues an error - /// that no output location is provided. For more information, see Query Results. If + /// this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena + /// issues an error that no output location is provided. For more information, see Query Results. If /// workgroup settings override client-side settings, then the query uses the settings /// specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub fn output_location(mut self, input: impl Into) -> Self { @@ -827,11 +841,11 @@ pub mod result_configuration { self.output_location = input; self } - ///

          If query results are encrypted in Amazon S3, indicates the encryption option used (for - /// example, SSE-KMS or CSE-KMS) and key information. This is a - /// client-side setting. If workgroup settings override client-side settings, then the query - /// uses the encryption configuration that is specified for the workgroup, and also uses the - /// location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

          + ///

          If query results are encrypted in Amazon S3, indicates the encryption option + /// used (for example, SSE-KMS or CSE-KMS) and key information. + /// This is a client-side setting. If workgroup settings override client-side settings, then + /// the query uses the encryption configuration that is specified for the workgroup, and + /// also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

          pub fn encryption_configuration( mut self, input: crate::model::EncryptionConfiguration, @@ -866,7 +880,7 @@ impl ResultConfiguration { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct QueryExecutionContext { - ///

          The name of the database used in the query execution.

          + ///

          The name of the database used in the query execution. The database must exist in the catalog.

          pub database: std::option::Option, ///

          The name of the data catalog used in the query execution.

          pub catalog: std::option::Option, @@ -889,7 +903,7 @@ pub mod query_execution_context { pub(crate) catalog: std::option::Option, } impl Builder { - ///

          The name of the database used in the query execution.

          + ///

          The name of the database used in the query execution. The database must exist in the catalog.

          pub fn database(mut self, input: impl Into) -> Self { self.database = Some(input.into()); self @@ -936,7 +950,9 @@ pub struct WorkGroupSummary { pub description: std::option::Option, ///

          The workgroup creation date and time.

          pub creation_time: std::option::Option, - ///

          The engine version setting for all queries on the workgroup. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version setting for all queries on the workgroup. Queries on the + /// AmazonAthenaPreviewFunctionality workgroup run on the preview engine + /// regardless of this setting.

          pub engine_version: std::option::Option, } impl std::fmt::Debug for WorkGroupSummary { @@ -1005,7 +1021,9 @@ pub mod work_group_summary { self.creation_time = input; self } - ///

          The engine version setting for all queries on the workgroup. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version setting for all queries on the workgroup. Queries on the + /// AmazonAthenaPreviewFunctionality workgroup run on the preview engine + /// regardless of this setting.

          pub fn engine_version(mut self, input: crate::model::EngineVersion) -> Self { self.engine_version = Some(input); self @@ -1046,7 +1064,8 @@ pub struct TableMetadata { pub create_time: std::option::Option, ///

          The last time the table was accessed.

          pub last_access_time: std::option::Option, - ///

          The type of table. In Athena, only EXTERNAL_TABLE is supported.

          + ///

          The type of table. In Athena, only EXTERNAL_TABLE is + /// supported.

          pub table_type: std::option::Option, ///

          A list of the columns in the table.

          pub columns: std::option::Option>, @@ -1119,7 +1138,8 @@ pub mod table_metadata { self.last_access_time = input; self } - ///

          The type of table. In Athena, only EXTERNAL_TABLE is supported.

          + ///

          The type of table. In Athena, only EXTERNAL_TABLE is + /// supported.

          pub fn table_type(mut self, input: impl Into) -> Self { self.table_type = Some(input.into()); self @@ -1492,10 +1512,10 @@ impl Database { /// configuration, listed under WorkGroup$Configuration. Each workgroup /// enables you to isolate queries for you or your group of users from other queries in the /// same account, to configure the query results location and the encryption configuration -/// (known as workgroup settings), to enable sending query metrics to Amazon CloudWatch, and -/// to establish per-query data usage control limits for all queries in a workgroup. The -/// workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) -/// in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          +/// (known as workgroup settings), to enable sending query metrics to Amazon CloudWatch, +/// and to establish per-query data usage control limits for all queries in a workgroup. The +/// workgroup settings override is specified in EnforceWorkGroupConfiguration +/// (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WorkGroup { @@ -1503,12 +1523,13 @@ pub struct WorkGroup { pub name: std::option::Option, ///

          The state of the workgroup: ENABLED or DISABLED.

          pub state: std::option::Option, - ///

          The configuration of the workgroup, which includes the location in Amazon S3 where - /// query results are stored, the encryption configuration, if any, used for query results; - /// whether the Amazon CloudWatch Metrics are enabled for the workgroup; whether workgroup - /// settings override client-side settings; and the data usage limits for the amount of data - /// scanned per query or per workgroup. The workgroup settings override is specified in - /// EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          + ///

          The configuration of the workgroup, which includes the location in Amazon S3 + /// where query results are stored, the encryption configuration, if any, used for query + /// results; whether the Amazon CloudWatch Metrics are enabled for the workgroup; + /// whether workgroup settings override client-side settings; and the data usage limits for + /// the amount of data scanned per query or per workgroup. The workgroup settings override + /// is specified in EnforceWorkGroupConfiguration (true/false) in the + /// WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub configuration: std::option::Option, ///

          The workgroup description.

          pub description: std::option::Option, @@ -1560,12 +1581,13 @@ pub mod work_group { self.state = input; self } - ///

          The configuration of the workgroup, which includes the location in Amazon S3 where - /// query results are stored, the encryption configuration, if any, used for query results; - /// whether the Amazon CloudWatch Metrics are enabled for the workgroup; whether workgroup - /// settings override client-side settings; and the data usage limits for the amount of data - /// scanned per query or per workgroup. The workgroup settings override is specified in - /// EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          + ///

          The configuration of the workgroup, which includes the location in Amazon S3 + /// where query results are stored, the encryption configuration, if any, used for query + /// results; whether the Amazon CloudWatch Metrics are enabled for the workgroup; + /// whether workgroup settings override client-side settings; and the data usage limits for + /// the amount of data scanned per query or per workgroup. The workgroup settings override + /// is specified in EnforceWorkGroupConfiguration (true/false) in the + /// WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          pub fn configuration(mut self, input: crate::model::WorkGroupConfiguration) -> Self { self.configuration = Some(input); self @@ -1617,22 +1639,23 @@ impl WorkGroup { } } -///

          The configuration of the workgroup, which includes the location in Amazon S3 where -/// query results are stored, the encryption option, if any, used for query results, whether -/// the Amazon CloudWatch Metrics are enabled for the workgroup and whether workgroup -/// settings override query settings, and the data usage limits for the amount of data -/// scanned per query or per workgroup. The workgroup settings override is specified in -/// EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          +///

          The configuration of the workgroup, which includes the location in Amazon S3 +/// where query results are stored, the encryption option, if any, used for query results, +/// whether the Amazon CloudWatch Metrics are enabled for the workgroup and whether +/// workgroup settings override query settings, and the data usage limits for the amount of +/// data scanned per query or per workgroup. The workgroup settings override is specified in +/// EnforceWorkGroupConfiguration (true/false) in the +/// WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WorkGroupConfiguration { - ///

          The configuration for the workgroup, which includes the location in Amazon S3 where - /// query results are stored and the encryption option, if any, used for query results. To - /// run the query, you must specify the query results location using one of the ways: either - /// in the workgroup using this setting, or for individual queries (client-side), using - /// ResultConfiguration$OutputLocation. If none of them is set, Athena - /// issues an error that no output location is provided. For more information, see Query - /// Results.

          + ///

          The configuration for the workgroup, which includes the location in Amazon S3 + /// where query results are stored and the encryption option, if any, used for query + /// results. To run the query, you must specify the query results location using one of the + /// ways: either in the workgroup using this setting, or for individual queries + /// (client-side), using ResultConfiguration$OutputLocation. If none of + /// them is set, Athena issues an error that no output location is provided. For + /// more information, see Query Results.

          pub result_configuration: std::option::Option, ///

          If set to "true", the settings for the workgroup override client-side settings. If set /// to "false", client-side settings are used. For more information, see Workgroup Settings Override Client-Side Settings.

          @@ -1643,14 +1666,16 @@ pub struct WorkGroupConfiguration { /// workgroup is allowed to scan.

          pub bytes_scanned_cutoff_per_query: std::option::Option, ///

          If set to true, allows members assigned to a workgroup to reference - /// Amazon S3 Requester Pays buckets in queries. If set to false, workgroup - /// members cannot query data from Requester Pays buckets, and queries that retrieve data - /// from Requester Pays buckets cause an error. The default is false. For more - /// information about Requester Pays buckets, see Requester Pays Buckets - /// in the Amazon Simple Storage Service Developer Guide.

          + /// Amazon S3 Requester Pays buckets in queries. If set to false, + /// workgroup members cannot query data from Requester Pays buckets, and queries that + /// retrieve data from Requester Pays buckets cause an error. The default is + /// false. For more information about Requester Pays buckets, see Requester + /// Pays Buckets in the Amazon Simple Storage Service Developer + /// Guide.

          pub requester_pays_enabled: std::option::Option, - ///

          The engine version that all queries running on - /// the workgroup use. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version that all queries running on the workgroup use. Queries on the + /// AmazonAthenaPreviewFunctionality workgroup run on the preview engine + /// regardless of this setting.

          pub engine_version: std::option::Option, } impl std::fmt::Debug for WorkGroupConfiguration { @@ -1688,13 +1713,13 @@ pub mod work_group_configuration { pub(crate) engine_version: std::option::Option, } impl Builder { - ///

          The configuration for the workgroup, which includes the location in Amazon S3 where - /// query results are stored and the encryption option, if any, used for query results. To - /// run the query, you must specify the query results location using one of the ways: either - /// in the workgroup using this setting, or for individual queries (client-side), using - /// ResultConfiguration$OutputLocation. If none of them is set, Athena - /// issues an error that no output location is provided. For more information, see Query - /// Results.

          + ///

          The configuration for the workgroup, which includes the location in Amazon S3 + /// where query results are stored and the encryption option, if any, used for query + /// results. To run the query, you must specify the query results location using one of the + /// ways: either in the workgroup using this setting, or for individual queries + /// (client-side), using ResultConfiguration$OutputLocation. If none of + /// them is set, Athena issues an error that no output location is provided. For + /// more information, see Query Results.

          pub fn result_configuration(mut self, input: crate::model::ResultConfiguration) -> Self { self.result_configuration = Some(input); self @@ -1745,11 +1770,12 @@ pub mod work_group_configuration { self } ///

          If set to true, allows members assigned to a workgroup to reference - /// Amazon S3 Requester Pays buckets in queries. If set to false, workgroup - /// members cannot query data from Requester Pays buckets, and queries that retrieve data - /// from Requester Pays buckets cause an error. The default is false. For more - /// information about Requester Pays buckets, see Requester Pays Buckets - /// in the Amazon Simple Storage Service Developer Guide.

          + /// Amazon S3 Requester Pays buckets in queries. If set to false, + /// workgroup members cannot query data from Requester Pays buckets, and queries that + /// retrieve data from Requester Pays buckets cause an error. The default is + /// false. For more information about Requester Pays buckets, see Requester + /// Pays Buckets in the Amazon Simple Storage Service Developer + /// Guide.

          pub fn requester_pays_enabled(mut self, input: bool) -> Self { self.requester_pays_enabled = Some(input); self @@ -1758,8 +1784,9 @@ pub mod work_group_configuration { self.requester_pays_enabled = input; self } - ///

          The engine version that all queries running on - /// the workgroup use. Queries on the AmazonAthenaPreviewFunctionality workgroup run on the preview engine regardless of this setting.

          + ///

          The engine version that all queries running on the workgroup use. Queries on the + /// AmazonAthenaPreviewFunctionality workgroup run on the preview engine + /// regardless of this setting.

          pub fn engine_version(mut self, input: crate::model::EngineVersion) -> Self { self.engine_version = Some(input); self @@ -2260,12 +2287,13 @@ pub struct QueryExecution { /// statements. DML indicates DML (Data Manipulation Language) query /// statements, such as CREATE TABLE AS SELECT. UTILITY indicates /// query statements other than DDL and DML, such as SHOW CREATE TABLE, or - /// DESCRIBE .

          + /// DESCRIBE TABLE.

          pub statement_type: std::option::Option, - ///

          The location in Amazon S3 where query results were stored and the encryption option, - /// if any, used for query results. These are known as "client-side settings". If workgroup - /// settings override client-side settings, then the query uses the location for the query - /// results and the encryption configuration that are specified for the workgroup.

          + ///

          The location in Amazon S3 where query results were stored and the encryption + /// option, if any, used for query results. These are known as "client-side settings". If + /// workgroup settings override client-side settings, then the query uses the location for + /// the query results and the encryption configuration that are specified for the + /// workgroup.

          pub result_configuration: std::option::Option, ///

          The database in which the query execution occurred.

          pub query_execution_context: std::option::Option, @@ -2338,7 +2366,7 @@ pub mod query_execution { /// statements. DML indicates DML (Data Manipulation Language) query /// statements, such as CREATE TABLE AS SELECT. UTILITY indicates /// query statements other than DDL and DML, such as SHOW CREATE TABLE, or - /// DESCRIBE
          .

          + /// DESCRIBE TABLE.

          pub fn statement_type(mut self, input: crate::model::StatementType) -> Self { self.statement_type = Some(input); self @@ -2350,10 +2378,11 @@ pub mod query_execution { self.statement_type = input; self } - ///

          The location in Amazon S3 where query results were stored and the encryption option, - /// if any, used for query results. These are known as "client-side settings". If workgroup - /// settings override client-side settings, then the query uses the location for the query - /// results and the encryption configuration that are specified for the workgroup.

          + ///

          The location in Amazon S3 where query results were stored and the encryption + /// option, if any, used for query results. These are known as "client-side settings". If + /// workgroup settings override client-side settings, then the query uses the location for + /// the query results and the encryption configuration that are specified for the + /// workgroup.

          pub fn result_configuration(mut self, input: crate::model::ResultConfiguration) -> Self { self.result_configuration = Some(input); self @@ -2460,25 +2489,26 @@ pub struct QueryExecutionStatistics { ///

          The number of bytes in the data that was queried.

          pub data_scanned_in_bytes: std::option::Option, ///

          The location and file name of a data manifest file. The manifest file is saved to the - /// Athena query results location in Amazon S3. The manifest file tracks files that the - /// query wrote to Amazon S3. If the query fails, the manifest file also tracks files that - /// the query intended to write. The manifest is useful for identifying orphaned files - /// resulting from a failed query. For more information, see Working with Query Results, Output Files, and - /// Query History in the Amazon Athena User Guide.

          + /// Athena query results location in Amazon S3. The manifest file + /// tracks files that the query wrote to Amazon S3. If the query fails, the manifest + /// file also tracks files that the query intended to write. The manifest is useful for + /// identifying orphaned files resulting from a failed query. For more information, see + /// Working with Query + /// Results, Output Files, and Query History in the Amazon Athena User Guide.

          pub data_manifest_location: std::option::Option, ///

          The number of milliseconds that Athena took to run the query.

          pub total_execution_time_in_millis: std::option::Option, ///

          The number of milliseconds that the query was in your query queue waiting for - /// resources. Note that if transient errors occur, Athena might automatically add the query - /// back to the queue.

          + /// resources. Note that if transient errors occur, Athena might automatically + /// add the query back to the queue.

          pub query_queue_time_in_millis: std::option::Option, - ///

          The number of milliseconds that Athena took to plan the query processing flow. This - /// includes the time spent retrieving table partitions from the data source. Note that - /// because the query engine performs the query planning, query planning time is a subset of - /// engine processing time.

          + ///

          The number of milliseconds that Athena took to plan the query processing + /// flow. This includes the time spent retrieving table partitions from the data source. + /// Note that because the query engine performs the query planning, query planning time is a + /// subset of engine processing time.

          pub query_planning_time_in_millis: std::option::Option, - ///

          The number of milliseconds that Athena took to finalize and publish the query results - /// after the query engine finished running the query.

          + ///

          The number of milliseconds that Athena took to finalize and publish the + /// query results after the query engine finished running the query.

          pub service_processing_time_in_millis: std::option::Option, } impl std::fmt::Debug for QueryExecutionStatistics { @@ -2546,11 +2576,12 @@ pub mod query_execution_statistics { self } ///

          The location and file name of a data manifest file. The manifest file is saved to the - /// Athena query results location in Amazon S3. The manifest file tracks files that the - /// query wrote to Amazon S3. If the query fails, the manifest file also tracks files that - /// the query intended to write. The manifest is useful for identifying orphaned files - /// resulting from a failed query. For more information, see Working with Query Results, Output Files, and - /// Query History in the Amazon Athena User Guide.

          + /// Athena query results location in Amazon S3. The manifest file + /// tracks files that the query wrote to Amazon S3. If the query fails, the manifest + /// file also tracks files that the query intended to write. The manifest is useful for + /// identifying orphaned files resulting from a failed query. For more information, see + /// Working with Query + /// Results, Output Files, and Query History in the Amazon Athena User Guide.

          pub fn data_manifest_location(mut self, input: impl Into) -> Self { self.data_manifest_location = Some(input.into()); self @@ -2575,8 +2606,8 @@ pub mod query_execution_statistics { self } ///

          The number of milliseconds that the query was in your query queue waiting for - /// resources. Note that if transient errors occur, Athena might automatically add the query - /// back to the queue.

          + /// resources. Note that if transient errors occur, Athena might automatically + /// add the query back to the queue.

          pub fn query_queue_time_in_millis(mut self, input: i64) -> Self { self.query_queue_time_in_millis = Some(input); self @@ -2585,10 +2616,10 @@ pub mod query_execution_statistics { self.query_queue_time_in_millis = input; self } - ///

          The number of milliseconds that Athena took to plan the query processing flow. This - /// includes the time spent retrieving table partitions from the data source. Note that - /// because the query engine performs the query planning, query planning time is a subset of - /// engine processing time.

          + ///

          The number of milliseconds that Athena took to plan the query processing + /// flow. This includes the time spent retrieving table partitions from the data source. + /// Note that because the query engine performs the query planning, query planning time is a + /// subset of engine processing time.

          pub fn query_planning_time_in_millis(mut self, input: i64) -> Self { self.query_planning_time_in_millis = Some(input); self @@ -2600,8 +2631,8 @@ pub mod query_execution_statistics { self.query_planning_time_in_millis = input; self } - ///

          The number of milliseconds that Athena took to finalize and publish the query results - /// after the query engine finished running the query.

          + ///

          The number of milliseconds that Athena took to finalize and publish the + /// query results after the query engine finished running the query.

          pub fn service_processing_time_in_millis(mut self, input: i64) -> Self { self.service_processing_time_in_millis = Some(input); self @@ -2640,16 +2671,16 @@ impl QueryExecutionStatistics { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct QueryExecutionStatus { ///

          The state of query execution. QUEUED indicates that the query has been - /// submitted to the service, and Athena will execute the query as soon as resources are - /// available. RUNNING indicates that the query is in execution phase. - /// SUCCEEDED indicates that the query completed without errors. + /// submitted to the service, and Athena will execute the query as soon as + /// resources are available. RUNNING indicates that the query is in execution + /// phase. SUCCEEDED indicates that the query completed without errors. /// FAILED indicates that the query experienced an error and did not /// complete processing. CANCELLED indicates that a user input interrupted /// query execution.

          /// - ///

          Athena automatically retries your queries in cases of certain transient errors. As - /// a result, you may see the query state transition from RUNNING or - /// FAILED to QUEUED.

          + ///

          Athena automatically retries your queries in cases of certain + /// transient errors. As a result, you may see the query state transition from + /// RUNNING or FAILED to QUEUED.

          ///
          pub state: std::option::Option, ///

          Further detail about the status of the query.

          @@ -2682,16 +2713,16 @@ pub mod query_execution_status { } impl Builder { ///

          The state of query execution. QUEUED indicates that the query has been - /// submitted to the service, and Athena will execute the query as soon as resources are - /// available. RUNNING indicates that the query is in execution phase. - /// SUCCEEDED indicates that the query completed without errors. + /// submitted to the service, and Athena will execute the query as soon as + /// resources are available. RUNNING indicates that the query is in execution + /// phase. SUCCEEDED indicates that the query completed without errors. /// FAILED indicates that the query experienced an error and did not /// complete processing. CANCELLED indicates that a user input interrupted /// query execution.

          /// - ///

          Athena automatically retries your queries in cases of certain transient errors. As - /// a result, you may see the query state transition from RUNNING or - /// FAILED to QUEUED.

          + ///

          Athena automatically retries your queries in cases of certain + /// transient errors. As a result, you may see the query state transition from + /// RUNNING or FAILED to QUEUED.

          ///
          pub fn state(mut self, input: crate::model::QueryExecutionState) -> Self { self.state = Some(input); @@ -3106,22 +3137,21 @@ impl NamedQuery { } } -///

          Contains information about a data catalog in an AWS account.

          +///

          Contains information about a data catalog in an Amazon Web Services account.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DataCatalog { - ///

          The name of the data catalog. The catalog name must be unique for the AWS account and - /// can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

          + ///

          The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at sign, + /// or hyphen characters.

          pub name: std::option::Option, ///

          An optional description of the data catalog.

          pub description: std::option::Option, - ///

          The type of data catalog: LAMBDA for a federated catalog or - /// HIVE for an external hive metastore. GLUE refers to the - /// AwsDataCatalog that already exists in your account, of which you can - /// have only one.

          + ///

          The type of data catalog to create: LAMBDA for a federated catalog, + /// HIVE for an external hive metastore, or GLUE for an + /// Glue Data Catalog.

          pub r#type: std::option::Option, - ///

          Specifies the Lambda function or functions to use for the data catalog. This is a - /// mapping whose values depend on the catalog type.

          + ///

          Specifies the Lambda function or functions to use for the data catalog. + /// This is a mapping whose values depend on the catalog type.

          ///
            ///
          • ///

            For the HIVE data catalog type, use the following syntax. The @@ -3139,9 +3169,9 @@ pub struct DataCatalog { /// of required parameters, but not both.

            ///
              ///
            • - ///

              If you have one Lambda function that processes metadata and another - /// for reading the actual data, use the following syntax. Both parameters - /// are required.

              + ///

              If you have one Lambda function that processes metadata + /// and another for reading the actual data, use the following syntax. Both + /// parameters are required.

              ///

              /// metadata-function=lambda_arn, /// record-function=lambda_arn @@ -3149,9 +3179,8 @@ pub struct DataCatalog { ///

              ///
            • ///
            • - ///

              If you have a composite Lambda function that processes both metadata - /// and data, use the following syntax to specify your Lambda - /// function.

              + ///

              If you have a composite Lambda function that processes + /// both metadata and data, use the following syntax to specify your Lambda function.

              ///

              /// function=lambda_arn /// @@ -3159,6 +3188,30 @@ pub struct DataCatalog { ///

            • ///
            ///
          • + ///
          • + ///

            The GLUE type takes a catalog ID parameter and is required. The + /// + /// catalog_id + /// is the account ID of the + /// Amazon Web Services account to which the Glue catalog + /// belongs.

            + ///

            + /// catalog-id=catalog_id + /// + ///

            + ///
              + ///
            • + ///

              The GLUE data catalog type also applies to the default + /// AwsDataCatalog that already exists in your account, of + /// which you can have only one and cannot modify.

              + ///
            • + ///
            • + ///

              Queries that specify a Glue Data Catalog other than the default + /// AwsDataCatalog must be run on Athena engine + /// version 2.

              + ///
            • + ///
            + ///
          • ///
          pub parameters: std::option::Option>, @@ -3187,8 +3240,8 @@ pub mod data_catalog { >, } impl Builder { - ///

          The name of the data catalog. The catalog name must be unique for the AWS account and - /// can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

          + ///

          The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at sign, + /// or hyphen characters.

          pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -3206,10 +3259,9 @@ pub mod data_catalog { self.description = input; self } - ///

          The type of data catalog: LAMBDA for a federated catalog or - /// HIVE for an external hive metastore. GLUE refers to the - /// AwsDataCatalog that already exists in your account, of which you can - /// have only one.

          + ///

          The type of data catalog to create: LAMBDA for a federated catalog, + /// HIVE for an external hive metastore, or GLUE for an + /// Glue Data Catalog.

          pub fn r#type(mut self, input: crate::model::DataCatalogType) -> Self { self.r#type = Some(input); self diff --git a/sdk/athena/src/operation.rs b/sdk/athena/src/operation.rs index 3ae3cc9c6043..5d166dcae663 100644 --- a/sdk/athena/src/operation.rs +++ b/sdk/athena/src/operation.rs @@ -69,7 +69,7 @@ impl smithy_http::response::ParseStrictResponse for BatchGetQueryExecution { } ///

          Creates (registers) a data catalog with the specified name and properties. Catalogs -/// created are visible to all users of the same AWS account.

          +/// created are visible to all users of the same Amazon Web Services account.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDataCatalog { _private: (), @@ -99,8 +99,9 @@ impl smithy_http::response::ParseStrictResponse for CreateDataCatalog { ///

          Creates a named query in the specified workgroup. Requires that you have access to the /// workgroup.

          -///

          For code samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +///

          For code samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateNamedQuery { _private: (), @@ -214,8 +215,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteDataCatalog { ///

          Deletes the named query if you have access to the workgroup in which the query was /// saved.

          -///

          For code samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +///

          For code samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteNamedQuery { _private: (), @@ -440,19 +442,19 @@ impl smithy_http::response::ParseStrictResponse for GetQueryExecution { } ///

          Streams the results of a single query execution specified by -/// QueryExecutionId from the Athena query results location in Amazon S3. -/// For more information, see Query Results in the Amazon -/// Athena User Guide. This request does not execute the query but returns -/// results. Use StartQueryExecution to run a query.

          +/// QueryExecutionId from the Athena query results location in +/// Amazon S3. For more information, see Query Results in the Amazon Athena User Guide. This request does not execute the query +/// but returns results. Use StartQueryExecution to run a query.

          ///

          To stream query results successfully, the IAM principal with permission to call /// GetQueryResults also must have permissions to the Amazon S3 /// GetObject action for the Athena query results location.

          /// -///

          IAM principals with permission to the Amazon S3 GetObject action for -/// the query results location are able to retrieve query results from Amazon S3 even if -/// permission to the GetQueryResults action is denied. To restrict user or -/// role access, ensure that Amazon S3 permissions to the Athena query location are -/// denied.

          +///

          IAM principals with permission to the Amazon S3 +/// GetObject action for the query results location are able to retrieve +/// query results from Amazon S3 even if permission to the +/// GetQueryResults action is denied. To restrict user or role access, +/// ensure that Amazon S3 permissions to the Athena query location +/// are denied.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetQueryResults { @@ -561,7 +563,7 @@ impl smithy_http::response::ParseStrictResponse for ListDatabases { } } -///

          Lists the data catalogs in the current AWS account.

          +///

          Lists the data catalogs in the current Amazon Web Services account.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDataCatalogs { _private: (), @@ -621,8 +623,9 @@ impl smithy_http::response::ParseStrictResponse for ListEngineVersions { ///

          Provides a list of available query IDs only for queries saved in the specified /// workgroup. Requires that you have access to the specified workgroup. If a workgroup is /// not specified, lists the saved queries for the primary workgroup.

          -///

          For code samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +///

          For code samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListNamedQueries { _private: (), @@ -682,8 +685,9 @@ impl smithy_http::response::ParseStrictResponse for ListPreparedStatements { /// workgroup. If a workgroup is not specified, returns a list of query execution IDs for /// the primary workgroup. Requires you to have access to the workgroup in which the queries /// ran.

          -///

          For code samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +///

          For code samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListQueryExecutions { _private: (), @@ -739,7 +743,8 @@ impl smithy_http::response::ParseStrictResponse for ListTableMetadata { } } -///

          Lists the tags associated with an Athena workgroup or data catalog resource.

          +///

          Lists the tags associated with an Athena workgroup or data catalog +/// resource.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsForResource { _private: (), @@ -796,8 +801,9 @@ impl smithy_http::response::ParseStrictResponse for ListWorkGroups { ///

          Runs the SQL query statements contained in the Query. Requires you to /// have access to the workgroup in which the query ran. Running queries against an external /// catalog requires GetDataCatalog permission to the catalog. For code -/// samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +/// samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartQueryExecution { _private: (), @@ -827,8 +833,9 @@ impl smithy_http::response::ParseStrictResponse for StartQueryExecution { ///

          Stops a query execution. Requires you to have access to the workgroup in which the /// query ran.

          -///

          For code samples using the AWS SDK for Java, see Examples and -/// Code Samples in the Amazon Athena User Guide.

          +///

          For code samples using the Amazon Web Services SDK for Java, see Examples and +/// Code Samples in the Amazon Athena User +/// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StopQueryExecution { _private: (), @@ -856,12 +863,13 @@ impl smithy_http::response::ParseStrictResponse for StopQueryExecution { } } -///

          Adds one or more tags to an Athena resource. A tag is a label that you assign to a -/// resource. In Athena, a resource can be a workgroup or data catalog. Each tag consists of -/// a key and an optional value, both of which you define. For example, you can use tags to -/// categorize Athena workgroups or data catalogs by purpose, owner, or environment. Use a -/// consistent set of tag keys to make it easier to search and filter workgroups or data -/// catalogs in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode +///

          Adds one or more tags to an Athena resource. A tag is a label that you +/// assign to a resource. In Athena, a resource can be a workgroup or data +/// catalog. Each tag consists of a key and an optional value, both of which you define. For +/// example, you can use tags to categorize Athena workgroups or data catalogs +/// by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to +/// search and filter workgroups or data catalogs in your account. For best practices, see +/// Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode /// characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use /// letters and numbers representable in UTF-8, and the following characters: + - = . _ : / /// @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you diff --git a/sdk/athena/src/output.rs b/sdk/athena/src/output.rs index fa7b74192e92..8783646c5624 100644 --- a/sdk/athena/src/output.rs +++ b/sdk/athena/src/output.rs @@ -228,9 +228,9 @@ pub struct ListWorkGroupsOutput { ///

          A list of WorkGroupSummary objects that include the names, /// descriptions, creation times, and states for each workgroup.

          pub work_groups: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListWorkGroupsOutput { @@ -264,9 +264,9 @@ pub mod list_work_groups_output { self.work_groups = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -360,9 +360,9 @@ impl ListTagsForResourceOutput { pub struct ListTableMetadataOutput { ///

          A list of table metadata.

          pub table_metadata_list: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListTableMetadataOutput { @@ -400,9 +400,9 @@ pub mod list_table_metadata_output { self.table_metadata_list = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -497,9 +497,9 @@ pub struct ListPreparedStatementsOutput { ///

          The list of prepared statements for the workgroup.

          pub prepared_statements: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListPreparedStatementsOutput { @@ -537,9 +537,9 @@ pub mod list_prepared_statements_output { self.prepared_statements = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -569,9 +569,9 @@ impl ListPreparedStatementsOutput { pub struct ListNamedQueriesOutput { ///

          The list of unique query IDs.

          pub named_query_ids: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListNamedQueriesOutput { @@ -605,9 +605,9 @@ pub mod list_named_queries_output { self.named_query_ids = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -637,9 +637,9 @@ impl ListNamedQueriesOutput { pub struct ListEngineVersionsOutput { ///

          A list of engine versions that are available to choose from.

          pub engine_versions: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListEngineVersionsOutput { @@ -673,9 +673,9 @@ pub mod list_engine_versions_output { self.engine_versions = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -705,9 +705,9 @@ impl ListEngineVersionsOutput { pub struct ListDataCatalogsOutput { ///

          A summary list of data catalogs.

          pub data_catalogs_summary: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListDataCatalogsOutput { @@ -745,9 +745,9 @@ pub mod list_data_catalogs_output { self.data_catalogs_summary = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -777,9 +777,9 @@ impl ListDataCatalogsOutput { pub struct ListDatabasesOutput { ///

          A list of databases from a data catalog.

          pub database_list: std::option::Option>, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListDatabasesOutput { @@ -813,9 +813,9 @@ pub mod list_databases_output { self.database_list = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the NextToken - /// from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -941,13 +941,14 @@ impl GetTableMetadataOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetQueryResultsOutput { - ///

          The number of rows inserted with a CREATE TABLE AS SELECT statement.

          + ///

          The number of rows inserted with a CREATE TABLE AS SELECT statement. + ///

          pub update_count: std::option::Option, ///

          The results of the query execution.

          pub result_set: std::option::Option, - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub next_token: std::option::Option, } impl std::fmt::Debug for GetQueryResultsOutput { @@ -970,7 +971,8 @@ pub mod get_query_results_output { pub(crate) next_token: std::option::Option, } impl Builder { - ///

          The number of rows inserted with a CREATE TABLE AS SELECT statement.

          + ///

          The number of rows inserted with a CREATE TABLE AS SELECT statement. + ///

          pub fn update_count(mut self, input: i64) -> Self { self.update_count = Some(input); self @@ -991,9 +993,9 @@ pub mod get_query_results_output { self.result_set = input; self } - ///

          A token generated by the Athena service that specifies where to continue pagination if - /// a previous request was truncated. To obtain the next set of pages, pass in the - /// NextToken from the response object of the previous page call.

          + ///

          A token generated by the Athena service that specifies where to continue + /// pagination if a previous request was truncated. To obtain the next set of pages, pass in + /// the NextToken from the response object of the previous page call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self diff --git a/sdk/auditmanager/Cargo.toml b/sdk/auditmanager/Cargo.toml index da78499862f4..16dba876cfc0 100644 --- a/sdk/auditmanager/Cargo.toml +++ b/sdk/auditmanager/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-auditmanager" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

          \n

          Audit Manager is a service that provides automated evidence collection so that you\n can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to\n better manage risk and simplify compliance.

          \n

          Audit Manager provides pre-built frameworks that structure and automate assessments\n for a given compliance standard. Frameworks include a pre-built collection of controls with\n descriptions and testing procedures, which are grouped according to the requirements of the\n specified compliance standard or regulation. You can also customize frameworks and controls\n to support internal audits with unique requirements.

          \n \n

          Use the following links to get started with the Audit Manager API:

          \n
            \n
          • \n

            \n Actions: An alphabetical list of all Audit Manager API operations.

            \n
          • \n
          • \n

            \n Data types: An alphabetical list of all Audit Manager data types.

            \n
          • \n
          • \n

            \n Common parameters: Parameters that all Query operations can use.

            \n
          • \n
          • \n

            \n Common errors: Client and server errors that all operations can return.

            \n
          • \n
          \n \n

          If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/autoscaling/Cargo.toml b/sdk/autoscaling/Cargo.toml index b660c880d861..675d65b1cd65 100644 --- a/sdk/autoscaling/Cargo.toml +++ b/sdk/autoscaling/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-autoscaling" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon EC2 Auto Scaling\n \n \n \n \n \n\n \n

          Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

          \n

          For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required\n permissions for calls to Amazon EC2 Auto Scaling, see Granting\n IAM users required permissions for Amazon EC2 Auto Scaling resources in the\n Amazon EC2 Auto Scaling API Reference.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/autoscaling/src/client.rs b/sdk/autoscaling/src/client.rs index c1f1becdc14b..1ed65ca1046d 100644 --- a/sdk/autoscaling/src/client.rs +++ b/sdk/autoscaling/src/client.rs @@ -5000,11 +5000,10 @@ pub mod fluent_builders { } ///

          The strategy to use for the instance refresh. The only valid value is /// Rolling.

          - ///

          A rolling update is an update that is applied to all instances in an Auto Scaling group until - /// all instances have been updated. A rolling update can fail due to failed health checks - /// or if instances are on standby or are protected from scale in. If the rolling update - /// process fails, any instances that were already replaced are not rolled back to their - /// previous configuration.

          + ///

          A rolling update helps you update your instances gradually. A rolling update can fail + /// due to failed health checks or if instances are on standby or are protected from scale + /// in. If the rolling update process fails, any instances that are replaced are not rolled + /// back to their previous configuration.

          pub fn strategy(mut self, input: crate::model::RefreshStrategy) -> Self { self.inner = self.inner.strategy(input); self @@ -5016,12 +5015,31 @@ pub mod fluent_builders { self.inner = self.inner.set_strategy(input); self } - ///

          Set of preferences associated with the instance refresh request.

          - ///

          If not provided, the default values are used. For MinHealthyPercentage, - /// the default value is 90. For InstanceWarmup, the default is to - /// use the value specified for the health check grace period for the Auto Scaling group.

          - ///

          For more information, see RefreshPreferences in the Amazon EC2 Auto Scaling API - /// Reference.

          + ///

          The desired configuration. For example, the desired configuration can specify a new + /// launch template or a new version of the current launch template.

          + ///

          Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates the settings of the Auto Scaling group to + /// reflect the new desired configuration.

          + /// + ///

          When you specify a new launch template or a new version of the current launch + /// template for your desired configuration, consider enabling the + /// SkipMatching property in preferences. If it's enabled, Amazon EC2 Auto Scaling + /// skips replacing instances that already use the specified launch template and + /// version. This can help you reduce the number of replacements that are required to + /// apply updates.

          + ///
          + pub fn desired_configuration(mut self, input: crate::model::DesiredConfiguration) -> Self { + self.inner = self.inner.desired_configuration(input); + self + } + pub fn set_desired_configuration( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_desired_configuration(input); + self + } + ///

          Set of preferences associated with the instance refresh request. If not provided, the + /// default values are used.

          pub fn preferences(mut self, input: crate::model::RefreshPreferences) -> Self { self.inner = self.inner.preferences(input); self diff --git a/sdk/autoscaling/src/input.rs b/sdk/autoscaling/src/input.rs index 1085995779c0..d6250ef7f1f7 100644 --- a/sdk/autoscaling/src/input.rs +++ b/sdk/autoscaling/src/input.rs @@ -10038,6 +10038,7 @@ pub mod start_instance_refresh_input { pub struct Builder { pub(crate) auto_scaling_group_name: std::option::Option, pub(crate) strategy: std::option::Option, + pub(crate) desired_configuration: std::option::Option, pub(crate) preferences: std::option::Option, } impl Builder { @@ -10055,11 +10056,10 @@ pub mod start_instance_refresh_input { } ///

          The strategy to use for the instance refresh. The only valid value is /// Rolling.

          - ///

          A rolling update is an update that is applied to all instances in an Auto Scaling group until - /// all instances have been updated. A rolling update can fail due to failed health checks - /// or if instances are on standby or are protected from scale in. If the rolling update - /// process fails, any instances that were already replaced are not rolled back to their - /// previous configuration.

          + ///

          A rolling update helps you update your instances gradually. A rolling update can fail + /// due to failed health checks or if instances are on standby or are protected from scale + /// in. If the rolling update process fails, any instances that are replaced are not rolled + /// back to their previous configuration.

          pub fn strategy(mut self, input: crate::model::RefreshStrategy) -> Self { self.strategy = Some(input); self @@ -10071,12 +10071,31 @@ pub mod start_instance_refresh_input { self.strategy = input; self } - ///

          Set of preferences associated with the instance refresh request.

          - ///

          If not provided, the default values are used. For MinHealthyPercentage, - /// the default value is 90. For InstanceWarmup, the default is to - /// use the value specified for the health check grace period for the Auto Scaling group.

          - ///

          For more information, see RefreshPreferences in the Amazon EC2 Auto Scaling API - /// Reference.

          + ///

          The desired configuration. For example, the desired configuration can specify a new + /// launch template or a new version of the current launch template.

          + ///

          Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates the settings of the Auto Scaling group to + /// reflect the new desired configuration.

          + /// + ///

          When you specify a new launch template or a new version of the current launch + /// template for your desired configuration, consider enabling the + /// SkipMatching property in preferences. If it's enabled, Amazon EC2 Auto Scaling + /// skips replacing instances that already use the specified launch template and + /// version. This can help you reduce the number of replacements that are required to + /// apply updates.

          + ///
          + pub fn desired_configuration(mut self, input: crate::model::DesiredConfiguration) -> Self { + self.desired_configuration = Some(input); + self + } + pub fn set_desired_configuration( + mut self, + input: std::option::Option, + ) -> Self { + self.desired_configuration = input; + self + } + ///

          Set of preferences associated with the instance refresh request. If not provided, the + /// default values are used.

          pub fn preferences(mut self, input: crate::model::RefreshPreferences) -> Self { self.preferences = Some(input); self @@ -10098,6 +10117,7 @@ pub mod start_instance_refresh_input { Ok(crate::input::StartInstanceRefreshInput { auto_scaling_group_name: self.auto_scaling_group_name, strategy: self.strategy, + desired_configuration: self.desired_configuration, preferences: self.preferences, }) } @@ -11136,18 +11156,26 @@ pub struct StartInstanceRefreshInput { pub auto_scaling_group_name: std::option::Option, ///

          The strategy to use for the instance refresh. The only valid value is /// Rolling.

          - ///

          A rolling update is an update that is applied to all instances in an Auto Scaling group until - /// all instances have been updated. A rolling update can fail due to failed health checks - /// or if instances are on standby or are protected from scale in. If the rolling update - /// process fails, any instances that were already replaced are not rolled back to their - /// previous configuration.

          + ///

          A rolling update helps you update your instances gradually. A rolling update can fail + /// due to failed health checks or if instances are on standby or are protected from scale + /// in. If the rolling update process fails, any instances that are replaced are not rolled + /// back to their previous configuration.

          pub strategy: std::option::Option, - ///

          Set of preferences associated with the instance refresh request.

          - ///

          If not provided, the default values are used. For MinHealthyPercentage, - /// the default value is 90. For InstanceWarmup, the default is to - /// use the value specified for the health check grace period for the Auto Scaling group.

          - ///

          For more information, see RefreshPreferences in the Amazon EC2 Auto Scaling API - /// Reference.

          + ///

          The desired configuration. For example, the desired configuration can specify a new + /// launch template or a new version of the current launch template.

          + ///

          Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates the settings of the Auto Scaling group to + /// reflect the new desired configuration.

          + /// + ///

          When you specify a new launch template or a new version of the current launch + /// template for your desired configuration, consider enabling the + /// SkipMatching property in preferences. If it's enabled, Amazon EC2 Auto Scaling + /// skips replacing instances that already use the specified launch template and + /// version. This can help you reduce the number of replacements that are required to + /// apply updates.

          + ///
          + pub desired_configuration: std::option::Option, + ///

          Set of preferences associated with the instance refresh request. If not provided, the + /// default values are used.

          pub preferences: std::option::Option, } impl std::fmt::Debug for StartInstanceRefreshInput { @@ -11155,6 +11183,7 @@ impl std::fmt::Debug for StartInstanceRefreshInput { let mut formatter = f.debug_struct("StartInstanceRefreshInput"); formatter.field("auto_scaling_group_name", &self.auto_scaling_group_name); formatter.field("strategy", &self.strategy); + formatter.field("desired_configuration", &self.desired_configuration); formatter.field("preferences", &self.preferences); formatter.finish() } diff --git a/sdk/autoscaling/src/model.rs b/sdk/autoscaling/src/model.rs index 917f00c3e19a..af9698cf4488 100644 --- a/sdk/autoscaling/src/model.rs +++ b/sdk/autoscaling/src/model.rs @@ -1,18 +1,15 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -///

          Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling -/// group can provision a combination of On-Demand Instances and Spot Instances across -/// multiple instance types. For more information, see Auto Scaling groups with multiple +///

          Describes a mixed instances policy. A mixed instances policy contains the instance +/// types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to +/// help you optimize your costs. For more information, see Auto Scaling groups with multiple /// instance types and purchase options in the Amazon EC2 Auto Scaling User /// Guide.

          -///

          You can create a mixed instances policy for a new Auto Scaling group, or you can create it for -/// an existing group by updating the group to specify MixedInstancesPolicy as -/// the top-level property instead of a launch configuration or launch template.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct MixedInstancesPolicy { - ///

          Specifies the launch template to use and optionally the instance types (overrides) - /// that are used to provision EC2 instances to fulfill On-Demand and Spot capacities. - /// Required when creating a mixed instances policy.

          + ///

          Specifies the launch template to use and the instance types (overrides) that are used + /// to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when + /// creating a mixed instances policy.

          pub launch_template: std::option::Option, ///

          Specifies the instances distribution. If not provided, the value for each property in /// InstancesDistribution uses a default value.

          @@ -36,9 +33,9 @@ pub mod mixed_instances_policy { pub(crate) instances_distribution: std::option::Option, } impl Builder { - ///

          Specifies the launch template to use and optionally the instance types (overrides) - /// that are used to provision EC2 instances to fulfill On-Demand and Spot capacities. - /// Required when creating a mixed instances policy.

          + ///

          Specifies the launch template to use and the instance types (overrides) that are used + /// to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when + /// creating a mixed instances policy.

          pub fn launch_template(mut self, input: crate::model::LaunchTemplate) -> Self { self.launch_template = Some(input); self @@ -86,13 +83,13 @@ impl MixedInstancesPolicy { ///

          The instances distribution specifies the distribution of On-Demand Instances and Spot /// Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates /// instance types to fulfill On-Demand and Spot capacities.

          -///

          When you update SpotAllocationStrategy, SpotInstancePools, -/// or SpotMaxPrice, this update action does not deploy any changes across the -/// running Amazon EC2 instances in the group. Your existing Spot Instances continue to run -/// as long as the maximum price for those instances is higher than the current Spot price. -/// When scale out occurs, Amazon EC2 Auto Scaling launches instances based on the new settings. When scale -/// in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination -/// policies.

          +///

          When you modify SpotAllocationStrategy, SpotInstancePools, +/// or SpotMaxPrice in the UpdateAutoScalingGroup API call, +/// this update action does not deploy any changes across the running Amazon EC2 instances +/// in the group. Your existing Spot Instances continue to run as long as the maximum price +/// for those instances is higher than the current Spot price. When scale out occurs, +/// Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling +/// terminates instances according to the group's termination policies.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InstancesDistribution { @@ -293,7 +290,7 @@ impl InstancesDistribution { ///

          Describes a launch template and overrides.

          ///

          You specify these properties as part of a mixed instances policy.

          -///

          When you update the launch template or overrides, existing Amazon EC2 instances continue to +///

          When you update the launch template or overrides in the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to /// run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When /// scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination /// policies.

          @@ -506,11 +503,9 @@ impl LaunchTemplateOverrides { } } -///

          Describes the Amazon EC2 launch template and the launch template version that can be used -/// by an Auto Scaling group to configure Amazon EC2 instances.

          -///

          The launch template that is specified must be configured for use with an Auto Scaling group. -/// For more information, see Creating a launch -/// template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

          +///

          Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling +/// uses to launch Amazon EC2 instances. For more information about launch templates, see Launch +/// templates in the Amazon EC2 Auto Scaling User Guide.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LaunchTemplateSpecification { @@ -933,17 +928,17 @@ impl AsRef for ScalingActivityStatusCode { } } -///

          Describes information used to start an instance refresh.

          -///

          All properties are optional. However, if you specify a value for -/// CheckpointDelay, you must also provide a value for -/// CheckpointPercentages.

          +///

          Describes the preferences for an instance refresh.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RefreshPreferences { ///

          The amount of capacity in the Auto Scaling group that must remain healthy during an instance - /// refresh to allow the operation to continue, as a percentage of the desired capacity of - /// the Auto Scaling group (rounded up to the nearest integer). The default is 90. - ///

          + /// refresh to allow the operation to continue. The value is expressed as a percentage of + /// the desired capacity of the Auto Scaling group (rounded up to the nearest integer). The default + /// is 90.

          + ///

          Setting the minimum healthy percentage to 100 percent limits the rate of replacement + /// to one instance at a time. In contrast, setting it to 0 percent has the effect of + /// replacing all instances at the same time.

          pub min_healthy_percentage: std::option::Option, ///

          The number of seconds until a newly launched instance is configured and ready to use. /// During this time, Amazon EC2 Auto Scaling does not immediately move on to the next replacement. The @@ -963,6 +958,12 @@ pub struct RefreshPreferences { /// CheckpointPercentages and not for CheckpointDelay, the /// CheckpointDelay defaults to 3600 (1 hour).

          pub checkpoint_delay: std::option::Option, + ///

          A boolean value that indicates whether skip matching is enabled. If true, then + /// Amazon EC2 Auto Scaling skips replacing instances that match the desired configuration. If no desired + /// configuration is specified, then it skips replacing instances that have the same + /// configuration that is already set on the group. The default is + /// false.

          + pub skip_matching: std::option::Option, } impl std::fmt::Debug for RefreshPreferences { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -971,6 +972,7 @@ impl std::fmt::Debug for RefreshPreferences { formatter.field("instance_warmup", &self.instance_warmup); formatter.field("checkpoint_percentages", &self.checkpoint_percentages); formatter.field("checkpoint_delay", &self.checkpoint_delay); + formatter.field("skip_matching", &self.skip_matching); formatter.finish() } } @@ -984,12 +986,16 @@ pub mod refresh_preferences { pub(crate) instance_warmup: std::option::Option, pub(crate) checkpoint_percentages: std::option::Option>, pub(crate) checkpoint_delay: std::option::Option, + pub(crate) skip_matching: std::option::Option, } impl Builder { ///

          The amount of capacity in the Auto Scaling group that must remain healthy during an instance - /// refresh to allow the operation to continue, as a percentage of the desired capacity of - /// the Auto Scaling group (rounded up to the nearest integer). The default is 90. - ///

          + /// refresh to allow the operation to continue. The value is expressed as a percentage of + /// the desired capacity of the Auto Scaling group (rounded up to the nearest integer). The default + /// is 90.

          + ///

          Setting the minimum healthy percentage to 100 percent limits the rate of replacement + /// to one instance at a time. In contrast, setting it to 0 percent has the effect of + /// replacing all instances at the same time.

          pub fn min_healthy_percentage(mut self, input: i32) -> Self { self.min_healthy_percentage = Some(input); self @@ -1036,6 +1042,19 @@ pub mod refresh_preferences { self.checkpoint_delay = input; self } + ///

          A boolean value that indicates whether skip matching is enabled. If true, then + /// Amazon EC2 Auto Scaling skips replacing instances that match the desired configuration. If no desired + /// configuration is specified, then it skips replacing instances that have the same + /// configuration that is already set on the group. The default is + /// false.

          + pub fn skip_matching(mut self, input: bool) -> Self { + self.skip_matching = Some(input); + self + } + pub fn set_skip_matching(mut self, input: std::option::Option) -> Self { + self.skip_matching = input; + self + } /// Consumes the builder and constructs a [`RefreshPreferences`](crate::model::RefreshPreferences) pub fn build(self) -> crate::model::RefreshPreferences { crate::model::RefreshPreferences { @@ -1043,6 +1062,7 @@ pub mod refresh_preferences { instance_warmup: self.instance_warmup, checkpoint_percentages: self.checkpoint_percentages, checkpoint_delay: self.checkpoint_delay, + skip_matching: self.skip_matching, } } } @@ -1054,6 +1074,87 @@ impl RefreshPreferences { } } +///

          Describes the desired configuration for an instance refresh.

          +///

          If you specify a desired configuration, you must specify either a +/// LaunchTemplate or a MixedInstancesPolicy.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DesiredConfiguration { + ///

          Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling + /// uses to launch Amazon EC2 instances. For more information about launch templates, see Launch + /// templates in the Amazon EC2 Auto Scaling User Guide.

          + pub launch_template: std::option::Option, + ///

          Describes a mixed instances policy. A mixed instances policy contains the instance + /// types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to + /// help you optimize your costs. For more information, see Auto Scaling groups with multiple + /// instance types and purchase options in the Amazon EC2 Auto Scaling User + /// Guide.

          + pub mixed_instances_policy: std::option::Option, +} +impl std::fmt::Debug for DesiredConfiguration { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DesiredConfiguration"); + formatter.field("launch_template", &self.launch_template); + formatter.field("mixed_instances_policy", &self.mixed_instances_policy); + formatter.finish() + } +} +/// See [`DesiredConfiguration`](crate::model::DesiredConfiguration) +pub mod desired_configuration { + /// A builder for [`DesiredConfiguration`](crate::model::DesiredConfiguration) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) launch_template: std::option::Option, + pub(crate) mixed_instances_policy: std::option::Option, + } + impl Builder { + ///

          Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling + /// uses to launch Amazon EC2 instances. For more information about launch templates, see Launch + /// templates in the Amazon EC2 Auto Scaling User Guide.

          + pub fn launch_template(mut self, input: crate::model::LaunchTemplateSpecification) -> Self { + self.launch_template = Some(input); + self + } + pub fn set_launch_template( + mut self, + input: std::option::Option, + ) -> Self { + self.launch_template = input; + self + } + ///

          Describes a mixed instances policy. A mixed instances policy contains the instance + /// types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to + /// help you optimize your costs. For more information, see Auto Scaling groups with multiple + /// instance types and purchase options in the Amazon EC2 Auto Scaling User + /// Guide.

          + pub fn mixed_instances_policy(mut self, input: crate::model::MixedInstancesPolicy) -> Self { + self.mixed_instances_policy = Some(input); + self + } + pub fn set_mixed_instances_policy( + mut self, + input: std::option::Option, + ) -> Self { + self.mixed_instances_policy = input; + self + } + /// Consumes the builder and constructs a [`DesiredConfiguration`](crate::model::DesiredConfiguration) + pub fn build(self) -> crate::model::DesiredConfiguration { + crate::model::DesiredConfiguration { + launch_template: self.launch_template, + mixed_instances_policy: self.mixed_instances_policy, + } + } + } +} +impl DesiredConfiguration { + /// Creates a new builder-style object to manufacture [`DesiredConfiguration`](crate::model::DesiredConfiguration) + pub fn builder() -> crate::model::desired_configuration::Builder { + crate::model::desired_configuration::Builder::default() + } +} + #[non_exhaustive] #[derive( std::clone::Clone, @@ -6512,6 +6613,10 @@ pub struct InstanceRefresh { pub instances_to_update: std::option::Option, ///

          Additional progress details for an Auto Scaling group that has a warm pool.

          pub progress_details: std::option::Option, + ///

          Describes the preferences for an instance refresh.

          + pub preferences: std::option::Option, + ///

          Describes the specific update you want to deploy.

          + pub desired_configuration: std::option::Option, } impl std::fmt::Debug for InstanceRefresh { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -6525,6 +6630,8 @@ impl std::fmt::Debug for InstanceRefresh { formatter.field("percentage_complete", &self.percentage_complete); formatter.field("instances_to_update", &self.instances_to_update); formatter.field("progress_details", &self.progress_details); + formatter.field("preferences", &self.preferences); + formatter.field("desired_configuration", &self.desired_configuration); formatter.finish() } } @@ -6544,6 +6651,8 @@ pub mod instance_refresh { pub(crate) instances_to_update: std::option::Option, pub(crate) progress_details: std::option::Option, + pub(crate) preferences: std::option::Option, + pub(crate) desired_configuration: std::option::Option, } impl Builder { ///

          The instance refresh ID.

          @@ -6679,6 +6788,30 @@ pub mod instance_refresh { self.progress_details = input; self } + ///

          Describes the preferences for an instance refresh.

          + pub fn preferences(mut self, input: crate::model::RefreshPreferences) -> Self { + self.preferences = Some(input); + self + } + pub fn set_preferences( + mut self, + input: std::option::Option, + ) -> Self { + self.preferences = input; + self + } + ///

          Describes the specific update you want to deploy.

          + pub fn desired_configuration(mut self, input: crate::model::DesiredConfiguration) -> Self { + self.desired_configuration = Some(input); + self + } + pub fn set_desired_configuration( + mut self, + input: std::option::Option, + ) -> Self { + self.desired_configuration = input; + self + } /// Consumes the builder and constructs a [`InstanceRefresh`](crate::model::InstanceRefresh) pub fn build(self) -> crate::model::InstanceRefresh { crate::model::InstanceRefresh { @@ -6691,6 +6824,8 @@ pub mod instance_refresh { percentage_complete: self.percentage_complete, instances_to_update: self.instances_to_update, progress_details: self.progress_details, + preferences: self.preferences, + desired_configuration: self.desired_configuration, } } } diff --git a/sdk/autoscaling/src/operation.rs b/sdk/autoscaling/src/operation.rs index 37798919167b..ebc8077c9b31 100644 --- a/sdk/autoscaling/src/operation.rs +++ b/sdk/autoscaling/src/operation.rs @@ -1999,11 +1999,16 @@ impl smithy_http::response::ParseStrictResponse for SetInstanceProtection { } } -///

          Starts a new instance refresh operation, which triggers a rolling replacement of -/// previously launched instances in the Auto Scaling group with a new group of instances.

          +///

          Starts a new instance refresh operation. An instance refresh performs a rolling +/// replacement of all or some instances in an Auto Scaling group. Each instance is terminated first +/// and then replaced, which temporarily reduces the capacity available within your Auto Scaling +/// group.

          ///

          This operation is part of the instance refresh -/// feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group -/// after you make configuration changes.

          +/// feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group. +/// This feature is helpful, for example, when you have a new AMI or a new user data script. +/// You just need to create a new launch template that specifies the new AMI or user data +/// script. Then start an instance refresh to immediately begin the process of updating +/// instances in the group.

          ///

          If the call succeeds, it creates a new instance refresh request with a unique ID that /// you can use to track its progress. To query its status, call the DescribeInstanceRefreshes API. To describe the instance refreshes that /// have already run, call the DescribeInstanceRefreshes API. To cancel an diff --git a/sdk/autoscaling/src/operation_ser.rs b/sdk/autoscaling/src/operation_ser.rs index 0d87860c3f70..2177df7ca428 100644 --- a/sdk/autoscaling/src/operation_ser.rs +++ b/sdk/autoscaling/src/operation_ser.rs @@ -1964,9 +1964,14 @@ pub fn serialize_operation_start_instance_refresh( scope_517.string(var_518.as_str()); } #[allow(unused_mut)] - let mut scope_519 = writer.prefix("Preferences"); - if let Some(var_520) = &input.preferences { - crate::query_ser::serialize_structure_refresh_preferences(scope_519, var_520); + let mut scope_519 = writer.prefix("DesiredConfiguration"); + if let Some(var_520) = &input.desired_configuration { + crate::query_ser::serialize_structure_desired_configuration(scope_519, var_520); + } + #[allow(unused_mut)] + let mut scope_521 = writer.prefix("Preferences"); + if let Some(var_522) = &input.preferences { + crate::query_ser::serialize_structure_refresh_preferences(scope_521, var_522); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -1979,20 +1984,20 @@ pub fn serialize_operation_suspend_processes( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "SuspendProcesses", "2011-01-01"); #[allow(unused_mut)] - let mut scope_521 = writer.prefix("AutoScalingGroupName"); - if let Some(var_522) = &input.auto_scaling_group_name { - scope_521.string(var_522); + let mut scope_523 = writer.prefix("AutoScalingGroupName"); + if let Some(var_524) = &input.auto_scaling_group_name { + scope_523.string(var_524); } #[allow(unused_mut)] - let mut scope_523 = writer.prefix("ScalingProcesses"); - if let Some(var_524) = &input.scaling_processes { - let mut list_526 = scope_523.start_list(false, None); - for item_525 in var_524 { + let mut scope_525 = writer.prefix("ScalingProcesses"); + if let Some(var_526) = &input.scaling_processes { + let mut list_528 = scope_525.start_list(false, None); + for item_527 in var_526 { #[allow(unused_mut)] - let mut entry_527 = list_526.entry(); - entry_527.string(item_525); + let mut entry_529 = list_528.entry(); + entry_529.string(item_527); } - list_526.finish(); + list_528.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2009,14 +2014,14 @@ pub fn serialize_operation_terminate_instance_in_auto_scaling_group( "2011-01-01", ); #[allow(unused_mut)] - let mut scope_528 = writer.prefix("InstanceId"); - if let Some(var_529) = &input.instance_id { - scope_528.string(var_529); + let mut scope_530 = writer.prefix("InstanceId"); + if let Some(var_531) = &input.instance_id { + scope_530.string(var_531); } #[allow(unused_mut)] - let mut scope_530 = writer.prefix("ShouldDecrementDesiredCapacity"); - if let Some(var_531) = &input.should_decrement_desired_capacity { - scope_530.boolean(*var_531); + let mut scope_532 = writer.prefix("ShouldDecrementDesiredCapacity"); + if let Some(var_533) = &input.should_decrement_desired_capacity { + scope_532.boolean(*var_533); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2030,129 +2035,129 @@ pub fn serialize_operation_update_auto_scaling_group( let mut writer = smithy_query::QueryWriter::new(&mut out, "UpdateAutoScalingGroup", "2011-01-01"); #[allow(unused_mut)] - let mut scope_532 = writer.prefix("AutoScalingGroupName"); - if let Some(var_533) = &input.auto_scaling_group_name { - scope_532.string(var_533); - } - #[allow(unused_mut)] - let mut scope_534 = writer.prefix("LaunchConfigurationName"); - if let Some(var_535) = &input.launch_configuration_name { + let mut scope_534 = writer.prefix("AutoScalingGroupName"); + if let Some(var_535) = &input.auto_scaling_group_name { scope_534.string(var_535); } #[allow(unused_mut)] - let mut scope_536 = writer.prefix("LaunchTemplate"); - if let Some(var_537) = &input.launch_template { - crate::query_ser::serialize_structure_launch_template_specification(scope_536, var_537); + let mut scope_536 = writer.prefix("LaunchConfigurationName"); + if let Some(var_537) = &input.launch_configuration_name { + scope_536.string(var_537); } #[allow(unused_mut)] - let mut scope_538 = writer.prefix("MixedInstancesPolicy"); - if let Some(var_539) = &input.mixed_instances_policy { - crate::query_ser::serialize_structure_mixed_instances_policy(scope_538, var_539); + let mut scope_538 = writer.prefix("LaunchTemplate"); + if let Some(var_539) = &input.launch_template { + crate::query_ser::serialize_structure_launch_template_specification(scope_538, var_539); } #[allow(unused_mut)] - let mut scope_540 = writer.prefix("MinSize"); - if let Some(var_541) = &input.min_size { - scope_540.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_541).into()), - ); + let mut scope_540 = writer.prefix("MixedInstancesPolicy"); + if let Some(var_541) = &input.mixed_instances_policy { + crate::query_ser::serialize_structure_mixed_instances_policy(scope_540, var_541); } #[allow(unused_mut)] - let mut scope_542 = writer.prefix("MaxSize"); - if let Some(var_543) = &input.max_size { + let mut scope_542 = writer.prefix("MinSize"); + if let Some(var_543) = &input.min_size { scope_542.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_543).into()), ); } #[allow(unused_mut)] - let mut scope_544 = writer.prefix("DesiredCapacity"); - if let Some(var_545) = &input.desired_capacity { + let mut scope_544 = writer.prefix("MaxSize"); + if let Some(var_545) = &input.max_size { scope_544.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_545).into()), ); } #[allow(unused_mut)] - let mut scope_546 = writer.prefix("DefaultCooldown"); - if let Some(var_547) = &input.default_cooldown { + let mut scope_546 = writer.prefix("DesiredCapacity"); + if let Some(var_547) = &input.desired_capacity { scope_546.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_547).into()), ); } #[allow(unused_mut)] - let mut scope_548 = writer.prefix("AvailabilityZones"); - if let Some(var_549) = &input.availability_zones { - let mut list_551 = scope_548.start_list(false, None); - for item_550 in var_549 { + let mut scope_548 = writer.prefix("DefaultCooldown"); + if let Some(var_549) = &input.default_cooldown { + scope_548.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_549).into()), + ); + } + #[allow(unused_mut)] + let mut scope_550 = writer.prefix("AvailabilityZones"); + if let Some(var_551) = &input.availability_zones { + let mut list_553 = scope_550.start_list(false, None); + for item_552 in var_551 { #[allow(unused_mut)] - let mut entry_552 = list_551.entry(); - entry_552.string(item_550); + let mut entry_554 = list_553.entry(); + entry_554.string(item_552); } - list_551.finish(); + list_553.finish(); } #[allow(unused_mut)] - let mut scope_553 = writer.prefix("HealthCheckType"); - if let Some(var_554) = &input.health_check_type { - scope_553.string(var_554); + let mut scope_555 = writer.prefix("HealthCheckType"); + if let Some(var_556) = &input.health_check_type { + scope_555.string(var_556); } #[allow(unused_mut)] - let mut scope_555 = writer.prefix("HealthCheckGracePeriod"); - if let Some(var_556) = &input.health_check_grace_period { - scope_555.number( + let mut scope_557 = writer.prefix("HealthCheckGracePeriod"); + if let Some(var_558) = &input.health_check_grace_period { + scope_557.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_556).into()), + smithy_types::Number::NegInt((*var_558).into()), ); } #[allow(unused_mut)] - let mut scope_557 = writer.prefix("PlacementGroup"); - if let Some(var_558) = &input.placement_group { - scope_557.string(var_558); + let mut scope_559 = writer.prefix("PlacementGroup"); + if let Some(var_560) = &input.placement_group { + scope_559.string(var_560); } #[allow(unused_mut)] - let mut scope_559 = writer.prefix("VPCZoneIdentifier"); - if let Some(var_560) = &input.vpc_zone_identifier { - scope_559.string(var_560); + let mut scope_561 = writer.prefix("VPCZoneIdentifier"); + if let Some(var_562) = &input.vpc_zone_identifier { + scope_561.string(var_562); } #[allow(unused_mut)] - let mut scope_561 = writer.prefix("TerminationPolicies"); - if let Some(var_562) = &input.termination_policies { - let mut list_564 = scope_561.start_list(false, None); - for item_563 in var_562 { + let mut scope_563 = writer.prefix("TerminationPolicies"); + if let Some(var_564) = &input.termination_policies { + let mut list_566 = scope_563.start_list(false, None); + for item_565 in var_564 { #[allow(unused_mut)] - let mut entry_565 = list_564.entry(); - entry_565.string(item_563); + let mut entry_567 = list_566.entry(); + entry_567.string(item_565); } - list_564.finish(); + list_566.finish(); } #[allow(unused_mut)] - let mut scope_566 = writer.prefix("NewInstancesProtectedFromScaleIn"); - if let Some(var_567) = &input.new_instances_protected_from_scale_in { - scope_566.boolean(*var_567); + let mut scope_568 = writer.prefix("NewInstancesProtectedFromScaleIn"); + if let Some(var_569) = &input.new_instances_protected_from_scale_in { + scope_568.boolean(*var_569); } #[allow(unused_mut)] - let mut scope_568 = writer.prefix("ServiceLinkedRoleARN"); - if let Some(var_569) = &input.service_linked_role_arn { - scope_568.string(var_569); + let mut scope_570 = writer.prefix("ServiceLinkedRoleARN"); + if let Some(var_571) = &input.service_linked_role_arn { + scope_570.string(var_571); } #[allow(unused_mut)] - let mut scope_570 = writer.prefix("MaxInstanceLifetime"); - if let Some(var_571) = &input.max_instance_lifetime { - scope_570.number( + let mut scope_572 = writer.prefix("MaxInstanceLifetime"); + if let Some(var_573) = &input.max_instance_lifetime { + scope_572.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_571).into()), + smithy_types::Number::NegInt((*var_573).into()), ); } #[allow(unused_mut)] - let mut scope_572 = writer.prefix("CapacityRebalance"); - if let Some(var_573) = &input.capacity_rebalance { - scope_572.boolean(*var_573); + let mut scope_574 = writer.prefix("CapacityRebalance"); + if let Some(var_575) = &input.capacity_rebalance { + scope_574.boolean(*var_575); } #[allow(unused_mut)] - let mut scope_574 = writer.prefix("Context"); - if let Some(var_575) = &input.context { - scope_574.string(var_575); + let mut scope_576 = writer.prefix("Context"); + if let Some(var_577) = &input.context { + scope_576.string(var_577); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) diff --git a/sdk/autoscaling/src/query_ser.rs b/sdk/autoscaling/src/query_ser.rs index f3faae218e80..516d9bb0d595 100644 --- a/sdk/autoscaling/src/query_ser.rs +++ b/sdk/autoscaling/src/query_ser.rs @@ -365,49 +365,71 @@ pub fn serialize_structure_predictive_scaling_configuration( } } +#[allow(unused_mut)] +pub fn serialize_structure_desired_configuration( + mut writer: smithy_query::QueryValueWriter, + input: &crate::model::DesiredConfiguration, +) { + #[allow(unused_mut)] + let mut scope_101 = writer.prefix("LaunchTemplate"); + if let Some(var_102) = &input.launch_template { + crate::query_ser::serialize_structure_launch_template_specification(scope_101, var_102); + } + #[allow(unused_mut)] + let mut scope_103 = writer.prefix("MixedInstancesPolicy"); + if let Some(var_104) = &input.mixed_instances_policy { + crate::query_ser::serialize_structure_mixed_instances_policy(scope_103, var_104); + } +} + #[allow(unused_mut)] pub fn serialize_structure_refresh_preferences( mut writer: smithy_query::QueryValueWriter, input: &crate::model::RefreshPreferences, ) { #[allow(unused_mut)] - let mut scope_101 = writer.prefix("MinHealthyPercentage"); - if let Some(var_102) = &input.min_healthy_percentage { - scope_101.number( + let mut scope_105 = writer.prefix("MinHealthyPercentage"); + if let Some(var_106) = &input.min_healthy_percentage { + scope_105.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_102).into()), + smithy_types::Number::NegInt((*var_106).into()), ); } #[allow(unused_mut)] - let mut scope_103 = writer.prefix("InstanceWarmup"); - if let Some(var_104) = &input.instance_warmup { - scope_103.number( + let mut scope_107 = writer.prefix("InstanceWarmup"); + if let Some(var_108) = &input.instance_warmup { + scope_107.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_104).into()), + smithy_types::Number::NegInt((*var_108).into()), ); } #[allow(unused_mut)] - let mut scope_105 = writer.prefix("CheckpointPercentages"); - if let Some(var_106) = &input.checkpoint_percentages { - let mut list_108 = scope_105.start_list(false, None); - for item_107 in var_106 { + let mut scope_109 = writer.prefix("CheckpointPercentages"); + if let Some(var_110) = &input.checkpoint_percentages { + let mut list_112 = scope_109.start_list(false, None); + for item_111 in var_110 { #[allow(unused_mut)] - let mut entry_109 = list_108.entry(); - entry_109.number( + let mut entry_113 = list_112.entry(); + entry_113.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*item_107).into()), + smithy_types::Number::NegInt((*item_111).into()), ); } - list_108.finish(); + list_112.finish(); } #[allow(unused_mut)] - let mut scope_110 = writer.prefix("CheckpointDelay"); - if let Some(var_111) = &input.checkpoint_delay { - scope_110.number( + let mut scope_114 = writer.prefix("CheckpointDelay"); + if let Some(var_115) = &input.checkpoint_delay { + scope_114.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_111).into()), + smithy_types::Number::NegInt((*var_115).into()), ); } + #[allow(unused_mut)] + let mut scope_116 = writer.prefix("SkipMatching"); + if let Some(var_117) = &input.skip_matching { + scope_116.boolean(*var_117); + } } #[allow(unused_mut)] @@ -416,20 +438,20 @@ pub fn serialize_structure_launch_template( input: &crate::model::LaunchTemplate, ) { #[allow(unused_mut)] - let mut scope_112 = writer.prefix("LaunchTemplateSpecification"); - if let Some(var_113) = &input.launch_template_specification { - crate::query_ser::serialize_structure_launch_template_specification(scope_112, var_113); + let mut scope_118 = writer.prefix("LaunchTemplateSpecification"); + if let Some(var_119) = &input.launch_template_specification { + crate::query_ser::serialize_structure_launch_template_specification(scope_118, var_119); } #[allow(unused_mut)] - let mut scope_114 = writer.prefix("Overrides"); - if let Some(var_115) = &input.overrides { - let mut list_117 = scope_114.start_list(false, None); - for item_116 in var_115 { + let mut scope_120 = writer.prefix("Overrides"); + if let Some(var_121) = &input.overrides { + let mut list_123 = scope_120.start_list(false, None); + for item_122 in var_121 { #[allow(unused_mut)] - let mut entry_118 = list_117.entry(); - crate::query_ser::serialize_structure_launch_template_overrides(entry_118, item_116); + let mut entry_124 = list_123.entry(); + crate::query_ser::serialize_structure_launch_template_overrides(entry_124, item_122); } - list_117.finish(); + list_123.finish(); } } @@ -439,43 +461,43 @@ pub fn serialize_structure_instances_distribution( input: &crate::model::InstancesDistribution, ) { #[allow(unused_mut)] - let mut scope_119 = writer.prefix("OnDemandAllocationStrategy"); - if let Some(var_120) = &input.on_demand_allocation_strategy { - scope_119.string(var_120); + let mut scope_125 = writer.prefix("OnDemandAllocationStrategy"); + if let Some(var_126) = &input.on_demand_allocation_strategy { + scope_125.string(var_126); } #[allow(unused_mut)] - let mut scope_121 = writer.prefix("OnDemandBaseCapacity"); - if let Some(var_122) = &input.on_demand_base_capacity { - scope_121.number( + let mut scope_127 = writer.prefix("OnDemandBaseCapacity"); + if let Some(var_128) = &input.on_demand_base_capacity { + scope_127.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_122).into()), + smithy_types::Number::NegInt((*var_128).into()), ); } #[allow(unused_mut)] - let mut scope_123 = writer.prefix("OnDemandPercentageAboveBaseCapacity"); - if let Some(var_124) = &input.on_demand_percentage_above_base_capacity { - scope_123.number( + let mut scope_129 = writer.prefix("OnDemandPercentageAboveBaseCapacity"); + if let Some(var_130) = &input.on_demand_percentage_above_base_capacity { + scope_129.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_124).into()), + smithy_types::Number::NegInt((*var_130).into()), ); } #[allow(unused_mut)] - let mut scope_125 = writer.prefix("SpotAllocationStrategy"); - if let Some(var_126) = &input.spot_allocation_strategy { - scope_125.string(var_126); + let mut scope_131 = writer.prefix("SpotAllocationStrategy"); + if let Some(var_132) = &input.spot_allocation_strategy { + scope_131.string(var_132); } #[allow(unused_mut)] - let mut scope_127 = writer.prefix("SpotInstancePools"); - if let Some(var_128) = &input.spot_instance_pools { - scope_127.number( + let mut scope_133 = writer.prefix("SpotInstancePools"); + if let Some(var_134) = &input.spot_instance_pools { + scope_133.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_128).into()), + smithy_types::Number::NegInt((*var_134).into()), ); } #[allow(unused_mut)] - let mut scope_129 = writer.prefix("SpotMaxPrice"); - if let Some(var_130) = &input.spot_max_price { - scope_129.string(var_130); + let mut scope_135 = writer.prefix("SpotMaxPrice"); + if let Some(var_136) = &input.spot_max_price { + scope_135.string(var_136); } } @@ -485,47 +507,47 @@ pub fn serialize_structure_ebs( input: &crate::model::Ebs, ) { #[allow(unused_mut)] - let mut scope_131 = writer.prefix("SnapshotId"); - if let Some(var_132) = &input.snapshot_id { - scope_131.string(var_132); + let mut scope_137 = writer.prefix("SnapshotId"); + if let Some(var_138) = &input.snapshot_id { + scope_137.string(var_138); } #[allow(unused_mut)] - let mut scope_133 = writer.prefix("VolumeSize"); - if let Some(var_134) = &input.volume_size { - scope_133.number( + let mut scope_139 = writer.prefix("VolumeSize"); + if let Some(var_140) = &input.volume_size { + scope_139.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_134).into()), + smithy_types::Number::NegInt((*var_140).into()), ); } #[allow(unused_mut)] - let mut scope_135 = writer.prefix("VolumeType"); - if let Some(var_136) = &input.volume_type { - scope_135.string(var_136); + let mut scope_141 = writer.prefix("VolumeType"); + if let Some(var_142) = &input.volume_type { + scope_141.string(var_142); } #[allow(unused_mut)] - let mut scope_137 = writer.prefix("DeleteOnTermination"); - if let Some(var_138) = &input.delete_on_termination { - scope_137.boolean(*var_138); + let mut scope_143 = writer.prefix("DeleteOnTermination"); + if let Some(var_144) = &input.delete_on_termination { + scope_143.boolean(*var_144); } #[allow(unused_mut)] - let mut scope_139 = writer.prefix("Iops"); - if let Some(var_140) = &input.iops { - scope_139.number( + let mut scope_145 = writer.prefix("Iops"); + if let Some(var_146) = &input.iops { + scope_145.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_140).into()), + smithy_types::Number::NegInt((*var_146).into()), ); } #[allow(unused_mut)] - let mut scope_141 = writer.prefix("Encrypted"); - if let Some(var_142) = &input.encrypted { - scope_141.boolean(*var_142); + let mut scope_147 = writer.prefix("Encrypted"); + if let Some(var_148) = &input.encrypted { + scope_147.boolean(*var_148); } #[allow(unused_mut)] - let mut scope_143 = writer.prefix("Throughput"); - if let Some(var_144) = &input.throughput { - scope_143.number( + let mut scope_149 = writer.prefix("Throughput"); + if let Some(var_150) = &input.throughput { + scope_149.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_144).into()), + smithy_types::Number::NegInt((*var_150).into()), ); } } @@ -536,14 +558,14 @@ pub fn serialize_structure_predefined_metric_specification( input: &crate::model::PredefinedMetricSpecification, ) { #[allow(unused_mut)] - let mut scope_145 = writer.prefix("PredefinedMetricType"); - if let Some(var_146) = &input.predefined_metric_type { - scope_145.string(var_146.as_str()); + let mut scope_151 = writer.prefix("PredefinedMetricType"); + if let Some(var_152) = &input.predefined_metric_type { + scope_151.string(var_152.as_str()); } #[allow(unused_mut)] - let mut scope_147 = writer.prefix("ResourceLabel"); - if let Some(var_148) = &input.resource_label { - scope_147.string(var_148); + let mut scope_153 = writer.prefix("ResourceLabel"); + if let Some(var_154) = &input.resource_label { + scope_153.string(var_154); } } @@ -553,35 +575,35 @@ pub fn serialize_structure_customized_metric_specification( input: &crate::model::CustomizedMetricSpecification, ) { #[allow(unused_mut)] - let mut scope_149 = writer.prefix("MetricName"); - if let Some(var_150) = &input.metric_name { - scope_149.string(var_150); + let mut scope_155 = writer.prefix("MetricName"); + if let Some(var_156) = &input.metric_name { + scope_155.string(var_156); } #[allow(unused_mut)] - let mut scope_151 = writer.prefix("Namespace"); - if let Some(var_152) = &input.namespace { - scope_151.string(var_152); + let mut scope_157 = writer.prefix("Namespace"); + if let Some(var_158) = &input.namespace { + scope_157.string(var_158); } #[allow(unused_mut)] - let mut scope_153 = writer.prefix("Dimensions"); - if let Some(var_154) = &input.dimensions { - let mut list_156 = scope_153.start_list(false, None); - for item_155 in var_154 { + let mut scope_159 = writer.prefix("Dimensions"); + if let Some(var_160) = &input.dimensions { + let mut list_162 = scope_159.start_list(false, None); + for item_161 in var_160 { #[allow(unused_mut)] - let mut entry_157 = list_156.entry(); - crate::query_ser::serialize_structure_metric_dimension(entry_157, item_155); + let mut entry_163 = list_162.entry(); + crate::query_ser::serialize_structure_metric_dimension(entry_163, item_161); } - list_156.finish(); + list_162.finish(); } #[allow(unused_mut)] - let mut scope_158 = writer.prefix("Statistic"); - if let Some(var_159) = &input.statistic { - scope_158.string(var_159.as_str()); + let mut scope_164 = writer.prefix("Statistic"); + if let Some(var_165) = &input.statistic { + scope_164.string(var_165.as_str()); } #[allow(unused_mut)] - let mut scope_160 = writer.prefix("Unit"); - if let Some(var_161) = &input.unit { - scope_160.string(var_161); + let mut scope_166 = writer.prefix("Unit"); + if let Some(var_167) = &input.unit { + scope_166.string(var_167); } } @@ -591,32 +613,32 @@ pub fn serialize_structure_predictive_scaling_metric_specification( input: &crate::model::PredictiveScalingMetricSpecification, ) { #[allow(unused_mut)] - let mut scope_162 = writer.prefix("TargetValue"); - if let Some(var_163) = &input.target_value { - scope_162.number( + let mut scope_168 = writer.prefix("TargetValue"); + if let Some(var_169) = &input.target_value { + scope_168.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_163).into()), + smithy_types::Number::Float((*var_169).into()), ); } #[allow(unused_mut)] - let mut scope_164 = writer.prefix("PredefinedMetricPairSpecification"); - if let Some(var_165) = &input.predefined_metric_pair_specification { + let mut scope_170 = writer.prefix("PredefinedMetricPairSpecification"); + if let Some(var_171) = &input.predefined_metric_pair_specification { crate::query_ser::serialize_structure_predictive_scaling_predefined_metric_pair( - scope_164, var_165, + scope_170, var_171, ); } #[allow(unused_mut)] - let mut scope_166 = writer.prefix("PredefinedScalingMetricSpecification"); - if let Some(var_167) = &input.predefined_scaling_metric_specification { + let mut scope_172 = writer.prefix("PredefinedScalingMetricSpecification"); + if let Some(var_173) = &input.predefined_scaling_metric_specification { crate::query_ser::serialize_structure_predictive_scaling_predefined_scaling_metric( - scope_166, var_167, + scope_172, var_173, ); } #[allow(unused_mut)] - let mut scope_168 = writer.prefix("PredefinedLoadMetricSpecification"); - if let Some(var_169) = &input.predefined_load_metric_specification { + let mut scope_174 = writer.prefix("PredefinedLoadMetricSpecification"); + if let Some(var_175) = &input.predefined_load_metric_specification { crate::query_ser::serialize_structure_predictive_scaling_predefined_load_metric( - scope_168, var_169, + scope_174, var_175, ); } } @@ -627,19 +649,19 @@ pub fn serialize_structure_launch_template_overrides( input: &crate::model::LaunchTemplateOverrides, ) { #[allow(unused_mut)] - let mut scope_170 = writer.prefix("InstanceType"); - if let Some(var_171) = &input.instance_type { - scope_170.string(var_171); + let mut scope_176 = writer.prefix("InstanceType"); + if let Some(var_177) = &input.instance_type { + scope_176.string(var_177); } #[allow(unused_mut)] - let mut scope_172 = writer.prefix("WeightedCapacity"); - if let Some(var_173) = &input.weighted_capacity { - scope_172.string(var_173); + let mut scope_178 = writer.prefix("WeightedCapacity"); + if let Some(var_179) = &input.weighted_capacity { + scope_178.string(var_179); } #[allow(unused_mut)] - let mut scope_174 = writer.prefix("LaunchTemplateSpecification"); - if let Some(var_175) = &input.launch_template_specification { - crate::query_ser::serialize_structure_launch_template_specification(scope_174, var_175); + let mut scope_180 = writer.prefix("LaunchTemplateSpecification"); + if let Some(var_181) = &input.launch_template_specification { + crate::query_ser::serialize_structure_launch_template_specification(scope_180, var_181); } } @@ -649,14 +671,14 @@ pub fn serialize_structure_metric_dimension( input: &crate::model::MetricDimension, ) { #[allow(unused_mut)] - let mut scope_176 = writer.prefix("Name"); - if let Some(var_177) = &input.name { - scope_176.string(var_177); + let mut scope_182 = writer.prefix("Name"); + if let Some(var_183) = &input.name { + scope_182.string(var_183); } #[allow(unused_mut)] - let mut scope_178 = writer.prefix("Value"); - if let Some(var_179) = &input.value { - scope_178.string(var_179); + let mut scope_184 = writer.prefix("Value"); + if let Some(var_185) = &input.value { + scope_184.string(var_185); } } @@ -666,14 +688,14 @@ pub fn serialize_structure_predictive_scaling_predefined_metric_pair( input: &crate::model::PredictiveScalingPredefinedMetricPair, ) { #[allow(unused_mut)] - let mut scope_180 = writer.prefix("PredefinedMetricType"); - if let Some(var_181) = &input.predefined_metric_type { - scope_180.string(var_181.as_str()); + let mut scope_186 = writer.prefix("PredefinedMetricType"); + if let Some(var_187) = &input.predefined_metric_type { + scope_186.string(var_187.as_str()); } #[allow(unused_mut)] - let mut scope_182 = writer.prefix("ResourceLabel"); - if let Some(var_183) = &input.resource_label { - scope_182.string(var_183); + let mut scope_188 = writer.prefix("ResourceLabel"); + if let Some(var_189) = &input.resource_label { + scope_188.string(var_189); } } @@ -683,14 +705,14 @@ pub fn serialize_structure_predictive_scaling_predefined_scaling_metric( input: &crate::model::PredictiveScalingPredefinedScalingMetric, ) { #[allow(unused_mut)] - let mut scope_184 = writer.prefix("PredefinedMetricType"); - if let Some(var_185) = &input.predefined_metric_type { - scope_184.string(var_185.as_str()); + let mut scope_190 = writer.prefix("PredefinedMetricType"); + if let Some(var_191) = &input.predefined_metric_type { + scope_190.string(var_191.as_str()); } #[allow(unused_mut)] - let mut scope_186 = writer.prefix("ResourceLabel"); - if let Some(var_187) = &input.resource_label { - scope_186.string(var_187); + let mut scope_192 = writer.prefix("ResourceLabel"); + if let Some(var_193) = &input.resource_label { + scope_192.string(var_193); } } @@ -700,13 +722,13 @@ pub fn serialize_structure_predictive_scaling_predefined_load_metric( input: &crate::model::PredictiveScalingPredefinedLoadMetric, ) { #[allow(unused_mut)] - let mut scope_188 = writer.prefix("PredefinedMetricType"); - if let Some(var_189) = &input.predefined_metric_type { - scope_188.string(var_189.as_str()); + let mut scope_194 = writer.prefix("PredefinedMetricType"); + if let Some(var_195) = &input.predefined_metric_type { + scope_194.string(var_195.as_str()); } #[allow(unused_mut)] - let mut scope_190 = writer.prefix("ResourceLabel"); - if let Some(var_191) = &input.resource_label { - scope_190.string(var_191); + let mut scope_196 = writer.prefix("ResourceLabel"); + if let Some(var_197) = &input.resource_label { + scope_196.string(var_197); } } diff --git a/sdk/autoscaling/src/xml_deser.rs b/sdk/autoscaling/src/xml_deser.rs index 515bcb4e0076..1aa2c077f992 100644 --- a/sdk/autoscaling/src/xml_deser.rs +++ b/sdk/autoscaling/src/xml_deser.rs @@ -3518,6 +3518,26 @@ pub fn deser_structure_instance_refresh( builder = builder.set_progress_details(var_131); } , + s if s.matches("Preferences") /* Preferences com.amazonaws.autoscaling#InstanceRefresh$Preferences */ => { + let var_132 = + Some( + crate::xml_deser::deser_structure_refresh_preferences(&mut tag) + ? + ) + ; + builder = builder.set_preferences(var_132); + } + , + s if s.matches("DesiredConfiguration") /* DesiredConfiguration com.amazonaws.autoscaling#InstanceRefresh$DesiredConfiguration */ => { + let var_133 = + Some( + crate::xml_deser::deser_structure_desired_configuration(&mut tag) + ? + ) + ; + builder = builder.set_desired_configuration(var_133); + } + , _ => {} } } @@ -3532,7 +3552,7 @@ pub fn deser_structure_launch_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LaunchConfigurationName") /* LaunchConfigurationName com.amazonaws.autoscaling#LaunchConfiguration$LaunchConfigurationName */ => { - let var_132 = + let var_134 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3541,11 +3561,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_launch_configuration_name(var_132); + builder = builder.set_launch_configuration_name(var_134); } , s if s.matches("LaunchConfigurationARN") /* LaunchConfigurationARN com.amazonaws.autoscaling#LaunchConfiguration$LaunchConfigurationARN */ => { - let var_133 = + let var_135 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3554,11 +3574,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_launch_configuration_arn(var_133); + builder = builder.set_launch_configuration_arn(var_135); } , s if s.matches("ImageId") /* ImageId com.amazonaws.autoscaling#LaunchConfiguration$ImageId */ => { - let var_134 = + let var_136 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3567,11 +3587,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_image_id(var_134); + builder = builder.set_image_id(var_136); } , s if s.matches("KeyName") /* KeyName com.amazonaws.autoscaling#LaunchConfiguration$KeyName */ => { - let var_135 = + let var_137 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3580,21 +3600,21 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_key_name(var_135); + builder = builder.set_key_name(var_137); } , s if s.matches("SecurityGroups") /* SecurityGroups com.amazonaws.autoscaling#LaunchConfiguration$SecurityGroups */ => { - let var_136 = + let var_138 = Some( crate::xml_deser::deser_list_security_groups(&mut tag) ? ) ; - builder = builder.set_security_groups(var_136); + builder = builder.set_security_groups(var_138); } , s if s.matches("ClassicLinkVPCId") /* ClassicLinkVPCId com.amazonaws.autoscaling#LaunchConfiguration$ClassicLinkVPCId */ => { - let var_137 = + let var_139 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3603,21 +3623,21 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_classic_link_vpc_id(var_137); + builder = builder.set_classic_link_vpc_id(var_139); } , s if s.matches("ClassicLinkVPCSecurityGroups") /* ClassicLinkVPCSecurityGroups com.amazonaws.autoscaling#LaunchConfiguration$ClassicLinkVPCSecurityGroups */ => { - let var_138 = + let var_140 = Some( crate::xml_deser::deser_list_classic_link_vpc_security_groups(&mut tag) ? ) ; - builder = builder.set_classic_link_vpc_security_groups(var_138); + builder = builder.set_classic_link_vpc_security_groups(var_140); } , s if s.matches("UserData") /* UserData com.amazonaws.autoscaling#LaunchConfiguration$UserData */ => { - let var_139 = + let var_141 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3626,11 +3646,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_user_data(var_139); + builder = builder.set_user_data(var_141); } , s if s.matches("InstanceType") /* InstanceType com.amazonaws.autoscaling#LaunchConfiguration$InstanceType */ => { - let var_140 = + let var_142 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3639,11 +3659,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_instance_type(var_140); + builder = builder.set_instance_type(var_142); } , s if s.matches("KernelId") /* KernelId com.amazonaws.autoscaling#LaunchConfiguration$KernelId */ => { - let var_141 = + let var_143 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3652,11 +3672,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_kernel_id(var_141); + builder = builder.set_kernel_id(var_143); } , s if s.matches("RamdiskId") /* RamdiskId com.amazonaws.autoscaling#LaunchConfiguration$RamdiskId */ => { - let var_142 = + let var_144 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3665,31 +3685,31 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_ramdisk_id(var_142); + builder = builder.set_ramdisk_id(var_144); } , s if s.matches("BlockDeviceMappings") /* BlockDeviceMappings com.amazonaws.autoscaling#LaunchConfiguration$BlockDeviceMappings */ => { - let var_143 = + let var_145 = Some( crate::xml_deser::deser_list_block_device_mappings(&mut tag) ? ) ; - builder = builder.set_block_device_mappings(var_143); + builder = builder.set_block_device_mappings(var_145); } , s if s.matches("InstanceMonitoring") /* InstanceMonitoring com.amazonaws.autoscaling#LaunchConfiguration$InstanceMonitoring */ => { - let var_144 = + let var_146 = Some( crate::xml_deser::deser_structure_instance_monitoring(&mut tag) ? ) ; - builder = builder.set_instance_monitoring(var_144); + builder = builder.set_instance_monitoring(var_146); } , s if s.matches("SpotPrice") /* SpotPrice com.amazonaws.autoscaling#LaunchConfiguration$SpotPrice */ => { - let var_145 = + let var_147 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3698,11 +3718,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_spot_price(var_145); + builder = builder.set_spot_price(var_147); } , s if s.matches("IamInstanceProfile") /* IamInstanceProfile com.amazonaws.autoscaling#LaunchConfiguration$IamInstanceProfile */ => { - let var_146 = + let var_148 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3711,11 +3731,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_iam_instance_profile(var_146); + builder = builder.set_iam_instance_profile(var_148); } , s if s.matches("CreatedTime") /* CreatedTime com.amazonaws.autoscaling#LaunchConfiguration$CreatedTime */ => { - let var_147 = + let var_149 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3725,11 +3745,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_created_time(var_147); + builder = builder.set_created_time(var_149); } , s if s.matches("EbsOptimized") /* EbsOptimized com.amazonaws.autoscaling#LaunchConfiguration$EbsOptimized */ => { - let var_148 = + let var_150 = Some( { ::parse_smithy_primitive( @@ -3740,11 +3760,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_ebs_optimized(var_148); + builder = builder.set_ebs_optimized(var_150); } , s if s.matches("AssociatePublicIpAddress") /* AssociatePublicIpAddress com.amazonaws.autoscaling#LaunchConfiguration$AssociatePublicIpAddress */ => { - let var_149 = + let var_151 = Some( { ::parse_smithy_primitive( @@ -3755,11 +3775,11 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_associate_public_ip_address(var_149); + builder = builder.set_associate_public_ip_address(var_151); } , s if s.matches("PlacementTenancy") /* PlacementTenancy com.amazonaws.autoscaling#LaunchConfiguration$PlacementTenancy */ => { - let var_150 = + let var_152 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3768,17 +3788,17 @@ pub fn deser_structure_launch_configuration( ? ) ; - builder = builder.set_placement_tenancy(var_150); + builder = builder.set_placement_tenancy(var_152); } , s if s.matches("MetadataOptions") /* MetadataOptions com.amazonaws.autoscaling#LaunchConfiguration$MetadataOptions */ => { - let var_151 = + let var_153 = Some( crate::xml_deser::deser_structure_instance_metadata_options(&mut tag) ? ) ; - builder = builder.set_metadata_options(var_151); + builder = builder.set_metadata_options(var_153); } , _ => {} @@ -3795,7 +3815,7 @@ pub fn deser_structure_lifecycle_hook( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LifecycleHookName") /* LifecycleHookName com.amazonaws.autoscaling#LifecycleHook$LifecycleHookName */ => { - let var_152 = + let var_154 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3804,11 +3824,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_lifecycle_hook_name(var_152); + builder = builder.set_lifecycle_hook_name(var_154); } , s if s.matches("AutoScalingGroupName") /* AutoScalingGroupName com.amazonaws.autoscaling#LifecycleHook$AutoScalingGroupName */ => { - let var_153 = + let var_155 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3817,11 +3837,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_auto_scaling_group_name(var_153); + builder = builder.set_auto_scaling_group_name(var_155); } , s if s.matches("LifecycleTransition") /* LifecycleTransition com.amazonaws.autoscaling#LifecycleHook$LifecycleTransition */ => { - let var_154 = + let var_156 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3830,11 +3850,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_lifecycle_transition(var_154); + builder = builder.set_lifecycle_transition(var_156); } , s if s.matches("NotificationTargetARN") /* NotificationTargetARN com.amazonaws.autoscaling#LifecycleHook$NotificationTargetARN */ => { - let var_155 = + let var_157 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3843,11 +3863,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_notification_target_arn(var_155); + builder = builder.set_notification_target_arn(var_157); } , s if s.matches("RoleARN") /* RoleARN com.amazonaws.autoscaling#LifecycleHook$RoleARN */ => { - let var_156 = + let var_158 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3856,11 +3876,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_role_arn(var_156); + builder = builder.set_role_arn(var_158); } , s if s.matches("NotificationMetadata") /* NotificationMetadata com.amazonaws.autoscaling#LifecycleHook$NotificationMetadata */ => { - let var_157 = + let var_159 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3869,11 +3889,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_notification_metadata(var_157); + builder = builder.set_notification_metadata(var_159); } , s if s.matches("HeartbeatTimeout") /* HeartbeatTimeout com.amazonaws.autoscaling#LifecycleHook$HeartbeatTimeout */ => { - let var_158 = + let var_160 = Some( { ::parse_smithy_primitive( @@ -3884,11 +3904,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_heartbeat_timeout(var_158); + builder = builder.set_heartbeat_timeout(var_160); } , s if s.matches("GlobalTimeout") /* GlobalTimeout com.amazonaws.autoscaling#LifecycleHook$GlobalTimeout */ => { - let var_159 = + let var_161 = Some( { ::parse_smithy_primitive( @@ -3899,11 +3919,11 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_global_timeout(var_159); + builder = builder.set_global_timeout(var_161); } , s if s.matches("DefaultResult") /* DefaultResult com.amazonaws.autoscaling#LifecycleHook$DefaultResult */ => { - let var_160 = + let var_162 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3912,7 +3932,7 @@ pub fn deser_structure_lifecycle_hook( ? ) ; - builder = builder.set_default_result(var_160); + builder = builder.set_default_result(var_162); } , _ => {} @@ -3929,7 +3949,7 @@ pub fn deser_structure_load_balancer_state( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LoadBalancerName") /* LoadBalancerName com.amazonaws.autoscaling#LoadBalancerState$LoadBalancerName */ => { - let var_161 = + let var_163 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3938,11 +3958,11 @@ pub fn deser_structure_load_balancer_state( ? ) ; - builder = builder.set_load_balancer_name(var_161); + builder = builder.set_load_balancer_name(var_163); } , s if s.matches("State") /* State com.amazonaws.autoscaling#LoadBalancerState$State */ => { - let var_162 = + let var_164 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3951,7 +3971,7 @@ pub fn deser_structure_load_balancer_state( ? ) ; - builder = builder.set_state(var_162); + builder = builder.set_state(var_164); } , _ => {} @@ -3968,7 +3988,7 @@ pub fn deser_structure_load_balancer_target_group_state( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LoadBalancerTargetGroupARN") /* LoadBalancerTargetGroupARN com.amazonaws.autoscaling#LoadBalancerTargetGroupState$LoadBalancerTargetGroupARN */ => { - let var_163 = + let var_165 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3977,11 +3997,11 @@ pub fn deser_structure_load_balancer_target_group_state( ? ) ; - builder = builder.set_load_balancer_target_group_arn(var_163); + builder = builder.set_load_balancer_target_group_arn(var_165); } , s if s.matches("State") /* State com.amazonaws.autoscaling#LoadBalancerTargetGroupState$State */ => { - let var_164 = + let var_166 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -3990,7 +4010,7 @@ pub fn deser_structure_load_balancer_target_group_state( ? ) ; - builder = builder.set_state(var_164); + builder = builder.set_state(var_166); } , _ => {} @@ -4007,7 +4027,7 @@ pub fn deser_structure_metric_collection_type( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Metric") /* Metric com.amazonaws.autoscaling#MetricCollectionType$Metric */ => { - let var_165 = + let var_167 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4016,7 +4036,7 @@ pub fn deser_structure_metric_collection_type( ? ) ; - builder = builder.set_metric(var_165); + builder = builder.set_metric(var_167); } , _ => {} @@ -4033,7 +4053,7 @@ pub fn deser_structure_metric_granularity_type( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Granularity") /* Granularity com.amazonaws.autoscaling#MetricGranularityType$Granularity */ => { - let var_166 = + let var_168 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4042,7 +4062,7 @@ pub fn deser_structure_metric_granularity_type( ? ) ; - builder = builder.set_granularity(var_166); + builder = builder.set_granularity(var_168); } , _ => {} @@ -4059,7 +4079,7 @@ pub fn deser_structure_notification_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AutoScalingGroupName") /* AutoScalingGroupName com.amazonaws.autoscaling#NotificationConfiguration$AutoScalingGroupName */ => { - let var_167 = + let var_169 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4068,11 +4088,11 @@ pub fn deser_structure_notification_configuration( ? ) ; - builder = builder.set_auto_scaling_group_name(var_167); + builder = builder.set_auto_scaling_group_name(var_169); } , s if s.matches("TopicARN") /* TopicARN com.amazonaws.autoscaling#NotificationConfiguration$TopicARN */ => { - let var_168 = + let var_170 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4081,11 +4101,11 @@ pub fn deser_structure_notification_configuration( ? ) ; - builder = builder.set_topic_arn(var_168); + builder = builder.set_topic_arn(var_170); } , s if s.matches("NotificationType") /* NotificationType com.amazonaws.autoscaling#NotificationConfiguration$NotificationType */ => { - let var_169 = + let var_171 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4094,7 +4114,7 @@ pub fn deser_structure_notification_configuration( ? ) ; - builder = builder.set_notification_type(var_169); + builder = builder.set_notification_type(var_171); } , _ => {} @@ -4111,7 +4131,7 @@ pub fn deser_structure_scaling_policy( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AutoScalingGroupName") /* AutoScalingGroupName com.amazonaws.autoscaling#ScalingPolicy$AutoScalingGroupName */ => { - let var_170 = + let var_172 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4120,11 +4140,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_auto_scaling_group_name(var_170); + builder = builder.set_auto_scaling_group_name(var_172); } , s if s.matches("PolicyName") /* PolicyName com.amazonaws.autoscaling#ScalingPolicy$PolicyName */ => { - let var_171 = + let var_173 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4133,11 +4153,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_policy_name(var_171); + builder = builder.set_policy_name(var_173); } , s if s.matches("PolicyARN") /* PolicyARN com.amazonaws.autoscaling#ScalingPolicy$PolicyARN */ => { - let var_172 = + let var_174 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4146,11 +4166,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_policy_arn(var_172); + builder = builder.set_policy_arn(var_174); } , s if s.matches("PolicyType") /* PolicyType com.amazonaws.autoscaling#ScalingPolicy$PolicyType */ => { - let var_173 = + let var_175 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4159,11 +4179,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_policy_type(var_173); + builder = builder.set_policy_type(var_175); } , s if s.matches("AdjustmentType") /* AdjustmentType com.amazonaws.autoscaling#ScalingPolicy$AdjustmentType */ => { - let var_174 = + let var_176 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4172,11 +4192,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_adjustment_type(var_174); + builder = builder.set_adjustment_type(var_176); } , s if s.matches("MinAdjustmentStep") /* MinAdjustmentStep com.amazonaws.autoscaling#ScalingPolicy$MinAdjustmentStep */ => { - let var_175 = + let var_177 = Some( { ::parse_smithy_primitive( @@ -4187,11 +4207,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_min_adjustment_step(var_175); + builder = builder.set_min_adjustment_step(var_177); } , s if s.matches("MinAdjustmentMagnitude") /* MinAdjustmentMagnitude com.amazonaws.autoscaling#ScalingPolicy$MinAdjustmentMagnitude */ => { - let var_176 = + let var_178 = Some( { ::parse_smithy_primitive( @@ -4202,11 +4222,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_min_adjustment_magnitude(var_176); + builder = builder.set_min_adjustment_magnitude(var_178); } , s if s.matches("ScalingAdjustment") /* ScalingAdjustment com.amazonaws.autoscaling#ScalingPolicy$ScalingAdjustment */ => { - let var_177 = + let var_179 = Some( { ::parse_smithy_primitive( @@ -4217,11 +4237,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_scaling_adjustment(var_177); + builder = builder.set_scaling_adjustment(var_179); } , s if s.matches("Cooldown") /* Cooldown com.amazonaws.autoscaling#ScalingPolicy$Cooldown */ => { - let var_178 = + let var_180 = Some( { ::parse_smithy_primitive( @@ -4232,21 +4252,21 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_cooldown(var_178); + builder = builder.set_cooldown(var_180); } , s if s.matches("StepAdjustments") /* StepAdjustments com.amazonaws.autoscaling#ScalingPolicy$StepAdjustments */ => { - let var_179 = + let var_181 = Some( crate::xml_deser::deser_list_step_adjustments(&mut tag) ? ) ; - builder = builder.set_step_adjustments(var_179); + builder = builder.set_step_adjustments(var_181); } , s if s.matches("MetricAggregationType") /* MetricAggregationType com.amazonaws.autoscaling#ScalingPolicy$MetricAggregationType */ => { - let var_180 = + let var_182 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4255,11 +4275,11 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_metric_aggregation_type(var_180); + builder = builder.set_metric_aggregation_type(var_182); } , s if s.matches("EstimatedInstanceWarmup") /* EstimatedInstanceWarmup com.amazonaws.autoscaling#ScalingPolicy$EstimatedInstanceWarmup */ => { - let var_181 = + let var_183 = Some( { ::parse_smithy_primitive( @@ -4270,31 +4290,31 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_estimated_instance_warmup(var_181); + builder = builder.set_estimated_instance_warmup(var_183); } , s if s.matches("Alarms") /* Alarms com.amazonaws.autoscaling#ScalingPolicy$Alarms */ => { - let var_182 = + let var_184 = Some( crate::xml_deser::deser_list_alarms(&mut tag) ? ) ; - builder = builder.set_alarms(var_182); + builder = builder.set_alarms(var_184); } , s if s.matches("TargetTrackingConfiguration") /* TargetTrackingConfiguration com.amazonaws.autoscaling#ScalingPolicy$TargetTrackingConfiguration */ => { - let var_183 = + let var_185 = Some( crate::xml_deser::deser_structure_target_tracking_configuration(&mut tag) ? ) ; - builder = builder.set_target_tracking_configuration(var_183); + builder = builder.set_target_tracking_configuration(var_185); } , s if s.matches("Enabled") /* Enabled com.amazonaws.autoscaling#ScalingPolicy$Enabled */ => { - let var_184 = + let var_186 = Some( { ::parse_smithy_primitive( @@ -4305,17 +4325,17 @@ pub fn deser_structure_scaling_policy( ? ) ; - builder = builder.set_enabled(var_184); + builder = builder.set_enabled(var_186); } , s if s.matches("PredictiveScalingConfiguration") /* PredictiveScalingConfiguration com.amazonaws.autoscaling#ScalingPolicy$PredictiveScalingConfiguration */ => { - let var_185 = + let var_187 = Some( crate::xml_deser::deser_structure_predictive_scaling_configuration(&mut tag) ? ) ; - builder = builder.set_predictive_scaling_configuration(var_185); + builder = builder.set_predictive_scaling_configuration(var_187); } , _ => {} @@ -4332,7 +4352,7 @@ pub fn deser_structure_process_type( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ProcessName") /* ProcessName com.amazonaws.autoscaling#ProcessType$ProcessName */ => { - let var_186 = + let var_188 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4341,7 +4361,7 @@ pub fn deser_structure_process_type( ? ) ; - builder = builder.set_process_name(var_186); + builder = builder.set_process_name(var_188); } , _ => {} @@ -4358,7 +4378,7 @@ pub fn deser_structure_scheduled_update_group_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AutoScalingGroupName") /* AutoScalingGroupName com.amazonaws.autoscaling#ScheduledUpdateGroupAction$AutoScalingGroupName */ => { - let var_187 = + let var_189 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4367,11 +4387,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_auto_scaling_group_name(var_187); + builder = builder.set_auto_scaling_group_name(var_189); } , s if s.matches("ScheduledActionName") /* ScheduledActionName com.amazonaws.autoscaling#ScheduledUpdateGroupAction$ScheduledActionName */ => { - let var_188 = + let var_190 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4380,11 +4400,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_scheduled_action_name(var_188); + builder = builder.set_scheduled_action_name(var_190); } , s if s.matches("ScheduledActionARN") /* ScheduledActionARN com.amazonaws.autoscaling#ScheduledUpdateGroupAction$ScheduledActionARN */ => { - let var_189 = + let var_191 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4393,11 +4413,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_scheduled_action_arn(var_189); + builder = builder.set_scheduled_action_arn(var_191); } , s if s.matches("Time") /* Time com.amazonaws.autoscaling#ScheduledUpdateGroupAction$Time */ => { - let var_190 = + let var_192 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4407,11 +4427,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_time(var_190); + builder = builder.set_time(var_192); } , s if s.matches("StartTime") /* StartTime com.amazonaws.autoscaling#ScheduledUpdateGroupAction$StartTime */ => { - let var_191 = + let var_193 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4421,11 +4441,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_start_time(var_191); + builder = builder.set_start_time(var_193); } , s if s.matches("EndTime") /* EndTime com.amazonaws.autoscaling#ScheduledUpdateGroupAction$EndTime */ => { - let var_192 = + let var_194 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4435,11 +4455,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_end_time(var_192); + builder = builder.set_end_time(var_194); } , s if s.matches("Recurrence") /* Recurrence com.amazonaws.autoscaling#ScheduledUpdateGroupAction$Recurrence */ => { - let var_193 = + let var_195 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4448,11 +4468,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_recurrence(var_193); + builder = builder.set_recurrence(var_195); } , s if s.matches("MinSize") /* MinSize com.amazonaws.autoscaling#ScheduledUpdateGroupAction$MinSize */ => { - let var_194 = + let var_196 = Some( { ::parse_smithy_primitive( @@ -4463,11 +4483,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_min_size(var_194); + builder = builder.set_min_size(var_196); } , s if s.matches("MaxSize") /* MaxSize com.amazonaws.autoscaling#ScheduledUpdateGroupAction$MaxSize */ => { - let var_195 = + let var_197 = Some( { ::parse_smithy_primitive( @@ -4478,11 +4498,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_max_size(var_195); + builder = builder.set_max_size(var_197); } , s if s.matches("DesiredCapacity") /* DesiredCapacity com.amazonaws.autoscaling#ScheduledUpdateGroupAction$DesiredCapacity */ => { - let var_196 = + let var_198 = Some( { ::parse_smithy_primitive( @@ -4493,11 +4513,11 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_desired_capacity(var_196); + builder = builder.set_desired_capacity(var_198); } , s if s.matches("TimeZone") /* TimeZone com.amazonaws.autoscaling#ScheduledUpdateGroupAction$TimeZone */ => { - let var_197 = + let var_199 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4506,7 +4526,7 @@ pub fn deser_structure_scheduled_update_group_action( ? ) ; - builder = builder.set_time_zone(var_197); + builder = builder.set_time_zone(var_199); } , _ => {} @@ -4523,7 +4543,7 @@ pub fn deser_structure_tag_description( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ResourceId") /* ResourceId com.amazonaws.autoscaling#TagDescription$ResourceId */ => { - let var_198 = + let var_200 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4532,11 +4552,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_resource_id(var_198); + builder = builder.set_resource_id(var_200); } , s if s.matches("ResourceType") /* ResourceType com.amazonaws.autoscaling#TagDescription$ResourceType */ => { - let var_199 = + let var_201 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4545,11 +4565,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_resource_type(var_199); + builder = builder.set_resource_type(var_201); } , s if s.matches("Key") /* Key com.amazonaws.autoscaling#TagDescription$Key */ => { - let var_200 = + let var_202 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4558,11 +4578,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_key(var_200); + builder = builder.set_key(var_202); } , s if s.matches("Value") /* Value com.amazonaws.autoscaling#TagDescription$Value */ => { - let var_201 = + let var_203 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4571,11 +4591,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_value(var_201); + builder = builder.set_value(var_203); } , s if s.matches("PropagateAtLaunch") /* PropagateAtLaunch com.amazonaws.autoscaling#TagDescription$PropagateAtLaunch */ => { - let var_202 = + let var_204 = Some( { ::parse_smithy_primitive( @@ -4586,7 +4606,7 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_propagate_at_launch(var_202); + builder = builder.set_propagate_at_launch(var_204); } , _ => {} @@ -4603,7 +4623,7 @@ pub fn deser_structure_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("InstanceId") /* InstanceId com.amazonaws.autoscaling#Instance$InstanceId */ => { - let var_203 = + let var_205 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4612,11 +4632,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_instance_id(var_203); + builder = builder.set_instance_id(var_205); } , s if s.matches("InstanceType") /* InstanceType com.amazonaws.autoscaling#Instance$InstanceType */ => { - let var_204 = + let var_206 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4625,11 +4645,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_instance_type(var_204); + builder = builder.set_instance_type(var_206); } , s if s.matches("AvailabilityZone") /* AvailabilityZone com.amazonaws.autoscaling#Instance$AvailabilityZone */ => { - let var_205 = + let var_207 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4638,11 +4658,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_availability_zone(var_205); + builder = builder.set_availability_zone(var_207); } , s if s.matches("LifecycleState") /* LifecycleState com.amazonaws.autoscaling#Instance$LifecycleState */ => { - let var_206 = + let var_208 = Some( Result::::Ok( crate::model::LifecycleState::from( @@ -4652,11 +4672,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_lifecycle_state(var_206); + builder = builder.set_lifecycle_state(var_208); } , s if s.matches("HealthStatus") /* HealthStatus com.amazonaws.autoscaling#Instance$HealthStatus */ => { - let var_207 = + let var_209 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4665,11 +4685,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_health_status(var_207); + builder = builder.set_health_status(var_209); } , s if s.matches("LaunchConfigurationName") /* LaunchConfigurationName com.amazonaws.autoscaling#Instance$LaunchConfigurationName */ => { - let var_208 = + let var_210 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4678,21 +4698,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_launch_configuration_name(var_208); + builder = builder.set_launch_configuration_name(var_210); } , s if s.matches("LaunchTemplate") /* LaunchTemplate com.amazonaws.autoscaling#Instance$LaunchTemplate */ => { - let var_209 = + let var_211 = Some( crate::xml_deser::deser_structure_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template(var_209); + builder = builder.set_launch_template(var_211); } , s if s.matches("ProtectedFromScaleIn") /* ProtectedFromScaleIn com.amazonaws.autoscaling#Instance$ProtectedFromScaleIn */ => { - let var_210 = + let var_212 = Some( { ::parse_smithy_primitive( @@ -4703,11 +4723,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_protected_from_scale_in(var_210); + builder = builder.set_protected_from_scale_in(var_212); } , s if s.matches("WeightedCapacity") /* WeightedCapacity com.amazonaws.autoscaling#Instance$WeightedCapacity */ => { - let var_211 = + let var_213 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4716,7 +4736,7 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_weighted_capacity(var_211); + builder = builder.set_weighted_capacity(var_213); } , _ => {} @@ -4733,33 +4753,33 @@ pub fn deser_structure_load_forecast( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Timestamps") /* Timestamps com.amazonaws.autoscaling#LoadForecast$Timestamps */ => { - let var_212 = + let var_214 = Some( crate::xml_deser::deser_list_predictive_scaling_forecast_timestamps(&mut tag) ? ) ; - builder = builder.set_timestamps(var_212); + builder = builder.set_timestamps(var_214); } , s if s.matches("Values") /* Values com.amazonaws.autoscaling#LoadForecast$Values */ => { - let var_213 = + let var_215 = Some( crate::xml_deser::deser_list_predictive_scaling_forecast_values(&mut tag) ? ) ; - builder = builder.set_values(var_213); + builder = builder.set_values(var_215); } , s if s.matches("MetricSpecification") /* MetricSpecification com.amazonaws.autoscaling#LoadForecast$MetricSpecification */ => { - let var_214 = + let var_216 = Some( crate::xml_deser::deser_structure_predictive_scaling_metric_specification(&mut tag) ? ) ; - builder = builder.set_metric_specification(var_214); + builder = builder.set_metric_specification(var_216); } , _ => {} @@ -4823,7 +4843,7 @@ pub fn deser_structure_alarm( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AlarmName") /* AlarmName com.amazonaws.autoscaling#Alarm$AlarmName */ => { - let var_215 = + let var_217 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4832,11 +4852,11 @@ pub fn deser_structure_alarm( ? ) ; - builder = builder.set_alarm_name(var_215); + builder = builder.set_alarm_name(var_217); } , s if s.matches("AlarmARN") /* AlarmARN com.amazonaws.autoscaling#Alarm$AlarmARN */ => { - let var_216 = + let var_218 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4845,7 +4865,7 @@ pub fn deser_structure_alarm( ? ) ; - builder = builder.set_alarm_arn(var_216); + builder = builder.set_alarm_arn(var_218); } , _ => {} @@ -4862,7 +4882,7 @@ pub fn deser_structure_launch_template_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LaunchTemplateId") /* LaunchTemplateId com.amazonaws.autoscaling#LaunchTemplateSpecification$LaunchTemplateId */ => { - let var_217 = + let var_219 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4871,11 +4891,11 @@ pub fn deser_structure_launch_template_specification( ? ) ; - builder = builder.set_launch_template_id(var_217); + builder = builder.set_launch_template_id(var_219); } , s if s.matches("LaunchTemplateName") /* LaunchTemplateName com.amazonaws.autoscaling#LaunchTemplateSpecification$LaunchTemplateName */ => { - let var_218 = + let var_220 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4884,11 +4904,11 @@ pub fn deser_structure_launch_template_specification( ? ) ; - builder = builder.set_launch_template_name(var_218); + builder = builder.set_launch_template_name(var_220); } , s if s.matches("Version") /* Version com.amazonaws.autoscaling#LaunchTemplateSpecification$Version */ => { - let var_219 = + let var_221 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -4897,7 +4917,7 @@ pub fn deser_structure_launch_template_specification( ? ) ; - builder = builder.set_version(var_219); + builder = builder.set_version(var_221); } , _ => {} @@ -4914,23 +4934,23 @@ pub fn deser_structure_mixed_instances_policy( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LaunchTemplate") /* LaunchTemplate com.amazonaws.autoscaling#MixedInstancesPolicy$LaunchTemplate */ => { - let var_220 = + let var_222 = Some( crate::xml_deser::deser_structure_launch_template(&mut tag) ? ) ; - builder = builder.set_launch_template(var_220); + builder = builder.set_launch_template(var_222); } , s if s.matches("InstancesDistribution") /* InstancesDistribution com.amazonaws.autoscaling#MixedInstancesPolicy$InstancesDistribution */ => { - let var_221 = + let var_223 = Some( crate::xml_deser::deser_structure_instances_distribution(&mut tag) ? ) ; - builder = builder.set_instances_distribution(var_221); + builder = builder.set_instances_distribution(var_223); } , _ => {} @@ -5051,23 +5071,139 @@ pub fn deser_structure_instance_refresh_progress_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LivePoolProgress") /* LivePoolProgress com.amazonaws.autoscaling#InstanceRefreshProgressDetails$LivePoolProgress */ => { - let var_222 = + let var_224 = Some( crate::xml_deser::deser_structure_instance_refresh_live_pool_progress(&mut tag) ? ) ; - builder = builder.set_live_pool_progress(var_222); + builder = builder.set_live_pool_progress(var_224); } , s if s.matches("WarmPoolProgress") /* WarmPoolProgress com.amazonaws.autoscaling#InstanceRefreshProgressDetails$WarmPoolProgress */ => { - let var_223 = + let var_225 = Some( crate::xml_deser::deser_structure_instance_refresh_warm_pool_progress(&mut tag) ? ) ; - builder = builder.set_warm_pool_progress(var_223); + builder = builder.set_warm_pool_progress(var_225); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn deser_structure_refresh_preferences( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::RefreshPreferences::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("MinHealthyPercentage") /* MinHealthyPercentage com.amazonaws.autoscaling#RefreshPreferences$MinHealthyPercentage */ => { + let var_226 = + Some( + { + ::parse_smithy_primitive( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (integer: `com.amazonaws.autoscaling#IntPercent`)")) + } + ? + ) + ; + builder = builder.set_min_healthy_percentage(var_226); + } + , + s if s.matches("InstanceWarmup") /* InstanceWarmup com.amazonaws.autoscaling#RefreshPreferences$InstanceWarmup */ => { + let var_227 = + Some( + { + ::parse_smithy_primitive( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (integer: `com.amazonaws.autoscaling#RefreshInstanceWarmup`)")) + } + ? + ) + ; + builder = builder.set_instance_warmup(var_227); + } + , + s if s.matches("CheckpointPercentages") /* CheckpointPercentages com.amazonaws.autoscaling#RefreshPreferences$CheckpointPercentages */ => { + let var_228 = + Some( + crate::xml_deser::deser_list_checkpoint_percentages(&mut tag) + ? + ) + ; + builder = builder.set_checkpoint_percentages(var_228); + } + , + s if s.matches("CheckpointDelay") /* CheckpointDelay com.amazonaws.autoscaling#RefreshPreferences$CheckpointDelay */ => { + let var_229 = + Some( + { + ::parse_smithy_primitive( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (integer: `com.amazonaws.autoscaling#CheckpointDelay`)")) + } + ? + ) + ; + builder = builder.set_checkpoint_delay(var_229); + } + , + s if s.matches("SkipMatching") /* SkipMatching com.amazonaws.autoscaling#RefreshPreferences$SkipMatching */ => { + let var_230 = + Some( + { + ::parse_smithy_primitive( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (boolean: `com.amazonaws.autoscaling#SkipMatching`)")) + } + ? + ) + ; + builder = builder.set_skip_matching(var_230); + } + , + _ => {} + } + } + Ok(builder.build()) +} + +pub fn deser_structure_desired_configuration( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::model::DesiredConfiguration::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("LaunchTemplate") /* LaunchTemplate com.amazonaws.autoscaling#DesiredConfiguration$LaunchTemplate */ => { + let var_231 = + Some( + crate::xml_deser::deser_structure_launch_template_specification(&mut tag) + ? + ) + ; + builder = builder.set_launch_template(var_231); + } + , + s if s.matches("MixedInstancesPolicy") /* MixedInstancesPolicy com.amazonaws.autoscaling#DesiredConfiguration$MixedInstancesPolicy */ => { + let var_232 = + Some( + crate::xml_deser::deser_structure_mixed_instances_policy(&mut tag) + ? + ) + ; + builder = builder.set_mixed_instances_policy(var_232); } , _ => {} @@ -5147,7 +5283,7 @@ pub fn deser_structure_instance_monitoring( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Enabled") /* Enabled com.amazonaws.autoscaling#InstanceMonitoring$Enabled */ => { - let var_224 = + let var_233 = Some( { ::parse_smithy_primitive( @@ -5158,7 +5294,7 @@ pub fn deser_structure_instance_monitoring( ? ) ; - builder = builder.set_enabled(var_224); + builder = builder.set_enabled(var_233); } , _ => {} @@ -5175,7 +5311,7 @@ pub fn deser_structure_instance_metadata_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("HttpTokens") /* HttpTokens com.amazonaws.autoscaling#InstanceMetadataOptions$HttpTokens */ => { - let var_225 = + let var_234 = Some( Result::::Ok( crate::model::InstanceMetadataHttpTokensState::from( @@ -5185,11 +5321,11 @@ pub fn deser_structure_instance_metadata_options( ? ) ; - builder = builder.set_http_tokens(var_225); + builder = builder.set_http_tokens(var_234); } , s if s.matches("HttpPutResponseHopLimit") /* HttpPutResponseHopLimit com.amazonaws.autoscaling#InstanceMetadataOptions$HttpPutResponseHopLimit */ => { - let var_226 = + let var_235 = Some( { ::parse_smithy_primitive( @@ -5200,11 +5336,11 @@ pub fn deser_structure_instance_metadata_options( ? ) ; - builder = builder.set_http_put_response_hop_limit(var_226); + builder = builder.set_http_put_response_hop_limit(var_235); } , s if s.matches("HttpEndpoint") /* HttpEndpoint com.amazonaws.autoscaling#InstanceMetadataOptions$HttpEndpoint */ => { - let var_227 = + let var_236 = Some( Result::::Ok( crate::model::InstanceMetadataEndpointState::from( @@ -5214,7 +5350,7 @@ pub fn deser_structure_instance_metadata_options( ? ) ; - builder = builder.set_http_endpoint(var_227); + builder = builder.set_http_endpoint(var_236); } , _ => {} @@ -5250,27 +5386,27 @@ pub fn deser_structure_target_tracking_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PredefinedMetricSpecification") /* PredefinedMetricSpecification com.amazonaws.autoscaling#TargetTrackingConfiguration$PredefinedMetricSpecification */ => { - let var_228 = + let var_237 = Some( crate::xml_deser::deser_structure_predefined_metric_specification(&mut tag) ? ) ; - builder = builder.set_predefined_metric_specification(var_228); + builder = builder.set_predefined_metric_specification(var_237); } , s if s.matches("CustomizedMetricSpecification") /* CustomizedMetricSpecification com.amazonaws.autoscaling#TargetTrackingConfiguration$CustomizedMetricSpecification */ => { - let var_229 = + let var_238 = Some( crate::xml_deser::deser_structure_customized_metric_specification(&mut tag) ? ) ; - builder = builder.set_customized_metric_specification(var_229); + builder = builder.set_customized_metric_specification(var_238); } , s if s.matches("TargetValue") /* TargetValue com.amazonaws.autoscaling#TargetTrackingConfiguration$TargetValue */ => { - let var_230 = + let var_239 = Some( { ::parse_smithy_primitive( @@ -5281,11 +5417,11 @@ pub fn deser_structure_target_tracking_configuration( ? ) ; - builder = builder.set_target_value(var_230); + builder = builder.set_target_value(var_239); } , s if s.matches("DisableScaleIn") /* DisableScaleIn com.amazonaws.autoscaling#TargetTrackingConfiguration$DisableScaleIn */ => { - let var_231 = + let var_240 = Some( { ::parse_smithy_primitive( @@ -5296,7 +5432,7 @@ pub fn deser_structure_target_tracking_configuration( ? ) ; - builder = builder.set_disable_scale_in(var_231); + builder = builder.set_disable_scale_in(var_240); } , _ => {} @@ -5313,17 +5449,17 @@ pub fn deser_structure_predictive_scaling_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("MetricSpecifications") /* MetricSpecifications com.amazonaws.autoscaling#PredictiveScalingConfiguration$MetricSpecifications */ => { - let var_232 = + let var_241 = Some( crate::xml_deser::deser_list_predictive_scaling_metric_specifications(&mut tag) ? ) ; - builder = builder.set_metric_specifications(var_232); + builder = builder.set_metric_specifications(var_241); } , s if s.matches("Mode") /* Mode com.amazonaws.autoscaling#PredictiveScalingConfiguration$Mode */ => { - let var_233 = + let var_242 = Some( Result::::Ok( crate::model::PredictiveScalingMode::from( @@ -5333,11 +5469,11 @@ pub fn deser_structure_predictive_scaling_configuration( ? ) ; - builder = builder.set_mode(var_233); + builder = builder.set_mode(var_242); } , s if s.matches("SchedulingBufferTime") /* SchedulingBufferTime com.amazonaws.autoscaling#PredictiveScalingConfiguration$SchedulingBufferTime */ => { - let var_234 = + let var_243 = Some( { ::parse_smithy_primitive( @@ -5348,11 +5484,11 @@ pub fn deser_structure_predictive_scaling_configuration( ? ) ; - builder = builder.set_scheduling_buffer_time(var_234); + builder = builder.set_scheduling_buffer_time(var_243); } , s if s.matches("MaxCapacityBreachBehavior") /* MaxCapacityBreachBehavior com.amazonaws.autoscaling#PredictiveScalingConfiguration$MaxCapacityBreachBehavior */ => { - let var_235 = + let var_244 = Some( Result::::Ok( crate::model::PredictiveScalingMaxCapacityBreachBehavior::from( @@ -5362,11 +5498,11 @@ pub fn deser_structure_predictive_scaling_configuration( ? ) ; - builder = builder.set_max_capacity_breach_behavior(var_235); + builder = builder.set_max_capacity_breach_behavior(var_244); } , s if s.matches("MaxCapacityBuffer") /* MaxCapacityBuffer com.amazonaws.autoscaling#PredictiveScalingConfiguration$MaxCapacityBuffer */ => { - let var_236 = + let var_245 = Some( { ::parse_smithy_primitive( @@ -5377,7 +5513,7 @@ pub fn deser_structure_predictive_scaling_configuration( ? ) ; - builder = builder.set_max_capacity_buffer(var_236); + builder = builder.set_max_capacity_buffer(var_245); } , _ => {} @@ -5394,7 +5530,7 @@ pub fn deser_structure_predictive_scaling_metric_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TargetValue") /* TargetValue com.amazonaws.autoscaling#PredictiveScalingMetricSpecification$TargetValue */ => { - let var_237 = + let var_246 = Some( { ::parse_smithy_primitive( @@ -5405,37 +5541,37 @@ pub fn deser_structure_predictive_scaling_metric_specification( ? ) ; - builder = builder.set_target_value(var_237); + builder = builder.set_target_value(var_246); } , s if s.matches("PredefinedMetricPairSpecification") /* PredefinedMetricPairSpecification com.amazonaws.autoscaling#PredictiveScalingMetricSpecification$PredefinedMetricPairSpecification */ => { - let var_238 = + let var_247 = Some( crate::xml_deser::deser_structure_predictive_scaling_predefined_metric_pair(&mut tag) ? ) ; - builder = builder.set_predefined_metric_pair_specification(var_238); + builder = builder.set_predefined_metric_pair_specification(var_247); } , s if s.matches("PredefinedScalingMetricSpecification") /* PredefinedScalingMetricSpecification com.amazonaws.autoscaling#PredictiveScalingMetricSpecification$PredefinedScalingMetricSpecification */ => { - let var_239 = + let var_248 = Some( crate::xml_deser::deser_structure_predictive_scaling_predefined_scaling_metric(&mut tag) ? ) ; - builder = builder.set_predefined_scaling_metric_specification(var_239); + builder = builder.set_predefined_scaling_metric_specification(var_248); } , s if s.matches("PredefinedLoadMetricSpecification") /* PredefinedLoadMetricSpecification com.amazonaws.autoscaling#PredictiveScalingMetricSpecification$PredefinedLoadMetricSpecification */ => { - let var_240 = + let var_249 = Some( crate::xml_deser::deser_structure_predictive_scaling_predefined_load_metric(&mut tag) ? ) ; - builder = builder.set_predefined_load_metric_specification(var_240); + builder = builder.set_predefined_load_metric_specification(var_249); } , _ => {} @@ -5452,23 +5588,23 @@ pub fn deser_structure_launch_template( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LaunchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.autoscaling#LaunchTemplate$LaunchTemplateSpecification */ => { - let var_241 = + let var_250 = Some( crate::xml_deser::deser_structure_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template_specification(var_241); + builder = builder.set_launch_template_specification(var_250); } , s if s.matches("Overrides") /* Overrides com.amazonaws.autoscaling#LaunchTemplate$Overrides */ => { - let var_242 = + let var_251 = Some( crate::xml_deser::deser_list_overrides(&mut tag) ? ) ; - builder = builder.set_overrides(var_242); + builder = builder.set_overrides(var_251); } , _ => {} @@ -5485,7 +5621,7 @@ pub fn deser_structure_instances_distribution( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("OnDemandAllocationStrategy") /* OnDemandAllocationStrategy com.amazonaws.autoscaling#InstancesDistribution$OnDemandAllocationStrategy */ => { - let var_243 = + let var_252 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5494,11 +5630,11 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_on_demand_allocation_strategy(var_243); + builder = builder.set_on_demand_allocation_strategy(var_252); } , s if s.matches("OnDemandBaseCapacity") /* OnDemandBaseCapacity com.amazonaws.autoscaling#InstancesDistribution$OnDemandBaseCapacity */ => { - let var_244 = + let var_253 = Some( { ::parse_smithy_primitive( @@ -5509,11 +5645,11 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_on_demand_base_capacity(var_244); + builder = builder.set_on_demand_base_capacity(var_253); } , s if s.matches("OnDemandPercentageAboveBaseCapacity") /* OnDemandPercentageAboveBaseCapacity com.amazonaws.autoscaling#InstancesDistribution$OnDemandPercentageAboveBaseCapacity */ => { - let var_245 = + let var_254 = Some( { ::parse_smithy_primitive( @@ -5524,11 +5660,11 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_on_demand_percentage_above_base_capacity(var_245); + builder = builder.set_on_demand_percentage_above_base_capacity(var_254); } , s if s.matches("SpotAllocationStrategy") /* SpotAllocationStrategy com.amazonaws.autoscaling#InstancesDistribution$SpotAllocationStrategy */ => { - let var_246 = + let var_255 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5537,11 +5673,11 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_spot_allocation_strategy(var_246); + builder = builder.set_spot_allocation_strategy(var_255); } , s if s.matches("SpotInstancePools") /* SpotInstancePools com.amazonaws.autoscaling#InstancesDistribution$SpotInstancePools */ => { - let var_247 = + let var_256 = Some( { ::parse_smithy_primitive( @@ -5552,11 +5688,11 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_spot_instance_pools(var_247); + builder = builder.set_spot_instance_pools(var_256); } , s if s.matches("SpotMaxPrice") /* SpotMaxPrice com.amazonaws.autoscaling#InstancesDistribution$SpotMaxPrice */ => { - let var_248 = + let var_257 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5565,7 +5701,7 @@ pub fn deser_structure_instances_distribution( ? ) ; - builder = builder.set_spot_max_price(var_248); + builder = builder.set_spot_max_price(var_257); } , _ => {} @@ -5582,7 +5718,7 @@ pub fn deser_structure_suspended_process( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ProcessName") /* ProcessName com.amazonaws.autoscaling#SuspendedProcess$ProcessName */ => { - let var_249 = + let var_258 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5591,11 +5727,11 @@ pub fn deser_structure_suspended_process( ? ) ; - builder = builder.set_process_name(var_249); + builder = builder.set_process_name(var_258); } , s if s.matches("SuspensionReason") /* SuspensionReason com.amazonaws.autoscaling#SuspendedProcess$SuspensionReason */ => { - let var_250 = + let var_259 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5604,7 +5740,7 @@ pub fn deser_structure_suspended_process( ? ) ; - builder = builder.set_suspension_reason(var_250); + builder = builder.set_suspension_reason(var_259); } , _ => {} @@ -5621,7 +5757,7 @@ pub fn deser_structure_enabled_metric( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Metric") /* Metric com.amazonaws.autoscaling#EnabledMetric$Metric */ => { - let var_251 = + let var_260 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5630,11 +5766,11 @@ pub fn deser_structure_enabled_metric( ? ) ; - builder = builder.set_metric(var_251); + builder = builder.set_metric(var_260); } , s if s.matches("Granularity") /* Granularity com.amazonaws.autoscaling#EnabledMetric$Granularity */ => { - let var_252 = + let var_261 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5643,7 +5779,7 @@ pub fn deser_structure_enabled_metric( ? ) ; - builder = builder.set_granularity(var_252); + builder = builder.set_granularity(var_261); } , _ => {} @@ -5660,7 +5796,7 @@ pub fn deser_structure_instance_refresh_live_pool_progress( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PercentageComplete") /* PercentageComplete com.amazonaws.autoscaling#InstanceRefreshLivePoolProgress$PercentageComplete */ => { - let var_253 = + let var_262 = Some( { ::parse_smithy_primitive( @@ -5671,11 +5807,11 @@ pub fn deser_structure_instance_refresh_live_pool_progress( ? ) ; - builder = builder.set_percentage_complete(var_253); + builder = builder.set_percentage_complete(var_262); } , s if s.matches("InstancesToUpdate") /* InstancesToUpdate com.amazonaws.autoscaling#InstanceRefreshLivePoolProgress$InstancesToUpdate */ => { - let var_254 = + let var_263 = Some( { ::parse_smithy_primitive( @@ -5686,7 +5822,7 @@ pub fn deser_structure_instance_refresh_live_pool_progress( ? ) ; - builder = builder.set_instances_to_update(var_254); + builder = builder.set_instances_to_update(var_263); } , _ => {} @@ -5703,7 +5839,7 @@ pub fn deser_structure_instance_refresh_warm_pool_progress( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PercentageComplete") /* PercentageComplete com.amazonaws.autoscaling#InstanceRefreshWarmPoolProgress$PercentageComplete */ => { - let var_255 = + let var_264 = Some( { ::parse_smithy_primitive( @@ -5714,11 +5850,11 @@ pub fn deser_structure_instance_refresh_warm_pool_progress( ? ) ; - builder = builder.set_percentage_complete(var_255); + builder = builder.set_percentage_complete(var_264); } , s if s.matches("InstancesToUpdate") /* InstancesToUpdate com.amazonaws.autoscaling#InstanceRefreshWarmPoolProgress$InstancesToUpdate */ => { - let var_256 = + let var_265 = Some( { ::parse_smithy_primitive( @@ -5729,7 +5865,7 @@ pub fn deser_structure_instance_refresh_warm_pool_progress( ? ) ; - builder = builder.set_instances_to_update(var_256); + builder = builder.set_instances_to_update(var_265); } , _ => {} @@ -5738,6 +5874,30 @@ pub fn deser_structure_instance_refresh_warm_pool_progress( Ok(builder.build()) } +pub fn deser_list_checkpoint_percentages( + decoder: &mut smithy_xml::decode::ScopedDecoder, +) -> Result, smithy_xml::decode::XmlError> { + let mut out = std::vec::Vec::new(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("member") /* member com.amazonaws.autoscaling#CheckpointPercentages$member */ => { + out.push( + { + ::parse_smithy_primitive( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (integer: `com.amazonaws.autoscaling#NonZeroIntPercent`)")) + } + ? + ); + } + , + _ => {} + } + } + Ok(out) +} + pub fn deser_structure_block_device_mapping( decoder: &mut smithy_xml::decode::ScopedDecoder, ) -> Result { @@ -5746,7 +5906,7 @@ pub fn deser_structure_block_device_mapping( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("VirtualName") /* VirtualName com.amazonaws.autoscaling#BlockDeviceMapping$VirtualName */ => { - let var_257 = + let var_266 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5755,11 +5915,11 @@ pub fn deser_structure_block_device_mapping( ? ) ; - builder = builder.set_virtual_name(var_257); + builder = builder.set_virtual_name(var_266); } , s if s.matches("DeviceName") /* DeviceName com.amazonaws.autoscaling#BlockDeviceMapping$DeviceName */ => { - let var_258 = + let var_267 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5768,21 +5928,21 @@ pub fn deser_structure_block_device_mapping( ? ) ; - builder = builder.set_device_name(var_258); + builder = builder.set_device_name(var_267); } , s if s.matches("Ebs") /* Ebs com.amazonaws.autoscaling#BlockDeviceMapping$Ebs */ => { - let var_259 = + let var_268 = Some( crate::xml_deser::deser_structure_ebs(&mut tag) ? ) ; - builder = builder.set_ebs(var_259); + builder = builder.set_ebs(var_268); } , s if s.matches("NoDevice") /* NoDevice com.amazonaws.autoscaling#BlockDeviceMapping$NoDevice */ => { - let var_260 = + let var_269 = Some( { ::parse_smithy_primitive( @@ -5793,7 +5953,7 @@ pub fn deser_structure_block_device_mapping( ? ) ; - builder = builder.set_no_device(var_260); + builder = builder.set_no_device(var_269); } , _ => {} @@ -5810,7 +5970,7 @@ pub fn deser_structure_step_adjustment( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("MetricIntervalLowerBound") /* MetricIntervalLowerBound com.amazonaws.autoscaling#StepAdjustment$MetricIntervalLowerBound */ => { - let var_261 = + let var_270 = Some( { ::parse_smithy_primitive( @@ -5821,11 +5981,11 @@ pub fn deser_structure_step_adjustment( ? ) ; - builder = builder.set_metric_interval_lower_bound(var_261); + builder = builder.set_metric_interval_lower_bound(var_270); } , s if s.matches("MetricIntervalUpperBound") /* MetricIntervalUpperBound com.amazonaws.autoscaling#StepAdjustment$MetricIntervalUpperBound */ => { - let var_262 = + let var_271 = Some( { ::parse_smithy_primitive( @@ -5836,11 +5996,11 @@ pub fn deser_structure_step_adjustment( ? ) ; - builder = builder.set_metric_interval_upper_bound(var_262); + builder = builder.set_metric_interval_upper_bound(var_271); } , s if s.matches("ScalingAdjustment") /* ScalingAdjustment com.amazonaws.autoscaling#StepAdjustment$ScalingAdjustment */ => { - let var_263 = + let var_272 = Some( { ::parse_smithy_primitive( @@ -5851,7 +6011,7 @@ pub fn deser_structure_step_adjustment( ? ) ; - builder = builder.set_scaling_adjustment(var_263); + builder = builder.set_scaling_adjustment(var_272); } , _ => {} @@ -5868,7 +6028,7 @@ pub fn deser_structure_predefined_metric_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PredefinedMetricType") /* PredefinedMetricType com.amazonaws.autoscaling#PredefinedMetricSpecification$PredefinedMetricType */ => { - let var_264 = + let var_273 = Some( Result::::Ok( crate::model::MetricType::from( @@ -5878,11 +6038,11 @@ pub fn deser_structure_predefined_metric_specification( ? ) ; - builder = builder.set_predefined_metric_type(var_264); + builder = builder.set_predefined_metric_type(var_273); } , s if s.matches("ResourceLabel") /* ResourceLabel com.amazonaws.autoscaling#PredefinedMetricSpecification$ResourceLabel */ => { - let var_265 = + let var_274 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5891,7 +6051,7 @@ pub fn deser_structure_predefined_metric_specification( ? ) ; - builder = builder.set_resource_label(var_265); + builder = builder.set_resource_label(var_274); } , _ => {} @@ -5908,7 +6068,7 @@ pub fn deser_structure_customized_metric_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("MetricName") /* MetricName com.amazonaws.autoscaling#CustomizedMetricSpecification$MetricName */ => { - let var_266 = + let var_275 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5917,11 +6077,11 @@ pub fn deser_structure_customized_metric_specification( ? ) ; - builder = builder.set_metric_name(var_266); + builder = builder.set_metric_name(var_275); } , s if s.matches("Namespace") /* Namespace com.amazonaws.autoscaling#CustomizedMetricSpecification$Namespace */ => { - let var_267 = + let var_276 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5930,21 +6090,21 @@ pub fn deser_structure_customized_metric_specification( ? ) ; - builder = builder.set_namespace(var_267); + builder = builder.set_namespace(var_276); } , s if s.matches("Dimensions") /* Dimensions com.amazonaws.autoscaling#CustomizedMetricSpecification$Dimensions */ => { - let var_268 = + let var_277 = Some( crate::xml_deser::deser_list_metric_dimensions(&mut tag) ? ) ; - builder = builder.set_dimensions(var_268); + builder = builder.set_dimensions(var_277); } , s if s.matches("Statistic") /* Statistic com.amazonaws.autoscaling#CustomizedMetricSpecification$Statistic */ => { - let var_269 = + let var_278 = Some( Result::::Ok( crate::model::MetricStatistic::from( @@ -5954,11 +6114,11 @@ pub fn deser_structure_customized_metric_specification( ? ) ; - builder = builder.set_statistic(var_269); + builder = builder.set_statistic(var_278); } , s if s.matches("Unit") /* Unit com.amazonaws.autoscaling#CustomizedMetricSpecification$Unit */ => { - let var_270 = + let var_279 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -5967,7 +6127,7 @@ pub fn deser_structure_customized_metric_specification( ? ) ; - builder = builder.set_unit(var_270); + builder = builder.set_unit(var_279); } , _ => {} @@ -6006,7 +6166,7 @@ pub fn deser_structure_predictive_scaling_predefined_metric_pair( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PredefinedMetricType") /* PredefinedMetricType com.amazonaws.autoscaling#PredictiveScalingPredefinedMetricPair$PredefinedMetricType */ => { - let var_271 = + let var_280 = Some( Result::::Ok( crate::model::PredefinedMetricPairType::from( @@ -6016,11 +6176,11 @@ pub fn deser_structure_predictive_scaling_predefined_metric_pair( ? ) ; - builder = builder.set_predefined_metric_type(var_271); + builder = builder.set_predefined_metric_type(var_280); } , s if s.matches("ResourceLabel") /* ResourceLabel com.amazonaws.autoscaling#PredictiveScalingPredefinedMetricPair$ResourceLabel */ => { - let var_272 = + let var_281 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6029,7 +6189,7 @@ pub fn deser_structure_predictive_scaling_predefined_metric_pair( ? ) ; - builder = builder.set_resource_label(var_272); + builder = builder.set_resource_label(var_281); } , _ => {} @@ -6046,7 +6206,7 @@ pub fn deser_structure_predictive_scaling_predefined_scaling_metric( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PredefinedMetricType") /* PredefinedMetricType com.amazonaws.autoscaling#PredictiveScalingPredefinedScalingMetric$PredefinedMetricType */ => { - let var_273 = + let var_282 = Some( Result::::Ok( crate::model::PredefinedScalingMetricType::from( @@ -6056,11 +6216,11 @@ pub fn deser_structure_predictive_scaling_predefined_scaling_metric( ? ) ; - builder = builder.set_predefined_metric_type(var_273); + builder = builder.set_predefined_metric_type(var_282); } , s if s.matches("ResourceLabel") /* ResourceLabel com.amazonaws.autoscaling#PredictiveScalingPredefinedScalingMetric$ResourceLabel */ => { - let var_274 = + let var_283 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6069,7 +6229,7 @@ pub fn deser_structure_predictive_scaling_predefined_scaling_metric( ? ) ; - builder = builder.set_resource_label(var_274); + builder = builder.set_resource_label(var_283); } , _ => {} @@ -6086,7 +6246,7 @@ pub fn deser_structure_predictive_scaling_predefined_load_metric( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PredefinedMetricType") /* PredefinedMetricType com.amazonaws.autoscaling#PredictiveScalingPredefinedLoadMetric$PredefinedMetricType */ => { - let var_275 = + let var_284 = Some( Result::::Ok( crate::model::PredefinedLoadMetricType::from( @@ -6096,11 +6256,11 @@ pub fn deser_structure_predictive_scaling_predefined_load_metric( ? ) ; - builder = builder.set_predefined_metric_type(var_275); + builder = builder.set_predefined_metric_type(var_284); } , s if s.matches("ResourceLabel") /* ResourceLabel com.amazonaws.autoscaling#PredictiveScalingPredefinedLoadMetric$ResourceLabel */ => { - let var_276 = + let var_285 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6109,7 +6269,7 @@ pub fn deser_structure_predictive_scaling_predefined_load_metric( ? ) ; - builder = builder.set_resource_label(var_276); + builder = builder.set_resource_label(var_285); } , _ => {} @@ -6145,7 +6305,7 @@ pub fn deser_structure_ebs( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SnapshotId") /* SnapshotId com.amazonaws.autoscaling#Ebs$SnapshotId */ => { - let var_277 = + let var_286 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6154,11 +6314,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_snapshot_id(var_277); + builder = builder.set_snapshot_id(var_286); } , s if s.matches("VolumeSize") /* VolumeSize com.amazonaws.autoscaling#Ebs$VolumeSize */ => { - let var_278 = + let var_287 = Some( { ::parse_smithy_primitive( @@ -6169,11 +6329,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_volume_size(var_278); + builder = builder.set_volume_size(var_287); } , s if s.matches("VolumeType") /* VolumeType com.amazonaws.autoscaling#Ebs$VolumeType */ => { - let var_279 = + let var_288 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6182,11 +6342,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_volume_type(var_279); + builder = builder.set_volume_type(var_288); } , s if s.matches("DeleteOnTermination") /* DeleteOnTermination com.amazonaws.autoscaling#Ebs$DeleteOnTermination */ => { - let var_280 = + let var_289 = Some( { ::parse_smithy_primitive( @@ -6197,11 +6357,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_delete_on_termination(var_280); + builder = builder.set_delete_on_termination(var_289); } , s if s.matches("Iops") /* Iops com.amazonaws.autoscaling#Ebs$Iops */ => { - let var_281 = + let var_290 = Some( { ::parse_smithy_primitive( @@ -6212,11 +6372,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_iops(var_281); + builder = builder.set_iops(var_290); } , s if s.matches("Encrypted") /* Encrypted com.amazonaws.autoscaling#Ebs$Encrypted */ => { - let var_282 = + let var_291 = Some( { ::parse_smithy_primitive( @@ -6227,11 +6387,11 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_encrypted(var_282); + builder = builder.set_encrypted(var_291); } , s if s.matches("Throughput") /* Throughput com.amazonaws.autoscaling#Ebs$Throughput */ => { - let var_283 = + let var_292 = Some( { ::parse_smithy_primitive( @@ -6242,7 +6402,7 @@ pub fn deser_structure_ebs( ? ) ; - builder = builder.set_throughput(var_283); + builder = builder.set_throughput(var_292); } , _ => {} @@ -6278,7 +6438,7 @@ pub fn deser_structure_launch_template_overrides( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("InstanceType") /* InstanceType com.amazonaws.autoscaling#LaunchTemplateOverrides$InstanceType */ => { - let var_284 = + let var_293 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6287,11 +6447,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_instance_type(var_284); + builder = builder.set_instance_type(var_293); } , s if s.matches("WeightedCapacity") /* WeightedCapacity com.amazonaws.autoscaling#LaunchTemplateOverrides$WeightedCapacity */ => { - let var_285 = + let var_294 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6300,17 +6460,17 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_weighted_capacity(var_285); + builder = builder.set_weighted_capacity(var_294); } , s if s.matches("LaunchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.autoscaling#LaunchTemplateOverrides$LaunchTemplateSpecification */ => { - let var_286 = + let var_295 = Some( crate::xml_deser::deser_structure_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template_specification(var_286); + builder = builder.set_launch_template_specification(var_295); } , _ => {} @@ -6327,7 +6487,7 @@ pub fn deser_structure_metric_dimension( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.autoscaling#MetricDimension$Name */ => { - let var_287 = + let var_296 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6336,11 +6496,11 @@ pub fn deser_structure_metric_dimension( ? ) ; - builder = builder.set_name(var_287); + builder = builder.set_name(var_296); } , s if s.matches("Value") /* Value com.amazonaws.autoscaling#MetricDimension$Value */ => { - let var_288 = + let var_297 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6349,7 +6509,7 @@ pub fn deser_structure_metric_dimension( ? ) ; - builder = builder.set_value(var_288); + builder = builder.set_value(var_297); } , _ => {} diff --git a/sdk/autoscalingplans/Cargo.toml b/sdk/autoscalingplans/Cargo.toml index 4f98c6ecc1fc..81cdea5991ff 100644 --- a/sdk/autoscalingplans/Cargo.toml +++ b/sdk/autoscalingplans/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-autoscalingplans" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Auto Scaling\n\n \n

          Use AWS Auto Scaling to create scaling plans for your applications to\n automatically scale your scalable AWS resources.

          \n

          \n API Summary\n

          \n

          You can use the AWS Auto Scaling service API to accomplish the following tasks:

          \n
            \n
          • \n

            Create and manage scaling plans

            \n
          • \n
          • \n

            Define target tracking scaling policies to dynamically scale your resources based\n on utilization

            \n
          • \n
          • \n

            Scale Amazon EC2 Auto Scaling groups using predictive scaling and dynamic scaling to scale your\n Amazon EC2 capacity faster

            \n
          • \n
          • \n

            Set minimum and maximum capacity limits

            \n
          • \n
          • \n

            Retrieve information on existing scaling plans

            \n
          • \n
          • \n

            Access current forecast data and historical forecast data for up to 56 days\n previous

            \n
          • \n
          \n \n

          To learn more about AWS Auto Scaling, including information about granting IAM users required\n permissions for AWS Auto Scaling actions, see the AWS Auto Scaling User Guide.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/aws-auth-providers/Cargo.toml b/sdk/aws-auth-providers/Cargo.toml index 90e27e696c34..83763dad6b70 100644 --- a/sdk/aws-auth-providers/Cargo.toml +++ b/sdk/aws-auth-providers/Cargo.toml @@ -4,13 +4,24 @@ version = "0.1.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] edition = "2018" +[features] +rustls = ["smithy-client/rustls"] +native-tls = ["smithy-client/native-tls"] +rt-tokio = ["smithy-async/rt-tokio"] +default = ["rustls", "rt-tokio"] + [dependencies] aws-auth = { path = "../aws-auth" } aws-types = { path = "../aws-types" } aws-sdk-sts = { path = "../sts"} aws-hyper = { path = "../aws-hyper"} +smithy-async = { path = "../smithy-async" } tracing = "0.1" +smithy-client = { path = "../smithy-client" } [dev-dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" +smithy-client = { path = "../smithy-client", features = ["test-util", "hyper-rustls"]} +tokio = { version = "1", features = ["full"]} +tracing-test = "0.1.0" diff --git a/sdk/aws-auth-providers/src/chain.rs b/sdk/aws-auth-providers/src/chain.rs new file mode 100644 index 000000000000..b1157bc92ca6 --- /dev/null +++ b/sdk/aws-auth-providers/src/chain.rs @@ -0,0 +1,75 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::borrow::Cow; + +use aws_auth::provider::{AsyncProvideCredentials, BoxFuture, CredentialsError, CredentialsResult}; +use tracing::Instrument; + +/// Credentials provider that checks a series of inner providers +/// +/// Each provider will be checked in turn. The first provider that returns a successful credential +/// will be used. +/// +/// ## Example +/// ```rust +/// use aws_auth_providers::chain::ChainProvider; +/// use aws_auth::provider::env::EnvironmentVariableCredentialsProvider; +/// use aws_auth::Credentials; +/// let provider = ChainProvider::first_try("Environment", EnvironmentVariableCredentialsProvider::new()) +/// .or_else("Static", Credentials::from_keys("someacceskeyid", "somesecret", None)); +/// ``` +pub struct ChainProvider { + providers: Vec<(Cow<'static, str>, Box)>, +} + +impl ChainProvider { + pub fn first_try( + name: impl Into>, + provider: impl AsyncProvideCredentials + 'static, + ) -> Self { + ChainProvider { + providers: vec![(name.into(), Box::new(provider))], + } + } + + pub fn or_else( + mut self, + name: impl Into>, + provider: impl AsyncProvideCredentials + 'static, + ) -> Self { + self.providers.push((name.into(), Box::new(provider))); + self + } + + async fn credentials(&self) -> CredentialsResult { + for (name, provider) in &self.providers { + let span = tracing::info_span!("load_credentials", provider = %name); + match provider.provide_credentials().instrument(span).await { + Ok(credentials) => { + tracing::info!(provider = %name, "loaded credentials"); + return Ok(credentials); + } + Err(CredentialsError::CredentialsNotLoaded) => { + tracing::info!(provider = %name, "provider in chain did not provide credentials"); + } + Err(e) => { + tracing::warn!(provider = %name, error = %e, "provider failed to provide credentials"); + return Err(e); + } + } + } + return Err(CredentialsError::CredentialsNotLoaded); + } +} + +impl AsyncProvideCredentials for ChainProvider { + fn provide_credentials<'a>(&'a self) -> BoxFuture<'a, CredentialsResult> + where + Self: 'a, + { + Box::pin(self.credentials()) + } +} diff --git a/sdk/aws-auth-providers/src/default_provider_chain.rs b/sdk/aws-auth-providers/src/default_provider_chain.rs new file mode 100644 index 000000000000..524e25826dad --- /dev/null +++ b/sdk/aws-auth-providers/src/default_provider_chain.rs @@ -0,0 +1,229 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::borrow::Cow; + +use aws_auth::provider::env::EnvironmentVariableCredentialsProvider; +use aws_auth::provider::lazy_caching::LazyCachingCredentialsProvider; +use aws_auth::provider::BoxFuture; +use aws_auth::provider::{AsyncProvideCredentials, CredentialsResult}; +use aws_hyper::DynConnector; +use aws_types::os_shim_internal::{Env, Fs}; +use aws_types::region::ProvideRegion; +use smithy_async::rt::sleep::AsyncSleep; + +/// Default AWS Credential Provider Chain +/// +/// Resolution order: +/// 1. Environment variables: [`EnvironmentVariableCredentialsProvider`](aws_auth::provider::env::EnvironmentVariableCredentialsProvider) +/// 2. Shared config (`~/.aws/config`, `~/.aws/credentials`): [`SharedConfigCredentialsProvider`](crate::profile::ProfileFileCredentialProvider) +/// +/// The outer provider is wrapped in a refreshing cache. +/// +/// More providers are a work in progress. +/// +/// ## Example: +/// Create a default chain with a custom region: +/// ```rust +/// use aws_types::region::Region; +/// let credentials_provider = aws_auth_providers::DefaultProviderChain::builder() +/// .region(&Region::new("us-west-1")) +/// .build(); +/// ``` +/// +/// Create a default chain with no overrides: +/// ```rust +/// let credentials_provider = aws_auth_providers::default_provider(); +/// ``` +pub struct DefaultProviderChain(LazyCachingCredentialsProvider); + +impl DefaultProviderChain { + pub fn builder() -> Builder { + Builder::default() + } +} + +impl AsyncProvideCredentials for DefaultProviderChain { + fn provide_credentials<'a>(&'a self) -> BoxFuture<'a, CredentialsResult> + where + Self: 'a, + { + self.0.provide_credentials() + } +} + +/// Builder for [`DefaultProviderChain`](DefaultProviderChain) +#[derive(Default)] +pub struct Builder { + profile_file_builder: crate::profile::Builder, + web_identity_builder: crate::web_identity_token::Builder, + credential_cache: aws_auth::provider::lazy_caching::builder::Builder, + env: Option, +} + +impl Builder { + /// Set the region used when making requests to AWS services (eg. STS) as part of the provider chain + /// + /// When unset, the default region resolver chain will be used. + pub fn region(mut self, region: &dyn ProvideRegion) -> Self { + self.profile_file_builder.set_region(region.region()); + self.web_identity_builder.set_region(region.region()); + self + } + + /// Override the HTTPS connector used for this provider + /// + /// If a connector other than Hyper is used or if the Tokio/Hyper features have been disabled + /// this method MUST be used to specify a custom connector. + pub fn connector(mut self, connector: DynConnector) -> Self { + self.profile_file_builder + .set_connector(Some(connector.clone())); + self.web_identity_builder.set_connector(Some(connector)); + self + } + + /// Override the sleep implementation used for this provider + /// + /// By default, Tokio will be used to support async sleep during credentials for timeouts + /// and reloading credentials. If the tokio default feature has been disabled, a custom + /// sleep implementation must be provided. + pub fn sleep(mut self, sleep: impl AsyncSleep + 'static) -> Self { + self.credential_cache = self.credential_cache.sleep(sleep); + self + } + + /// Add an additional credential source for the ProfileProvider + /// + /// Assume role profiles may specify named credential sources: + /// ```ini + /// [default] + /// role_arn = arn:aws:iam::123456789:role/RoleA + /// credential_source = MyCustomProvider + /// ``` + /// + /// Typically, these are built-in providers like `Environment`, however, custom sources may + /// also be used. Using custom sources must be registered: + /// ```rust + /// use aws_auth::provider::{ProvideCredentials, CredentialsError}; + /// use aws_auth::Credentials; + /// use aws_auth_providers::DefaultProviderChain; + /// struct MyCustomProvider; + /// // there is a blanket implementation for `AsyncProvideCredentials` on ProvideCredentials + /// impl ProvideCredentials for MyCustomProvider { + /// fn provide_credentials(&self) -> Result { + /// todo!() + /// } + /// } + /// // assume role can now use `MyCustomProvider` when maed + /// let provider_chain = DefaultProviderChain::builder() + /// .with_custom_credential_source("MyCustomProvider", MyCustomProvider) + /// .build(); + /// ``` + pub fn with_custom_credential_source( + mut self, + name: impl Into>, + provider: impl AsyncProvideCredentials + 'static, + ) -> Self { + self.profile_file_builder = self + .profile_file_builder + .with_custom_provider(name, provider); + self + } + + #[doc(hidden)] + /// Override the filesystem used for this provider + /// + /// This method exists primarily for testing credential providers + pub fn fs(mut self, fs: Fs) -> Self { + self.profile_file_builder.set_fs(fs.clone()); + self.web_identity_builder.set_fs(fs); + self + } + + #[doc(hidden)] + /// Override the environment used for this provider + /// + /// This method exists primarily for testing credential providers + pub fn env(mut self, env: Env) -> Self { + self.env = Some(env.clone()); + self.profile_file_builder.set_env(env.clone()); + self.web_identity_builder.set_env(env); + self + } + + pub fn build(self) -> DefaultProviderChain { + let profile_provider = self.profile_file_builder.build(); + let env_provider = + EnvironmentVariableCredentialsProvider::new_with_env(self.env.unwrap_or_default()); + let web_identity_token_provider = self.web_identity_builder.build(); + let provider_chain = crate::chain::ChainProvider::first_try("Environment", env_provider) + .or_else("Profile", profile_provider) + .or_else("WebIdentityToken", web_identity_token_provider); + let cached_provider = self.credential_cache.load(provider_chain); + DefaultProviderChain(cached_provider.build()) + } +} + +#[cfg(test)] +mod test { + + macro_rules! make_test { + ($name: ident) => { + #[traced_test] + #[tokio::test] + async fn $name() { + crate::test_case::TestEnvironment::from_dir(concat!( + "./test-data/default-provider-chain/", + stringify!($name) + )) + .unwrap() + .execute(|fs, env, conn| { + crate::default_provider_chain::Builder::default() + .env(env) + .fs(fs) + .region(&Region::from_static("us-east-1")) + .connector(conn) + .build() + }) + .await + } + }; + } + + use aws_sdk_sts::Region; + + use tracing_test::traced_test; + + make_test!(prefer_environment); + make_test!(profile_static_keys); + make_test!(web_identity_token_env); + make_test!(web_identity_source_profile_no_env); + make_test!(web_identity_token_invalid_jwt); + make_test!(web_identity_token_source_profile); + make_test!(web_identity_token_profile); + make_test!(profile_overrides_web_identity); + + /// Helper that uses `execute_and_update` instead of execute + /// + /// If you run this, it will add another HTTP traffic log which re-records the request + /// data + #[tokio::test] + #[ignore] + async fn update_test() { + crate::test_case::TestEnvironment::from_dir(concat!( + "./test-data/default-provider-chain/web_identity_token_source_profile", + )) + .unwrap() + .execute_and_update(|fs, env, conn| { + crate::default_provider_chain::Builder::default() + .env(env) + .fs(fs) + .region(&Region::from_static("us-east-1")) + .connector(conn) + .build() + }) + .await + } +} diff --git a/sdk/aws-auth-providers/src/lib.rs b/sdk/aws-auth-providers/src/lib.rs index db4f015666cb..91214aa85351 100644 --- a/sdk/aws-auth-providers/src/lib.rs +++ b/sdk/aws-auth-providers/src/lib.rs @@ -2,5 +2,56 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ +use aws_auth::provider::AsyncProvideCredentials; +use aws_hyper::DynConnector; +pub use default_provider_chain::DefaultProviderChain; + +pub mod default_provider_chain; pub mod profile; + +/// Credentials Provider that evaluates a series of providers +pub mod chain; +mod sts_util; +mod test_case; +pub mod web_identity_token; + +// create a default connector given the currently enabled cargo features. +// rustls | native tls | result +// ----------------------------- +// yes | yes | rustls +// yes | no | rustls +// no | yes | native_tls +// no | no | no default + +fn must_have_connector() -> DynConnector { + default_connector().expect("A connector was not available. Either set a custom connector or enable the `rustls` and `native-tls` crate features.") +} + +#[cfg(feature = "rustls")] +fn default_connector() -> Option { + Some(DynConnector::new(smithy_client::conns::https())) +} + +#[cfg(all(not(feature = "rustls"), feature = "native-tls"))] +fn default_connector() -> Option { + Some(DynConnector::new(smithy_client::conns::native_tls())) +} + +#[cfg(not(any(feature = "rustls", feature = "native-tls")))] +fn default_connector() -> Option { + None +} + +// because this doesn't provide any configuration, a runtime and connector must be provided. +#[cfg(all(any(feature = "native-tls", feature = "rustls"), feature = "rt-tokio"))] +/// Default AWS provider chain +/// +/// This provider chain will use defaults for all settings. The region will be resolved with the default +/// provider chain. To construct a custom provider, use [`default_provider_chain::Builder`](default_provider_chain::Builder). +pub fn default_provider() -> impl AsyncProvideCredentials { + let resolved_region = aws_types::region::default_provider(); + default_provider_chain::Builder::default() + .region(&resolved_region) + .build() +} diff --git a/sdk/aws-auth-providers/src/profile.rs b/sdk/aws-auth-providers/src/profile.rs index a72462394dfa..c4dd0e693358 100644 --- a/sdk/aws-auth-providers/src/profile.rs +++ b/sdk/aws-auth-providers/src/profile.rs @@ -22,26 +22,179 @@ //! - `exec` which contains a chain representation of providers to implement passing bootstrapped credentials //! through a series of providers. use std::borrow::Cow; +use std::collections::HashMap; use std::error::Error; use std::fmt::{Display, Formatter}; +use std::sync::Arc; +use aws_auth::provider::env::EnvironmentVariableCredentialsProvider; +use aws_auth::provider::{AsyncProvideCredentials, BoxFuture, CredentialsError, CredentialsResult}; +use aws_hyper::DynConnector; +use aws_sdk_sts::Region; use aws_types::os_shim_internal::{Env, Fs}; use aws_types::profile::ProfileParseError; +use aws_types::region::ProvideRegion; +use tracing::Instrument; + +use crate::must_have_connector; +use crate::profile::exec::named::NamedProviderFactory; +use crate::profile::exec::{ClientConfiguration, ProviderChain}; mod exec; mod repr; -#[doc(hidden)] -pub fn load_profile() -> Result<(), Box> { - // remove the non-usage warnings until we're actually using this module - let _ = repr::resolve_chain(&aws_types::profile::load(&Fs::real(), &Env::real())?)?; - Ok(()) +impl AsyncProvideCredentials for ProfileFileCredentialProvider { + fn provide_credentials<'a>(&'a self) -> BoxFuture<'a, CredentialsResult> + where + Self: 'a, + { + Box::pin(self.load_credentials().instrument(tracing::info_span!( + "load_credentials", + provider = "Profile" + ))) + } +} + +/// AWS Profile based credentials provider +/// +/// This credentials provider will load credentials from `~/.aws/config` and `~/.aws/credentials`. +/// The locations of these files are configurable, see [`profile::load`](aws_types::profile::load). +/// +/// Generally, this will be constructed via the default provider chain, however, it can be manually +/// constructed with the builder: +/// ```rust,no_run +/// use aws_auth_providers::profile::ProfileFileCredentialProvider; +/// let provider = ProfileFileCredentialProvider::builder().build(); +/// ``` +/// +/// **Note:** Profile providers to not implement any caching. They will reload and reparse the profile +/// from the file system when called. See [lazy_caching](aws_auth::provider::lazy_caching) for +/// more information about caching. +/// +/// This provider supports several different credentials formats: +/// ### Credentials defined explicitly within the file +/// ```ini +/// [default] +/// aws_access_key_id = 123 +/// aws_secret_access_key = 456 +/// ``` +/// +/// ### Assume Role Credentials loaded from a credential source +/// ```ini +/// [default] +/// role_arn = arn:aws:iam::123456789:role/RoleA +/// credential_source = Environment +/// ``` +/// +/// NOTE: Currently only the `Environment` credential source is supported although it is possible to +/// provide custom sources: +/// ```rust +/// use aws_auth_providers::profile::ProfileFileCredentialProvider; +/// use aws_auth::provider::{CredentialsResult, AsyncProvideCredentials, BoxFuture}; +/// use std::sync::Arc; +/// struct MyCustomProvider; +/// impl MyCustomProvider { +/// async fn load_credentials(&self) -> CredentialsResult { +/// todo!() +/// } +/// } +/// +/// impl AsyncProvideCredentials for MyCustomProvider { +/// fn provide_credentials<'a>(&'a self) -> BoxFuture<'a, CredentialsResult> where Self: 'a { +/// Box::pin(self.load_credentials()) +/// } +/// } +/// let provider = ProfileFileCredentialProvider::builder() +/// .with_custom_provider("Custom", MyCustomProvider) +/// .build(); +/// ``` +/// +/// ### Assume role credentials from a source profile +/// ```ini +/// [default] +/// role_arn = arn:aws:iam::123456789:role/RoleA +/// source_profile = base +/// +/// [profile base] +/// aws_access_key_id = 123 +/// aws_secret_access_key = 456 +/// ``` +/// +/// Other more complex configurations are possible, consult `test-data/assume-role-tests.json`. +pub struct ProfileFileCredentialProvider { + factory: NamedProviderFactory, + client_config: ClientConfiguration, + fs: Fs, + env: Env, + region: Option, + connector: DynConnector, +} + +impl ProfileFileCredentialProvider { + pub fn builder() -> Builder { + Builder::default() + } + + async fn load_credentials(&self) -> CredentialsResult { + // 1. grab a read lock, use it to see if the base profile has already been loaded + // 2. If it's loaded, great, lets use it. + // If not, upgrade to a write lock and use that to load the profile file. + // 3. Finally, downgrade to ensure no one swapped in the intervening time, then use try_load() + // to pull the new state. + let profile = build_provider_chain( + &self.fs, + &self.env, + &self.region, + &self.connector, + &self.factory, + ) + .await; + let inner_provider = profile.map_err(|err| match err { + ProfileFileError::NoProfilesDefined => CredentialsError::CredentialsNotLoaded, + _ => CredentialsError::InvalidConfiguration( + format!("ProfileFile provider could not be built: {}", &err).into(), + ), + })?; + let mut creds = match inner_provider + .base() + .provide_credentials() + .instrument(tracing::info_span!("load_base_credentials")) + .await + { + Ok(creds) => { + tracing::info!(creds = ?creds, "loaded base credentials"); + creds + } + Err(e) => { + tracing::warn!(error = %e, "failed to load base credentials"); + return Err(CredentialsError::ProviderError(e.into())); + } + }; + for provider in inner_provider.chain().iter() { + let next_creds = provider + .credentials(creds, &self.client_config) + .instrument(tracing::info_span!("load_assume_role", provider = ?provider)) + .await; + match next_creds { + Ok(next_creds) => { + tracing::info!(creds = ?next_creds, "loaded assume role credentials"); + creds = next_creds + } + Err(e) => { + tracing::warn!(provider = ?provider, "failed to load assume role credentials"); + return Err(CredentialsError::ProviderError(e.into())); + } + } + } + Ok(creds) + } } #[derive(Debug)] #[non_exhaustive] pub enum ProfileFileError { CouldNotParseProfile(ProfileParseError), + NoProfilesDefined, CredentialLoop { profiles: Vec, next: String, @@ -58,6 +211,9 @@ pub enum ProfileFileError { profile: String, message: Cow<'static, str>, }, + UnknownProvider { + name: String, + }, } impl Display for ProfileFileError { @@ -81,6 +237,12 @@ impl Display for ProfileFileError { ProfileFileError::MissingProfile { profile, message } => { write!(f, "profile `{}` was not defined: {}", profile, message) } + ProfileFileError::UnknownProvider { name } => write!( + f, + "profile referenced `{}` provider but that provider is not supported", + name + ), + ProfileFileError::NoProfilesDefined => write!(f, "No profiles were defined"), } } } @@ -93,3 +255,165 @@ impl Error for ProfileFileError { } } } + +#[derive(Default)] +pub struct Builder { + fs: Fs, + env: Env, + region: Option, + connector: Option, + custom_providers: HashMap, Arc>, +} + +impl Builder { + pub fn fs(mut self, fs: Fs) -> Self { + self.fs = fs; + self + } + + pub fn set_fs(&mut self, fs: Fs) -> &mut Self { + self.fs = fs; + self + } + + pub fn env(mut self, env: Env) -> Self { + self.env = env; + self + } + + pub fn set_env(&mut self, env: Env) -> &mut Self { + self.env = env; + self + } + + pub fn connector(mut self, connector: DynConnector) -> Self { + self.connector = Some(connector); + self + } + + pub fn set_connector(&mut self, connector: Option) -> &mut Self { + self.connector = connector; + self + } + + pub fn region(mut self, region: Region) -> Self { + self.region = Some(region); + self + } + + pub fn set_region(&mut self, region: Option) -> &mut Self { + self.region = region; + self + } + + pub fn with_custom_provider( + mut self, + name: impl Into>, + provider: impl AsyncProvideCredentials + 'static, + ) -> Self { + self.custom_providers + .insert(name.into(), Arc::new(provider)); + self + } + + pub fn build(self) -> ProfileFileCredentialProvider { + let build_span = tracing::info_span!("build_profile_provider"); + let _enter = build_span.enter(); + let env = self.env.clone(); + let fs = self.fs; + let mut named_providers = self.custom_providers.clone(); + named_providers + .entry("Environment".into()) + .or_insert_with(|| { + Arc::new(EnvironmentVariableCredentialsProvider::new_with_env( + env.clone(), + )) + }); + // TODO: ECS, IMDS, and other named providers + let factory = exec::named::NamedProviderFactory::new(named_providers); + let connector = self.connector.clone().unwrap_or_else(must_have_connector); + let core_client = aws_hyper::Builder::<()>::new() + .map_connector(|_| connector.clone()) + .build(); + + ProfileFileCredentialProvider { + factory, + client_config: ClientConfiguration { + core_client, + region: self.region.clone(), + }, + fs, + env, + region: self.region.clone(), + connector, + } + } +} + +async fn build_provider_chain( + fs: &Fs, + env: &Env, + region: &dyn ProvideRegion, + connector: &DynConnector, + factory: &NamedProviderFactory, +) -> Result { + let profile_set = aws_types::profile::load(&fs, &env).await.map_err(|err| { + tracing::warn!(err = %err, "failed to parse profile"); + ProfileFileError::CouldNotParseProfile(err) + })?; + let repr = repr::resolve_chain(&profile_set)?; + tracing::info!(chain = ?repr, "constructed abstract provider from config file"); + exec::ProviderChain::from_repr(fs.clone(), connector, region, repr, &factory) +} + +#[cfg(test)] +mod test { + use aws_sdk_sts::Region; + use tracing_test::traced_test; + + use crate::profile::Builder; + use crate::test_case::TestEnvironment; + + macro_rules! make_test { + ($name: ident) => { + #[traced_test] + #[tokio::test] + async fn $name() { + TestEnvironment::from_dir(concat!( + "./test-data/profile-provider/", + stringify!($name) + )) + .unwrap() + .execute(|fs, env, conn| { + Builder::default() + .env(env) + .fs(fs) + .region(Region::from_static("us-east-1")) + .connector(conn) + .build() + }) + .await + } + }; + } + + make_test!(e2e_assume_role); + make_test!(empty_config); + make_test!(retry_on_error); + make_test!(invalid_config); + + #[tokio::test] + async fn region_override() { + TestEnvironment::from_dir("./test-data/profile-provider/region_override") + .unwrap() + .execute(|fs, env, conn| { + Builder::default() + .env(env) + .fs(fs) + .region(Region::from_static("us-east-2")) + .connector(conn) + .build() + }) + .await + } +} diff --git a/sdk/aws-auth-providers/src/profile/exec.rs b/sdk/aws-auth-providers/src/profile/exec.rs index de5e410799c5..ac7f7986fd29 100644 --- a/sdk/aws-auth-providers/src/profile/exec.rs +++ b/sdk/aws-auth-providers/src/profile/exec.rs @@ -3,4 +3,204 @@ * SPDX-License-Identifier: Apache-2.0. */ -//! Future home of the execution side of Profile Provider execution +use std::sync::Arc; + +use aws_auth::provider::{AsyncProvideCredentials, CredentialsError, CredentialsResult}; +use aws_auth::Credentials; +use aws_hyper::{DynConnector, StandardClient}; +use aws_sdk_sts::operation::AssumeRole; +use aws_sdk_sts::Config; +use aws_types::region::{ProvideRegion, Region}; + +use crate::profile::repr::BaseProvider; +use crate::profile::ProfileFileError; + +use super::repr; +use crate::sts_util; +use crate::sts_util::default_session_name; +use crate::web_identity_token::{WebIdentityTokenCredentialProvider, WebIdentityTokenRole}; +use aws_types::os_shim_internal::Fs; +use std::fmt::{Debug, Formatter}; + +#[derive(Debug)] +pub struct AssumeRoleProvider { + role_arn: String, + external_id: Option, + session_name: Option, +} + +pub struct ClientConfiguration { + pub(crate) core_client: StandardClient, + pub(crate) region: Option, +} + +impl AssumeRoleProvider { + pub async fn credentials( + &self, + input_credentials: Credentials, + client_config: &ClientConfiguration, + ) -> CredentialsResult { + let config = Config::builder() + .credentials_provider(input_credentials) + .region(client_config.region.clone()) + .build(); + let session_name = &self + .session_name + .as_ref() + .cloned() + .unwrap_or_else(|| sts_util::default_session_name("assume-role-from-profile")); + let operation = AssumeRole::builder() + .role_arn(&self.role_arn) + .set_external_id(self.external_id.clone()) + .role_session_name(session_name) + .build() + .expect("operation is valid") + .make_operation(&config) + .expect("valid operation"); + let assume_role_creds = client_config + .core_client + .call(operation) + .await + .map_err(|err| CredentialsError::ProviderError(err.into()))? + .credentials; + crate::sts_util::into_credentials(assume_role_creds, "AssumeRoleProvider") + } +} + +pub(crate) struct ProviderChain { + base: Arc, + chain: Vec, +} + +impl Debug for ProviderChain { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + // TODO: AsyncProvideCredentials should probably mandate debug + f.debug_struct("ProviderChain").finish() + } +} + +impl ProviderChain { + pub fn base(&self) -> &dyn AsyncProvideCredentials { + self.base.as_ref() + } + + pub fn chain(&self) -> &[AssumeRoleProvider] { + &self.chain.as_slice() + } +} + +impl ProviderChain { + pub fn from_repr( + fs: Fs, + connector: &DynConnector, + region: &dyn ProvideRegion, + repr: repr::ProfileChain, + factory: &named::NamedProviderFactory, + ) -> Result { + let base = match repr.base() { + BaseProvider::NamedSource(name) => { + factory + .provider(name) + .ok_or(ProfileFileError::UnknownProvider { + name: name.to_string(), + })? + } + BaseProvider::AccessKey(key) => Arc::new(key.clone()), + BaseProvider::WebIdentityTokenRole { + role_arn, + web_identity_token_file, + session_name, + } => { + let provider = WebIdentityTokenCredentialProvider::builder() + .static_configuration(WebIdentityTokenRole { + web_identity_token_file: web_identity_token_file.into(), + role_arn: role_arn.to_string(), + session_name: session_name + .map(|sess| sess.to_string()) + .unwrap_or_else(|| default_session_name("web-identity-token-profile")), + }) + .fs(fs) + .connector(connector.clone()) + .region(region) + .build(); + Arc::new(provider) + } + }; + tracing::info!(base = ?repr.base(), "first credentials will be loaded from {:?}", repr.base()); + let chain = repr + .chain() + .iter() + .map(|role_arn| { + tracing::info!(role_arn = ?role_arn, "which will be used to assume a role"); + AssumeRoleProvider { + role_arn: role_arn.role_arn.into(), + external_id: role_arn.external_id.map(|id| id.into()), + session_name: role_arn.session_name.map(|id| id.into()), + } + }) + .collect(); + Ok(ProviderChain { base, chain }) + } +} + +pub mod named { + use std::collections::HashMap; + use std::sync::Arc; + + use aws_auth::provider::AsyncProvideCredentials; + use std::borrow::Cow; + + pub struct NamedProviderFactory { + providers: HashMap, Arc>, + } + + impl NamedProviderFactory { + pub fn new( + providers: HashMap, Arc>, + ) -> Self { + Self { providers } + } + + pub fn provider(&self, name: &str) -> Option> { + self.providers.get(name).cloned() + } + } +} + +#[cfg(test)] +mod test { + use crate::profile::exec::named::NamedProviderFactory; + use crate::profile::exec::ProviderChain; + use crate::profile::repr::{BaseProvider, ProfileChain}; + use aws_hyper::DynConnector; + use aws_sdk_sts::Region; + use smithy_client::dvr; + use std::collections::HashMap; + + fn stub_connector() -> DynConnector { + DynConnector::new(dvr::ReplayingConnection::new(vec![])) + } + + #[test] + fn error_on_unknown_provider() { + let factory = NamedProviderFactory::new(HashMap::new()); + let chain = ProviderChain::from_repr( + Default::default(), + &stub_connector(), + &Region::new("us-east-1"), + ProfileChain { + base: BaseProvider::NamedSource("floozle"), + chain: vec![], + }, + &factory, + ); + let err = chain.expect_err("no source by that name"); + assert!( + format!("{}", err).contains( + "profile referenced `floozle` provider but that provider is not supported" + ), + "`{}` did not match expected error", + err + ); + } +} diff --git a/sdk/aws-auth-providers/src/profile/repr.rs b/sdk/aws-auth-providers/src/profile/repr.rs index 1ea14453c4e3..c596ceb6d57b 100644 --- a/sdk/aws-auth-providers/src/profile/repr.rs +++ b/sdk/aws-auth-providers/src/profile/repr.rs @@ -25,8 +25,18 @@ use aws_types::profile::{Profile, ProfileSet}; /// that don't actually have implementations. #[derive(Debug)] pub struct ProfileChain<'a> { - base: BaseProvider<'a>, - chain: Vec>, + pub(crate) base: BaseProvider<'a>, + pub(crate) chain: Vec>, +} + +impl<'a> ProfileChain<'a> { + pub fn base(&self) -> &BaseProvider<'a> { + &self.base + } + + pub fn chain(&self) -> &[RoleArn<'a>] { + &self.chain.as_slice() + } } /// A base member of the profile chain @@ -58,16 +68,21 @@ pub enum BaseProvider<'a> { /// aws_secret_access_key = def456 /// ``` AccessKey(Credentials), - // TODO: add SSO support - /* - /// An SSO Provider - Sso { - sso_account_id: &'a str, - sso_region: &'a str, - sso_role_name: &'a str, - sso_start_url: &'a str, - }, - */ + + WebIdentityTokenRole { + role_arn: &'a str, + web_identity_token_file: &'a str, + session_name: Option<&'a str>, + }, // TODO: add SSO support + /* + /// An SSO Provider + Sso { + sso_account_id: &'a str, + sso_region: &'a str, + sso_role_name: &'a str, + sso_start_url: &'a str, + }, + */ } /// A profile that specifies a role to assume @@ -77,16 +92,19 @@ pub enum BaseProvider<'a> { #[derive(Debug)] pub struct RoleArn<'a> { /// Role to assume - role_arn: &'a str, + pub role_arn: &'a str, /// external_id parameter to pass to the assume role provider - external_id: Option<&'a str>, + pub external_id: Option<&'a str>, /// session name parameter to pass to the assume role provider - session_name: Option<&'a str>, + pub session_name: Option<&'a str>, } /// Resolve a ProfileChain from a ProfileSet or return an error pub fn resolve_chain(profile_set: &ProfileSet) -> Result { + if profile_set.is_empty() { + return Err(ProfileFileError::NoProfilesDefined); + } let mut source_profile_name = profile_set.selected_profile(); let mut visited_profiles = vec![]; let mut chain = vec![]; @@ -153,6 +171,10 @@ mod role { pub const SOURCE_PROFILE: &str = "source_profile"; } +mod web_identity_token { + pub const TOKEN_FILE: &str = "web_identity_token_file"; +} + mod static_credentials { pub const AWS_ACCESS_KEY_ID: &str = "aws_access_key_id"; pub const AWS_SECRET_ACCESS_KEY: &str = "aws_secret_access_key"; @@ -162,11 +184,11 @@ const PROVIDER_NAME: &str = "ProfileFile"; fn base_provider(profile: &Profile) -> Result { // the profile must define either a `CredentialsSource` or a concrete set of access keys - let profile = match profile.get(role::CREDENTIAL_SOURCE) { - Some(source) => BaseProvider::NamedSource(source), - None => BaseProvider::AccessKey(static_creds_from_profile(profile)?), - }; - Ok(profile) + match profile.get(role::CREDENTIAL_SOURCE) { + Some(source) => Ok(BaseProvider::NamedSource(source)), + None => web_identity_token_from_profile(profile) + .unwrap_or_else(|| Ok(BaseProvider::AccessKey(static_creds_from_profile(profile)?))), + } } enum NextProfile<'a> { @@ -205,6 +227,10 @@ fn chain_provider(profile: &Profile) -> Option Option { + // Web Identity Tokens are root providers, not chained roles + if profile.get(web_identity_token::TOKEN_FILE).is_some() { + return None; + } let role_arn = profile.get(role::ROLE_ARN)?; let session_name = profile.get(role::SESSION_NAME); let external_id = profile.get(role::EXTERNAL_ID); @@ -215,6 +241,28 @@ fn role_arn_from_profile(profile: &Profile) -> Option { }) } +fn web_identity_token_from_profile( + profile: &Profile, +) -> Option> { + let session_name = profile.get(role::SESSION_NAME); + match ( + profile.get(role::ROLE_ARN), + profile.get(web_identity_token::TOKEN_FILE), + ) { + (Some(role_arn), Some(token_file)) => Some(Ok(BaseProvider::WebIdentityTokenRole { + role_arn, + web_identity_token_file: token_file, + session_name, + })), + (None, None) => None, + (Some(_role_arn), None) => None, + (None, Some(_token_file)) => Some(Err(ProfileFileError::InvalidCredentialSource { + profile: profile.name().to_string(), + message: "`web_identity_token_file` was specified but `role_arn` was missing".into(), + })), + } +} + /// Load static credentials from a profile /// /// Example: @@ -279,8 +327,8 @@ mod tests { let expected = test_case.output; match (expected, actual) { (TestOutput::Error(s), Err(e)) => assert!( - format!("{:?}", e).contains(&s), - "expected {:?} to contain `{}`", + format!("{}", e).contains(&s), + "expected {} to contain `{}`", e, s ), @@ -316,6 +364,15 @@ mod tests { secret_access_key: creds.secret_access_key().into(), session_token: creds.session_token().map(|tok| tok.to_string()), }), + BaseProvider::WebIdentityTokenRole { + role_arn, + web_identity_token_file, + session_name, + } => output.push(Provider::WebIdentityToken { + role_arn: role_arn.into(), + web_identity_token_file: web_identity_token_file.into(), + role_session_name: session_name.map(|sess| sess.to_string()), + }), }; for role in profile_chain.chain { output.push(Provider::AssumeRole { @@ -346,5 +403,10 @@ mod tests { session_token: Option, }, NamedSource(String), + WebIdentityToken { + role_arn: String, + web_identity_token_file: String, + role_session_name: Option, + }, } } diff --git a/sdk/aws-auth-providers/src/sts_util.rs b/sdk/aws-auth-providers/src/sts_util.rs new file mode 100644 index 000000000000..3d082c9d959f --- /dev/null +++ b/sdk/aws-auth-providers/src/sts_util.rs @@ -0,0 +1,49 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_auth::provider::{CredentialsError, CredentialsResult}; +use aws_auth::Credentials as AwsCredentials; +use aws_sdk_sts::model::Credentials as StsCredentials; +use std::time::{SystemTime, UNIX_EPOCH}; + +/// Convert STS credentials to aws_auth::Credentials +pub fn into_credentials( + sts_credentials: Option, + provider_name: &'static str, +) -> CredentialsResult { + let sts_credentials = sts_credentials + .ok_or_else(|| CredentialsError::Unhandled("STS credentials must be defined".into()))?; + let expiration = sts_credentials + .expiration + .ok_or_else(|| CredentialsError::Unhandled("missing expiration".into()))?; + let expiration = expiration.to_system_time().ok_or_else(|| { + CredentialsError::Unhandled( + format!("expiration is before unix epoch: {:?}", &expiration).into(), + ) + })?; + Ok(AwsCredentials::new( + sts_credentials.access_key_id.ok_or_else(|| { + CredentialsError::Unhandled("access key id missing from result".into()) + })?, + sts_credentials + .secret_access_key + .ok_or_else(|| CredentialsError::Unhandled("secret access token missing".into()))?, + sts_credentials.session_token, + Some(expiration), + provider_name, + )) +} + +/// Create a default STS session name +/// +/// STS Assume Role providers MUST assign a name to their generated session. When a user does not +/// provide a name for the session, the provider will choose a name composed of a base + a timestamp, +/// eg. `profile-file-provider-123456789` +pub fn default_session_name(base: &str) -> String { + let now = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("post epoch"); + format!("{}-{}", base, now.as_millis()) +} diff --git a/sdk/aws-auth-providers/src/test_case.rs b/sdk/aws-auth-providers/src/test_case.rs new file mode 100644 index 000000000000..62da3a7224cf --- /dev/null +++ b/sdk/aws-auth-providers/src/test_case.rs @@ -0,0 +1,175 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#![cfg(test)] + +use std::collections::HashMap; +use std::error::Error; +use std::path::{Path, PathBuf}; +use std::time::UNIX_EPOCH; + +use aws_auth::provider::{AsyncProvideCredentials, CredentialsResult}; +use aws_hyper::DynConnector; +use aws_types::os_shim_internal::{Env, Fs}; +use serde::Deserialize; +use smithy_client::dvr::{NetworkTraffic, RecordingConnection, ReplayingConnection}; + +#[derive(Deserialize, Debug, Eq, PartialEq)] +struct Credentials { + access_key_id: String, + secret_access_key: String, + session_token: Option, + expiry: Option, +} + +/// Convert real credentials to test credentials +/// +/// Comparing equality on real credentials works, but it's a pain because the Debug implementation +/// hides the actual keys +impl From<&aws_auth::Credentials> for Credentials { + fn from(credentials: &aws_auth::Credentials) -> Self { + Self { + access_key_id: credentials.access_key_id().into(), + secret_access_key: credentials.secret_access_key().into(), + session_token: credentials.session_token().map(ToString::to_string), + expiry: credentials + .expiry() + .map(|t| t.duration_since(UNIX_EPOCH).unwrap().as_secs()), + } + } +} + +/// Credentials test environment +/// +/// A credentials test environment is a directory containing: +/// - an `fs` directory. This is loaded into the test as if it was mounted at `/` +/// - an `env.json` file containing environment variables +/// - an `http-traffic.json` file containing an http traffic log from [`dvr`](smithy_client::dvr) +/// - a `test-case.json` file defining the expected output of the test +pub struct TestEnvironment { + env: Env, + fs: Fs, + network_traffic: NetworkTraffic, + metadata: Metadata, + base_dir: PathBuf, +} + +#[derive(Deserialize)] +enum TestResult { + Ok(Credentials), + ErrorContains(String), +} + +#[derive(Deserialize)] +pub struct Metadata { + result: TestResult, + docs: String, + name: String, +} + +impl TestEnvironment { + pub fn from_dir(dir: impl AsRef) -> Result> { + let dir = dir.as_ref(); + let env = std::fs::read_to_string(dir.join("env.json")) + .map_err(|e| format!("failed to load env: {}", e))?; + let env: HashMap = + serde_json::from_str(&env).map_err(|e| format!("failed to parse env: {}", e))?; + let env = Env::from(env); + let fs = Fs::from_test_dir(dir.join("fs"), "/"); + let network_traffic = std::fs::read_to_string(dir.join("http-traffic.json")) + .map_err(|e| format!("failed to load http traffic: {}", e))?; + let network_traffic: NetworkTraffic = serde_json::from_str(&network_traffic)?; + + let metadata: Metadata = serde_json::from_str( + &std::fs::read_to_string(dir.join("test-case.json")) + .map_err(|e| format!("failed to load test case: {}", e))?, + )?; + Ok(TestEnvironment { + base_dir: dir.into(), + env, + fs, + network_traffic, + metadata, + }) + } + + /// Execute the test suite & record a new traffic log + /// + /// A connector will be created with the factory, then request traffic will be recorded. + /// Response are generated from the existing http-traffic.json. + pub async fn execute_and_update

          (&self, make_provider: impl Fn(Fs, Env, DynConnector) -> P) + where + P: AsyncProvideCredentials, + { + let connector = RecordingConnection::new(ReplayingConnection::new( + self.network_traffic.events().clone(), + )); + let provider = make_provider( + self.fs.clone(), + self.env.clone(), + DynConnector::new(connector.clone()), + ); + let result = provider.provide_credentials().await; + std::fs::write( + self.base_dir.join("http-traffic-recorded.json"), + serde_json::to_string(&connector.network_traffic()).unwrap(), + ) + .unwrap(); + self.check_results(&result); + } + + fn log_info(&self) { + eprintln!("test case: {}. {}", self.metadata.name, self.metadata.docs); + } + + /// Execute a test case. Failures lead to panics. + pub async fn execute

          (&self, make_provider: impl Fn(Fs, Env, DynConnector) -> P) + where + P: AsyncProvideCredentials, + { + let connector = ReplayingConnection::new(self.network_traffic.events().clone()); + let provider = make_provider( + self.fs.clone(), + self.env.clone(), + DynConnector::new(connector.clone()), + ); + let result = provider.provide_credentials().await; + self.log_info(); + self.check_results(&result); + // todo: validate bodies + match connector.validate(&["CONTENT-TYPE", "HOST"], |_expected, _actual| Ok(())) { + Ok(()) => {} + Err(e) => panic!("{}", e), + } + } + + fn check_results(&self, result: &CredentialsResult) { + match (&result, &self.metadata.result) { + (Ok(actual), TestResult::Ok(expected)) => { + assert_eq!( + expected, + &Credentials::from(actual), + "incorrect credentials were returned" + ) + } + (Err(err), TestResult::ErrorContains(substr)) => { + assert!( + format!("{}", err).contains(substr), + "`{}` did not contain `{}`", + err, + substr + ) + } + (Err(actual_error), TestResult::Ok(expected_creds)) => panic!( + "expected credentials ({:?}) but an error was returned: {}", + expected_creds, actual_error + ), + (Ok(creds), TestResult::ErrorContains(substr)) => panic!( + "expected an error containing: `{}`, but credentials were returned: {:?}", + substr, creds + ), + } + } +} diff --git a/sdk/aws-auth-providers/src/web_identity_token.rs b/sdk/aws-auth-providers/src/web_identity_token.rs new file mode 100644 index 000000000000..eda869c3e535 --- /dev/null +++ b/sdk/aws-auth-providers/src/web_identity_token.rs @@ -0,0 +1,310 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Load Credentials from Web Identity Tokens +//! +//! WebIdentity tokens can be loaded via environment variables, or via profiles: +//! +//! ## Via Environment Variables +//! WebIdentityTokenCredentialProvider will load the following environment variables: +//! - `AWS_WEB_IDENTITY_TOKEN_FILE`: **required**, location to find the token file containing a JWT token +//! - `AWS_ROLE_ARN`: **required**, role ARN to assume +//! - `AWS_IAM_ROLE_SESSION_NAME`: **optional**: Session name to use when assuming the role +//! +//! ## Via Shared Config Profiles +//! Web identity token credentials can be loaded from `~/.aws/config` in two ways: +//! 1. Directly: +//! ```ini +//! [profile default] +//! role_arn = arn:aws:iam::1234567890123:role/RoleA +//! web_identity_token_file = /token.jwt +//! ``` +//! +//! 2. As a source profile for another role: +//! +//! ```ini +//! [profile default] +//! role_arn = arn:aws:iam::123456789:role/RoleA +//! source_profile = base +//! +//! [profile base] +//! role_arn = arn:aws:iam::123456789012:role/s3-reader +//! web_identity_token_file = /token.jwt +//! ``` + +use aws_hyper::{DynConnector, StandardClient}; +use aws_sdk_sts::Region; +use aws_types::os_shim_internal::{Env, Fs}; +use aws_types::region::ProvideRegion; + +use crate::{must_have_connector, sts_util}; +use aws_auth::provider::{AsyncProvideCredentials, BoxFuture, CredentialsError, CredentialsResult}; +use std::borrow::Cow; +use std::path::{Path, PathBuf}; + +const ENV_VAR_TOKEN_FILE: &str = "AWS_WEB_IDENTITY_TOKEN_FILE"; +const ENV_VAR_ROLE_ARN: &str = "AWS_ROLE_ARN"; +const ENV_VAR_SESSION_NAME: &str = "AWS_ROLE_SESSION_NAME"; + +/// Credential provider to load credentials from Web Identity Tokens +/// +/// See Module documentation for more details +pub struct WebIdentityTokenCredentialProvider { + source: Source, + fs: Fs, + client: StandardClient, + region: Option, +} + +impl WebIdentityTokenCredentialProvider { + pub fn builder() -> Builder { + Builder::default() + } +} + +enum Source { + Env(Env), + Static(WebIdentityTokenRole), +} + +/// Hard-coded WebIdentityToken role +#[derive(Debug, Clone)] +pub struct WebIdentityTokenRole { + pub web_identity_token_file: PathBuf, + pub role_arn: String, + pub session_name: String, +} + +impl AsyncProvideCredentials for WebIdentityTokenCredentialProvider { + fn provide_credentials<'a>(&'a self) -> BoxFuture<'a, CredentialsResult> + where + Self: 'a, + { + Box::pin(self.credentials()) + } +} + +impl WebIdentityTokenCredentialProvider { + fn source(&self) -> Result, CredentialsError> { + match &self.source { + Source::Env(env) => { + let token_file = env + .get(ENV_VAR_TOKEN_FILE) + .map_err(|_| CredentialsError::CredentialsNotLoaded)?; + let role_arn = env.get(ENV_VAR_ROLE_ARN).map_err(|_| { + CredentialsError::InvalidConfiguration( + "AWS_ROLE_ARN environment variable must be set".into(), + ) + })?; + let session_name = env + .get(ENV_VAR_SESSION_NAME) + .unwrap_or_else(|_| sts_util::default_session_name("web-identity-token")); + Ok(Cow::Owned(WebIdentityTokenRole { + web_identity_token_file: token_file.into(), + role_arn, + session_name, + })) + } + Source::Static(conf) => Ok(Cow::Borrowed(conf)), + } + } + async fn credentials(&self) -> CredentialsResult { + let conf = self.source()?; + load_credentials( + &self.fs, + &self.client, + &self.region.as_ref().cloned().ok_or_else(|| { + CredentialsError::InvalidConfiguration( + "region is required for WebIdentityTokenProvider".into(), + ) + })?, + &conf.web_identity_token_file, + &conf.role_arn, + &conf.session_name, + ) + .await + } +} + +#[derive(Default)] +pub struct Builder { + source: Option, + fs: Fs, + connector: Option, + region: Option, +} + +impl Builder { + pub fn fs(mut self, fs: Fs) -> Self { + self.fs = fs; + self + } + + pub fn set_fs(&mut self, fs: Fs) -> &mut Self { + self.fs = fs; + self + } + + pub fn env(mut self, env: Env) -> Self { + self.source = Some(Source::Env(env)); + self + } + + pub fn static_configuration(mut self, config: WebIdentityTokenRole) -> Self { + self.source = Some(Source::Static(config)); + self + } + + pub fn set_env(&mut self, env: Env) -> &mut Self { + self.source = Some(Source::Env(env)); + self + } + + pub fn connector(mut self, connector: DynConnector) -> Self { + self.connector = Some(connector); + self + } + + pub fn set_connector(&mut self, connector: Option) -> &mut Self { + self.connector = connector; + self + } + + pub fn region(mut self, region: &dyn ProvideRegion) -> Self { + self.region = region.region(); + self + } + + pub fn set_region(&mut self, region: Option) -> &mut Self { + self.region = region; + self + } + + pub fn build(self) -> WebIdentityTokenCredentialProvider { + let connector = self.connector.unwrap_or_else(must_have_connector); + let client = aws_hyper::Builder::<()>::new() + .map_connector(|_| connector) + .build(); + let source = self.source.unwrap_or_else(|| Source::Env(Env::default())); + WebIdentityTokenCredentialProvider { + source, + fs: self.fs, + client, + region: self.region, + } + } +} + +async fn load_credentials( + fs: &Fs, + client: &StandardClient, + region: &dyn ProvideRegion, + token_file: impl AsRef, + role_arn: &str, + session_name: &str, +) -> CredentialsResult { + let token = fs + .read_to_end(token_file) + .await + .map_err(|err| CredentialsError::ProviderError(err.into()))?; + let token = String::from_utf8(token).map_err(|_utf_8_error| { + CredentialsError::Unhandled("WebIdentityToken was not valid UTF-8".into()) + })?; + let region = region.region().ok_or_else(|| { + CredentialsError::InvalidConfiguration( + "region is required for WebIdentityTokenProvider".into(), + ) + })?; + let conf = aws_sdk_sts::Config::builder() + .region(region.clone()) + .build(); + + let operation = aws_sdk_sts::operation::AssumeRoleWithWebIdentity::builder() + .role_arn(role_arn) + .role_session_name(session_name) + .web_identity_token(token) + .build() + .expect("valid operation") + .make_operation(&conf) + .expect("valid operation"); + let resp = client.call(operation).await.map_err(|sdk_error| { + tracing::warn!(error = ?sdk_error, "sts returned an error assuming web identity role"); + CredentialsError::ProviderError(sdk_error.into()) + })?; + sts_util::into_credentials(resp.credentials, "WebIdentityToken") +} + +#[cfg(test)] +mod test { + use crate::web_identity_token::{ + Builder, ENV_VAR_ROLE_ARN, ENV_VAR_SESSION_NAME, ENV_VAR_TOKEN_FILE, + }; + use aws_auth::provider::CredentialsError; + + use aws_sdk_sts::Region; + use aws_types::os_shim_internal::{Env, Fs}; + + use std::collections::HashMap; + + #[tokio::test] + async fn unloaded_provider() { + // empty environment + let env = Env::from_slice(&[]); + let provider = Builder::default() + .region(&Region::new("us-east-1")) + .env(env) + .build(); + let err = provider + .credentials() + .await + .expect_err("should fail, provider not loaded"); + match err { + CredentialsError::CredentialsNotLoaded => { /* ok */ } + _ => panic!("incorrect error variant"), + } + } + + #[tokio::test] + async fn missing_env_var() { + let env = Env::from_slice(&[(ENV_VAR_TOKEN_FILE, "/token.jwt")]); + let provider = Builder::default() + .region(&Region::new("us-east-1")) + .env(env) + .build(); + let err = provider + .credentials() + .await + .expect_err("should fail, provider not loaded"); + assert!( + format!("{}", err).contains("AWS_ROLE_ARN"), + "`{}` did not contain expected string", + err + ); + match err { + CredentialsError::InvalidConfiguration(_) => { /* ok */ } + _ => panic!("incorrect error variant"), + } + } + + #[tokio::test] + async fn fs_missing_file() { + let env = Env::from_slice(&[ + (ENV_VAR_TOKEN_FILE, "/token.jwt"), + (ENV_VAR_ROLE_ARN, "arn:aws:iam::123456789123:role/test-role"), + (ENV_VAR_SESSION_NAME, "test-session"), + ]); + let fs = Fs::from_map(HashMap::new()); + let provider = Builder::default() + .region(&Region::new("us-east-1")) + .fs(fs) + .env(env) + .build(); + let err = provider.credentials().await.expect_err("no JWT token"); + match err { + CredentialsError::ProviderError(_) => { /* ok */ } + _ => panic!("incorrect error variant"), + } + } +} diff --git a/sdk/aws-auth-providers/test-data/assume-role-tests.json b/sdk/aws-auth-providers/test-data/assume-role-tests.json index 70ed105cb4a0..5d1383c2b84a 100644 --- a/sdk/aws-auth-providers/test-data/assume-role-tests.json +++ b/sdk/aws-auth-providers/test-data/assume-role-tests.json @@ -291,7 +291,7 @@ "selected_profile": "A" }, "output": { - "Error": "could not find source profile A referenced from the root profile" + "Error": "No profiles were defined" } }, { @@ -389,7 +389,7 @@ "selected_profile": "A" }, "output": { - "Error": "CredentialLoop" + "Error": "profile formed an infinite loop" } }, { @@ -410,7 +410,100 @@ "selected_profile": "A" }, "output": { - "Error": "CredentialLoop" + "Error": "profile formed an infinite loop" + } + }, + { + "docs": "web identity role", + "input": { + "profile": { + "A": { + "role_arn": "arn:aws:iam::123456789:role/RoleA", + "web_identity_token_file": "/var/token.jwt" + } + }, + "selected_profile": "A" + }, + "output": { + "ProfileChain": [ + { + "WebIdentityToken": { + "role_arn": "arn:aws:iam::123456789:role/RoleA", + "web_identity_token_file": "/var/token.jwt" + } + } + ] + } + }, + { + "docs": "web identity role with session name", + "input": { + "profile": { + "A": { + "role_arn": "arn:aws:iam::123456789:role/RoleA", + "web_identity_token_file": "/var/token.jwt", + "role_session_name": "some_session_name" + } + }, + "selected_profile": "A" + }, + "output": { + "ProfileChain": [ + { + "WebIdentityToken": { + "role_arn": "arn:aws:iam::123456789:role/RoleA", + "web_identity_token_file": "/var/token.jwt", + "role_session_name": "some_session_name" + } + } + ] + } + }, + { + "docs": "web identity role", + "input": { + "profile": { + "A": { + "web_identity_token_file": "/var/token.jwt" + } + }, + "selected_profile": "A" + }, + "output": { + "Error": "`role_arn` was missing" + } + }, + { + "docs": "web identity token as source profile", + "input": { + "profile": { + "A": { + "role_arn": "arn:aws:iam::123456789:role/RoleA", + "source_profile": "B" + }, + "B": { + "role_arn": "arn:aws:iam::123456789:role/RoleB", + "web_identity_token_file": "/var/token.jwt", + "role_session_name": "some_session_name" + } + }, + "selected_profile": "A" + }, + "output": { + "ProfileChain": [ + { + "WebIdentityToken": { + "role_arn": "arn:aws:iam::123456789:role/RoleB", + "web_identity_token_file": "/var/token.jwt", + "role_session_name": "some_session_name" + } + }, + { + "AssumeRole": { + "role_arn": "arn:aws:iam::123456789:role/RoleA" + } + } + ] } } ] diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/env.json new file mode 100644 index 000000000000..9c196d40c999 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/env.json @@ -0,0 +1,5 @@ +{ + "HOME": "/home", + "AWS_ACCESS_KEY_ID": "correct_key", + "AWS_SECRET_ACCESS_KEY": "correct_secret" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/config new file mode 100644 index 000000000000..a7e5ed58158e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/credentials b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/credentials new file mode 100644 index 000000000000..1cab6a6ca213 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/http-traffic.json new file mode 100644 index 000000000000..d313739d7a81 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/http-traffic.json @@ -0,0 +1,4 @@ +{ + "events": [ ], "docs": "no network traffic", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/test-case.json new file mode 100644 index 000000000000..97751f5ef4e0 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/prefer_environment/test-case.json @@ -0,0 +1,10 @@ +{ + "name": "prefer environment", + "docs": "prefer environment variables over profile", + "result": { + "Ok": { + "access_key_id": "correct_key", + "secret_access_key": "correct_secret" + } + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/env.json new file mode 100644 index 000000000000..233d9a0b0107 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/env.json @@ -0,0 +1,6 @@ +{ + "AWS_ROLE_ARN": "arn:aws:iam::123456789:role/RoleB", + "AWS_WEB_IDENTITY_TOKEN_FILE": "/token.jwt", + "AWS_PROFILE": "A", + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/home/.aws/config new file mode 100644 index 000000000000..b59c920d1763 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/home/.aws/config @@ -0,0 +1,3 @@ +[profile A] +role_arn = arn:aws:iam::123456789:role/RoleA +credential_source = Environment diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/token.jwt new file mode 100644 index 000000000000..f7627e85cb56 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/fs/token.jwt @@ -0,0 +1 @@ +shouldnotbeused diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/http-traffic.json new file mode 100644 index 000000000000..489a35c6115b --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/http-traffic.json @@ -0,0 +1,5 @@ +{ + "events": [], + "docs": "test case uses static creds, no network requests", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/test-case.json new file mode 100644 index 000000000000..5ee9ffa40170 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_overrides_web_identity/test-case.json @@ -0,0 +1,7 @@ +{ + "name": "web identity profile no env", + "docs": "invalid configuration where web identity is used as a source profile but a key is missing. The missing key is in the environment, but that must not be used.", + "result": { + "ErrorContains": "provider could not provide credentials" + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/env.json new file mode 100644 index 000000000000..55fcfbeb051e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/config new file mode 100644 index 000000000000..177811ebf9e8 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/config @@ -0,0 +1,4 @@ +[default] +region = us-east-1 +aws_access_key_id = correct_key +aws_secret_access_key = correct_secret diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/credentials b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/credentials new file mode 100644 index 000000000000..911f7ec09d4f --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[default] +aws_access_key_id = correct_key +aws_secret_access_key = correct_secret diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/http-traffic.json new file mode 100644 index 000000000000..489a35c6115b --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/http-traffic.json @@ -0,0 +1,5 @@ +{ + "events": [], + "docs": "test case uses static creds, no network requests", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/test-case.json new file mode 100644 index 000000000000..c56a02bac65f --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/profile_static_keys/test-case.json @@ -0,0 +1,10 @@ +{ + "name": "profile_static_keys", + "docs": "load static keys from a profile", + "result": { + "Ok": { + "access_key_id": "correct_key", + "secret_access_key": "correct_secret" + } + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/env.json new file mode 100644 index 000000000000..771e473b2485 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/env.json @@ -0,0 +1,5 @@ +{ + "HOME": "/home", + "AWS_ROLE_ARN": "arn:aws:iam::123456789:role/RoleB", + "AWS_PROFILE": "A" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/home/.aws/config new file mode 100644 index 000000000000..bb4e50451e39 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/home/.aws/config @@ -0,0 +1,6 @@ +[profile A] +role_arn = arn:aws:iam::123456789:role/RoleA +source_profile = B + +[profile B] +web_identity_token_file = /token.jwt diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/token.jwt new file mode 100644 index 000000000000..91d25a8217d3 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/fs/token.jwt @@ -0,0 +1 @@ +sometoken diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/http-traffic.json new file mode 100644 index 000000000000..8182c592d746 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/http-traffic.json @@ -0,0 +1,5 @@ +{ + "events": [], + "docs": "test case makes no network requests", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/test-case.json new file mode 100644 index 000000000000..ce3ae3cf1818 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_source_profile_no_env/test-case.json @@ -0,0 +1,7 @@ +{ + "name": "web identity profile no env", + "docs": "invalid configuration where web identity is used as a source profile but a key is missing. The missing key is in the environment, but that must not be used.", + "result": { + "ErrorContains": "`web_identity_token_file` was specified but `role_arn` was missing" + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/env.json new file mode 100644 index 000000000000..e39805456779 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/env.json @@ -0,0 +1,6 @@ +{ + "AWS_WEB_IDENTITY_TOKEN_FILE": "/token.jwt", + "AWS_ROLE_ARN": "arn:aws:iam::123456789012:role/test-role", + "AWS_ROLE_SESSION_NAME": "test-session", + "AWS_REGION": "us-east-1" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/fs/token.jwt new file mode 100644 index 000000000000..4467c73301f7 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/fs/token.jwt @@ -0,0 +1 @@ +eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjkxNDM3NjEsImV4cCI6MTY2MDY3OTc2MSwiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoicnVzdC1zZGstdGVzdEBleGFtcGxlLmNvbSIsIlJvbGUiOiJTREsgVGVzdCJ9.Cx9Ko-ssGIJ5BM798_Jgo9f--lEsSNKCAjBxv-0qQQQ diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/http-traffic.json new file mode 100644 index 000000000000..a171789ee3a3 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/http-traffic.json @@ -0,0 +1,104 @@ +{ + "docs": "successful web identity role assumption (note: fake token)", + "version": "V0", + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "content-length": [ + "424" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.15-alpha os/macos lang/rust/1.55.0-nightly" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRoleWithWebIdentity&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789123%3Arole%2Ftest-role&RoleSessionName=test-session&WebIdentityToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjkxNDM3NjEsImV4cCI6MTY2MDY3OTc2MSwiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoicnVzdC1zZGstdGVzdEBleGFtcGxlLmNvbSIsIlJvbGUiOiJTREsgVGVzdCJ9.Cx9Ko-ssGIJ5BM798_Jgo9f--lEsSNKCAjBxv-0qQQQ" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Mon, 16 Aug 2021 19:52:53 GMT" + ], + "content-type": [ + "text/xml" + ], + "content-length": [ + "2208" + ], + "x-amzn-requestid": [ + "f874b1d6-2f3b-4834-907a-6a7c4b3b2d35" + ], + "vary": [ + "accept-encoding" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n my-cluster.sk1.us-west-2.eks.amazonaws.com\n \n AROARTEST:test-session\n arn:aws:sts::123456789012:assumed-role/sdk-test/test-session\n \n arn:aws:iam::123456789012:oidc-provider/s3-us-west-2.amazonaws.com/oidc-test-testbucket\n \n AKIDTEST\n SECRETKEYTEST\n SESSIONTOKEN_TEST\n 2021-08-16T20:52:53Z\n \n system:serviceaccount:default:default\n \n \n f874b1d6-2f3b-4834-907a-6a7c4b3b2d35\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ] +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/test-case.json new file mode 100644 index 000000000000..156d088ee080 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_env/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "web-identity-token-env", + "docs": "Loads a web identity token configured via environment variables", + "result": { + "Ok": { + "access_key_id": "AKIDTEST", + "secret_access_key": "SECRETKEYTEST", + "session_token": "SESSIONTOKEN_TEST", + "expiry": 1629147173 + } + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/env.json new file mode 100644 index 000000000000..4e6f75b9f20e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/env.json @@ -0,0 +1,5 @@ +{ + "AWS_REGION": "us-east-1", + "AWS_PROFILE": "A", + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/home/.aws/config new file mode 100644 index 000000000000..a396a64cb61d --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/home/.aws/config @@ -0,0 +1,6 @@ +[profile A] +role_arn = arn:aws:iam::123456789:role/RoleA +source_profile = B +[profile B] +role_arn = arn:aws:iam::123456789:role/RoleB +web_identity_token_file = /token.jwt diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/token.jwt new file mode 100644 index 000000000000..1d0a48c8754b --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/fs/token.jwt @@ -0,0 +1 @@ +eyJhbGciOiJSUzI1NiIsImtpZCI6IjQxOTg5NTBhMWU0Y2U3YjIxZDRhYTBjNTRkM2EzNmFhZGI0ZWRiOTcifQ.eyJhdWQiOlsibXktY2x1c3Rlci5zazEudXMtd2VzdC0yLmVrcy5hbWF6b25hd3MuY29tIl0sImV4cCI6MTYyOTIyODE2MSwiaWF0IjoxNjI5MTQxNzYxLCJpc3MiOiJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL29pZGMtdGVzdC10enpvdGJ3bXpud2ltdXJjYmtlYm5kcHhhaW1peGJrYyIsImt1YmVybmV0ZXMuaW8iOnsiYm91bmRPYmplY3RSZWYiOnsiYXBpVmVyc2lvbiI6InYxIiwia2luZCI6IlBvZCIsIm5hbWUiOiJteS1wb2QteHZmZyIsInVpZCI6ImZiZmRlMTZiLTYwNDYtNDZlNS1hZDAzLTVkYWRlMjRiYzBhMiJ9LCJzZXJ2aWNlQWNjb3VudFVJRCI6IjEwMTRmY2QzLTg2MDktNDgwOC05M2JkLWZiMDQzMzdkMjVjYiJ9LCJuYmYiOjE2MjkxNDE3NjEsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.R3W4H0Lj-XQdY_PVJ8HGrCcb0__ouFcvgNxs_e--t-fVrPbuBqTyaG1on1RMQtI1SWyDviS85w_cPVi7F-0kSR93hWtZGtwO_iHmOJQzxD-MEgxyUgW9ZGakQAaxVeaV5981B3ejgcaDOFGwUw3PLCU8LZwy-AxKGfPXCqkK0aA diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/http-traffic.json new file mode 100644 index 000000000000..a3962e5e7951 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/http-traffic.json @@ -0,0 +1,104 @@ +{ + "docs": "web identity token request/response where the response is a assume role error", + "version": "V0", + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-type": [ + "application/x-www-form-urlencoded" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.15-alpha os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "1016" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRoleWithWebIdentity&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2FRoleB&RoleSessionName=web-identity-token-profile-1629229438294&WebIdentityToken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjQxOTg5NTBhMWU0Y2U3YjIxZDRhYTBjNTRkM2EzNmFhZGI0ZWRiOTcifQ.eyJhdWQiOlsibXktY2x1c3Rlci5zazEudXMtd2VzdC0yLmVrcy5hbWF6b25hd3MuY29tIl0sImV4cCI6MTYyOTIyODE2MSwiaWF0IjoxNjI5MTQxNzYxLCJpc3MiOiJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL29pZGMtdGVzdC10enpvdGJ3bXpud2ltdXJjYmtlYm5kcHhhaW1peGJrYyIsImt1YmVybmV0ZXMuaW8iOnsiYm91bmRPYmplY3RSZWYiOnsiYXBpVmVyc2lvbiI6InYxIiwia2luZCI6IlBvZCIsIm5hbWUiOiJteS1wb2QteHZmZyIsInVpZCI6ImZiZmRlMTZiLTYwNDYtNDZlNS1hZDAzLTVkYWRlMjRiYzBhMiJ9LCJzZXJ2aWNlQWNjb3VudFVJRCI6IjEwMTRmY2QzLTg2MDktNDgwOC05M2JkLWZiMDQzMzdkMjVjYiJ9LCJuYmYiOjE2MjkxNDE3NjEsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.R3W4H0Lj-XQdY_PVJ8HGrCcb0__ouFcvgNxs_e--t-fVrPbuBqTyaG1on1RMQtI1SWyDviS85w_cPVi7F-0kSR93hWtZGtwO_iHmOJQzxD-MEgxyUgW9ZGakQAaxVeaV5981B3ejgcaDOFGwUw3PLCU8LZwy-AxKGfPXCqkK0aA%0A" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 400, + "version": "HTTP/1.1", + "headers": { + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "5045ca91-d123-4749-9d66-00a3c906be6c" + ], + "content-length": [ + "381" + ], + "date": [ + "Tue, 17 Aug 2021 19:43:57 GMT" + ], + "connection": [ + "close" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n Sender\n InvalidIdentityToken\n No OpenIDConnect provider found in your account for https://s3-us-west-2.amazonaws.com/oidc-test-tzzotbwmznwimurcbkebndpxaimixbkc\n \n 5045ca91-d123-4749-9d66-00a3c906be6c\n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ] +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/test-case.json new file mode 100644 index 000000000000..c4fe9c61dc28 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_invalid_jwt/test-case.json @@ -0,0 +1,7 @@ +{ + "name": "web identity token bad JWT", + "docs": "Loads a web identity token but the server replies that the token is invalid", + "result": { + "ErrorContains": "InvalidIdentityTokenException: No OpenIDConnect provider found in your account" + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/env.json new file mode 100644 index 000000000000..4e6f75b9f20e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/env.json @@ -0,0 +1,5 @@ +{ + "AWS_REGION": "us-east-1", + "AWS_PROFILE": "A", + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/home/.aws/config new file mode 100644 index 000000000000..e3b9ce55b1cb --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/home/.aws/config @@ -0,0 +1,3 @@ +[profile A] +role_arn = arn:aws:iam::1234567890123:role/RoleA +web_identity_token_file = /token.jwt diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/token.jwt new file mode 100644 index 000000000000..91d25a8217d3 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/fs/token.jwt @@ -0,0 +1 @@ +sometoken diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/http-traffic.json new file mode 100644 index 000000000000..076b5a0ec6df --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/http-traffic.json @@ -0,0 +1,104 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-type": [ + "application/x-www-form-urlencoded" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.15-alpha os/macos lang/rust/1.55.0-nightly" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "content-length": [ + "1023" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRoleWithWebIdentity&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A134095065856%3Arole%2Fs3-reader&RoleSessionName=web-identity-token-profile-1629230104118&WebIdentityToken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjQxOTg5NTBhMWU0Y2U3YjIxZDRhYTBjNTRkM2EzNmFhZGI0ZWRiOTcifQ.eyJhdWQiOlsibXktY2x1c3Rlci5zazEudXMtd2VzdC0yLmVrcy5hbWF6b25hd3MuY29tIl0sImV4cCI6MTYyOTMxNTkyMiwiaWF0IjoxNjI5MjI5NTIyLCJpc3MiOiJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL29pZGMtdGVzdC1jZG1oZmpneHphdXh5eWZtcXBpemNxdXlmamlycmRvbyIsImt1YmVybmV0ZXMuaW8iOnsiYm91bmRPYmplY3RSZWYiOnsiYXBpVmVyc2lvbiI6InYxIiwia2luZCI6IlBvZCIsIm5hbWUiOiJteS1wb2QteHZmZyIsInVpZCI6IjBkMjY3OGUyLWQ5M2UtNGE1Mi1hOTMxLTAwMTRiM2VlZTAwYiJ9LCJzZXJ2aWNlQWNjb3VudFVJRCI6IjY2YzE4YjVmLTAwZDgtNDI5Yi1hOGUwLWU4NWMzMjM4NGIyYSJ9LCJuYmYiOjE2MjkyMjk1MjIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.eAlxZBmTcw_VgMCznEKAg-hmJa_lJJd-pn1VY04sztezWvt1bmPCsD9K2B7aw1sJvu08zLq52PBrZmqHA6KIFChgZOCvVwf3K7l6QTkEEMRIkb_P2a16o9_2LQRhDgNWy2p2DxzcWgzZvRNyy87hsRzonBBY5Z3U56uTAZrgha0%0A" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "content-length": [ + "2300" + ], + "x-amzn-requestid": [ + "bcbd8b6a-8a55-4610-b2d7-455d198bc197" + ], + "vary": [ + "accept-encoding" + ], + "content-type": [ + "text/xml" + ], + "date": [ + "Tue, 17 Aug 2021 19:55:04 GMT" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n my-cluster.sk1.us-west-2.eks.amazonaws.com\n \n AROARABCDEFGHIJKLMNOP:web-identity-token-profile-1629230104118\n arn:aws:sts::123456789012:assumed-role/s3-reader/web-identity-token-profile-1629230104118\n \n arn:aws:iam::123456789012:oidc-provider/s3-us-west-2.amazonaws.com/oidc-test-cdmhfjgxzauxyyfmqpizcquyfjirrdoo\n \n ASIARABCDEFGHIJKLMNOP\n TESTSECRET\n TESTSESSIONTOKEN\n 2021-08-17T20:55:04Z\n \n system:serviceaccount:default:default\n \n \n bcbd8b6a-8a55-4610-b2d7-455d198bc197\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "assume role web identity chained into standard assume role", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/test-case.json new file mode 100644 index 000000000000..ac5fad29878e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_profile/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "web-identity-token-profile", + "docs": "loads a web identity token as a direct key in the profile", + "result": { + "Ok": { + "access_key_id": "ASIARABCDEFGHIJKLMNOP", + "secret_access_key": "TESTSECRET", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1629233704 + } + } +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/env.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/env.json new file mode 100644 index 000000000000..4e6f75b9f20e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/env.json @@ -0,0 +1,5 @@ +{ + "AWS_REGION": "us-east-1", + "AWS_PROFILE": "A", + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/home/.aws/config new file mode 100644 index 000000000000..902524f6bca2 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/home/.aws/config @@ -0,0 +1,6 @@ +[profile A] +role_arn = arn:aws:iam::123456789:role/RoleA +source_profile = B +[profile B] +role_arn = arn:aws:iam::123456789012:role/s3-reader +web_identity_token_file = /token.jwt diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/token.jwt b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/token.jwt new file mode 100644 index 000000000000..91d25a8217d3 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/fs/token.jwt @@ -0,0 +1 @@ +sometoken diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/http-traffic.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/http-traffic.json new file mode 100644 index 000000000000..b7b5708380c5 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/http-traffic.json @@ -0,0 +1,208 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-type": [ + "application/x-www-form-urlencoded" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.15-alpha os/macos lang/rust/1.55.0-nightly" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "content-length": [ + "1023" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRoleWithWebIdentity&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A134095065856%3Arole%2Fs3-reader&RoleSessionName=web-identity-token-profile-1629230104118&WebIdentityToken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjQxOTg5NTBhMWU0Y2U3YjIxZDRhYTBjNTRkM2EzNmFhZGI0ZWRiOTcifQ.eyJhdWQiOlsibXktY2x1c3Rlci5zazEudXMtd2VzdC0yLmVrcy5hbWF6b25hd3MuY29tIl0sImV4cCI6MTYyOTMxNTkyMiwiaWF0IjoxNjI5MjI5NTIyLCJpc3MiOiJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL29pZGMtdGVzdC1jZG1oZmpneHphdXh5eWZtcXBpemNxdXlmamlycmRvbyIsImt1YmVybmV0ZXMuaW8iOnsiYm91bmRPYmplY3RSZWYiOnsiYXBpVmVyc2lvbiI6InYxIiwia2luZCI6IlBvZCIsIm5hbWUiOiJteS1wb2QteHZmZyIsInVpZCI6IjBkMjY3OGUyLWQ5M2UtNGE1Mi1hOTMxLTAwMTRiM2VlZTAwYiJ9LCJzZXJ2aWNlQWNjb3VudFVJRCI6IjY2YzE4YjVmLTAwZDgtNDI5Yi1hOGUwLWU4NWMzMjM4NGIyYSJ9LCJuYmYiOjE2MjkyMjk1MjIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.eAlxZBmTcw_VgMCznEKAg-hmJa_lJJd-pn1VY04sztezWvt1bmPCsD9K2B7aw1sJvu08zLq52PBrZmqHA6KIFChgZOCvVwf3K7l6QTkEEMRIkb_P2a16o9_2LQRhDgNWy2p2DxzcWgzZvRNyy87hsRzonBBY5Z3U56uTAZrgha0%0A" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "content-length": [ + "2300" + ], + "x-amzn-requestid": [ + "bcbd8b6a-8a55-4610-b2d7-455d198bc197" + ], + "vary": [ + "accept-encoding" + ], + "content-type": [ + "text/xml" + ], + "date": [ + "Tue, 17 Aug 2021 19:55:04 GMT" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n my-cluster.sk1.us-west-2.eks.amazonaws.com\n \n AROARABCDEFGHIJKLMNOP:web-identity-token-profile-1629230104118\n arn:aws:sts::123456789012:assumed-role/s3-reader/web-identity-token-profile-1629230104118\n \n arn:aws:iam::123456789012:oidc-provider/s3-us-west-2.amazonaws.com/oidc-test-cdmhfjgxzauxyyfmqpizcquyfjirrdoo\n \n ASIARABCDEFGHIJKLMNOP\n TESTSECRET\n TESTSESSIONTOKEN\n 2021-08-17T20:55:04Z\n \n system:serviceaccount:default:default\n \n \n bcbd8b6a-8a55-4610-b2d7-455d198bc197\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + }, + { + "connection_id": 1, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.15-alpha os/macos lang/rust/1.55.0-nightly" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=ASIARABCDEFGHIJKLMNOP/20210817/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-security-token;x-amz-user-agent, Signature=76912544a9c89063e854be6de0874d48f6d0b845ab34471c11c51300460d0c40" + ], + "x-amz-security-token": [ + "IQoJb3JpZ2luX2VjEFQaCXVzLWVhc3QtMSJHMEUCIBULwfcnV0uXBLgeQdjsmpMFsBMSulmXDoBTUZlI2FCUAiEA8sIiChNM6iwFH1lWHP1sJ4DTBB56Kww75rgxjyzP+1kq8QQIfRABGgwxMzQwOTUwNjU4NTYiDC7wp9wVlaO+bkVT0yrOBNn2tXCJLQcYot38/PxMmLxr00t6VkcgtAC5uBuZLTNOxv90Lt1WFQKJPFYc0uPySuFMIFgAaPqJZOoiNw0PqsifgGXytnEQvC3cXRJdzUfULLcg3hMh+xmZIz3Uz+j8GDbVZEBxCaSBQ9cwk/R3YM6BW1scLpGvLdv/fqHiUnBOW14/XsAQXXvKh/jjCLRfSjU//qtZ6z3qi2l0Nv2OfV4+MYx7MeGGaRrMic9ZIZnXh5Xk6xLLPGUZYMyVEFMYkaUBqja81f0Y1ENbfUNiKMgiRn4qvIUl7bivSqcJP/6yPcKzr3AvIbkpXo7miAL9TZ1wE+IP84zX9OXvGLj4Ri6f/gerzBtiyhTJu7am2WFp+VuI3SOixrOiawxZbGHQKekvz6GSzyCAE50QHnvjlrEjGLct0EoDX5RWWFlhndaNNxYzED+olvL3zTRdDhorA+64p7L5B/NzIJboKYPOoBzOoS15GBGAd82KrtKetZDLlwEj5cUpv468c/FpZhKxV/oQ93PXIWK0Z7Hl2GTifUepfYcfduvEd11GfECr4yGNA4nVNCTAg2TUBxJv0fZFcNPI+XAbuSIgjliUDWEj8ma81fDIMT0bISUR5QStZZcA8pFKyDagpc7CJxkbC3RGq/cvjWxjd/A2j6b4N27NG0GKaRzGQq2i+56OOGD7qHCO3vVFiVSOKYyoKE8UAEM9WfpPXpmDY+sgyYUOLVSjEfg4SinfI3mV7AgsmbBhyDgxDLbALe3XC03QdGn8ctJ5rcGM71lQVS6nYXhSIYGxMJio8IgGOpUBDcfdTwPwQ333opNF9SBnuuvzMPyp4xf8K0+KNDIPBGKrEQyzJOuhd8N0fvXquzGcsUvQ7hUYVp544kvBZKqQSqDMGFbzc28M7YxFh+36mNr+H9PDAccCdW4k6DxZ0xWmXnoOWg5GeWSKeslaEYWJijCbX3kgS+j1FNSc4yL3pNPTIn2kELHVNI4Xu2JnrfklII07TIE=" + ], + "x-amz-date": [ + "20210817T195504Z" + ], + "content-length": [ + "145" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 1, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2FRoleA&RoleSessionName=assume-role-from-profile-1629230104880" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 1, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 1, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "content-length": [ + "431" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "a91154b8-3427-402d-8053-7c0ad696bbfd" + ], + "date": [ + "Tue, 17 Aug 2021 19:55:04 GMT" + ] + } + } + } + } + } + }, + { + "connection_id": 1, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 1, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "assume role web identity chained into standard assume role", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/test-case.json b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/test-case.json new file mode 100644 index 000000000000..cafbfdf3c501 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/default-provider-chain/web_identity_token_source_profile/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "web-identity-token-source-profile", + "docs": "loads a web identity token via `source_profile`", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/env.json b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/env.json new file mode 100644 index 000000000000..55fcfbeb051e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/config new file mode 100644 index 000000000000..a7e5ed58158e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/credentials b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/credentials new file mode 100644 index 000000000000..1cab6a6ca213 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/http-traffic.json b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/http-traffic.json new file mode 100644 index 000000000000..b30b6881590a --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/http-traffic.json @@ -0,0 +1,107 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "standard request / response with STS", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/test-case.json b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/test-case.json new file mode 100644 index 000000000000..4119ccfb5e7b --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/e2e_assume_role/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "e2e-assume-role", + "docs": "end to end successful role assumption", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/empty_config/env.json b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/env.json new file mode 100644 index 000000000000..55fcfbeb051e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/empty_config/http-traffic.json b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/http-traffic.json new file mode 100644 index 000000000000..0d325c157c79 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/http-traffic.json @@ -0,0 +1,5 @@ +{ + "events": [], + "docs": "test case with an empty config file, leading to no network requests", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/empty_config/test-case.json b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/test-case.json new file mode 100644 index 000000000000..f4f9d6985f66 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/empty_config/test-case.json @@ -0,0 +1,7 @@ +{ + "name": "empty-config", + "docs": "no config was defined", + "result": { + "ErrorContains": "provider could not provide credentials" + } +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/env.json b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/env.json new file mode 100644 index 000000000000..55fcfbeb051e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/fs/home/.aws/config new file mode 100644 index 000000000000..eba61765c136 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/fs/home/.aws/config @@ -0,0 +1,5 @@ +[default] += us-east-1 + +[profile base] +region = us-east-1 diff --git a/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/http-traffic.json b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/http-traffic.json new file mode 100644 index 000000000000..b8770a0948eb --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/http-traffic.json @@ -0,0 +1,5 @@ +{ + "events": [], + "docs": "test case with an invalid config file, leading to no network requests", + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/test-case.json b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/test-case.json new file mode 100644 index 000000000000..7e15f5fdd48d --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/invalid_config/test-case.json @@ -0,0 +1,7 @@ +{ + "name": "empty-config", + "docs": "config was invalid", + "result": { + "ErrorContains": "could not parse profile file" + } +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/region_override/env.json b/sdk/aws-auth-providers/test-data/profile-provider/region_override/env.json new file mode 100644 index 000000000000..193c38918153 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/region_override/env.json @@ -0,0 +1,4 @@ +{ + "AWS_REGION": "us-east-1", + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/config new file mode 100644 index 000000000000..329311a1b9a2 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-2 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/credentials b/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/credentials new file mode 100644 index 000000000000..1cab6a6ca213 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/region_override/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/sdk/aws-auth-providers/test-data/profile-provider/region_override/http-traffic.json b/sdk/aws-auth-providers/test-data/profile-provider/region_override/http-traffic.json new file mode 100644 index 000000000000..dd8b401e9a57 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/region_override/http-traffic.json @@ -0,0 +1,107 @@ +{ + "docs": "test case with the region manually overridden", + "version": "V0", + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-2.amazonaws.com/", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "sts.us-east-2.amazonaws.com" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ] +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/region_override/test-case.json b/sdk/aws-auth-providers/test-data/profile-provider/region_override/test-case.json new file mode 100644 index 000000000000..39dd70da881e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/region_override/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "region-override", + "docs": "region is overridden externally, overriding the value set in the environment", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/env.json b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/env.json new file mode 100644 index 000000000000..55fcfbeb051e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/config b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/config new file mode 100644 index 000000000000..a7e5ed58158e --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/credentials b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/credentials new file mode 100644 index 000000000000..1cab6a6ca213 --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/http-traffic.json b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/http-traffic.json new file mode 100644 index 000000000000..8ffa30809c3a --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/http-traffic.json @@ -0,0 +1,197 @@ +{ + "docs": "Test case where the first request returns a 503 and the second request succeeds", + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 503, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "0" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + }, + { + "connection_id": 1, + "action": { + "Request": { + "request": { + "uri": "https://sts.us-east-1.amazonaws.com/", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "sts.us-east-1.amazonaws.com" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 1, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 1, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 1, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 1, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 1, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "version": "V0" +} diff --git a/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/test-case.json b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/test-case.json new file mode 100644 index 000000000000..4119ccfb5e7b --- /dev/null +++ b/sdk/aws-auth-providers/test-data/profile-provider/retry_on_error/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "e2e-assume-role", + "docs": "end to end successful role assumption", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/sdk/aws-auth/src/credentials.rs b/sdk/aws-auth/src/credentials.rs index 00b935cd3d44..f10dfa30009b 100644 --- a/sdk/aws-auth/src/credentials.rs +++ b/sdk/aws-auth/src/credentials.rs @@ -16,10 +16,10 @@ use zeroize::Zeroizing; /// /// When `Credentials` is dropped, its contents are zeroed in memory. Credentials uses an interior Arc to ensure /// that even when cloned, credentials don't exist in multiple memory locations. -#[derive(Clone)] +#[derive(Clone, Eq, PartialEq)] pub struct Credentials(Arc); -#[derive(Clone)] +#[derive(Clone, Eq, PartialEq)] struct Inner { access_key_id: Zeroizing, secret_access_key: Zeroizing, @@ -40,8 +40,14 @@ struct Inner { impl Debug for Credentials { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { let mut creds = f.debug_struct("Credentials"); - creds.field("provider_name", &self.0.provider_name); - creds.field("access_key_id", &self.0.access_key_id); + creds + .field("provider_name", &self.0.provider_name) + .field("access_key_id", &self.0.access_key_id.as_str()) + .field("secret_access_key", &"** redacted **"); + if let Some(expiry) = self.expiry() { + // TODO: format the expiry nicely + creds.field("expires_after", &expiry); + } creds.finish() } } diff --git a/sdk/aws-auth/src/middleware.rs b/sdk/aws-auth/src/middleware.rs index aa50e7631c19..e66570c0b951 100644 --- a/sdk/aws-auth/src/middleware.rs +++ b/sdk/aws-auth/src/middleware.rs @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0. */ -use crate::provider::CredentialsProvider; +use crate::provider::{CredentialsError, CredentialsProvider}; use smithy_http::middleware::AsyncMapRequest; use smithy_http::operation::Request; use std::future::Future; @@ -24,6 +24,30 @@ impl CredentialsStage { pub fn new() -> Self { CredentialsStage } + + async fn load_creds(mut request: Request) -> Result { + let provider = request.properties().get::().cloned(); + let provider = match provider { + Some(provider) => provider, + None => { + tracing::info!("no credentials provider for request"); + return Ok(request); + } + }; + match provider.provide_credentials().await { + Ok(creds) => { + request.properties_mut().insert(creds); + } + // ignore the case where there is no provider wired up + Err(CredentialsError::CredentialsNotLoaded) => { + tracing::info!("provider returned CredentialsNotLoaded, ignoring") + } + // if we get another error class, there is probably something actually wrong that the user will + // want to know about + Err(other) => return Err(CredentialsStageError::CredentialsLoadingError(other)), + } + Ok(request) + } } mod error { @@ -70,29 +94,15 @@ impl AsyncMapRequest for CredentialsStage { type Error = CredentialsStageError; type Future = Pin> + Send + 'static>>; - fn apply(&self, mut request: Request) -> BoxFuture> { - Box::pin(async move { - let provider = { - let properties = request.properties(); - let credential_provider = properties - .get::() - .ok_or(CredentialsStageError::MissingCredentialsProvider)?; - // we need to enable releasing the config lock so that we don't hold the config - // lock across an await point - credential_provider.clone() - }; - let cred_future = { provider.provide_credentials() }; - let credentials = cred_future.await?; - request.properties_mut().insert(credentials); - Ok(request) - }) + fn apply(&self, request: Request) -> BoxFuture> { + Box::pin(Self::load_creds(request)) } } #[cfg(test)] mod tests { use super::CredentialsStage; - use crate::provider::set_provider; + use crate::provider::{async_provide_credentials_fn, set_provider, CredentialsError}; use crate::Credentials; use smithy_http::body::SdkBody; use smithy_http::middleware::AsyncMapRequest; @@ -100,12 +110,42 @@ mod tests { use std::sync::Arc; #[tokio::test] - async fn async_map_request_apply_requires_credential_provider() { + async fn no_cred_provider_is_ok() { let req = operation::Request::new(http::Request::new(SdkBody::from("some body"))); CredentialsStage::new() .apply(req) .await - .expect_err("should fail if there's no credential provider in the bag"); + .expect("no credential provider should not populate credentials"); + } + + #[tokio::test] + async fn provider_failure_is_failure() { + let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body"))); + set_provider( + &mut req.properties_mut(), + Arc::new(async_provide_credentials_fn(|| async { + Err(CredentialsError::Unhandled("whoops".into())) + })), + ); + CredentialsStage::new() + .apply(req) + .await + .expect_err("no credential provider should not populate credentials"); + } + + #[tokio::test] + async fn credentials_not_loaded_is_ok() { + let mut req = operation::Request::new(http::Request::new(SdkBody::from("some body"))); + set_provider( + &mut req.properties_mut(), + Arc::new(async_provide_credentials_fn(|| async { + Err(CredentialsError::CredentialsNotLoaded) + })), + ); + CredentialsStage::new() + .apply(req) + .await + .expect("credentials not loaded is OK"); } #[tokio::test] diff --git a/sdk/aws-auth/src/provider.rs b/sdk/aws-auth/src/provider.rs index 769734e3f349..6c2a9620e6a3 100644 --- a/sdk/aws-auth/src/provider.rs +++ b/sdk/aws-auth/src/provider.rs @@ -32,21 +32,52 @@ use std::time::Duration; #[derive(Debug)] #[non_exhaustive] pub enum CredentialsError { + /// No credentials were available for this provider CredentialsNotLoaded, + + /// Loading credentials from this provider exceeded the maximum allowed duration ProviderTimedOut(Duration), + + /// The provider was given an invalid configuration + /// + /// For example: + /// - syntax error in ~/.aws/config + /// - assume role profile that forms an infinite loop + InvalidConfiguration(Box), + + /// The provider experienced an error during credential resolution + /// + /// This may include errors like a 503 from STS or a file system error when attempting to + /// read a configuration file. + ProviderError(Box), + + /// An unexpected error occured during credential resolution + /// + /// If the error is something that can occur during expected usage of a provider, `ProviderError` + /// should be returned instead. Unhandled is reserved for exceptional cases, for example: + /// - Returned data not UTF-8 + /// - A provider returns data that is missing required fields Unhandled(Box), } impl Display for CredentialsError { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { match self { - CredentialsError::CredentialsNotLoaded => write!(f, "CredentialsNotLoaded"), + CredentialsError::CredentialsNotLoaded => { + write!(f, "The provider could not provide credentials or required configuration was not set") + } CredentialsError::ProviderTimedOut(d) => write!( f, "Credentials provider timed out after {} seconds", d.as_secs() ), - CredentialsError::Unhandled(err) => write!(f, "{}", err), + CredentialsError::Unhandled(err) => write!(f, "Unexpected credentials error: {}", err), + CredentialsError::InvalidConfiguration(err) => { + write!(f, "The credentials provider was not properly: {}", err) + } + CredentialsError::ProviderError(err) => { + write!(f, "An error occured while loading credentials: {}", err) + } } } } @@ -61,7 +92,7 @@ impl Error for CredentialsError { } pub type CredentialsResult = Result; -type BoxFuture<'a, T> = Pin + Send + 'a>>; +pub type BoxFuture<'a, T> = Pin + Send + 'a>>; /// An asynchronous credentials provider /// diff --git a/sdk/aws-auth/src/provider/cache.rs b/sdk/aws-auth/src/provider/cache.rs index 93e8140716c9..acad121b2e5b 100644 --- a/sdk/aws-auth/src/provider/cache.rs +++ b/sdk/aws-auth/src/provider/cache.rs @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0. */ -use crate::provider::CredentialsResult; +use crate::provider::{CredentialsError, CredentialsResult}; use crate::Credentials; use std::future::Future; use std::sync::Arc; @@ -15,7 +15,7 @@ pub(super) struct Cache { /// Amount of time before the actual credential expiration time /// where credentials are considered expired. buffer_time: Duration, - value: Arc>>, + value: Arc>>, } impl Cache { @@ -28,7 +28,12 @@ impl Cache { #[cfg(test)] async fn get(&self) -> Option { - self.value.read().await.get().cloned() + self.value + .read() + .await + .get() + .cloned() + .map(|(creds, _expiry)| creds) } /// Attempts to refresh the cached credentials with the given async future. @@ -39,18 +44,20 @@ impl Cache { pub async fn get_or_load(&self, f: F) -> CredentialsResult where F: FnOnce() -> Fut, - Fut: Future, + Fut: Future>, { let lock = self.value.read().await; let future = lock.get_or_try_init(f); - future.await.map(|credentials| credentials.clone()) + future + .await + .map(|(credentials, _expiry)| credentials.clone()) } /// If the credentials are expired, clears the cache. Otherwise, yields the current credentials value. pub async fn yield_or_clear_if_expired(&self, now: SystemTime) -> Option { // Short-circuit if the credential is not expired - if let Some(credentials) = self.value.read().await.get() { - if !expired(credentials, self.buffer_time, now) { + if let Some((credentials, expiry)) = self.value.read().await.get() { + if !expired(*expiry, self.buffer_time, now) { return Some(credentials.clone()); } } @@ -59,10 +66,10 @@ impl Cache { // check again that the credential is not already cleared. If it has been cleared, // then another thread is refreshing the cache by the time the write lock was acquired. let mut lock = self.value.write().await; - if let Some(credentials) = lock.get() { + if let Some((_credentials, expiration)) = lock.get() { // Also check that we're clearing the expired credentials and not credentials // that have been refreshed by another thread. - if expired(credentials, self.buffer_time, now) { + if expired(*expiration, self.buffer_time, now) { *lock = OnceCell::new(); } } @@ -70,21 +77,21 @@ impl Cache { } } -fn expired(credentials: &Credentials, buffer_time: Duration, now: SystemTime) -> bool { - credentials - .expiry() - .map(|expiration| now >= (expiration - buffer_time)) - .expect("Cached credentials don't have an expiration time. This is a bug in aws-auth.") +fn expired(expiration: SystemTime, buffer_time: Duration, now: SystemTime) -> bool { + now >= (expiration - buffer_time) } #[cfg(test)] mod tests { use super::{expired, Cache}; + use crate::provider::CredentialsError; use crate::Credentials; use std::time::{Duration, SystemTime}; - fn credentials(expired_secs: u64) -> Credentials { - Credentials::new("test", "test", None, Some(epoch_secs(expired_secs)), "test") + fn credentials(expired_secs: u64) -> Result<(Credentials, SystemTime), CredentialsError> { + let expiry = epoch_secs(expired_secs); + let creds = Credentials::new("test", "test", None, Some(expiry), "test"); + Ok((creds, expiry)) } fn epoch_secs(secs: u64) -> SystemTime { @@ -93,10 +100,10 @@ mod tests { #[test] fn expired_check() { - let creds = credentials(100); - assert!(expired(&creds, Duration::from_secs(10), epoch_secs(1000))); - assert!(expired(&creds, Duration::from_secs(10), epoch_secs(90))); - assert!(!expired(&creds, Duration::from_secs(10), epoch_secs(10))); + let ts = epoch_secs(100); + assert!(expired(ts, Duration::from_secs(10), epoch_secs(1000))); + assert!(expired(ts, Duration::from_secs(10), epoch_secs(90))); + assert!(!expired(ts, Duration::from_secs(10), epoch_secs(10))); } #[test_env_log::test(tokio::test)] @@ -108,7 +115,7 @@ mod tests { .is_none()); cache - .get_or_load(|| async { Ok(credentials(100)) }) + .get_or_load(|| async { credentials(100) }) .await .unwrap(); assert_eq!(Some(epoch_secs(100)), cache.get().await.unwrap().expiry()); diff --git a/sdk/aws-auth/src/provider/lazy_caching.rs b/sdk/aws-auth/src/provider/lazy_caching.rs index f711437c9460..ff11dc7b21f1 100644 --- a/sdk/aws-auth/src/provider/lazy_caching.rs +++ b/sdk/aws-auth/src/provider/lazy_caching.rs @@ -84,15 +84,14 @@ impl AsyncProvideCredentials for LazyCachingCredentialsProvider { cache .get_or_load(|| { async move { - let mut credentials = future + let credentials = future .await .map_err(|_| CredentialsError::ProviderTimedOut(load_timeout))??; // If the credentials don't have an expiration time, then create a default one - if credentials.expiry().is_none() { - *credentials.expiry_mut() = - Some(now + default_credential_expiration); - } - Ok(credentials) + let expiry = credentials + .expiry() + .unwrap_or(now + default_credential_expiration); + Ok((credentials, expiry)) } // Only instrument the the actual load future so that no span // is opened if the cache decides not to execute it. diff --git a/sdk/aws-sig-auth/Cargo.toml b/sdk/aws-sig-auth/Cargo.toml index 7a53a99d9deb..71047caf2ca5 100644 --- a/sdk/aws-sig-auth/Cargo.toml +++ b/sdk/aws-sig-auth/Cargo.toml @@ -9,8 +9,7 @@ license = "Apache-2.0" [dependencies] http = "0.2.2" -# Renaming to clearly indicate that this is not a permanent signing solution -aws-sigv4-poc = { package = "aws-sigv4", git = "https://github.com/rcoh/sigv4", rev = "66b1646a7ab119c73be966ca70ee5f556bd8379b"} +aws-sigv4 = { path = "../aws-sigv4" } aws-auth = { path = "../aws-auth" } aws-types = { path = "../aws-types" } smithy-http = { path = "../smithy-http" } diff --git a/sdk/aws-sig-auth/src/middleware.rs b/sdk/aws-sig-auth/src/middleware.rs index 5c83fd6b9689..bdb46cd3fdc0 100644 --- a/sdk/aws-sig-auth/src/middleware.rs +++ b/sdk/aws-sig-auth/src/middleware.rs @@ -3,9 +3,11 @@ * SPDX-License-Identifier: Apache-2.0. */ -use crate::signer::{OperationSigningConfig, RequestConfig, SigV4Signer, SigningError}; +use crate::signer::{ + OperationSigningConfig, RequestConfig, SigV4Signer, SigningError, SigningRequirements, +}; use aws_auth::Credentials; -use aws_sigv4_poc::SignableBody; +use aws_sigv4::http_request::SignableBody; use aws_types::region::SigningRegion; use aws_types::SigningService; use smithy_http::middleware::MapRequest; @@ -14,6 +16,20 @@ use smithy_http::property_bag::PropertyBag; use std::time::SystemTime; use thiserror::Error; +/// Container for the request signature for use in the property bag. +#[non_exhaustive] +pub struct Signature(String); + +impl Signature { + pub fn new(signature: String) -> Self { + Self(signature) + } + + pub fn as_str(&self) -> &str { + &self.0 + } +} + /// Middleware stage to sign requests with SigV4 /// /// SigV4RequestSignerStage will load configuration from the request property bag and add @@ -92,11 +108,24 @@ impl MapRequest for SigV4SigningStage { fn apply(&self, req: Request) -> Result { req.augment(|mut req, config| { - let (operation_config, request_config, creds) = signing_config(config)?; + let operation_config = config + .get::() + .ok_or(SigningStageError::MissingSigningConfig)?; + let (operation_config, request_config, creds) = + match &operation_config.signing_requirements { + SigningRequirements::Disabled => return Ok(req), + SigningRequirements::Optional => match signing_config(config) { + Ok(parts) => parts, + Err(_) => return Ok(req), + }, + SigningRequirements::Required => signing_config(config)?, + }; - self.signer + let signature = self + .signer .sign(&operation_config, &request_config, &creds, &mut req) .map_err(|err| SigningStageError::SigningFailure(err))?; + config.insert(signature); Ok(req) }) } @@ -104,12 +133,12 @@ impl MapRequest for SigV4SigningStage { #[cfg(test)] mod test { - use crate::middleware::{SigV4SigningStage, SigningStageError}; + use crate::middleware::{SigV4SigningStage, Signature, SigningStageError}; use crate::signer::{OperationSigningConfig, SigV4Signer}; use aws_auth::Credentials; use aws_endpoint::partition::endpoint::{Protocol, SignatureVersion}; use aws_endpoint::{set_endpoint_resolver, AwsEndpointStage}; - use aws_types::region::Region; + use aws_types::region::{Region, SigningRegion}; use aws_types::SigningService; use http::header::AUTHORIZATION; use smithy_http::body::SdkBody; @@ -119,6 +148,30 @@ mod test { use std::sync::Arc; use std::time::{Duration, UNIX_EPOCH}; + #[test] + fn places_signature_in_property_bag() { + let req = http::Request::new(SdkBody::from("")); + let region = Region::new("us-east-1"); + let req = operation::Request::new(req) + .augment(|req, properties| { + properties.insert(region.clone()); + properties.insert(UNIX_EPOCH + Duration::new(1611160427, 0)); + properties.insert(SigningService::from_static("kinesis")); + properties.insert(OperationSigningConfig::default_config()); + properties.insert(Credentials::from_keys("AKIAfoo", "bar", None)); + properties.insert(SigningRegion::from(region)); + Result::<_, Infallible>::Ok(req) + }) + .expect("succeeds"); + + let signer = SigV4SigningStage::new(SigV4Signer::new()); + let req = signer.apply(req).unwrap(); + + let property_bag = req.properties(); + let signature = property_bag.get::(); + assert!(signature.is_some()); + } + // check that the endpoint middleware followed by signing middleware produce the expected result #[test] fn endpoint_plus_signer() { @@ -143,12 +196,9 @@ mod test { let endpoint = AwsEndpointStage; let signer = SigV4SigningStage::new(SigV4Signer::new()); let mut req = endpoint.apply(req).expect("add endpoint should succeed"); - let mut errs = vec![]; - errs.push( - signer - .apply(req.try_clone().expect("can clone")) - .expect_err("no signing config"), - ); + let mut errs = vec![signer + .apply(req.try_clone().expect("can clone")) + .expect_err("no signing config")]; let mut config = OperationSigningConfig::default_config(); config.signing_options.content_sha256_header = true; req.properties_mut().insert(config); diff --git a/sdk/aws-sig-auth/src/signer.rs b/sdk/aws-sig-auth/src/signer.rs index 2fef30079ad4..5a483b372c4c 100644 --- a/sdk/aws-sig-auth/src/signer.rs +++ b/sdk/aws-sig-auth/src/signer.rs @@ -4,7 +4,9 @@ */ use aws_auth::Credentials; -use aws_sigv4_poc::{PayloadChecksumKind, SigningSettings, UriEncoding}; +use aws_sigv4::http_request::{ + calculate_signing_headers, PayloadChecksumKind, SigningSettings, UriEncoding, +}; use aws_types::region::SigningRegion; use aws_types::SigningService; use http::header::HeaderName; @@ -13,7 +15,8 @@ use std::error::Error; use std::fmt; use std::time::SystemTime; -pub use aws_sigv4_poc::SignableBody; +use crate::middleware::Signature; +pub use aws_sigv4::http_request::SignableBody; #[derive(Eq, PartialEq, Clone, Copy)] pub enum SigningAlgorithm { @@ -37,10 +40,12 @@ pub enum HttpSignatureType { /// Although these fields MAY be customized on a per request basis, they are generally static /// for a given operation #[derive(Clone, PartialEq, Eq)] +#[non_exhaustive] pub struct OperationSigningConfig { pub algorithm: SigningAlgorithm, pub signature_type: HttpSignatureType, pub signing_options: SigningOptions, + pub signing_requirements: SigningRequirements, } impl OperationSigningConfig { @@ -55,10 +60,25 @@ impl OperationSigningConfig { double_uri_encode: true, content_sha256_header: false, }, + signing_requirements: SigningRequirements::Required, } } } +#[derive(Clone, Copy, Eq, PartialEq)] +pub enum SigningRequirements { + /// A signature MAY be added if credentials are defined + Optional, + + /// A signature MUST be added. + /// + /// If no credentials are provided, this will return an error without dispatching the operation. + Required, + + /// A signature MUST NOT be added. + Disabled, +} + #[derive(Clone, Eq, PartialEq)] #[non_exhaustive] pub struct SigningOptions { @@ -114,7 +134,7 @@ impl SigV4Signer { request_config: &RequestConfig<'_>, credentials: &Credentials, request: &mut http::Request, - ) -> Result<(), SigningError> { + ) -> Result { let mut settings = SigningSettings::default(); settings.uri_encoding = if operation_config.signing_options.double_uri_encode { UriEncoding::Double @@ -126,13 +146,13 @@ impl SigV4Signer { } else { PayloadChecksumKind::NoHeader }; - let sigv4_config = aws_sigv4_poc::Config { + let sigv4_config = aws_sigv4::http_request::SigningParams { access_key: credentials.access_key_id(), secret_key: credentials.secret_access_key(), security_token: credentials.session_token(), region: request_config.region.as_ref(), - svc: request_config.service.as_ref(), - date: request_config.request_ts, + service_name: request_config.service.as_ref(), + date_time: request_config.request_ts.into(), settings, }; @@ -150,12 +170,15 @@ impl SigV4Signer { .map(SignableBody::Bytes) .unwrap_or(SignableBody::UnsignedPayload) }); - for (key, value) in aws_sigv4_poc::sign_core(request, signable_body, &sigv4_config)? { + + let (signing_headers, signature) = + calculate_signing_headers(request, signable_body, &sigv4_config)?.into_parts(); + for (key, value) in signing_headers { request .headers_mut() .append(HeaderName::from_static(key), value); } - Ok(()) + Ok(Signature::new(signature)) } } diff --git a/sdk/aws-sigv4/Cargo.toml b/sdk/aws-sigv4/Cargo.toml new file mode 100644 index 000000000000..19931e2e1877 --- /dev/null +++ b/sdk/aws-sigv4/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "aws-sigv4" +version = "0.1.0" +authors = ["David Barsky ", "AWS Rust SDK Team "] +edition = "2018" +exclude = ["aws-sig-v4-test-suite/*"] +license = "MIT OR Apache-2.0" +description = "AWS SigV4 signer" + +[features] +sign-http = ["http", "http-body", "percent-encoding", "form_urlencoded"] +sign-eventstream = ["smithy-eventstream"] +default = ["sign-http", "sign-eventstream"] + +[dependencies] +chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } +form_urlencoded = { version = "1.0", optional = true } +hex = "0.4" +http = { version = "0.2", optional = true } +http-body = { version = "0.4", optional = true } +percent-encoding = { version = "2.1", optional = true } +ring = "0.16" +smithy-eventstream = { path = "../smithy-eventstream", optional = true } + +[dev-dependencies] +bytes = "1" +pretty_assertions = "0.6" +httparse = "1.5" diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.authz new file mode 100644 index 000000000000..0fc31f9e8256 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20210511/us-east-2/lambda/aws4_request, SignedHeaders=host;x-amz-date, Signature=4b93abbcc68be32bd64c18e2c71150660ab4c29bbd6c32a383a7517a88fc1804 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq new file mode 100644 index 000000000000..ebdac44f8b84 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq @@ -0,0 +1,8 @@ +POST +/2015-03-31/functions/arn%253Aaws%253Alambda%253Aus-west-2%253A892717189312%253Afunction%253Amy-rusty-fun/invocations + +host:lambda.us-east-2.amazonaws.com +x-amz-date:20210511T154045Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req new file mode 100644 index 000000000000..dc77fb3cd7a1 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req @@ -0,0 +1,3 @@ +POST /2015-03-31/functions/arn%3Aaws%3Alambda%3Aus-west-2%3A892717189312%3Afunction%3Amy-rusty-fun/invocations HTTP/1.1 +Host:lambda.us-east-2.amazonaws.com +X-Amz-Date:20210511T154045Z diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq new file mode 100644 index 000000000000..c9765fc4aea7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq @@ -0,0 +1,4 @@ +POST /2015-03-31/functions/arn%3Aaws%3Alambda%3Aus-west-2%3A892717189312%3Afunction%3Amy-rusty-fun/invocations +Host:lambda.us-east-2.amazonaws.com +X-Amz-Date:20210511T154045Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20210511/us-east-2/lambda/aws4_request, SignedHeaders=host;x-amz-date, Signature=4b93abbcc68be32bd64c18e2c71150660ab4c29bbd6c32a383a7517a88fc1804 diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts new file mode 100644 index 000000000000..1deeba0d1bfe --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20210511T154045Z +20210511/us-east-2/lambda/aws4_request +684dbb3c92a8b6b1e452e23e523c1ea941c713a4c13500bb9f3bdad1e19afaf7 diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.authz new file mode 100644 index 000000000000..ade3ec7537b4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq new file mode 100644 index 000000000000..fa8f49a1cfe7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq @@ -0,0 +1,9 @@ +GET +/ + +host:example.amazonaws.com +my-header1:value2,value2,value1 +x-amz-date:20150830T123600Z + +host;my-header1;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req new file mode 100644 index 000000000000..08a0364c82f1 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req @@ -0,0 +1,6 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value2 +My-Header1:value2 +My-Header1:value1 +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sreq new file mode 100644 index 000000000000..f0166e18c2c7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sreq @@ -0,0 +1,7 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value2 +My-Header1:value2 +My-Header1:value1 +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts new file mode 100644 index 000000000000..48a135ecedb5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +dc7f04a3abfde8d472b0ab1a418b741b7c67174dad1551b4117b15527fbe966c \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.authz new file mode 100644 index 000000000000..e2717bf68cee --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=ba17b383a53190154eb5fa66a1b836cc297cc0a3d70a5d00705980573d8ff790 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq new file mode 100644 index 000000000000..721a39ff8829 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq @@ -0,0 +1,9 @@ +GET +/ + +host:example.amazonaws.com +my-header1:value1,value2,value3 +x-amz-date:20150830T123600Z + +host;my-header1;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req new file mode 100644 index 000000000000..7caa6acc235d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req @@ -0,0 +1,6 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value1 + value2 + value3 +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq new file mode 100644 index 000000000000..56955d9a0c2c --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq @@ -0,0 +1,7 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value1 + value2 + value3 +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=ba17b383a53190154eb5fa66a1b836cc297cc0a3d70a5d00705980573d8ff790 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts new file mode 100644 index 000000000000..0a3350ab5fe8 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz new file mode 100644 index 000000000000..c0409ab2a3d4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq new file mode 100644 index 000000000000..e336bc94b905 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq @@ -0,0 +1,9 @@ +GET +/ + +host:example.amazonaws.com +my-header1:value4,value1,value3,value2 +x-amz-date:20150830T123600Z + +host;my-header1;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req new file mode 100644 index 000000000000..f7bd9e6685f3 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req @@ -0,0 +1,7 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value4 +My-Header1:value1 +My-Header1:value3 +My-Header1:value2 +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq new file mode 100644 index 000000000000..79e16a953700 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq @@ -0,0 +1,8 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value4 +My-Header1:value1 +My-Header1:value3 +My-Header1:value2 +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts new file mode 100644 index 000000000000..711a8d4d69fb --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +31ce73cd3f3d9f66977ad3dd957dc47af14df92fcd8509f59b349e9137c58b86 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz new file mode 100644 index 000000000000..4874ac0b1f45 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq new file mode 100644 index 000000000000..a59087c9a4ee --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq @@ -0,0 +1,10 @@ +GET +/ + +host:example.amazonaws.com +my-header1:value1 +my-header2:"a b c" +x-amz-date:20150830T123600Z + +host;my-header1;my-header2;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req new file mode 100644 index 000000000000..901f36c3593b --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req @@ -0,0 +1,5 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1: value1 +My-Header2: "a b c" +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq new file mode 100644 index 000000000000..98224c9bde68 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq @@ -0,0 +1,6 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +My-Header1: value1 +My-Header2: "a b c" +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts new file mode 100644 index 000000000000..a0b15cc70432 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +a726db9b0df21c14f559d0a978e563112acb1b9e05476f0a6a1c7d68f28605c7 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz new file mode 100644 index 000000000000..2943ec89d207 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq new file mode 100644 index 000000000000..8af54df27eca --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq @@ -0,0 +1,8 @@ +GET +/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req new file mode 100644 index 000000000000..da760cdb3285 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req @@ -0,0 +1,3 @@ +GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq new file mode 100644 index 000000000000..8001b3d6b51c --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq @@ -0,0 +1,4 @@ +GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts new file mode 100644 index 000000000000..e9dc541460af --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +6a968768eefaa713e2a6b16b589a8ea192661f098f37349f4e2c0082757446f9 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz new file mode 100644 index 000000000000..738b3fbd863c --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq new file mode 100644 index 000000000000..5d4b9f619d57 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq @@ -0,0 +1,8 @@ +GET +/%E1%88%B4 + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req new file mode 100644 index 000000000000..da4808d0bcde --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req @@ -0,0 +1,3 @@ +GET /ሴ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq new file mode 100644 index 000000000000..94eadb6d2bc8 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq @@ -0,0 +1,4 @@ +GET /ሴ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts new file mode 100644 index 000000000000..5edc8f456bca --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +2a0a97d02205e45ce2e994789806b19270cfbbb0921b278ccf58f5249ac42102 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz new file mode 100644 index 000000000000..65b5c7ce4e4d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq new file mode 100644 index 000000000000..c6cdceda17d3 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq @@ -0,0 +1,8 @@ +GET +/ +Param1=value1 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req new file mode 100644 index 000000000000..970d0a050eac --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req @@ -0,0 +1,3 @@ +GET /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq new file mode 100644 index 000000000000..f0815913fbb1 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq @@ -0,0 +1,4 @@ +GET /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts new file mode 100644 index 000000000000..c4ed216c13cf --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +1e24db194ed7d0eec2de28d7369675a243488e08526e8c1c73571282f7c517ab \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.authz new file mode 100644 index 000000000000..c781fe665e64 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq new file mode 100644 index 000000000000..8ae02cd6001a --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq @@ -0,0 +1,8 @@ +GET +/ +Param1=value1&Param2=value2 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req new file mode 100644 index 000000000000..1158ac4ebd91 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req @@ -0,0 +1,2 @@ +GET /?Param2=value2&Param1=value1 HTTP/1.1 +Host:example.amazonaws.com diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq new file mode 100644 index 000000000000..dff741455844 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq @@ -0,0 +1,4 @@ +GET /?Param2=value2&Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500 diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts new file mode 100644 index 000000000000..f773de5947c8 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz new file mode 100644 index 000000000000..812cd3fdf1a8 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq new file mode 100644 index 000000000000..36c3cdfaef24 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq @@ -0,0 +1,8 @@ +GET +/ +Param1=Value1&Param1=value2 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req new file mode 100644 index 000000000000..375a49655876 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req @@ -0,0 +1,3 @@ +GET /?Param1=value2&Param1=Value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq new file mode 100644 index 000000000000..bc8e652013a1 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq @@ -0,0 +1,4 @@ +GET /?Param1=value2&Param1=Value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts new file mode 100644 index 000000000000..fd43a414ce85 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz new file mode 100644 index 000000000000..b8ad91f661db --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq new file mode 100644 index 000000000000..26898ebebf63 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq @@ -0,0 +1,8 @@ +GET +/ +Param1=value1&Param1=value2 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req new file mode 100644 index 000000000000..9255bee05537 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req @@ -0,0 +1,3 @@ +GET /?Param1=value2&Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq new file mode 100644 index 000000000000..4793e218c30c --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq @@ -0,0 +1,4 @@ +GET /?Param1=value2&Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts new file mode 100644 index 000000000000..90e66b8da5c8 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz new file mode 100644 index 000000000000..a44ca5be80c4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq new file mode 100644 index 000000000000..5249be3bf83e --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq @@ -0,0 +1,8 @@ +GET +/ +-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req new file mode 100644 index 000000000000..d2833b32f999 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req @@ -0,0 +1,3 @@ +GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq new file mode 100644 index 000000000000..ba1ef4023537 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq @@ -0,0 +1,4 @@ +GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts new file mode 100644 index 000000000000..24a97d209b9c --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +c30d4703d9f799439be92736156d47ccfb2d879ddf56f5befa6d1d6aab979177 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req new file mode 100644 index 000000000000..0f7a9bfae368 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req @@ -0,0 +1,3 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq new file mode 100644 index 000000000000..d739b01fd151 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq @@ -0,0 +1,4 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz new file mode 100644 index 000000000000..e016c3da090d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq new file mode 100644 index 000000000000..a835c9e491be --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq @@ -0,0 +1,8 @@ +GET +/ +%E1%88%B4=bar +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req new file mode 100644 index 000000000000..cc2757e167d2 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req @@ -0,0 +1,3 @@ +GET /?ሴ=bar HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq new file mode 100644 index 000000000000..7baf4c82f3d5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq @@ -0,0 +1,4 @@ +GET /?ሴ=bar HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts new file mode 100644 index 000000000000..51ee71b749eb --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +eb30c5bed55734080471a834cc727ae56beb50e5f39d1bff6d0d38cb192a7073 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req new file mode 100644 index 000000000000..0f7a9bfae368 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req @@ -0,0 +1,3 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq new file mode 100644 index 000000000000..d739b01fd151 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq @@ -0,0 +1,4 @@ +GET / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/iam.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/iam.creq new file mode 100644 index 000000000000..bb662e24ee9d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/iam.creq @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/iam/aws4_request +f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req new file mode 100644 index 000000000000..cfd4e8b74cc5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req @@ -0,0 +1,3 @@ +GET /example1/example2/../.. HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq new file mode 100644 index 000000000000..cbdebe2cca66 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq @@ -0,0 +1,4 @@ +GET /example1/example2/../.. HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req new file mode 100644 index 000000000000..9d6d7ca20acb --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req @@ -0,0 +1,3 @@ +GET /example/.. HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq new file mode 100644 index 000000000000..4f59e7d20cd7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq @@ -0,0 +1,4 @@ +GET /example/.. HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req new file mode 100644 index 000000000000..f3537b709597 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req @@ -0,0 +1,3 @@ +GET /./ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq new file mode 100644 index 000000000000..23a2b41ced9f --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq @@ -0,0 +1,4 @@ +GET /./ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz new file mode 100644 index 000000000000..b76ca1e2d48a --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq new file mode 100644 index 000000000000..915c57f21471 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq @@ -0,0 +1,8 @@ +GET +/example + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req new file mode 100644 index 000000000000..3c9107171a1b --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req @@ -0,0 +1,3 @@ +GET /./example HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq new file mode 100644 index 000000000000..80966096531e --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq @@ -0,0 +1,4 @@ +GET /./example HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts new file mode 100644 index 000000000000..7429923e6b23 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +214d50c111a8edc4819da6a636336472c916b5240f51e9a51b5c3305180cf702 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz new file mode 100644 index 000000000000..551c0271d4a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq new file mode 100644 index 000000000000..ed91561f4a65 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq @@ -0,0 +1,8 @@ +GET +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req new file mode 100644 index 000000000000..ede8e3c8eabe --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req @@ -0,0 +1,3 @@ +GET // HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq new file mode 100644 index 000000000000..cde31b438159 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq @@ -0,0 +1,4 @@ +GET // HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts new file mode 100644 index 000000000000..b187649cb317 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +bb579772317eb040ac9ed261061d46c1f17a8133879d6129b6e1c25292927e63 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz new file mode 100644 index 000000000000..307c1051d5f2 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq new file mode 100644 index 000000000000..2bdaf7479bae --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq @@ -0,0 +1,8 @@ +GET +/example/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req new file mode 100644 index 000000000000..a4307ce42589 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req @@ -0,0 +1,3 @@ +GET //example// HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq new file mode 100644 index 000000000000..c84a80d56aee --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq @@ -0,0 +1,4 @@ +GET //example// HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts new file mode 100644 index 000000000000..95d1fc258407 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +cb96b4ac96d501f7c5c15bc6d67b3035061cfced4af6585ad927f7e6c985c015 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz new file mode 100644 index 000000000000..832d8a50d298 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq new file mode 100644 index 000000000000..124a7096a130 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq @@ -0,0 +1,8 @@ +GET +/example%20space/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req new file mode 100644 index 000000000000..b7d5e8bb95d0 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req @@ -0,0 +1,3 @@ +GET /example space/ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq new file mode 100644 index 000000000000..eefa20c48c49 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq @@ -0,0 +1,4 @@ +GET /example space/ HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts new file mode 100644 index 000000000000..a633f0c052c7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt new file mode 100644 index 000000000000..caaf34fb5ea4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt @@ -0,0 +1,3 @@ +A note about signing requests to Amazon S3: + +In exception to this, you do not normalize URI paths for requests to Amazon S3. For example, if you have a bucket with an object named my-object//example//photo.user, use that path. Normalizing the path to my-object/example/photo.user will cause the request to fail. For more information, see Task 1: Create a Canonical Request in the Amazon Simple Storage Service API Reference: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html#canonical-request \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz new file mode 100644 index 000000000000..89e572e60969 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq new file mode 100644 index 000000000000..5c3a9434ec31 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq @@ -0,0 +1,8 @@ +POST +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req new file mode 100644 index 000000000000..8b5efc890d84 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req @@ -0,0 +1,3 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq new file mode 100644 index 000000000000..fcf23ce66a30 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts new file mode 100644 index 000000000000..a63670394947 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz new file mode 100644 index 000000000000..a62589ff7ea9 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq new file mode 100644 index 000000000000..ebe943e8953d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq @@ -0,0 +1,9 @@ +POST +/ + +host:example.amazonaws.com +my-header1:value1 +x-amz-date:20150830T123600Z + +host;my-header1;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req new file mode 100644 index 000000000000..0253f19456b1 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value1 +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq new file mode 100644 index 000000000000..b4b78a1668e6 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq @@ -0,0 +1,5 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:value1 +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts new file mode 100644 index 000000000000..eb66362697e5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +9368318c2967cf6de74404b30c65a91e8f6253e0a8659d6d5319f1a812f87d65 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz new file mode 100644 index 000000000000..d9e52a379aea --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq new file mode 100644 index 000000000000..af824c889945 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq @@ -0,0 +1,9 @@ +POST +/ + +host:example.amazonaws.com +my-header1:VALUE1 +x-amz-date:20150830T123600Z + +host;my-header1;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req new file mode 100644 index 000000000000..3f9987af7f30 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:VALUE1 +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq new file mode 100644 index 000000000000..99c3210c9988 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq @@ -0,0 +1,5 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +My-Header1:VALUE1 +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts new file mode 100644 index 000000000000..40062c79f874 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +d51ced243e649e3de6ef63afbbdcbca03131a21a7103a1583706a64618606a93 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz new file mode 100644 index 000000000000..89e572e60969 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq new file mode 100644 index 000000000000..5c3a9434ec31 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq @@ -0,0 +1,8 @@ +POST +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req new file mode 100644 index 000000000000..3dc4179013f3 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req @@ -0,0 +1,3 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq new file mode 100644 index 000000000000..291ed0756bf2 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq @@ -0,0 +1,5 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts new file mode 100644 index 000000000000..a63670394947 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz new file mode 100644 index 000000000000..64aa046dbbfb --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq new file mode 100644 index 000000000000..1d5a462ee2a5 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq @@ -0,0 +1,9 @@ +POST +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z +x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== + +host;x-amz-date;x-amz-security-token +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req new file mode 100644 index 000000000000..9d917755f409 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq new file mode 100644 index 000000000000..37b2f0419099 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq @@ -0,0 +1,5 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts new file mode 100644 index 000000000000..bc39ccfc5b96 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +c237e1b440d4c63c32ca95b5b99481081cb7b13c7e40434868e71567c1a882f6 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt new file mode 100644 index 000000000000..3731a30128d4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt @@ -0,0 +1,15 @@ +A note about using temporary security credentials: + +You can use temporary security credentials provided by the AWS Security Token Service (AWS STS) to sign a request. The process is the same as using long-term credentials but requires an additional HTTP header or query string parameter for the security token. The name of the header or query string parameter is X-Amz-Security-Token, and the value is the session token (the string that you received from AWS STS when you obtained temporary security credentials). + +When you add X-Amz-Security-Token, some services require that you include this parameter in the canonical (signed) request. For other services, you add this parameter at the end, after you calculate the signature. For details see the API reference documentation for that service. + +The test suite has 2 examples: + +post-sts-header-before - The X-Amz-Security-Token header is part of the canonical request. + +post-sts-header-after - The X-Amz-Security-Token header is added to the request after you calculate the signature. + +The test suite uses this example value for X-Amz-Security-Token: + +AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz new file mode 100644 index 000000000000..44280cd7bb68 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq new file mode 100644 index 000000000000..f5058d430b50 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq @@ -0,0 +1,8 @@ +POST +/ +Param1=value1 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req new file mode 100644 index 000000000000..9157bc74de34 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req @@ -0,0 +1,3 @@ +POST /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq new file mode 100644 index 000000000000..82af1505e2ed --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq @@ -0,0 +1,4 @@ +POST /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts new file mode 100644 index 000000000000..ca7cc661d1e7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +9d659678c1756bb3113e2ce898845a0a79dbbc57b740555917687f1b3340fbbd \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz new file mode 100644 index 000000000000..44280cd7bb68 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq new file mode 100644 index 000000000000..f5058d430b50 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq @@ -0,0 +1,8 @@ +POST +/ +Param1=value1 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req new file mode 100644 index 000000000000..9157bc74de34 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req @@ -0,0 +1,3 @@ +POST /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq new file mode 100644 index 000000000000..82af1505e2ed --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq @@ -0,0 +1,4 @@ +POST /?Param1=value1 HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts new file mode 100644 index 000000000000..ca7cc661d1e7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +9d659678c1756bb3113e2ce898845a0a79dbbc57b740555917687f1b3340fbbd \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz new file mode 100644 index 000000000000..89e572e60969 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq new file mode 100644 index 000000000000..5c3a9434ec31 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq @@ -0,0 +1,8 @@ +POST +/ + +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req new file mode 100644 index 000000000000..3dc4179013f3 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req @@ -0,0 +1,3 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq new file mode 100644 index 000000000000..a5ada0d940a9 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts new file mode 100644 index 000000000000..a63670394947 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +553f88c9e4d10fc9e109e2aeb65f030801b70c2f6468faca261d401ae622fc87 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz new file mode 100644 index 000000000000..df90ca3605ab --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq new file mode 100644 index 000000000000..457b0d557245 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq @@ -0,0 +1,9 @@ +POST +/ +Param1=value1 +content-type:application/x-www-form-urlencoded; charset=utf-8 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +content-type;host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req new file mode 100644 index 000000000000..36015f10aaa3 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req @@ -0,0 +1,6 @@ +POST / HTTP/1.1 +Content-Type:application/x-www-form-urlencoded; charset=utf-8 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z + +Param1=value1 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq new file mode 100644 index 000000000000..b8ecb8990738 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq @@ -0,0 +1,7 @@ +POST / HTTP/1.1 +Content-Type:application/x-www-form-urlencoded; charset=utf-8 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393 + +Param1=value1 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts new file mode 100644 index 000000000000..f7e615eea0f7 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz new file mode 100644 index 000000000000..79077d27f42d --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz @@ -0,0 +1 @@ +AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq new file mode 100644 index 000000000000..71dc981757f4 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq @@ -0,0 +1,9 @@ +POST +/ + +content-type:application/x-www-form-urlencoded; charset=utf-8 +host:example.amazonaws.com +x-amz-date:20150830T123600Z + +host;x-amz-date +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req new file mode 100644 index 000000000000..78526171d852 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Content-Type:application/x-www-form-urlencoded; charset=utf-8 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq new file mode 100644 index 000000000000..3e2e5718ab33 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq @@ -0,0 +1,4 @@ +POST / HTTP/1.1 +Host:example.amazonaws.com +X-Amz-Date:20150830T123600Z +Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6 \ No newline at end of file diff --git a/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts new file mode 100644 index 000000000000..89ceae8d7120 --- /dev/null +++ b/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts @@ -0,0 +1,4 @@ +AWS4-HMAC-SHA256 +20150830T123600Z +20150830/us-east-1/service/aws4_request +6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584 \ No newline at end of file diff --git a/sdk/aws-sigv4/src/date_fmt.rs b/sdk/aws-sigv4/src/date_fmt.rs new file mode 100644 index 000000000000..c84574a434c4 --- /dev/null +++ b/sdk/aws-sigv4/src/date_fmt.rs @@ -0,0 +1,54 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +// Some of the functions in this file are unused when disabling certain features +#![allow(dead_code)] +use chrono::{Date, DateTime, NaiveDate, NaiveDateTime, ParseError, Utc}; + +const DATE_TIME_FORMAT: &str = "%Y%m%dT%H%M%SZ"; +const DATE_FORMAT: &str = "%Y%m%d"; + +/// Formats a chrono `Date` in `YYYYMMDD` format. +pub fn format_date(date: &Date) -> String { + date.format(DATE_FORMAT).to_string() +} + +/// Parses `YYYYMMDD` formatted dates into a chrono `Date`. +pub fn parse_date(date_str: &str) -> Result, ParseError> { + Ok(Date::::from_utc( + NaiveDate::parse_from_str(date_str, "%Y%m%d")?, + Utc, + )) +} + +/// Formats a chrono `DateTime` in `YYYYMMDD'T'HHMMSS'Z'` format. +pub fn format_date_time(date_time: &DateTime) -> String { + date_time.format(DATE_TIME_FORMAT).to_string() +} + +/// Parses `YYYYMMDD'T'HHMMSS'Z'` formatted dates into a chrono `DateTime`. +pub fn parse_date_time(date_time_str: &str) -> Result, ParseError> { + Ok(DateTime::::from_utc( + NaiveDateTime::parse_from_str(date_time_str, DATE_TIME_FORMAT)?, + Utc, + )) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn date_time_roundtrip() { + let date = parse_date_time("20150830T123600Z").unwrap(); + assert_eq!("20150830T123600Z", format_date_time(&date)); + } + + #[test] + fn date_roundtrip() { + let date = parse_date("20150830").unwrap(); + assert_eq!("20150830", format_date(&date)); + } +} diff --git a/sdk/aws-sigv4/src/event_stream.rs b/sdk/aws-sigv4/src/event_stream.rs new file mode 100644 index 000000000000..2563753cb78f --- /dev/null +++ b/sdk/aws-sigv4/src/event_stream.rs @@ -0,0 +1,172 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Utilities to sign Event Stream messages. + +use crate::date_fmt::{format_date, format_date_time}; +use crate::sign::{calculate_signature, generate_signing_key, sha256_hex_string}; +use crate::SigningOutput; +use chrono::{DateTime, SubsecRound, Utc}; +use smithy_eventstream::frame::{write_headers_to, Header, HeaderValue, Message}; +use std::io::Write; + +pub type SigningParams<'a> = super::SigningParams<'a, ()>; + +/// Creates a string to sign for an Event Stream message. +fn calculate_string_to_sign( + message_payload: &[u8], + last_signature: &str, + date_time: &DateTime, + params: &SigningParams<'_>, +) -> Vec { + // Event Stream string to sign format is documented here: + // https://docs.aws.amazon.com/transcribe/latest/dg/how-streaming.html + let date_time_str = format_date_time(&date_time); + let date_str = format_date(&date_time.date()); + + let mut sts: Vec = Vec::new(); + writeln!(sts, "AWS4-HMAC-SHA256-PAYLOAD").unwrap(); + writeln!(sts, "{}", date_time_str).unwrap(); + writeln!( + sts, + "{}/{}/{}/aws4_request", + date_str, params.region, params.service_name + ) + .unwrap(); + writeln!(sts, "{}", last_signature).unwrap(); + + let date_header = Header::new(":date", HeaderValue::Timestamp((*date_time).into())); + let mut date_buffer = Vec::new(); + write_headers_to(&[date_header], &mut date_buffer).unwrap(); + writeln!(sts, "{}", sha256_hex_string(&date_buffer)).unwrap(); + write!(sts, "{}", sha256_hex_string(&message_payload)).unwrap(); + sts +} + +/// Signs an Event Stream message with the given `credentials`. +/// +/// Each message's signature incorporates the signature of the previous message (`last_signature`). +/// The very first message incorporates the signature of the top-level request +/// for both HTTP 2 and WebSocket. +pub fn sign_message<'a>( + message: &'a Message, + last_signature: &'a str, + params: &'a SigningParams<'a>, +) -> SigningOutput { + // Truncate the sub-seconds up front since the timestamp written to the signed message header + // needs to exactly match the string formatted timestamp, which doesn't include sub-seconds. + let date_time = params.date_time.trunc_subsecs(0); + + let signing_key = generate_signing_key( + params.secret_key, + date_time.date(), + params.region, + params.service_name, + ); + let message_payload = { + let mut payload = Vec::new(); + message.write_to(&mut payload).unwrap(); + payload + }; + let string_to_sign = + calculate_string_to_sign(&message_payload, last_signature, &date_time, params); + let signature = calculate_signature(signing_key, &string_to_sign); + + // Generate the signed wrapper event frame + SigningOutput::new( + Message::new(message_payload) + .add_header(Header::new( + ":chunk-signature", + HeaderValue::ByteArray(hex::decode(&signature).unwrap().into()), + )) + .add_header(Header::new( + ":date", + HeaderValue::Timestamp(date_time.into()), + )), + signature, + ) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::time::{Duration, UNIX_EPOCH}; + + #[test] + fn string_to_sign() { + let message_to_sign = Message::new(&b"test payload"[..]).add_header(Header::new( + "some-header", + HeaderValue::String("value".into()), + )); + let mut message_payload = Vec::new(); + message_to_sign.write_to(&mut message_payload).unwrap(); + + let params = SigningParams { + access_key: "fake access key", + secret_key: "fake secret key", + security_token: None, + region: "us-east-1", + service_name: "testservice", + date_time: (UNIX_EPOCH + Duration::new(123_456_789_u64, 1234u32)).into(), + settings: (), + }; + + let expected = "\ + AWS4-HMAC-SHA256-PAYLOAD\n\ + 19731129T213309Z\n\ + 19731129/us-east-1/testservice/aws4_request\n\ + be1f8c7d79ef8e1abc5254a2c70e4da3bfaf4f07328f527444e1fc6ea67273e2\n\ + 0c0e3b3bf66b59b976181bd7d401927bbd624107303c713fd1e5f3d3c8dd1b1e\n\ + f2eba0f2e95967ee9fbc6db5e678d2fd599229c0d04b11e4fc8e0f2a02a806c6\ + "; + + let last_signature = sha256_hex_string(b"last message sts"); + assert_eq!( + expected, + std::str::from_utf8(&calculate_string_to_sign( + &message_payload, + &last_signature, + ¶ms.date_time, + ¶ms + )) + .unwrap() + ); + } + + #[test] + fn sign() { + let message_to_sign = Message::new(&b"test payload"[..]).add_header(Header::new( + "some-header", + HeaderValue::String("value".into()), + )); + let params = SigningParams { + access_key: "fake access key", + secret_key: "fake secret key", + security_token: None, + region: "us-east-1", + service_name: "testservice", + date_time: (UNIX_EPOCH + Duration::new(123_456_789_u64, 1234u32)).into(), + settings: (), + }; + + let last_signature = sha256_hex_string(b"last message sts"); + let (signed, signature) = + sign_message(&message_to_sign, &last_signature, ¶ms).into_parts(); + assert_eq!(":chunk-signature", signed.headers()[0].name().as_str()); + if let HeaderValue::ByteArray(bytes) = signed.headers()[0].value() { + assert_eq!(signature, hex::encode(bytes)); + } else { + panic!("expected byte array for :chunk-signature header"); + } + assert_eq!(":date", signed.headers()[1].name().as_str()); + if let HeaderValue::Timestamp(value) = signed.headers()[1].value() { + assert_eq!(123_456_789_i64, value.epoch_seconds()); + // The subseconds should have been truncated off + assert_eq!(0, value.epoch_subsecond_nanos()); + } else { + panic!("expected timestamp for :date header"); + } + } +} diff --git a/sdk/aws-sigv4/src/http_request/canonical_request.rs b/sdk/aws-sigv4/src/http_request/canonical_request.rs new file mode 100644 index 000000000000..ebebc686c17b --- /dev/null +++ b/sdk/aws-sigv4/src/http_request/canonical_request.rs @@ -0,0 +1,346 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use super::{ + Error, PayloadChecksumKind, SignableBody, SigningSettings, UriEncoding, HMAC_256, + X_AMZ_CONTENT_SHA_256, X_AMZ_DATE, X_AMZ_SECURITY_TOKEN, +}; +use crate::date_fmt::{format_date, format_date_time, parse_date, parse_date_time}; +use crate::sign::sha256_hex_string; +use chrono::{Date, DateTime, Utc}; +use http::header::{HeaderName, USER_AGENT}; +use http::{HeaderMap, HeaderValue, Method, Request}; +use percent_encoding::{AsciiSet, CONTROLS}; +use std::borrow::Cow; +use std::cmp::Ordering; +use std::convert::TryFrom; +use std::fmt; +use std::fmt::Formatter; + +const UNSIGNED_PAYLOAD: &str = "UNSIGNED-PAYLOAD"; + +/// base set of characters that must be URL encoded +const BASE_SET: &AsciiSet = &CONTROLS + .add(b' ') + .add(b'/') + // RFC-3986 §3.3 allows sub-delims (defined in section2.2) to be in the path component. + // This includes both colon ':' and comma ',' characters. + // Smithy protocol tests & AWS services percent encode these expected values. Signing + // will fail if these values are not percent encoded + .add(b':') + .add(b',') + .add(b'?') + .add(b'#') + .add(b'[') + .add(b']') + .add(b'@') + .add(b'!') + .add(b'$') + .add(b'&') + .add(b'\'') + .add(b'(') + .add(b')') + .add(b'*') + .add(b'+') + .add(b';') + .add(b'=') + .add(b'%'); + +fn percent_encode(value: &str) -> String { + percent_encoding::percent_encode(&value.as_bytes(), BASE_SET).to_string() +} + +pub struct AddedHeaders { + pub x_amz_date: HeaderValue, + pub x_amz_content_256: Option, + pub x_amz_security_token: Option, +} + +#[derive(Default, Debug, PartialEq)] +pub struct CanonicalRequest { + pub method: Method, + pub path: String, + pub params: String, + pub headers: HeaderMap, + pub signed_headers: SignedHeaders, + pub payload_hash: String, +} + +impl CanonicalRequest { + /// Construct a CanonicalRequest from an HttpRequest and a signable body + /// + /// This function returns 2 things: + /// 1. The canonical request to use for signing + /// 2. `AddedHeaders`, a struct recording the additional headers that were added. These will + /// behavior returned to the top level caller. If the caller wants to create a + /// presigned URL, they can apply these parameters to the query string. + /// + /// ## Behavior + /// There are several settings which alter signing behavior: + /// - If a `security_token` is provided as part of the credentials it will be included in the signed headers + /// - If `settings.uri_encoding` specifies double encoding, `%` in the URL will be rencoded as + /// `%25` + /// - If settings.payload_checksum_kind is XAmzSha256, add a x-amz-content-sha256 with the body + /// checksum. This is the same checksum used as the "payload_hash" in the canonical request + pub fn from( + req: &Request, + body: SignableBody, + settings: &SigningSettings, + date: DateTime, + security_token: Option<&str>, + ) -> Result<(CanonicalRequest, AddedHeaders), Error> { + // Path encoding: if specified, rencode % as %25 + // Set method and path into CanonicalRequest + let path = req.uri().path(); + let path = match settings.uri_encoding { + // The string is already URI encoded, we don't need to encode everything again, just `%` + UriEncoding::Double => path.replace('%', "%25"), + UriEncoding::Single => path.to_string(), + }; + let mut creq = CanonicalRequest { + method: req.method().clone(), + path, + ..Default::default() + }; + + if let Some(query) = req.uri().query() { + let mut first = true; + let mut out = String::new(); + let mut params: Vec<(Cow, Cow)> = + form_urlencoded::parse(query.as_bytes()).collect(); + // Sort by param name, and then by param value + params.sort(); + for (key, value) in params { + if !first { + out.push('&'); + } + first = false; + + out.push_str(&percent_encode(&key)); + out.push('='); + out.push_str(&percent_encode(&value)); + } + creq.params = out; + } + + // Payload hash computation + // + // Based on the input body, set the payload_hash of the canonical request: + // Either: + // - compute a hash + // - use the precomputed hash + // - use `UnsignedPayload` + let payload_hash = match body { + SignableBody::Bytes(data) => sha256_hex_string(data), + SignableBody::Precomputed(digest) => digest, + SignableBody::UnsignedPayload => UNSIGNED_PAYLOAD.to_string(), + }; + creq.payload_hash = payload_hash; + + // Header computation: + // The canonical request will include headers not present in the input. We need to clone + // the headers from the original request and add: + // - x-amz-date + // - x-amz-security-token (if provided) + // - x-amz-content-sha256 (if requested by signing settings) + let mut canonical_headers = req.headers().clone(); + let x_amz_date = HeaderName::from_static(X_AMZ_DATE); + let date_header = + HeaderValue::try_from(format_date_time(&date)).expect("date is valid header value"); + canonical_headers.insert(x_amz_date, date_header.clone()); + // to return headers to the user, record which headers we added + let mut out = AddedHeaders { + x_amz_date: date_header, + x_amz_content_256: None, + x_amz_security_token: None, + }; + + if let Some(security_token) = security_token { + let mut sec_header = HeaderValue::from_str(security_token)?; + sec_header.set_sensitive(true); + canonical_headers.insert(X_AMZ_SECURITY_TOKEN, sec_header.clone()); + out.x_amz_security_token = Some(sec_header); + } + + if settings.payload_checksum_kind == PayloadChecksumKind::XAmzSha256 { + let header = HeaderValue::from_str(&creq.payload_hash)?; + canonical_headers.insert(X_AMZ_CONTENT_SHA_256, header.clone()); + out.x_amz_content_256 = Some(header); + } + + let mut signed_headers = Vec::with_capacity(canonical_headers.len()); + for (name, _) in &canonical_headers { + // The user agent header should not be signed because it may be altered by proxies + if name != USER_AGENT { + signed_headers.push(CanonicalHeaderName(name.clone())); + } + } + creq.signed_headers = SignedHeaders::new(signed_headers); + creq.headers = canonical_headers; + Ok((creq, out)) + } +} + +impl fmt::Display for CanonicalRequest { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + writeln!(f, "{}", self.method)?; + writeln!(f, "{}", self.path)?; + writeln!(f, "{}", self.params)?; + // write out _all_ the headers + for header in &self.signed_headers.inner { + // a missing header is a bug, so we should panic. + let value = &self.headers[&header.0]; + write!(f, "{}:", header.0.as_str())?; + writeln!(f, "{}", value.to_str().unwrap())?; + } + writeln!(f)?; + // write out the signed headers + write!(f, "{}", self.signed_headers.to_string())?; + writeln!(f)?; + write!(f, "{}", self.payload_hash)?; + Ok(()) + } +} + +#[derive(Debug, PartialEq, Default)] +pub struct SignedHeaders { + inner: Vec, +} + +impl SignedHeaders { + fn new(mut inner: Vec) -> Self { + inner.sort(); + SignedHeaders { inner } + } +} + +impl fmt::Display for SignedHeaders { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let mut iter = self.inner.iter().peekable(); + while let Some(next) = iter.next() { + match iter.peek().is_some() { + true => write!(f, "{};", next.0.as_str())?, + false => write!(f, "{}", next.0.as_str())?, + }; + } + Ok(()) + } +} + +#[derive(Debug, PartialEq, Eq, Clone)] +pub struct CanonicalHeaderName(HeaderName); + +impl PartialOrd for CanonicalHeaderName { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl Ord for CanonicalHeaderName { + fn cmp(&self, other: &Self) -> Ordering { + self.0.as_str().cmp(&other.0.as_str()) + } +} + +#[derive(PartialEq, Debug, Clone)] +pub struct Scope<'a> { + pub date: Date, + pub region: &'a str, + pub service: &'a str, +} + +impl<'a> fmt::Display for Scope<'a> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!( + f, + "{}/{}/{}/aws4_request", + format_date(&self.date), + self.region, + self.service + ) + } +} + +impl<'a> TryFrom<&'a str> for Scope<'a> { + type Error = Error; + fn try_from(s: &'a str) -> Result, Self::Error> { + let mut scopes = s.split('/'); + let date = parse_date(scopes.next().expect("missing date"))?; + let region = scopes.next().expect("missing region"); + let service = scopes.next().expect("missing service"); + + let scope = Scope { + date, + region, + service, + }; + + Ok(scope) + } +} + +#[derive(PartialEq, Debug)] +pub struct StringToSign<'a> { + pub scope: Scope<'a>, + pub date: DateTime, + pub region: &'a str, + pub service: &'a str, + pub hashed_creq: &'a str, +} + +impl<'a> TryFrom<&'a str> for StringToSign<'a> { + type Error = Error; + fn try_from(s: &'a str) -> Result { + let lines = s.lines().collect::>(); + let date = parse_date_time(&lines[1])?; + let scope: Scope = TryFrom::try_from(lines[2])?; + let hashed_creq = &lines[3]; + + let sts = StringToSign { + date, + region: scope.region, + service: scope.service, + scope, + hashed_creq, + }; + + Ok(sts) + } +} + +impl<'a> StringToSign<'a> { + pub(crate) fn new( + date: DateTime, + region: &'a str, + service: &'a str, + hashed_creq: &'a str, + ) -> Self { + let scope = Scope { + date: date.date(), + region, + service, + }; + Self { + scope, + date, + region, + service, + hashed_creq, + } + } +} + +impl<'a> fmt::Display for StringToSign<'a> { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + write!( + f, + "{}\n{}\n{}\n{}", + HMAC_256, + format_date_time(&self.date), + self.scope.to_string(), + self.hashed_creq + ) + } +} diff --git a/sdk/aws-sigv4/src/http_request/mod.rs b/sdk/aws-sigv4/src/http_request/mod.rs new file mode 100644 index 000000000000..fa2f3ad75196 --- /dev/null +++ b/sdk/aws-sigv4/src/http_request/mod.rs @@ -0,0 +1,591 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Utilities to sign HTTP requests. + +use crate::http_request::canonical_request::{CanonicalRequest, StringToSign}; +use crate::sign::{calculate_signature, generate_signing_key, sha256_hex_string}; +use crate::SigningOutput; +use http::header::{HeaderName, HeaderValue}; +use std::error::Error as StdError; +use std::{iter, str}; + +mod canonical_request; + +const HMAC_256: &str = "AWS4-HMAC-SHA256"; +const X_AMZ_SECURITY_TOKEN: &str = "x-amz-security-token"; +const X_AMZ_DATE: &str = "x-amz-date"; +const X_AMZ_CONTENT_SHA_256: &str = "x-amz-content-sha256"; + +pub type Error = Box; + +/// Signs the given `request` with the signing params. +/// This will directly add the signature headers to the request. +pub fn sign<'a, B>( + request: &'a mut http::Request, + params: &'a SigningParams<'a>, +) -> Result, Error> +where + B: AsRef<[u8]>, +{ + let signable_body = SignableBody::Bytes(request.body().as_ref()); + let (signing_headers, signature) = + calculate_signing_headers(&request, signable_body, params)?.into_parts(); + for (header_name, header_value) in signing_headers { + request + .headers_mut() + .append(HeaderName::from_static(header_name), header_value); + } + + Ok(SigningOutput::new((), signature)) +} + +pub type SigningParams<'a> = super::SigningParams<'a, SigningSettings>; + +#[derive(Debug, PartialEq)] +#[non_exhaustive] +pub struct SigningSettings { + /// We assume the URI will be encoded _once_ prior to transmission. Some services + /// do not decode the path prior to checking the signature, requiring clients to actually + /// _double-encode_ the URI in creating the canonical request in order to pass a signature check. + pub uri_encoding: UriEncoding, + + /// Add an additional checksum header + pub payload_checksum_kind: PayloadChecksumKind, +} + +#[non_exhaustive] +#[derive(Debug, Eq, PartialEq)] +pub enum PayloadChecksumKind { + /// Add x-amz-checksum-sha256 to the canonical request + /// + /// This setting is required for S3 + XAmzSha256, + + /// Do not add an additional header when creating the canonical request + /// + /// This is "normal mode" and will work for services other than S3 + NoHeader, +} + +#[non_exhaustive] +#[derive(Debug, Eq, PartialEq)] +pub enum UriEncoding { + /// Re-encode the resulting URL (eg. %30 becomes `%2530) + Double, + + /// Take the resulting URL as-is + Single, +} + +impl Default for SigningSettings { + fn default() -> Self { + Self { + uri_encoding: UriEncoding::Double, + payload_checksum_kind: PayloadChecksumKind::NoHeader, + } + } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +#[non_exhaustive] +pub enum SignableBody<'a> { + /// A body composed of a slice of bytes + Bytes(&'a [u8]), + /// An unsigned payload + /// + /// UnsignedPayload is used for streaming requests where the contents of the body cannot be + /// known prior to signing + UnsignedPayload, + + /// A precomputed body checksum. The checksum should be a SHA256 checksum of the body, + /// lowercase hex encoded. Eg: + /// `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` + Precomputed(String), +} + +/// Calculates the signature headers that need to get added to the given `request`. +/// +/// `request` MUST NOT contain any of the following headers: +/// - x-amz-date +/// - x-amz-content-sha-256 +/// - x-amz-security-token +pub fn calculate_signing_headers<'a, B>( + request: &'a http::Request, + body: SignableBody, + params: &'a SigningParams<'a>, +) -> Result>, Error> { + // Step 1: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-create-canonical-request.html. + let SigningParams { + access_key, + secret_key, + security_token, + region, + service_name, + date_time, + settings, + } = params; + let (creq, extra_headers) = + CanonicalRequest::from(request, body, settings, *date_time, *security_token)?; + + // Step 2: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-create-string-to-sign.html. + let encoded_creq = &sha256_hex_string(creq.to_string().as_bytes()); + let sts = StringToSign::new(*date_time, region, service_name, encoded_creq); + + // Step 3: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-calculate-signature.html + let signing_key = generate_signing_key(secret_key, date_time.date(), region, service_name); + let signature = calculate_signature(signing_key, &sts.to_string().as_bytes()); + + // Step 4: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-add-signature-to-request.html + let mut authorization: HeaderValue = + build_authorization_header(access_key, &creq, sts, &signature).parse()?; + authorization.set_sensitive(true); + + // Construct an iterator of headers that the caller can attach to their request + // either as headers or as query parameters to create a presigned URL + let date = (X_AMZ_DATE, extra_headers.x_amz_date); + let mut security_token = extra_headers + .x_amz_security_token + .map(|tok| (X_AMZ_SECURITY_TOKEN, tok)); + let mut content = extra_headers + .x_amz_content_256 + .map(|content| (X_AMZ_CONTENT_SHA_256, content)); + let auth = iter::once(("authorization", authorization)); + let date = iter::once(date); + Ok(SigningOutput::new( + auth.chain(date).chain(iter::from_fn(move || { + security_token.take().or_else(|| content.take()) + })), + signature, + )) +} + +// add signature to authorization header +// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature +fn build_authorization_header( + access_key: &str, + creq: &CanonicalRequest, + sts: StringToSign, + signature: &str, +) -> String { + format!( + "{} Credential={}/{}, SignedHeaders={}, Signature={}", + HMAC_256, + access_key, + sts.scope.to_string(), + creq.signed_headers, + signature + ) +} + +#[cfg(test)] +mod tests { + use super::{ + build_authorization_header, Error, PayloadChecksumKind, SignableBody, SigningSettings, + }; + use crate::date_fmt::{format_date_time, parse_date_time}; + use crate::http_request::canonical_request::{CanonicalRequest, Scope, StringToSign}; + use crate::sign::{calculate_signature, generate_signing_key, sha256_hex_string}; + use http::{HeaderValue, Method, Request, Uri, Version}; + use pretty_assertions::assert_eq; + use std::fs; + use std::{convert::TryFrom, str::FromStr}; + + macro_rules! assert_req_eq { + ($a:tt, $b:tt) => { + assert_eq!(format!("{:?}", $a), format!("{:?}", $b)) + }; + } + + macro_rules! read { + (req: $case:tt) => { + fs::read_to_string(format!("./aws-sig-v4-test-suite/{}/{}.req", $case, $case))? + // this replacement is necessary for tests to pass on Windows, as reading the + // sigv4 snapshots from the file system results in CRLF line endings being inserted. + .replace("\r\n", "\n") + }; + + (creq: $case:tt) => { + fs::read_to_string(format!("./aws-sig-v4-test-suite/{}/{}.creq", $case, $case))? + .replace("\r\n", "\n") + }; + + (sreq: $case:tt) => { + fs::read_to_string(format!("./aws-sig-v4-test-suite/{}/{}.sreq", $case, $case))? + .replace("\r\n", "\n") + }; + + (sts: $case:tt) => { + fs::read_to_string(format!("./aws-sig-v4-test-suite/{}/{}.sts", $case, $case))? + .replace("\r\n", "\n") + }; + + (authz: $case:tt) => { + fs::read_to_string(format!("./aws-sig-v4-test-suite/{}/{}.authz", $case, $case))? + .replace("\r\n", "\n") + }; + } + + #[test] + fn read_request() -> Result<(), Error> { + //file-name.req—the web request to be signed. + //file-name.creq—the resulting canonical request. + //file-name.sts—the resulting string to sign. + //file-name.authz—the Authorization header. + //file-name.sreq— the signed request. + + // Step 1: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-create-canonical-request.html. + let s = read!(req: "get-vanilla-query-order-key-case"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20150830T123600Z").unwrap(); + let (creq, _) = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body()), + &SigningSettings::default(), + date, + None, + )?; + + let actual = format!("{}", creq); + let expected = read!(creq: "get-vanilla-query-order-key-case"); + assert_eq!(actual, expected); + + // Step 2: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-create-string-to-sign.html. + let encoded_creq = &sha256_hex_string(creq.to_string().as_bytes()); + let sts = StringToSign::new(date, "us-east-1", "service", encoded_creq); + + // Step 3: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-calculate-signature.html + let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"; + + let signing_key = generate_signing_key(secret, date.date(), "us-east-1", "service"); + let signature = calculate_signature(signing_key, &sts.to_string().as_bytes()); + let access = "AKIDEXAMPLE"; + + // step 4: https://docs.aws.amazon.com/en_pv/general/latest/gr/sigv4-add-signature-to-request.html + let authorization = build_authorization_header(access, &creq, sts, &signature); + let x_azn_date = format_date_time(&date); + + let s = read!(req: "get-vanilla-query-order-key-case"); + let mut req = parse_request(s.as_bytes())?; + + let headers = req.headers_mut(); + headers.insert("X-Amz-Date", x_azn_date.parse()?); + headers.insert("authorization", authorization.parse()?); + let expected = read!(sreq: "get-vanilla-query-order-key-case"); + let expected = parse_request(expected.as_bytes())?; + assert_req_eq!(expected, req); + + Ok(()) + } + + #[test] + fn test_set_xamz_sha_256() -> Result<(), Error> { + let s = read!(req: "get-vanilla-query-order-key-case"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20150830T123600Z").unwrap(); + let mut signing_settings = SigningSettings { + payload_checksum_kind: PayloadChecksumKind::XAmzSha256, + ..Default::default() + }; + let (creq, new_headers) = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body()), + &signing_settings, + date, + None, + )?; + assert_eq!( + new_headers.x_amz_content_256, + Some(HeaderValue::from_static( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + )) + ); + // assert that the sha256 header was added + assert_eq!( + creq.signed_headers.to_string(), + "host;x-amz-content-sha256;x-amz-date" + ); + + signing_settings.payload_checksum_kind = PayloadChecksumKind::NoHeader; + let (creq, new_headers) = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body()), + &signing_settings, + date, + None, + )?; + assert_eq!(new_headers.x_amz_content_256, None); + assert_eq!(creq.signed_headers.to_string(), "host;x-amz-date"); + Ok(()) + } + + #[test] + fn test_unsigned_payload() -> Result<(), Error> { + let s = read!(req: "get-vanilla-query-order-key-case"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20150830T123600Z").unwrap(); + let signing_settings = SigningSettings { + payload_checksum_kind: PayloadChecksumKind::XAmzSha256, + ..Default::default() + }; + let (creq, new_headers) = CanonicalRequest::from( + &req, + SignableBody::UnsignedPayload, + &signing_settings, + date, + None, + )?; + assert_eq!( + new_headers.x_amz_content_256, + Some(HeaderValue::from_static("UNSIGNED-PAYLOAD")) + ); + assert_eq!(creq.payload_hash, "UNSIGNED-PAYLOAD"); + Ok(()) + } + + #[test] + fn test_precomputed_payload() -> Result<(), Error> { + let s = read!(req: "get-vanilla-query-order-key-case"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20150830T123600Z").unwrap(); + let signing_settings = SigningSettings { + payload_checksum_kind: PayloadChecksumKind::XAmzSha256, + ..Default::default() + }; + let (creq, new_headers) = CanonicalRequest::from( + &req, + SignableBody::Precomputed(String::from( + "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072", + )), + &signing_settings, + date, + None, + )?; + assert_eq!( + new_headers.x_amz_content_256, + Some(HeaderValue::from_static( + "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072" + )) + ); + assert_eq!( + creq.payload_hash, + "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072" + ); + Ok(()) + } + + #[test] + fn test_build_authorization_header() -> Result<(), Error> { + let s = read!(req: "get-vanilla-query-order-key-case"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20150830T123600Z").unwrap(); + let creq = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body()), + &SigningSettings::default(), + date, + None, + )? + .0; + + let encoded_creq = &sha256_hex_string(creq.to_string().as_bytes()); + let sts = StringToSign::new(date, "us-east-1", "service", encoded_creq); + + let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"; + let signing_key = generate_signing_key(secret, date.date(), "us-east-1", "service"); + let signature = calculate_signature(signing_key, &sts.to_string().as_bytes()); + let expected_header = read!(authz: "get-vanilla-query-order-key-case"); + let header = build_authorization_header("AKIDEXAMPLE", &creq, sts, &signature); + assert_eq!(expected_header, header); + + Ok(()) + } + + #[test] + fn test_generate_scope() -> Result<(), Error> { + let expected = "20150830/us-east-1/iam/aws4_request\n"; + let date = parse_date_time("20150830T123600Z")?; + let scope = Scope { + date: date.date(), + region: "us-east-1", + service: "iam", + }; + assert_eq!(format!("{}\n", scope.to_string()), expected); + + Ok(()) + } + + #[test] + fn test_parse() -> Result<(), Error> { + let buf = read!(req: "post-header-key-case"); + parse_request(buf.as_bytes())?; + Ok(()) + } + + #[test] + fn test_read_query_params() -> Result<(), Error> { + let buf = read!(req: "get-vanilla-query-order-key-case"); + parse_request(buf.as_bytes()).unwrap(); + Ok(()) + } + + #[test] + fn test_parse_headers() { + let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah"; + let mut headers = [httparse::EMPTY_HEADER; 4]; + assert_eq!( + httparse::parse_headers(buf, &mut headers), + Ok(httparse::Status::Complete(( + 56, + &[ + httparse::Header { + name: "Host", + value: b"example.amazonaws.com", + }, + httparse::Header { + name: "X-Amz-Date", + value: b"20150830T123600Z", + } + ][..] + ))) + ); + } + + #[test] + fn sign_payload_empty_string() { + let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + let actual = sha256_hex_string(&[]); + assert_eq!(expected, actual); + } + + #[test] + fn test_string_to_sign() -> Result<(), Error> { + let date = parse_date_time("20150830T123600Z")?; + let creq = read!(creq: "get-vanilla-query-order-key-case"); + let expected_sts = read!(sts: "get-vanilla-query-order-key-case"); + let encoded = sha256_hex_string(creq.as_bytes()); + + let actual = StringToSign::new(date, "us-east-1", "service", &encoded); + assert_eq!(expected_sts, actual.to_string()); + + Ok(()) + } + + #[test] + fn test_signature_calculation() -> Result<(), Error> { + let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"; + let creq = + std::fs::read_to_string("./aws-sig-v4-test-suite/iam.creq")?.replace("\r\n", "\n"); + let date = parse_date_time("20150830T123600Z")?; + + let derived_key = generate_signing_key(secret, date.date(), "us-east-1", "iam"); + let signature = calculate_signature(derived_key, creq.as_bytes()); + + let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7"; + assert_eq!(expected, &signature); + + Ok(()) + } + + #[test] + fn parse_signed_request() -> Result<(), Error> { + let req = read!(sreq: "post-header-key-case"); + let _: Request<_> = parse_request(req.as_bytes())?; + Ok(()) + } + + #[test] + fn read_sts() -> Result<(), Error> { + let sts = read!(sts: "get-vanilla-query-order-key-case"); + let _ = StringToSign::try_from(sts.as_ref())?; + Ok(()) + } + + #[test] + fn test_digest_of_canonical_request() -> Result<(), Error> { + let creq = read!(creq: "get-vanilla-query-order-key-case"); + let actual = sha256_hex_string(creq.as_bytes()); + let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0"; + + assert_eq!(expected, actual); + Ok(()) + } + + #[test] + fn test_double_url_encode() -> Result<(), Error> { + let s = read!(req: "double-url-encode"); + let req = parse_request(s.as_bytes())?; + let date = parse_date_time("20210511T154045Z")?; + let creq = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body()), + &SigningSettings::default(), + date, + None, + )? + .0; + + let actual = format!("{}", creq); + let expected = read!(creq: "double-url-encode"); + assert_eq!(actual, expected); + Ok(()) + } + + #[test] + fn test_tilde_in_uri() -> Result<(), Error> { + let req = http::Request::builder() + .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap(); + let date = parse_date_time("20210511T154045Z")?; + let creq = CanonicalRequest::from( + &req, + SignableBody::Bytes(req.body().as_ref()), + &SigningSettings::default(), + date, + None, + )? + .0; + assert_eq!( + creq.params, + "k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~" + ); + Ok(()) + } + + fn parse_request(s: &[u8]) -> Result, Error> { + let mut headers = [httparse::EMPTY_HEADER; 64]; + // httparse 1.5 requres two trailing newlines to head the header section. + let mut with_newline = Vec::from(s); + with_newline.push(b'\n'); + let mut req = httparse::Request::new(&mut headers); + let _ = req.parse(&with_newline).unwrap(); + + let version = match req.version.unwrap() { + 1 => Version::HTTP_11, + _ => unimplemented!(), + }; + + let method = match req.method.unwrap() { + "GET" => Method::GET, + "POST" => Method::POST, + _ => unimplemented!(), + }; + + let builder = Request::builder(); + let builder = builder.version(version); + let mut builder = builder.method(method); + if let Some(path) = req.path { + builder = builder.uri(Uri::from_str(path)?); + } + for header in req.headers { + let name = header.name.to_lowercase(); + if !name.is_empty() { + builder = builder.header(&name, header.value); + } + } + + let req = builder.body(bytes::Bytes::new())?; + Ok(req) + } +} diff --git a/sdk/aws-sigv4/src/lib.rs b/sdk/aws-sigv4/src/lib.rs new file mode 100644 index 000000000000..29ac80071e43 --- /dev/null +++ b/sdk/aws-sigv4/src/lib.rs @@ -0,0 +1,63 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Provides functions for calculating Sigv4 signing keys, signatures, and +//! optional utilities for signing HTTP requests and Event Stream messages. + +use chrono::{DateTime, Utc}; + +pub mod sign; + +mod date_fmt; + +#[cfg(feature = "sign-eventstream")] +pub mod event_stream; + +#[cfg(feature = "sign-http")] +pub mod http_request; + +/// Parameters to use when signing. +pub struct SigningParams<'a, S> { + /// Access Key ID to use. + pub access_key: &'a str, + /// Secret access key to use. + pub secret_key: &'a str, + /// (Optional) Security token to use. + pub security_token: Option<&'a str>, + + /// Region to sign for. + pub region: &'a str, + /// AWS Service Name to sign for. + pub service_name: &'a str, + /// Timestamp to use in the signature (should be `Utc::now()` unless testing). + pub date_time: DateTime, + + /// Additional signing settings. These differ between HTTP and Event Stream. + pub settings: S, +} + +/// Container for the signed output and the signature. +pub struct SigningOutput { + output: T, + signature: String, +} + +impl SigningOutput { + pub fn new(output: T, signature: String) -> Self { + Self { output, signature } + } + + pub fn output(&self) -> &T { + &self.output + } + + pub fn signature(&self) -> &str { + &self.signature + } + + pub fn into_parts(self) -> (T, String) { + (self.output, self.signature) + } +} diff --git a/sdk/aws-sigv4/src/sign.rs b/sdk/aws-sigv4/src/sign.rs new file mode 100644 index 000000000000..5984683147da --- /dev/null +++ b/sdk/aws-sigv4/src/sign.rs @@ -0,0 +1,57 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Functions to create signing keys and calculate signatures. + +use crate::date_fmt::format_date; +use chrono::{Date, Utc}; +use ring::{ + digest::{self}, + hmac::{self, Key, Tag}, +}; + +/// HashedPayload = Lowercase(HexEncode(Hash(requestPayload))) +#[allow(dead_code)] // Unused when compiling without certain features +pub(crate) fn sha256_hex_string(bytes: impl AsRef<[u8]>) -> String { + // hex::encode returns a lowercase string + hex::encode(digest::digest(&digest::SHA256, bytes.as_ref())) +} + +/// Calculates a Sigv4 signature +pub fn calculate_signature(signing_key: Tag, string_to_sign: &[u8]) -> String { + let s_key = Key::new(hmac::HMAC_SHA256, signing_key.as_ref()); + let tag = hmac::sign(&s_key, string_to_sign); + hex::encode(tag) +} + +/// Generates a signing key for Sigv4 +pub fn generate_signing_key( + secret: &str, + date: Date, + region: &str, + service: &str, +) -> hmac::Tag { + // kSecret = your secret access key + // kDate = HMAC("AWS4" + kSecret, Date) + // kRegion = HMAC(kDate, Region) + // kService = HMAC(kRegion, Service) + // kSigning = HMAC(kService, "aws4_request") + + let secret = format!("AWS4{}", secret); + let secret = hmac::Key::new(hmac::HMAC_SHA256, &secret.as_bytes()); + let tag = hmac::sign(&secret, format_date(&date).as_bytes()); + + // sign region + let key = hmac::Key::new(hmac::HMAC_SHA256, tag.as_ref()); + let tag = hmac::sign(&key, region.as_bytes()); + + // sign service + let key = hmac::Key::new(hmac::HMAC_SHA256, tag.as_ref()); + let tag = hmac::sign(&key, service.as_bytes()); + + // sign request + let key = hmac::Key::new(hmac::HMAC_SHA256, tag.as_ref()); + hmac::sign(&key, "aws4_request".as_bytes()) +} diff --git a/sdk/aws-types/Cargo.toml b/sdk/aws-types/Cargo.toml index bd41fb50e3f9..05d1e65af46c 100644 --- a/sdk/aws-types/Cargo.toml +++ b/sdk/aws-types/Cargo.toml @@ -16,6 +16,7 @@ tracing-test = "0.1.0" serde = { version = "1", features = ["derive"]} serde_json = "1" arbitrary = "1" +futures-util = "0.3.16" [build-dependencies] rustc_version = "0.4.0" diff --git a/sdk/aws-types/src/build_metadata.rs b/sdk/aws-types/src/build_metadata.rs index 5b1a41c206a7..ab410e52637a 100644 --- a/sdk/aws-types/src/build_metadata.rs +++ b/sdk/aws-types/src/build_metadata.rs @@ -33,7 +33,7 @@ pub enum OsFamily { /// ``` macro_rules! get_cfg { ($i:ident : $($s:expr),+) => ( - (|| { $( if cfg!($i=$s) { return $s; } );+ "unknown"})(); + (|| { $( if cfg!($i=$s) { return $s; } );+ "unknown"})() ) } diff --git a/sdk/aws-types/src/os_shim_internal.rs b/sdk/aws-types/src/os_shim_internal.rs index be6df0851b83..9f48f3dd49a3 100644 --- a/sdk/aws-types/src/os_shim_internal.rs +++ b/sdk/aws-types/src/os_shim_internal.rs @@ -7,10 +7,11 @@ //! - Reading environment variables //! - Reading from the file system +use crate::os_shim_internal::fs::Fake; use std::collections::HashMap; use std::env::VarError; use std::ffi::OsString; -use std::path::Path; +use std::path::{Path, PathBuf}; use std::sync::Arc; /// File system abstraction @@ -32,40 +33,84 @@ use std::sync::Arc; /// map /// }); /// ``` +#[derive(Clone)] pub struct Fs(fs::Inner); +impl Default for Fs { + fn default() -> Self { + Fs::real() + } +} + impl Fs { pub fn real() -> Self { Fs(fs::Inner::Real) } pub fn from_raw_map(fs: HashMap>) -> Self { - Fs(fs::Inner::Fake { fs }) + Fs(fs::Inner::Fake(Arc::new(Fake::MapFs(fs)))) } pub fn from_map(data: HashMap>) -> Self { let fs = data.into_iter().map(|(k, v)| (k.into(), v)).collect(); - Fs(fs::Inner::Fake { fs }) + Self::from_raw_map(fs) } - pub fn exists(&self, path: impl AsRef) -> bool { - use fs::Inner; - let path = path.as_ref(); - match &self.0 { - Inner::Real => path.exists(), - Inner::Fake { fs, .. } => fs.contains_key(path.as_os_str()), - } + /// Create a test filesystem rooted in real files + /// + /// Creates a test filesystem from the contents of `test_directory` rooted into `namespaced_to`. + /// + /// Example: + /// Given: + /// ```bash + /// $ ls + /// ./my-test-dir/aws-config + /// ./my-test-dir/aws-config/config + /// $ cat ./my-test-dir/aws-config/config + /// test-config + /// ``` + /// ```rust,no_run + /// # async fn docs() { + /// use aws_types::os_shim_internal::{Env, Fs}; + /// let env = Env::from_slice(&[("HOME", "/Users/me")]); + /// let fs = Fs::from_test_dir("my-test-dir/aws-config", "/Users/me/.aws/config"); + /// assert_eq!(fs.read_to_end("/Users/me/.aws/config").await.unwrap(), b"test-config"); + /// # } + pub fn from_test_dir( + test_directory: impl Into, + namespaced_to: impl Into, + ) -> Self { + Self(fs::Inner::Fake(Arc::new(Fake::NamespacedFs { + real_path: test_directory.into(), + namespaced_to: namespaced_to.into(), + }))) } - pub fn read_to_end(&self, path: impl AsRef) -> std::io::Result> { + /// Read the entire contents of a file + /// + /// **Note**: This function is currently `async` primarily for forward compatibility. Currently, + /// this function does not use Tokio (or any other runtime) to perform IO, the IO is performed + /// directly within the function. + pub async fn read_to_end(&self, path: impl AsRef) -> std::io::Result> { use fs::Inner; let path = path.as_ref(); match &self.0 { Inner::Real => std::fs::read(path), - Inner::Fake { fs } => fs - .get(path.as_os_str()) - .cloned() - .ok_or_else(|| std::io::ErrorKind::NotFound.into()), + Inner::Fake(fake) => match fake.as_ref() { + Fake::MapFs(fs) => fs + .get(path.as_os_str()) + .cloned() + .ok_or_else(|| std::io::ErrorKind::NotFound.into()), + Fake::NamespacedFs { + real_path, + namespaced_to, + } => { + let actual_path = path + .strip_prefix(namespaced_to) + .map_err(|_| std::io::Error::from(std::io::ErrorKind::NotFound))?; + std::fs::read(real_path.join(actual_path)) + } + }, } } } @@ -73,10 +118,21 @@ impl Fs { mod fs { use std::collections::HashMap; use std::ffi::OsString; + use std::path::PathBuf; + use std::sync::Arc; + #[derive(Clone)] pub enum Inner { Real, - Fake { fs: HashMap> }, + Fake(Arc), + } + + pub enum Fake { + MapFs(HashMap>), + NamespacedFs { + real_path: PathBuf, + namespaced_to: PathBuf, + }, } } @@ -92,6 +148,12 @@ mod fs { #[derive(Clone)] pub struct Env(env::Inner); +impl Default for Env { + fn default() -> Self { + Self::real() + } +} + impl Env { pub fn get(&self, k: &str) -> Result { use env::Inner; @@ -113,12 +175,11 @@ impl Env { /// assert_eq!(mock_env.get("HOME").unwrap(), "/home/myname"); /// ``` pub fn from_slice<'a>(vars: &[(&'a str, &'a str)]) -> Self { - use env::Inner; - Self(Inner::Fake(Arc::new( - vars.iter() - .map(|(k, v)| (k.to_string(), v.to_string())) - .collect(), - ))) + let map: HashMap<_, _> = vars + .iter() + .map(|(k, v)| (k.to_string(), v.to_string())) + .collect(); + Self::from(map) } /// Create a process environment that uses the real process environment @@ -145,3 +206,36 @@ mod env { Fake(Arc>), } } + +#[cfg(test)] +mod test { + use crate::os_shim_internal::{Env, Fs}; + use futures_util::FutureExt; + use std::env::VarError; + + #[test] + fn env_works() { + let env = Env::from_slice(&[("FOO", "BAR")]); + assert_eq!(env.get("FOO").unwrap(), "BAR"); + assert_eq!( + env.get("OTHER").expect_err("no present"), + VarError::NotPresent + ) + } + + #[test] + fn fs_works() { + let fs = Fs::from_test_dir("test-data", "/users/test-data"); + let _ = fs + .read_to_end("/users/test-data/file-location-tests.json") + .now_or_never() + .expect("future should not poll") + .expect("file exists"); + + let _ = fs + .read_to_end("doesntexist") + .now_or_never() + .expect("future should not poll") + .expect_err("file doesnt exists"); + } +} diff --git a/sdk/aws-types/src/profile.rs b/sdk/aws-types/src/profile.rs index 23bac562651e..0f12cc553ed4 100644 --- a/sdk/aws-types/src/profile.rs +++ b/sdk/aws-types/src/profile.rs @@ -63,8 +63,8 @@ use std::collections::HashMap; /// [other] /// aws_access_key_id = 456 /// ``` -pub fn load(fs: &Fs, env: &Env) -> Result { - let source = source::load(&env, &fs); +pub async fn load(fs: &Fs, env: &Env) -> Result { + let source = source::load(&env, &fs).await; ProfileSet::parse(source) } @@ -105,6 +105,28 @@ impl ProfileSet { } base } + + /// Retrieves a key-value pair from the currently selected profile + pub fn get(&self, key: &str) -> Option<&str> { + self.profiles + .get(self.selected_profile.as_ref()) + .and_then(|profile| profile.get(key)) + } + + /// Retrieve a named profile from the profile set + pub fn get_profile(&self, profile_name: &str) -> Option<&Profile> { + self.profiles.get(profile_name) + } + + pub fn selected_profile(&self) -> &str { + self.selected_profile.as_ref() + } + + /// Returns true if no profiles are contained in this profile set + pub fn is_empty(&self) -> bool { + self.profiles.is_empty() + } + fn parse(source: Source) -> Result { let mut base = ProfileSet::empty(); base.selected_profile = source.profile; @@ -128,22 +150,6 @@ impl ProfileSet { selected_profile: "default".into(), } } - - /// Retrieves a key-value pair from the currently selected profile - pub fn get(&self, key: &str) -> Option<&str> { - self.profiles - .get(self.selected_profile.as_ref()) - .and_then(|profile| profile.get(key)) - } - - /// Retrieve a named profile from the profile set - pub fn get_profile(&self, profile_name: &str) -> Option<&Profile> { - self.profiles.get(profile_name) - } - - pub fn selected_profile(&self) -> &str { - self.selected_profile.as_ref() - } } /// An individual configuration profile @@ -216,6 +222,23 @@ mod test { Ok(()) } + #[test] + fn empty_source_empty_profile() { + let source = Source { + config_file: File { + path: "~/.aws/config".to_string(), + contents: "".into(), + }, + credentials_file: File { + path: "~/.aws/credentials".to_string(), + contents: "".into(), + }, + profile: "default".into(), + }; + let profile_set = ProfileSet::parse(source).expect("empty profiles are valid"); + assert_eq!(profile_set.is_empty(), true); + } + /// Run all tests from the fuzzing corpus to validate coverage #[test] #[ignore] @@ -274,7 +297,7 @@ mod test { path: "~/.aws/credentials".to_string(), contents: input.credentials_file.unwrap_or_default(), }, - profile: Default::default(), + profile: "default".into(), } } diff --git a/sdk/aws-types/src/profile/source.rs b/sdk/aws-types/src/profile/source.rs index e040dfb54cfa..4d0034526bcc 100644 --- a/sdk/aws-types/src/profile/source.rs +++ b/sdk/aws-types/src/profile/source.rs @@ -7,6 +7,7 @@ use crate::os_shim_internal; use std::borrow::Cow; use std::io::ErrorKind; use std::path::{Component, Path, PathBuf}; +use tracing::Instrument; /// In-memory source of profile data pub struct Source { @@ -51,12 +52,15 @@ impl FileKind { } /// Load a [Source](Source) from a given environment and filesystem. -pub fn load(proc_env: &os_shim_internal::Env, fs: &os_shim_internal::Fs) -> Source { +pub async fn load(proc_env: &os_shim_internal::Env, fs: &os_shim_internal::Fs) -> Source { let home = home_dir(&proc_env, Os::real()); - let config = tracing::info_span!("load_config_file") - .in_scope(|| load_config_file(FileKind::Config, &home, &fs, &proc_env)); - let credentials = tracing::info_span!("load_credentials_file") - .in_scope(|| load_config_file(FileKind::Credentials, &home, &fs, &proc_env)); + let config = load_config_file(FileKind::Config, &home, &fs, &proc_env) + .instrument(tracing::info_span!("load_config_file")) + .await; + let credentials = load_config_file(FileKind::Credentials, &home, &fs, &proc_env) + .instrument(tracing::info_span!("load_credentials_file")) + .await; + Source { config_file: config, credentials_file: credentials, @@ -77,7 +81,7 @@ pub fn load(proc_env: &os_shim_internal::Env, fs: &os_shim_internal::Fs) -> Sour /// * `home_directory`: Home directory to use during home directory expansion /// * `fs`: Filesystem abstraction /// * `environment`: Process environment abstraction -fn load_config_file( +async fn load_config_file( kind: FileKind, home_directory: &Option, fs: &os_shim_internal::Fs, @@ -94,7 +98,7 @@ fn load_config_file( } // read the data at the specified path // if the path does not exist, log a warning but pretend it was actually an empty file - let data = match fs.read_to_end(&expanded) { + let data = match fs.read_to_end(&expanded).await { Ok(data) => data, Err(e) => { match e.kind() { @@ -242,11 +246,14 @@ mod tests { let tests: SourceTests = serde_json::from_str(&tests)?; for (i, test) in tests.tests.into_iter().enumerate() { eprintln!("test: {}", i); - check(test); + check(test) + .now_or_never() + .expect("these futures should never poll"); } Ok(()) } + use futures_util::FutureExt; use tracing_test::traced_test; #[traced_test] @@ -261,18 +268,18 @@ mod tests { let fs = Fs::from_map(fs); - let _src = load(&env, &fs); + let _src = load(&env, &fs).now_or_never(); assert!(logs_contain("config file loaded")); assert!(logs_contain("performing home directory substitution")); } - fn check(test_case: TestCase) { + async fn check(test_case: TestCase) { let fs = Fs::real(); let env = Env::from(test_case.environment); let platform_matches = (cfg!(windows) && test_case.platform == "windows") || (!cfg!(windows) && test_case.platform != "windows"); if platform_matches { - let source = load(&env, &fs); + let source = load(&env, &fs).await; if let Some(expected_profile) = test_case.profile { assert_eq!(source.profile, expected_profile, "{}", &test_case.name); } diff --git a/sdk/backup/Cargo.toml b/sdk/backup/Cargo.toml index 8e65449149e4..7126c874c3c2 100644 --- a/sdk/backup/Cargo.toml +++ b/sdk/backup/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-backup" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Backup\n

          AWS Backup is a unified backup service designed to protect AWS services and their\n associated data. AWS Backup simplifies the creation, migration, restoration, and deletion\n of backups, while also providing reporting and auditing.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/batch/Cargo.toml b/sdk/batch/Cargo.toml index 7dc5664e2c06..ae15a5f5fc6c 100644 --- a/sdk/batch/Cargo.toml +++ b/sdk/batch/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-batch" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Batch\n

          Using Batch, you can run batch computing workloads on the Cloud. Batch computing is a common means for\n developers, scientists, and engineers to access large amounts of compute resources. Batch uses the advantages of\n this computing workload to remove the undifferentiated heavy lifting of configuring and managing required\n infrastructure. At the same time, it also adopts a familiar batch computing software approach. Given these\n advantages, Batch can help you to efficiently provision resources in response to jobs submitted, thus effectively\n helping you to eliminate capacity constraints, reduce compute costs, and deliver your results more quickly.

          \n

          As a fully managed service, Batch can run batch computing workloads of any scale. Batch automatically\n provisions compute resources and optimizes workload distribution based on the quantity and scale of your specific\n workloads. With Batch, there's no need to install or manage batch computing software. This means that you can focus\n your time and energy on analyzing results and solving your specific problems.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/braket/Cargo.toml b/sdk/braket/Cargo.toml index 4c4c2479b818..731aeb15514a 100644 --- a/sdk/braket/Cargo.toml +++ b/sdk/braket/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-braket" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          The Amazon Braket API Reference provides information about the operations and structures supported in Amazon Braket.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/budgets/Cargo.toml b/sdk/budgets/Cargo.toml index ac79f523120a..d1633328b63b 100644 --- a/sdk/budgets/Cargo.toml +++ b/sdk/budgets/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-budgets" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets.

          \n\t\t

          Budgets provide you with a way to see the following information:

          \n\t\t
            \n
          • \n\t\t\t\t

            How close your plan is to your budgeted amount or to the free tier limits

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            Your usage-to-date, including how much you've used of your Reserved Instances (RIs)

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            Your current estimated charges from AWS, and how much your predicted usage will accrue in charges by the end of the month

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            How much of your budget has been used

            \n\t\t\t
          • \n
          \n\t\t

          AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

          \n\t\t
            \n
          • \n\t\t\t\t

            \n Cost budgets - Plan how much you want to spend on a service.

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            \n Usage budgets - Plan how much you want to use one or more services.

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            \n RI utilization budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized.

            \n\t\t\t
          • \n
          • \n\t\t\t\t

            \n RI coverage budgets - Define a coverage threshold, and receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation.

            \n\t\t\t
          • \n
          \n\t\t

          Service Endpoint

          \n\t\t

          The AWS Budgets API provides the following endpoint:

          \n\t\t
            \n
          • \n\t\t\t\t

            https://budgets.amazonaws.com

            \n\t\t\t
          • \n
          \n\t\t

          For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/chime/Cargo.toml b/sdk/chime/Cargo.toml index 3974e71ac7c3..1a61947a997f 100644 --- a/sdk/chime/Cargo.toml +++ b/sdk/chime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-chime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          The Amazon Chime API (application programming interface) is designed for developers to\n perform key tasks, such as creating and managing Amazon Chime accounts, users, and Voice\n Connectors. This guide provides detailed information about the Amazon Chime API,\n including operations, types, inputs and outputs, and error codes. It also includes some\n server-side API actions to use with the Amazon Chime SDK. For more information about the\n Amazon Chime SDK, see \n Using the Amazon Chime SDK\n in the Amazon Chime Developer Guide.

          \n

          You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to make API calls. We recommend using an AWS SDK or the \n AWS CLI. Each API operation includes links to information about using it with a language-specific AWS SDK or the AWS CLI.

          \n
          \n
          Using an AWS SDK
          \n
          \n

          \nYou don't need to write code to calculate a signature for request authentication. The SDK clients authenticate your requests by using access keys that you provide. For more information about AWS SDKs, see the \nAWS Developer Center.\n

          \n
          \n
          Using the AWS CLI
          \n
          \n

          Use your access keys with the AWS CLI to make API calls. For information about setting up the AWS CLI, see \nInstalling the AWS Command Line Interface\nin the AWS Command Line Interface User Guide. For a list of available Amazon Chime commands, see the \nAmazon Chime commands in the \n AWS CLI Command Reference.\n

          \n
          \n
          Using REST APIs
          \n
          \n

          If you use REST to make API calls, you must authenticate your request by providing a signature. Amazon Chime supports signature version 4. For more information, see \nSignature Version 4 Signing Process\nin the Amazon Web Services General Reference.

          \n\n

          When making REST API calls, use the service name chime and REST endpoint https://service.chime.aws.amazon.com.

          \n
          \n
          \n\n

          Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see \nIdentity and Access Management for Amazon Chime\nin the Amazon Chime Administration Guide.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/chime/src/client.rs b/sdk/chime/src/client.rs index 757e0d53f80b..ad59a1a9ef3b 100644 --- a/sdk/chime/src/client.rs +++ b/sdk/chime/src/client.rs @@ -1047,9 +1047,11 @@ pub mod fluent_builders { self.inner = self.inner.set_channel_arn(input); self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.inner = self.inner.r#type(input); self @@ -1846,8 +1848,9 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add themselves - /// and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

          + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { self.inner = self.inner.mode(input); self @@ -1856,8 +1859,9 @@ pub mod fluent_builders { self.inner = self.inner.set_mode(input); self } - ///

          The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside the channel. - /// Public channels are discoverable by anyone in the AppInstance.

          + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { self.inner = self.inner.privacy(input); self @@ -2020,9 +2024,11 @@ pub mod fluent_builders { self.inner = self.inner.set_member_arn(input); self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.inner = self.inner.r#type(input); self @@ -7404,8 +7410,9 @@ pub mod fluent_builders { self.inner = self.inner.set_channel_arn(input); self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals /// HIDDEN. Otherwise hidden members are not returned.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.inner = self.inner.r#type(input); @@ -7427,7 +7434,8 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

          The token passed by previous API calls until all requested channel memberships are returned.

          + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -7559,7 +7567,8 @@ pub mod fluent_builders { self.inner = self.inner.set_channel_arn(input); self } - ///

          The order in which you want messages sorted. Default is Descending, based on time created.

          + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          pub fn sort_order(mut self, input: crate::model::SortOrder) -> Self { self.inner = self.inner.sort_order(input); self @@ -7666,7 +7675,8 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

          The token passed by previous API calls until all requested moderators are returned.

          + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -7728,9 +7738,9 @@ pub mod fluent_builders { self.inner = self.inner.set_app_instance_arn(input); self } - ///

          The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only an - /// AppInstanceAdmin can retrieve private channels. - ///

          + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { self.inner = self.inner.privacy(input); self @@ -7824,7 +7834,8 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

          The token returned from previous API requests until the number of channels moderated by the user is reached.

          + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self diff --git a/sdk/chime/src/input.rs b/sdk/chime/src/input.rs index 763d3be3e0dd..cc6462c2183d 100644 --- a/sdk/chime/src/input.rs +++ b/sdk/chime/src/input.rs @@ -938,9 +938,11 @@ pub mod batch_create_channel_membership_input { self.channel_arn = input; self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.r#type = Some(input); self @@ -3233,8 +3235,9 @@ pub mod create_channel_input { self.name = input; self } - ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add themselves - /// and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

          + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { self.mode = Some(input); self @@ -3243,8 +3246,9 @@ pub mod create_channel_input { self.mode = input; self } - ///

          The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside the channel. - /// Public channels are discoverable by anyone in the AppInstance.

          + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { self.privacy = Some(input); self @@ -3695,9 +3699,11 @@ pub mod create_channel_membership_input { self.member_arn = input; self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.r#type = Some(input); self @@ -20761,8 +20767,9 @@ pub mod list_channel_memberships_input { self.channel_arn = input; self } - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals /// HIDDEN. Otherwise hidden members are not returned.

          pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { self.r#type = Some(input); @@ -20784,7 +20791,8 @@ pub mod list_channel_memberships_input { self.max_results = input; self } - ///

          The token passed by previous API calls until all requested channel memberships are returned.

          + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -21237,7 +21245,8 @@ pub mod list_channel_messages_input { self.channel_arn = input; self } - ///

          The order in which you want messages sorted. Default is Descending, based on time created.

          + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          pub fn sort_order(mut self, input: crate::model::SortOrder) -> Self { self.sort_order = Some(input); self @@ -21530,7 +21539,8 @@ pub mod list_channel_moderators_input { self.max_results = input; self } - ///

          The token passed by previous API calls until all requested moderators are returned.

          + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -21755,9 +21765,9 @@ pub mod list_channels_input { self.app_instance_arn = input; self } - ///

          The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only an - /// AppInstanceAdmin can retrieve private channels. - ///

          + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { self.privacy = Some(input); self @@ -21999,7 +22009,8 @@ pub mod list_channels_moderated_by_app_instance_user_input { self.max_results = input; self } - ///

          The token returned from previous API requests until the number of channels moderated by the user is reached.

          + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -35535,7 +35546,8 @@ pub struct ListChannelsModeratedByAppInstanceUserInput { pub app_instance_user_arn: std::option::Option, ///

          The maximum number of channels in the request.

          pub max_results: std::option::Option, - ///

          The token returned from previous API requests until the number of channels moderated by the user is reached.

          + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          pub next_token: std::option::Option, ///

          The AppInstanceUserArn of the user that makes the API call.

          pub chime_bearer: std::option::Option, @@ -35556,9 +35568,9 @@ impl std::fmt::Debug for ListChannelsModeratedByAppInstanceUserInput { pub struct ListChannelsInput { ///

          The ARN of the AppInstance.

          pub app_instance_arn: std::option::Option, - ///

          The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only an - /// AppInstanceAdmin can retrieve private channels. - ///

          + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          pub privacy: std::option::Option, ///

          The maximum number of channels that you want to return.

          pub max_results: std::option::Option, @@ -35586,7 +35598,8 @@ pub struct ListChannelModeratorsInput { pub channel_arn: std::option::Option, ///

          The maximum number of moderators that you want returned.

          pub max_results: std::option::Option, - ///

          The token passed by previous API calls until all requested moderators are returned.

          + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          pub next_token: std::option::Option, ///

          The AppInstanceUserArn of the user that makes the API call.

          pub chime_bearer: std::option::Option, @@ -35607,7 +35620,8 @@ impl std::fmt::Debug for ListChannelModeratorsInput { pub struct ListChannelMessagesInput { ///

          The ARN of the channel.

          pub channel_arn: std::option::Option, - ///

          The order in which you want messages sorted. Default is Descending, based on time created.

          + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          pub sort_order: std::option::Option, ///

          The initial or starting time stamp for your requested messages.

          pub not_before: std::option::Option, @@ -35662,13 +35676,15 @@ impl std::fmt::Debug for ListChannelMembershipsForAppInstanceUserInput { pub struct ListChannelMembershipsInput { ///

          The maximum number of channel memberships that you want returned.

          pub channel_arn: std::option::Option, - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals /// HIDDEN. Otherwise hidden members are not returned.

          pub r#type: std::option::Option, ///

          The maximum number of channel memberships that you want returned.

          pub max_results: std::option::Option, - ///

          The token passed by previous API calls until all requested channel memberships are returned.

          + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          pub next_token: std::option::Option, ///

          The AppInstanceUserArn of the user that makes the API call.

          pub chime_bearer: std::option::Option, @@ -37464,9 +37480,11 @@ pub struct CreateChannelMembershipInput { pub channel_arn: std::option::Option, ///

          The ARN of the member you want to add to the channel.

          pub member_arn: std::option::Option, - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub r#type: std::option::Option, ///

          The AppInstanceUserArn of the user that makes the API call.

          pub chime_bearer: std::option::Option, @@ -37509,11 +37527,13 @@ pub struct CreateChannelInput { pub app_instance_arn: std::option::Option, ///

          The name of the channel.

          pub name: std::option::Option, - ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add themselves - /// and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

          + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          pub mode: std::option::Option, - ///

          The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside the channel. - /// Public channels are discoverable by anyone in the AppInstance.

          + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          pub privacy: std::option::Option, ///

          The metadata of the creation request. Limited to 1KB and UTF-8.

          pub metadata: std::option::Option, @@ -37771,9 +37791,11 @@ impl std::fmt::Debug for BatchCreateRoomMembershipInput { pub struct BatchCreateChannelMembershipInput { ///

          The ARN of the channel to which you're adding users.

          pub channel_arn: std::option::Option, - ///

          The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of - /// ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals - /// HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

          + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          pub r#type: std::option::Option, ///

          The ARNs of the members you want to add to the channel.

          pub member_arns: std::option::Option>, diff --git a/sdk/chime/src/model.rs b/sdk/chime/src/model.rs index 5ef4a9c48c95..dff46e725776 100644 --- a/sdk/chime/src/model.rs +++ b/sdk/chime/src/model.rs @@ -4417,7 +4417,7 @@ pub struct EngineTranscribeMedicalSettings { pub r#type: std::option::Option, ///

          The name of the vocabulary passed to Amazon Transcribe Medical.

          pub vocabulary_name: std::option::Option, - ///

          The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the Region closest to the meeting's Region.

          + ///

          The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the meeting's Region.

          pub region: std::option::Option, } impl std::fmt::Debug for EngineTranscribeMedicalSettings { @@ -4492,7 +4492,7 @@ pub mod engine_transcribe_medical_settings { self.vocabulary_name = input; self } - ///

          The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the Region closest to the meeting's Region.

          + ///

          The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the meeting's Region.

          pub fn region(mut self, input: crate::model::TranscribeMedicalRegion) -> Self { self.region = Some(input); self @@ -4535,6 +4535,7 @@ impl EngineTranscribeMedicalSettings { )] pub enum TranscribeMedicalRegion { ApSoutheast2, + Auto, CaCentral1, EuWest1, UsEast1, @@ -4547,6 +4548,7 @@ impl std::convert::From<&str> for TranscribeMedicalRegion { fn from(s: &str) -> Self { match s { "ap-southeast-2" => TranscribeMedicalRegion::ApSoutheast2, + "auto" => TranscribeMedicalRegion::Auto, "ca-central-1" => TranscribeMedicalRegion::CaCentral1, "eu-west-1" => TranscribeMedicalRegion::EuWest1, "us-east-1" => TranscribeMedicalRegion::UsEast1, @@ -4567,6 +4569,7 @@ impl TranscribeMedicalRegion { pub fn as_str(&self) -> &str { match self { TranscribeMedicalRegion::ApSoutheast2 => "ap-southeast-2", + TranscribeMedicalRegion::Auto => "auto", TranscribeMedicalRegion::CaCentral1 => "ca-central-1", TranscribeMedicalRegion::EuWest1 => "eu-west-1", TranscribeMedicalRegion::UsEast1 => "us-east-1", @@ -4578,6 +4581,7 @@ impl TranscribeMedicalRegion { pub fn values() -> &'static [&'static str] { &[ "ap-southeast-2", + "auto", "ca-central-1", "eu-west-1", "us-east-1", @@ -4771,7 +4775,7 @@ pub struct EngineTranscribeSettings { pub vocabulary_filter_name: std::option::Option, ///

          The name of the vocabulary passed to Amazon Transcribe.

          pub vocabulary_name: std::option::Option, - ///

          The AWS Region passed to Amazon Transcribe. If you don't specify a Region, Amazon Chime uses the Region closest to the meeting's Region.

          + ///

          The AWS Region passed to Amazon Transcribe. If you don't specify a Region, Amazon Chime uses the meeting's Region.

          pub region: std::option::Option, } impl std::fmt::Debug for EngineTranscribeSettings { @@ -4850,7 +4854,7 @@ pub mod engine_transcribe_settings { self.vocabulary_name = input; self } - ///

          The AWS Region passed to Amazon Transcribe. If you don't specify a Region, Amazon Chime uses the Region closest to the meeting's Region.

          + ///

          The AWS Region passed to Amazon Transcribe. If you don't specify a Region, Amazon Chime uses the meeting's Region.

          pub fn region(mut self, input: crate::model::TranscribeRegion) -> Self { self.region = Some(input); self @@ -4895,6 +4899,7 @@ pub enum TranscribeRegion { ApNortheast1, ApNortheast2, ApSoutheast2, + Auto, CaCentral1, EuCentral1, EuWest1, @@ -4912,6 +4917,7 @@ impl std::convert::From<&str> for TranscribeRegion { "ap-northeast-1" => TranscribeRegion::ApNortheast1, "ap-northeast-2" => TranscribeRegion::ApNortheast2, "ap-southeast-2" => TranscribeRegion::ApSoutheast2, + "auto" => TranscribeRegion::Auto, "ca-central-1" => TranscribeRegion::CaCentral1, "eu-central-1" => TranscribeRegion::EuCentral1, "eu-west-1" => TranscribeRegion::EuWest1, @@ -4937,6 +4943,7 @@ impl TranscribeRegion { TranscribeRegion::ApNortheast1 => "ap-northeast-1", TranscribeRegion::ApNortheast2 => "ap-northeast-2", TranscribeRegion::ApSoutheast2 => "ap-southeast-2", + TranscribeRegion::Auto => "auto", TranscribeRegion::CaCentral1 => "ca-central-1", TranscribeRegion::EuCentral1 => "eu-central-1", TranscribeRegion::EuWest1 => "eu-west-1", @@ -4953,6 +4960,7 @@ impl TranscribeRegion { "ap-northeast-1", "ap-northeast-2", "ap-southeast-2", + "auto", "ca-central-1", "eu-central-1", "eu-west-1", @@ -8173,7 +8181,7 @@ impl AsRef for SortOrder { pub struct ChannelMembershipForAppInstanceUserSummary { ///

          Summary of the details of a Channel.

          pub channel_summary: std::option::Option, - ///

          Returns the channel membership data for an AppInstance.

          + ///

          Summary of the membership details of an AppInstanceUser.

          pub app_instance_user_membership_summary: std::option::Option, } @@ -8211,7 +8219,7 @@ pub mod channel_membership_for_app_instance_user_summary { self.channel_summary = input; self } - ///

          Returns the channel membership data for an AppInstance.

          + ///

          Summary of the membership details of an AppInstanceUser.

          pub fn app_instance_user_membership_summary( mut self, input: crate::model::AppInstanceUserMembershipSummary, @@ -10802,11 +10810,12 @@ impl BatchCreateChannelMembershipError { } } -///

          The membership information, including member ARNs, the channel ARN, and membership types.

          +///

          The membership information, including member ARNs, the channel ARN, and membership +/// types.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchChannelMemberships { - ///

          The details of a user.

          + ///

          The identifier of the member who invited another member.

          pub invited_by: std::option::Option, ///

          The membership types set for the channel users.

          pub r#type: std::option::Option, @@ -10837,7 +10846,7 @@ pub mod batch_channel_memberships { pub(crate) channel_arn: std::option::Option, } impl Builder { - ///

          The details of a user.

          + ///

          The identifier of the member who invited another member.

          pub fn invited_by(mut self, input: crate::model::Identity) -> Self { self.invited_by = Some(input); self diff --git a/sdk/chime/src/operation.rs b/sdk/chime/src/operation.rs index 3671c42ade3d..7d6fd2ad90f3 100644 --- a/sdk/chime/src/operation.rs +++ b/sdk/chime/src/operation.rs @@ -155,7 +155,7 @@ impl smithy_http::response::ParseStrictResponse for BatchCreateAttendee { } } -///

          Adds a specified number of users to a channel.

          +///

          Adds a specified number of users to a channel.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct BatchCreateChannelMembership { _private: (), @@ -568,10 +568,12 @@ impl smithy_http::response::ParseStrictResponse for CreateBot { ///

          Creates a channel to which you can add users and send messages.

          ///

          -/// Restriction: You can't change a channel's privacy.

          +/// Restriction: You can't change a channel's +/// privacy.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateChannel { @@ -598,14 +600,16 @@ impl smithy_http::response::ParseStrictResponse for CreateChannel { } } -///

          Permanently bans a member from a channel. Moderators can't add banned members to a channel. -/// To undo a ban, you first have to DeleteChannelBan, and then +///

          Permanently bans a member from a channel. Moderators can't add banned members to a +/// channel. To undo a ban, you first have to DeleteChannelBan, and then /// CreateChannelMembership. Bans are cleaned up when you delete users or /// channels.

          -///

          If you ban a user who is already part of a channel, that user is automatically kicked from the channel.

          +///

          If you ban a user who is already part of a channel, that user is automatically kicked +/// from the channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateChannelBan { @@ -656,15 +660,17 @@ impl smithy_http::response::ParseStrictResponse for CreateChannelBan { ///

          Privacy settings impact this action as follows:

          ///
            ///
          • -///

            Public Channels: You do not need to be a member to list messages, but you must be a member to send messages.

            +///

            Public Channels: You do not need to be a member to list messages, but you must be +/// a member to send messages.

            ///
          • ///
          • ///

            Private Channels: You must be a member to list or send messages.

            ///
          • ///
          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateChannelMembership { @@ -712,8 +718,9 @@ impl smithy_http::response::ParseStrictResponse for CreateChannelMembership { /// /// /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateChannelModerator { @@ -1341,10 +1348,12 @@ impl smithy_http::response::ParseStrictResponse for DeleteAttendee { } } -///

          Immediately makes a channel and its memberships inaccessible and marks them for deletion. This is an irreversible process.

          +///

          Immediately makes a channel and its memberships inaccessible and marks them for +/// deletion. This is an irreversible process.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteChannel { @@ -1373,8 +1382,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteChannel { ///

          Removes a user from a channel's ban list.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteChannelBan { @@ -1405,8 +1415,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteChannelBan { ///

          Removes a member from a channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteChannelMembership { @@ -1439,8 +1450,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteChannelMembership { /// inaccessible immediately. A background process deletes any revisions created by /// UpdateChannelMessage.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteChannelMessage { @@ -1471,8 +1483,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteChannelMessage { ///

          Deletes a channel moderator.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteChannelModerator { @@ -2059,11 +2072,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeAppInstanceAdmin { } } -///

          -/// Returns the full details of an -/// AppInstanceUser -/// . -///

          +///

          Returns the full details of an AppInstanceUser.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAppInstanceUser { _private: (), @@ -2091,10 +2100,12 @@ impl smithy_http::response::ParseStrictResponse for DescribeAppInstanceUser { } } -///

          Returns the full details of a channel in an Amazon Chime AppInstance.

          +///

          Returns the full details of a channel in an Amazon Chime +/// AppInstance.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannel { @@ -2125,8 +2136,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeChannel { ///

          Returns the full details of a channel ban.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannelBan { @@ -2157,8 +2169,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeChannelBan { ///

          Returns the full details of a user's channel membership.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannelMembership { @@ -2187,11 +2200,12 @@ impl smithy_http::response::ParseStrictResponse for DescribeChannelMembership { } } -///

          -/// Returns the details of a channel based on the membership of the specified AppInstanceUser.

          +///

          Returns the details of a channel based on the membership of the specified +/// AppInstanceUser.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannelMembershipForAppInstanceUser { @@ -2225,10 +2239,12 @@ impl smithy_http::response::ParseStrictResponse for DescribeChannelMembershipFor } } -///

          Returns the full details of a channel moderated by the specified AppInstanceUser.

          +///

          Returns the full details of a channel moderated by the specified +/// AppInstanceUser.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannelModeratedByAppInstanceUser { @@ -2264,8 +2280,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeChannelModeratedByAp ///

          Returns the full details of a single ChannelModerator.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeChannelModerator { @@ -2595,8 +2612,9 @@ impl smithy_http::response::ParseStrictResponse for GetBot { ///

          Gets the full details of a channel message.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the -/// value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetChannelMessage { @@ -3458,9 +3476,7 @@ impl smithy_http::response::ParseStrictResponse for ListAppInstances { } } -///

          -/// List all -/// AppInstanceUsers +///

          List all AppInstanceUsers /// created under a single AppInstance. ///

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -3575,8 +3591,9 @@ impl smithy_http::response::ParseStrictResponse for ListBots { ///

          Lists all the users banned from a particular channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelBans { @@ -3607,8 +3624,9 @@ impl smithy_http::response::ParseStrictResponse for ListChannelBans { ///

          Lists all channel memberships in a channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelMemberships { @@ -3638,11 +3656,11 @@ impl smithy_http::response::ParseStrictResponse for ListChannelMemberships { } ///

          Lists all channels that a particular AppInstanceUser is a part of. Only an -/// AppInstanceAdmin can call the API with a user ARN that is not their -/// own.

          +/// AppInstanceAdmin can call the API with a user ARN that is not their own.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelMembershipsForAppInstanceUser { @@ -3676,13 +3694,16 @@ impl smithy_http::response::ParseStrictResponse for ListChannelMembershipsForApp } } -///

          List all the messages in a channel. Returns a paginated list of ChannelMessages. By default, sorted by creation timestamp in descending order.

          +///

          List all the messages in a channel. Returns a paginated list of +/// ChannelMessages. By default, sorted by creation timestamp in descending +/// order.

          /// -///

          Redacted messages appear in the results as empty, since they are only redacted, not deleted. -/// Deleted messages do not appear in the results. This action always returns the latest -/// version of an edited message.

          -///

          Also, the x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the -/// value in the header.

          +///

          Redacted messages appear in the results as empty, since they are only redacted, not +/// deleted. Deleted messages do not appear in the results. This action always returns the +/// latest version of an edited message.

          +///

          Also, the x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelMessages { @@ -3713,8 +3734,9 @@ impl smithy_http::response::ParseStrictResponse for ListChannelMessages { ///

          Lists all the moderators for a channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelModerators { @@ -3743,22 +3765,25 @@ impl smithy_http::response::ParseStrictResponse for ListChannelModerators { } } -///

          Lists all Channels created under a single Chime App as a paginated list. You can specify filters to narrow results.

          +///

          Lists all Channels created under a single Chime App as a paginated list. You can specify +/// filters to narrow results.

          ///

          /// Functionality & restrictions ///

          ///
            ///
          • -///

            Use privacy = PUBLIC to retrieve all public channels in the account.

            +///

            Use privacy = PUBLIC to retrieve all public channels in the +/// account.

            ///
          • ///
          • -///

            Only an AppInstanceAdmin can set privacy = PRIVATE to list the -/// private channels in an account.

            +///

            Only an AppInstanceAdmin can set privacy = PRIVATE to +/// list the private channels in an account.

            ///
          • ///
          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannels { @@ -3787,8 +3812,9 @@ impl smithy_http::response::ParseStrictResponse for ListChannels { ///

          A list of the channels moderated by an AppInstanceUser.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListChannelsModeratedByAppInstanceUser { @@ -4672,10 +4698,12 @@ impl smithy_http::response::ParseStrictResponse for PutVoiceConnectorTermination } } -///

          Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state shows as redacted.

          +///

          Redacts message content, but not metadata. The message exists in the back end, but the +/// action returns null content, and the state shows as redacted.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RedactChannelMessage { @@ -4880,10 +4908,11 @@ impl smithy_http::response::ParseStrictResponse for SearchAvailablePhoneNumbers ///

          Sends a message to a particular channel that the member is a part of.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          -///

          Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 bytes of -/// data and no metadata.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///

          Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. +/// CONTROL messages can contain 30 bytes of data and no metadata.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SendChannelMessage { @@ -5265,11 +5294,11 @@ impl smithy_http::response::ParseStrictResponse for UpdateBot { ///

          Update a channel's attributes.

          ///

          -/// Restriction: You can't change a channel's privacy. -///

          +/// Restriction: You can't change a channel's privacy.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateChannel { @@ -5298,8 +5327,9 @@ impl smithy_http::response::ParseStrictResponse for UpdateChannel { ///

          Updates the content of a message.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateChannelMessage { @@ -5330,8 +5360,9 @@ impl smithy_http::response::ParseStrictResponse for UpdateChannelMessage { ///

          The details of the time when a user last read messages in a channel.

          /// -///

          The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes -/// the API call as the value in the header.

          +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateChannelReadMarker { diff --git a/sdk/chime/src/output.rs b/sdk/chime/src/output.rs index 7c210bf1b193..8df7ca48f651 100644 --- a/sdk/chime/src/output.rs +++ b/sdk/chime/src/output.rs @@ -818,7 +818,7 @@ impl UpdateAppInstanceUserOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAppInstanceOutput { - ///

          The ARN of the AppInstance.

          + ///

          The ARN of the AppInstance.

          pub app_instance_arn: std::option::Option, } impl std::fmt::Debug for UpdateAppInstanceOutput { @@ -837,7 +837,7 @@ pub mod update_app_instance_output { pub(crate) app_instance_arn: std::option::Option, } impl Builder { - ///

          The ARN of the AppInstance.

          + ///

          The ARN of the AppInstance.

          pub fn app_instance_arn(mut self, input: impl Into) -> Self { self.app_instance_arn = Some(input.into()); self @@ -3224,7 +3224,8 @@ pub struct ListChannelsModeratedByAppInstanceUserOutput { ///

          The moderated channels in the request.

          pub channels: std::option::Option>, - ///

          The token returned from previous API requests until the number of channels moderated by the user is reached.

          + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListChannelsModeratedByAppInstanceUserOutput { @@ -3265,7 +3266,8 @@ pub mod list_channels_moderated_by_app_instance_user_output { self.channels = input; self } - ///

          The token returned from previous API requests until the number of channels moderated by the user is reached.

          + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3296,7 +3298,8 @@ impl ListChannelsModeratedByAppInstanceUserOutput { pub struct ListChannelsOutput { ///

          The information about each channel.

          pub channels: std::option::Option>, - ///

          The token returned from previous API requests until the number of channels is reached.

          + ///

          The token returned from previous API requests until the number of channels is + /// reached.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListChannelsOutput { @@ -3330,7 +3333,8 @@ pub mod list_channels_output { self.channels = input; self } - ///

          The token returned from previous API requests until the number of channels is reached.

          + ///

          The token returned from previous API requests until the number of channels is + /// reached.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3360,7 +3364,8 @@ impl ListChannelsOutput { pub struct ListChannelModeratorsOutput { ///

          The ARN of the channel.

          pub channel_arn: std::option::Option, - ///

          The token passed by previous API calls until all requested moderators are returned.

          + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          pub next_token: std::option::Option, ///

          The information about and names of each moderator.

          pub channel_moderators: @@ -3396,7 +3401,8 @@ pub mod list_channel_moderators_output { self.channel_arn = input; self } - ///

          The token passed by previous API calls until all requested moderators are returned.

          + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -3602,7 +3608,8 @@ pub struct ListChannelMembershipsOutput { ///

          The information for the requested channel memberships.

          pub channel_memberships: std::option::Option>, - ///

          The token passed by previous API calls until all requested channel memberships are returned.

          + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          pub next_token: std::option::Option, } impl std::fmt::Debug for ListChannelMembershipsOutput { @@ -3651,7 +3658,8 @@ pub mod list_channel_memberships_output { self.channel_memberships = input; self } - ///

          The token passed by previous API calls until all requested channel memberships are returned.

          + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -8225,7 +8233,8 @@ impl CreateChannelMembershipOutput { pub struct CreateChannelBanOutput { ///

          The ARN of the response to the ban request.

          pub channel_arn: std::option::Option, - ///

          The ChannelArn and BannedIdentity of the member in the ban response.

          + ///

          The ChannelArn and BannedIdentity of the member in the ban + /// response.

          pub member: std::option::Option, } impl std::fmt::Debug for CreateChannelBanOutput { @@ -8255,7 +8264,8 @@ pub mod create_channel_ban_output { self.channel_arn = input; self } - ///

          The ChannelArn and BannedIdentity of the member in the ban response.

          + ///

          The ChannelArn and BannedIdentity of the member in the ban + /// response.

          pub fn member(mut self, input: crate::model::Identity) -> Self { self.member = Some(input); self @@ -8942,7 +8952,8 @@ impl BatchCreateRoomMembershipOutput { pub struct BatchCreateChannelMembershipOutput { ///

          The list of channel memberships in the response.

          pub batch_channel_memberships: std::option::Option, - ///

          If the action fails for one or more of the memberships in the request, a list of the memberships is returned, along with error codes and error messages.

          + ///

          If the action fails for one or more of the memberships in the request, a list of the + /// memberships is returned, along with error codes and error messages.

          pub errors: std::option::Option>, } impl std::fmt::Debug for BatchCreateChannelMembershipOutput { diff --git a/sdk/chimesdkidentity/Cargo.toml b/sdk/chimesdkidentity/Cargo.toml new file mode 100644 index 000000000000..5a3116c3e075 --- /dev/null +++ b/sdk/chimesdkidentity/Cargo.toml @@ -0,0 +1,40 @@ +# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +[package] +name = "aws-sdk-chimesdkidentity" +version = "0.0.16-alpha" +description = "

          The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to .

          " +authors = ["AWS Rust SDK Team ", "Russell Cohen "] +license = "Apache-2.0" +edition = "2018" +[dependencies.aws-endpoint] +path = "..//aws-endpoint" +[dependencies.aws-hyper] +path = "..//aws-hyper" +optional = true +[dependencies.smithy-http] +path = "..//smithy-http" +[dependencies.fastrand] +version = "1" +[dependencies.aws-types] +path = "..//aws-types" +[dependencies.aws-auth] +path = "..//aws-auth" +[dependencies.smithy-types] +path = "..//smithy-types" +[dependencies.aws-http] +path = "..//aws-http" +[dependencies.aws-sig-auth] +path = "..//aws-sig-auth" +[dependencies.http] +version = "0.2" +[dependencies.bytes] +version = "1" +[dependencies.smithy-json] +path = "..//smithy-json" +[features] +client = ["aws-hyper"] +rustls = ["aws-hyper/rustls"] +native-tls = ["aws-hyper/native-tls"] +default = ["client", "rustls"] + + diff --git a/sdk/chimesdkidentity/LICENSE b/sdk/chimesdkidentity/LICENSE new file mode 100644 index 000000000000..3581ac356771 --- /dev/null +++ b/sdk/chimesdkidentity/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/sdk/chimesdkidentity/src/aws_endpoint.rs b/sdk/chimesdkidentity/src/aws_endpoint.rs new file mode 100644 index 000000000000..f51c79a596af --- /dev/null +++ b/sdk/chimesdkidentity/src/aws_endpoint.rs @@ -0,0 +1,67 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn endpoint_resolver() -> impl aws_endpoint::ResolveAwsEndpoint { + aws_endpoint::PartitionResolver::new( + aws_endpoint::Partition::builder() + .id("aws") + .region_regex(r#"^(us|eu|ap|sa|ca|me|af)\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "identity-chime.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + vec![ + aws_endpoint::Partition::builder() + .id("aws-cn") + .region_regex(r#"^cn\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "identity-chime.{region}.amazonaws.com.cn", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso") + .region_regex(r#"^us\-iso\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "identity-chime.{region}.c2s.ic.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso-b") + .region_regex(r#"^us\-isob\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "identity-chime.{region}.sc2s.sgov.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-us-gov") + .region_regex(r#"^us\-gov\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "identity-chime.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + ], + ) +} diff --git a/sdk/chimesdkidentity/src/client.rs b/sdk/chimesdkidentity/src/client.rs new file mode 100644 index 000000000000..03a1000ddb3c --- /dev/null +++ b/sdk/chimesdkidentity/src/client.rs @@ -0,0 +1,1015 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[derive(std::fmt::Debug)] +pub(crate) struct Handle { + client: aws_hyper::Client, + conf: crate::Config, +} + +#[derive(Clone, std::fmt::Debug)] +pub struct Client { + handle: std::sync::Arc>, +} +impl Client { + pub fn from_conf_conn(conf: crate::Config, conn: C) -> Self { + let client = aws_hyper::Client::new(conn); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } + + pub fn conf(&self) -> &crate::Config { + &self.handle.conf + } +} +impl Client { + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_env() -> Self { + Self::from_conf(crate::Config::builder().build()) + } + + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_conf(conf: crate::Config) -> Self { + let client = aws_hyper::Client::https(); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } +} +impl Client +where + C: aws_hyper::SmithyConnector, +{ + pub fn create_app_instance(&self) -> fluent_builders::CreateAppInstance { + fluent_builders::CreateAppInstance::new(self.handle.clone()) + } + pub fn create_app_instance_admin(&self) -> fluent_builders::CreateAppInstanceAdmin { + fluent_builders::CreateAppInstanceAdmin::new(self.handle.clone()) + } + pub fn create_app_instance_user(&self) -> fluent_builders::CreateAppInstanceUser { + fluent_builders::CreateAppInstanceUser::new(self.handle.clone()) + } + pub fn delete_app_instance(&self) -> fluent_builders::DeleteAppInstance { + fluent_builders::DeleteAppInstance::new(self.handle.clone()) + } + pub fn delete_app_instance_admin(&self) -> fluent_builders::DeleteAppInstanceAdmin { + fluent_builders::DeleteAppInstanceAdmin::new(self.handle.clone()) + } + pub fn delete_app_instance_user(&self) -> fluent_builders::DeleteAppInstanceUser { + fluent_builders::DeleteAppInstanceUser::new(self.handle.clone()) + } + pub fn describe_app_instance(&self) -> fluent_builders::DescribeAppInstance { + fluent_builders::DescribeAppInstance::new(self.handle.clone()) + } + pub fn describe_app_instance_admin(&self) -> fluent_builders::DescribeAppInstanceAdmin { + fluent_builders::DescribeAppInstanceAdmin::new(self.handle.clone()) + } + pub fn describe_app_instance_user(&self) -> fluent_builders::DescribeAppInstanceUser { + fluent_builders::DescribeAppInstanceUser::new(self.handle.clone()) + } + pub fn get_app_instance_retention_settings( + &self, + ) -> fluent_builders::GetAppInstanceRetentionSettings { + fluent_builders::GetAppInstanceRetentionSettings::new(self.handle.clone()) + } + pub fn list_app_instance_admins(&self) -> fluent_builders::ListAppInstanceAdmins { + fluent_builders::ListAppInstanceAdmins::new(self.handle.clone()) + } + pub fn list_app_instances(&self) -> fluent_builders::ListAppInstances { + fluent_builders::ListAppInstances::new(self.handle.clone()) + } + pub fn list_app_instance_users(&self) -> fluent_builders::ListAppInstanceUsers { + fluent_builders::ListAppInstanceUsers::new(self.handle.clone()) + } + pub fn put_app_instance_retention_settings( + &self, + ) -> fluent_builders::PutAppInstanceRetentionSettings { + fluent_builders::PutAppInstanceRetentionSettings::new(self.handle.clone()) + } + pub fn update_app_instance(&self) -> fluent_builders::UpdateAppInstance { + fluent_builders::UpdateAppInstance::new(self.handle.clone()) + } + pub fn update_app_instance_user(&self) -> fluent_builders::UpdateAppInstanceUser { + fluent_builders::UpdateAppInstanceUser::new(self.handle.clone()) + } +} +pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct CreateAppInstance { + handle: std::sync::Arc>, + inner: crate::input::create_app_instance_input::Builder, + } + impl CreateAppInstance { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateAppInstanceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The name of the AppInstance.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The metadata of the AppInstance. Limited to a 1KB string in UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The ClientRequestToken of the AppInstance.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.client_request_token(input); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_client_request_token(input); + self + } + ///

          Tags assigned to the AppInstanceUser.

          + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateAppInstanceAdmin { + handle: std::sync::Arc>, + inner: crate::input::create_app_instance_admin_input::Builder, + } + impl CreateAppInstanceAdmin { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateAppInstanceAdminOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the administrator of the current AppInstance.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_admin_arn(input); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_admin_arn(input); + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::create_app_instance_user_input::Builder, + } + impl CreateAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateAppInstanceUserOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance request.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The user ID of the AppInstance.

          + pub fn app_instance_user_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_id(input); + self + } + pub fn set_app_instance_user_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_id(input); + self + } + ///

          The user's name.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The request's metadata. Limited to a 1KB string in UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The token assigned to the user requesting an AppInstance.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.client_request_token(input); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_client_request_token(input); + self + } + ///

          Tags assigned to the AppInstanceUser.

          + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteAppInstance { + handle: std::sync::Arc>, + inner: crate::input::delete_app_instance_input::Builder, + } + impl DeleteAppInstance { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteAppInstanceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteAppInstanceAdmin { + handle: std::sync::Arc>, + inner: crate::input::delete_app_instance_admin_input::Builder, + } + impl DeleteAppInstanceAdmin { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteAppInstanceAdminOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance's administrator.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_admin_arn(input); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_admin_arn(input); + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::delete_app_instance_user_input::Builder, + } + impl DeleteAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteAppInstanceUserOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the user request being deleted.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeAppInstance { + handle: std::sync::Arc>, + inner: crate::input::describe_app_instance_input::Builder, + } + impl DescribeAppInstance { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeAppInstanceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeAppInstanceAdmin { + handle: std::sync::Arc>, + inner: crate::input::describe_app_instance_admin_input::Builder, + } + impl DescribeAppInstanceAdmin { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeAppInstanceAdminOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstanceAdmin.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_admin_arn(input); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_admin_arn(input); + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::describe_app_instance_user_input::Builder, + } + impl DescribeAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeAppInstanceUserOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetAppInstanceRetentionSettings { + handle: std::sync::Arc>, + inner: crate::input::get_app_instance_retention_settings_input::Builder, + } + impl GetAppInstanceRetentionSettings { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetAppInstanceRetentionSettingsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListAppInstanceAdmins { + handle: std::sync::Arc>, + inner: crate::input::list_app_instance_admins_input::Builder, + } + impl ListAppInstanceAdmins { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListAppInstanceAdminsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The maximum number of administrators that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token returned from previous API requests until the number of administrators is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListAppInstances { + handle: std::sync::Arc>, + inner: crate::input::list_app_instances_input::Builder, + } + impl ListAppInstances { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListAppInstancesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The maximum number of AppInstances that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API requests until you reach the maximum number of + /// AppInstances.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListAppInstanceUsers { + handle: std::sync::Arc>, + inner: crate::input::list_app_instance_users_input::Builder, + } + impl ListAppInstanceUsers { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListAppInstanceUsersOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The maximum number of requests that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested users are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct PutAppInstanceRetentionSettings { + handle: std::sync::Arc>, + inner: crate::input::put_app_instance_retention_settings_input::Builder, + } + impl PutAppInstanceRetentionSettings { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::PutAppInstanceRetentionSettingsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The time in days to retain data. Data type: number.

          + pub fn app_instance_retention_settings( + mut self, + input: crate::model::AppInstanceRetentionSettings, + ) -> Self { + self.inner = self.inner.app_instance_retention_settings(input); + self + } + pub fn set_app_instance_retention_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_retention_settings(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateAppInstance { + handle: std::sync::Arc>, + inner: crate::input::update_app_instance_input::Builder, + } + impl UpdateAppInstance { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateAppInstanceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The name that you want to change.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The metadata that you want to change.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::update_app_instance_user_input::Builder, + } + impl UpdateAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateAppInstanceUserOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + ///

          The name of the AppInstanceUser.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The metadata of the AppInstanceUser.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + } +} diff --git a/sdk/chimesdkidentity/src/config.rs b/sdk/chimesdkidentity/src/config.rs new file mode 100644 index 000000000000..070a1a813680 --- /dev/null +++ b/sdk/chimesdkidentity/src/config.rs @@ -0,0 +1,82 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub struct Config { + pub(crate) make_token: crate::idempotency_token::IdempotencyTokenProvider, + pub(crate) endpoint_resolver: ::std::sync::Arc, + pub(crate) region: Option, + pub(crate) credentials_provider: + std::sync::Arc, +} +impl std::fmt::Debug for Config { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut config = f.debug_struct("Config"); + config.finish() + } +} +impl Config { + pub fn builder() -> Builder { + Builder::default() + } + /// The signature version 4 service signing name to use in the credential scope when signing requests. + /// + /// The signing service may be overidden by the `Endpoint`, or by specifying a custom [`SigningService`](aws_types::SigningService) during + /// operation construction + pub fn signing_service(&self) -> &'static str { + "chime" + } +} +#[derive(Default)] +pub struct Builder { + make_token: Option, + endpoint_resolver: Option<::std::sync::Arc>, + region: Option, + credentials_provider: Option>, +} +impl Builder { + pub fn new() -> Self { + Self::default() + } + pub fn make_token( + mut self, + make_token: impl Into, + ) -> Self { + self.make_token = Some(make_token.into()); + self + } + pub fn endpoint_resolver( + mut self, + endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, + ) -> Self { + self.endpoint_resolver = Some(::std::sync::Arc::new(endpoint_resolver)); + self + } + pub fn region(mut self, region_provider: impl aws_types::region::ProvideRegion) -> Self { + self.region = region_provider.region(); + self + } + /// Set the credentials provider for this service + pub fn credentials_provider( + mut self, + credentials_provider: impl aws_auth::provider::AsyncProvideCredentials + 'static, + ) -> Self { + self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); + self + } + pub fn build(self) -> Config { + Config { + make_token: self + .make_token + .unwrap_or_else(crate::idempotency_token::default_provider), + endpoint_resolver: self + .endpoint_resolver + .unwrap_or_else(|| ::std::sync::Arc::new(crate::aws_endpoint::endpoint_resolver())), + region: { + use aws_types::region::ProvideRegion; + self.region + .or_else(|| aws_types::region::default_provider().region()) + }, + credentials_provider: self + .credentials_provider + .unwrap_or_else(|| std::sync::Arc::new(aws_auth::provider::default_provider())), + } + } +} diff --git a/sdk/chimesdkidentity/src/error.rs b/sdk/chimesdkidentity/src/error.rs new file mode 100644 index 000000000000..f47186adbd58 --- /dev/null +++ b/sdk/chimesdkidentity/src/error.rs @@ -0,0 +1,2755 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateAppInstanceError { + pub kind: CreateAppInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateAppInstanceErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateAppInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateAppInstanceErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateAppInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateAppInstanceError { + fn code(&self) -> Option<&str> { + CreateAppInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateAppInstanceError { + pub fn new(kind: CreateAppInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateAppInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateAppInstanceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!(&self.kind, CreateAppInstanceErrorKind::ConflictException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateAppInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateAppInstanceErrorKind::BadRequestException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ConflictException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateAppInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateAppInstanceAdminError { + pub kind: CreateAppInstanceAdminErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateAppInstanceAdminErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateAppInstanceAdminError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateAppInstanceAdminErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::ResourceLimitExceededException(_inner) => { + _inner.fmt(f) + } + CreateAppInstanceAdminErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateAppInstanceAdminErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateAppInstanceAdminError { + fn code(&self) -> Option<&str> { + CreateAppInstanceAdminError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateAppInstanceAdminError { + pub fn new(kind: CreateAppInstanceAdminErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateAppInstanceAdminErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateAppInstanceAdminErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceAdminErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateAppInstanceAdminError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateAppInstanceAdminErrorKind::BadRequestException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ConflictException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateAppInstanceAdminErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateAppInstanceUserError { + pub kind: CreateAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateAppInstanceUserErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateAppInstanceUserError { + fn code(&self) -> Option<&str> { + CreateAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateAppInstanceUserError { + pub fn new(kind: CreateAppInstanceUserErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateAppInstanceUserErrorKind::BadRequestException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ConflictException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateAppInstanceUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteAppInstanceError { + pub kind: DeleteAppInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteAppInstanceErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteAppInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteAppInstanceErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteAppInstanceError { + fn code(&self) -> Option<&str> { + DeleteAppInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteAppInstanceError { + pub fn new(kind: DeleteAppInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteAppInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteAppInstanceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteAppInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteAppInstanceErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteAppInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteAppInstanceAdminError { + pub kind: DeleteAppInstanceAdminErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteAppInstanceAdminErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteAppInstanceAdminError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteAppInstanceAdminErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::ConflictException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::ResourceLimitExceededException(_inner) => { + _inner.fmt(f) + } + DeleteAppInstanceAdminErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceAdminErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteAppInstanceAdminError { + fn code(&self) -> Option<&str> { + DeleteAppInstanceAdminError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteAppInstanceAdminError { + pub fn new(kind: DeleteAppInstanceAdminErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteAppInstanceAdminErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteAppInstanceAdminErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceAdminErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteAppInstanceAdminError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteAppInstanceAdminErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ConflictException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteAppInstanceAdminErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteAppInstanceUserError { + pub kind: DeleteAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteAppInstanceUserErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ConflictException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteAppInstanceUserError { + fn code(&self) -> Option<&str> { + DeleteAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteAppInstanceUserError { + pub fn new(kind: DeleteAppInstanceUserErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteAppInstanceUserErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ConflictException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteAppInstanceUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeAppInstanceError { + pub kind: DescribeAppInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeAppInstanceErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeAppInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeAppInstanceErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeAppInstanceError { + fn code(&self) -> Option<&str> { + DescribeAppInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeAppInstanceError { + pub fn new(kind: DescribeAppInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeAppInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeAppInstanceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeAppInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeAppInstanceErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeAppInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeAppInstanceAdminError { + pub kind: DescribeAppInstanceAdminErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeAppInstanceAdminErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeAppInstanceAdminError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeAppInstanceAdminErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceAdminErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeAppInstanceAdminError { + fn code(&self) -> Option<&str> { + DescribeAppInstanceAdminError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeAppInstanceAdminError { + pub fn new(kind: DescribeAppInstanceAdminErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeAppInstanceAdminErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeAppInstanceAdminErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceAdminErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeAppInstanceAdminError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeAppInstanceAdminErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeAppInstanceAdminErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeAppInstanceUserError { + pub kind: DescribeAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeAppInstanceUserErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeAppInstanceUserError { + fn code(&self) -> Option<&str> { + DescribeAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeAppInstanceUserError { + pub fn new(kind: DescribeAppInstanceUserErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeAppInstanceUserErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeAppInstanceUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetAppInstanceRetentionSettingsError { + pub kind: GetAppInstanceRetentionSettingsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetAppInstanceRetentionSettingsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetAppInstanceRetentionSettingsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetAppInstanceRetentionSettingsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + GetAppInstanceRetentionSettingsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + GetAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_inner) => { + _inner.fmt(f) + } + GetAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_inner) => { + _inner.fmt(f) + } + GetAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_inner) => { + _inner.fmt(f) + } + GetAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_inner) => { + _inner.fmt(f) + } + GetAppInstanceRetentionSettingsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetAppInstanceRetentionSettingsError { + fn code(&self) -> Option<&str> { + GetAppInstanceRetentionSettingsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetAppInstanceRetentionSettingsError { + pub fn new(kind: GetAppInstanceRetentionSettingsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetAppInstanceRetentionSettingsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetAppInstanceRetentionSettingsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + GetAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for GetAppInstanceRetentionSettingsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetAppInstanceRetentionSettingsErrorKind::BadRequestException(_inner) => Some(_inner), + GetAppInstanceRetentionSettingsErrorKind::ForbiddenException(_inner) => Some(_inner), + GetAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_inner) => { + Some(_inner) + } + GetAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_inner) => { + Some(_inner) + } + GetAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_inner) => { + Some(_inner) + } + GetAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_inner) => { + Some(_inner) + } + GetAppInstanceRetentionSettingsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAppInstanceAdminsError { + pub kind: ListAppInstanceAdminsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAppInstanceAdminsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAppInstanceAdminsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAppInstanceAdminsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListAppInstanceAdminsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAppInstanceAdminsError { + fn code(&self) -> Option<&str> { + ListAppInstanceAdminsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAppInstanceAdminsError { + pub fn new(kind: ListAppInstanceAdminsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAppInstanceAdminsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAppInstanceAdminsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceAdminsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListAppInstanceAdminsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAppInstanceAdminsErrorKind::BadRequestException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::ForbiddenException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListAppInstanceAdminsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAppInstancesError { + pub kind: ListAppInstancesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAppInstancesErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAppInstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAppInstancesErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListAppInstancesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAppInstancesError { + fn code(&self) -> Option<&str> { + ListAppInstancesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAppInstancesError { + pub fn new(kind: ListAppInstancesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAppInstancesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAppInstancesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstancesErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, ListAppInstancesErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstancesErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstancesErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstancesErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstancesErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListAppInstancesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAppInstancesErrorKind::BadRequestException(_inner) => Some(_inner), + ListAppInstancesErrorKind::ForbiddenException(_inner) => Some(_inner), + ListAppInstancesErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListAppInstancesErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListAppInstancesErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListAppInstancesErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListAppInstancesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAppInstanceUsersError { + pub kind: ListAppInstanceUsersErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAppInstanceUsersErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAppInstanceUsersError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAppInstanceUsersErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListAppInstanceUsersErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAppInstanceUsersError { + fn code(&self) -> Option<&str> { + ListAppInstanceUsersError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAppInstanceUsersError { + pub fn new(kind: ListAppInstanceUsersErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAppInstanceUsersErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAppInstanceUsersErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListAppInstanceUsersErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListAppInstanceUsersError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAppInstanceUsersErrorKind::BadRequestException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::ForbiddenException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListAppInstanceUsersErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutAppInstanceRetentionSettingsError { + pub kind: PutAppInstanceRetentionSettingsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutAppInstanceRetentionSettingsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutAppInstanceRetentionSettingsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutAppInstanceRetentionSettingsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + PutAppInstanceRetentionSettingsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + PutAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_inner) => { + _inner.fmt(f) + } + PutAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_inner) => { + _inner.fmt(f) + } + PutAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_inner) => { + _inner.fmt(f) + } + PutAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_inner) => { + _inner.fmt(f) + } + PutAppInstanceRetentionSettingsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutAppInstanceRetentionSettingsError { + fn code(&self) -> Option<&str> { + PutAppInstanceRetentionSettingsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutAppInstanceRetentionSettingsError { + pub fn new(kind: PutAppInstanceRetentionSettingsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutAppInstanceRetentionSettingsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutAppInstanceRetentionSettingsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + PutAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for PutAppInstanceRetentionSettingsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutAppInstanceRetentionSettingsErrorKind::BadRequestException(_inner) => Some(_inner), + PutAppInstanceRetentionSettingsErrorKind::ForbiddenException(_inner) => Some(_inner), + PutAppInstanceRetentionSettingsErrorKind::ServiceFailureException(_inner) => { + Some(_inner) + } + PutAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(_inner) => { + Some(_inner) + } + PutAppInstanceRetentionSettingsErrorKind::ThrottledClientException(_inner) => { + Some(_inner) + } + PutAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(_inner) => { + Some(_inner) + } + PutAppInstanceRetentionSettingsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateAppInstanceError { + pub kind: UpdateAppInstanceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateAppInstanceErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateAppInstanceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateAppInstanceErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + UpdateAppInstanceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateAppInstanceError { + fn code(&self) -> Option<&str> { + UpdateAppInstanceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateAppInstanceError { + pub fn new(kind: UpdateAppInstanceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateAppInstanceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateAppInstanceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!(&self.kind, UpdateAppInstanceErrorKind::ConflictException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for UpdateAppInstanceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateAppInstanceErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::ConflictException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::ForbiddenException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::ServiceFailureException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::ThrottledClientException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + UpdateAppInstanceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateAppInstanceUserError { + pub kind: UpdateAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateAppInstanceUserErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + UpdateAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateAppInstanceUserError { + fn code(&self) -> Option<&str> { + UpdateAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateAppInstanceUserError { + pub fn new(kind: UpdateAppInstanceUserErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for UpdateAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateAppInstanceUserErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ConflictException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ForbiddenException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ServiceFailureException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::ThrottledClientException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + UpdateAppInstanceUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +///

          The client is not currently authorized to make the request.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UnauthorizedClientException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for UnauthorizedClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UnauthorizedClientException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl UnauthorizedClientException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for UnauthorizedClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "UnauthorizedClientException")?; + if let Some(inner_1) = &self.message { + write!(f, ": {}", inner_1)?; + } + Ok(()) + } +} +impl std::error::Error for UnauthorizedClientException {} +/// See [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) +pub mod unauthorized_client_exception { + /// A builder for [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + pub fn build(self) -> crate::error::UnauthorizedClientException { + crate::error::UnauthorizedClientException { + code: self.code, + message: self.message, + } + } + } +} +impl UnauthorizedClientException { + /// Creates a new builder-style object to manufacture [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + pub fn builder() -> crate::error::unauthorized_client_exception::Builder { + crate::error::unauthorized_client_exception::Builder::default() + } +} + +///

          The client exceeded its request rate limit.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ThrottledClientException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ThrottledClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ThrottledClientException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ThrottledClientException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ThrottledClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ThrottledClientException")?; + if let Some(inner_2) = &self.message { + write!(f, ": {}", inner_2)?; + } + Ok(()) + } +} +impl std::error::Error for ThrottledClientException {} +/// See [`ThrottledClientException`](crate::error::ThrottledClientException) +pub mod throttled_client_exception { + /// A builder for [`ThrottledClientException`](crate::error::ThrottledClientException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ThrottledClientException`](crate::error::ThrottledClientException) + pub fn build(self) -> crate::error::ThrottledClientException { + crate::error::ThrottledClientException { + code: self.code, + message: self.message, + } + } + } +} +impl ThrottledClientException { + /// Creates a new builder-style object to manufacture [`ThrottledClientException`](crate::error::ThrottledClientException) + pub fn builder() -> crate::error::throttled_client_exception::Builder { + crate::error::throttled_client_exception::Builder::default() + } +} + +///

          The service is currently unavailable.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceUnavailableException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceUnavailableException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceUnavailableException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceUnavailableException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceUnavailableException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceUnavailableException")?; + if let Some(inner_3) = &self.message { + write!(f, ": {}", inner_3)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceUnavailableException {} +/// See [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) +pub mod service_unavailable_exception { + /// A builder for [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + pub fn build(self) -> crate::error::ServiceUnavailableException { + crate::error::ServiceUnavailableException { + code: self.code, + message: self.message, + } + } + } +} +impl ServiceUnavailableException { + /// Creates a new builder-style object to manufacture [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + pub fn builder() -> crate::error::service_unavailable_exception::Builder { + crate::error::service_unavailable_exception::Builder::default() + } +} + +///

          The service encountered an unexpected error.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceFailureException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceFailureException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceFailureException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceFailureException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceFailureException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceFailureException")?; + if let Some(inner_4) = &self.message { + write!(f, ": {}", inner_4)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceFailureException {} +/// See [`ServiceFailureException`](crate::error::ServiceFailureException) +pub mod service_failure_exception { + /// A builder for [`ServiceFailureException`](crate::error::ServiceFailureException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ServiceFailureException`](crate::error::ServiceFailureException) + pub fn build(self) -> crate::error::ServiceFailureException { + crate::error::ServiceFailureException { + code: self.code, + message: self.message, + } + } + } +} +impl ServiceFailureException { + /// Creates a new builder-style object to manufacture [`ServiceFailureException`](crate::error::ServiceFailureException) + pub fn builder() -> crate::error::service_failure_exception::Builder { + crate::error::service_failure_exception::Builder::default() + } +} + +///

          The request exceeds the resource limit.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceLimitExceededException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ResourceLimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceLimitExceededException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ResourceLimitExceededException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ResourceLimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ResourceLimitExceededException")?; + if let Some(inner_5) = &self.message { + write!(f, ": {}", inner_5)?; + } + Ok(()) + } +} +impl std::error::Error for ResourceLimitExceededException {} +/// See [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) +pub mod resource_limit_exceeded_exception { + /// A builder for [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + pub fn build(self) -> crate::error::ResourceLimitExceededException { + crate::error::ResourceLimitExceededException { + code: self.code, + message: self.message, + } + } + } +} +impl ResourceLimitExceededException { + /// Creates a new builder-style object to manufacture [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + pub fn builder() -> crate::error::resource_limit_exceeded_exception::Builder { + crate::error::resource_limit_exceeded_exception::Builder::default() + } +} + +///

          The client is permanently forbidden from making the request.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ForbiddenException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ForbiddenException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ForbiddenException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ForbiddenException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ForbiddenException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ForbiddenException")?; + if let Some(inner_6) = &self.message { + write!(f, ": {}", inner_6)?; + } + Ok(()) + } +} +impl std::error::Error for ForbiddenException {} +/// See [`ForbiddenException`](crate::error::ForbiddenException) +pub mod forbidden_exception { + /// A builder for [`ForbiddenException`](crate::error::ForbiddenException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ForbiddenException`](crate::error::ForbiddenException) + pub fn build(self) -> crate::error::ForbiddenException { + crate::error::ForbiddenException { + code: self.code, + message: self.message, + } + } + } +} +impl ForbiddenException { + /// Creates a new builder-style object to manufacture [`ForbiddenException`](crate::error::ForbiddenException) + pub fn builder() -> crate::error::forbidden_exception::Builder { + crate::error::forbidden_exception::Builder::default() + } +} + +///

          The request could not be processed because of conflict in the current state of the +/// resource.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ConflictException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ConflictException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ConflictException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ConflictException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ConflictException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ConflictException")?; + if let Some(inner_7) = &self.message { + write!(f, ": {}", inner_7)?; + } + Ok(()) + } +} +impl std::error::Error for ConflictException {} +/// See [`ConflictException`](crate::error::ConflictException) +pub mod conflict_exception { + /// A builder for [`ConflictException`](crate::error::ConflictException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ConflictException`](crate::error::ConflictException) + pub fn build(self) -> crate::error::ConflictException { + crate::error::ConflictException { + code: self.code, + message: self.message, + } + } + } +} +impl ConflictException { + /// Creates a new builder-style object to manufacture [`ConflictException`](crate::error::ConflictException) + pub fn builder() -> crate::error::conflict_exception::Builder { + crate::error::conflict_exception::Builder::default() + } +} + +///

          The input parameters don't match the service's restrictions.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BadRequestException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for BadRequestException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BadRequestException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl BadRequestException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for BadRequestException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BadRequestException")?; + if let Some(inner_8) = &self.message { + write!(f, ": {}", inner_8)?; + } + Ok(()) + } +} +impl std::error::Error for BadRequestException {} +/// See [`BadRequestException`](crate::error::BadRequestException) +pub mod bad_request_exception { + /// A builder for [`BadRequestException`](crate::error::BadRequestException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`BadRequestException`](crate::error::BadRequestException) + pub fn build(self) -> crate::error::BadRequestException { + crate::error::BadRequestException { + code: self.code, + message: self.message, + } + } + } +} +impl BadRequestException { + /// Creates a new builder-style object to manufacture [`BadRequestException`](crate::error::BadRequestException) + pub fn builder() -> crate::error::bad_request_exception::Builder { + crate::error::bad_request_exception::Builder::default() + } +} diff --git a/sdk/chimesdkidentity/src/error_meta.rs b/sdk/chimesdkidentity/src/error_meta.rs new file mode 100644 index 000000000000..c8f165281473 --- /dev/null +++ b/sdk/chimesdkidentity/src/error_meta.rs @@ -0,0 +1,539 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum Error { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + Unhandled(Box), +} +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Error::BadRequestException(inner) => inner.fmt(f), + Error::ConflictException(inner) => inner.fmt(f), + Error::ForbiddenException(inner) => inner.fmt(f), + Error::ResourceLimitExceededException(inner) => inner.fmt(f), + Error::ServiceFailureException(inner) => inner.fmt(f), + Error::ServiceUnavailableException(inner) => inner.fmt(f), + Error::ThrottledClientException(inner) => inner.fmt(f), + Error::UnauthorizedClientException(inner) => inner.fmt(f), + Error::Unhandled(inner) => inner.fmt(f), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateAppInstanceErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateAppInstanceErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateAppInstanceErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateAppInstanceErrorKind::ResourceLimitExceededException(inner) => { + Error::ResourceLimitExceededException(inner) + } + crate::error::CreateAppInstanceErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateAppInstanceErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::CreateAppInstanceErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateAppInstanceErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::CreateAppInstanceErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateAppInstanceAdminErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateAppInstanceAdminErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateAppInstanceAdminErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateAppInstanceAdminErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::CreateAppInstanceAdminErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateAppInstanceAdminErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::CreateAppInstanceAdminErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateAppInstanceAdminErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::CreateAppInstanceAdminErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateAppInstanceUserErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateAppInstanceUserErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateAppInstanceUserErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateAppInstanceUserErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::CreateAppInstanceUserErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateAppInstanceUserErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::CreateAppInstanceUserErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateAppInstanceUserErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::CreateAppInstanceUserErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteAppInstanceErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteAppInstanceErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteAppInstanceErrorKind::ResourceLimitExceededException(inner) => { + Error::ResourceLimitExceededException(inner) + } + crate::error::DeleteAppInstanceErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteAppInstanceErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DeleteAppInstanceErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteAppInstanceErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DeleteAppInstanceErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteAppInstanceAdminErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteAppInstanceAdminErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::DeleteAppInstanceAdminErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteAppInstanceAdminErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::DeleteAppInstanceAdminErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteAppInstanceAdminErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DeleteAppInstanceAdminErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteAppInstanceAdminErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DeleteAppInstanceAdminErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteAppInstanceUserErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteAppInstanceUserErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::DeleteAppInstanceUserErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteAppInstanceUserErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::DeleteAppInstanceUserErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteAppInstanceUserErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DeleteAppInstanceUserErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteAppInstanceUserErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DeleteAppInstanceUserErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeAppInstanceErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeAppInstanceErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeAppInstanceErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeAppInstanceErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DescribeAppInstanceErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DescribeAppInstanceErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DescribeAppInstanceErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeAppInstanceAdminErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeAppInstanceAdminErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeAppInstanceAdminErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeAppInstanceAdminErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DescribeAppInstanceAdminErrorKind::ThrottledClientException( + inner, + ) => Error::ThrottledClientException(inner), + crate::error::DescribeAppInstanceAdminErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DescribeAppInstanceAdminErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeAppInstanceUserErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeAppInstanceUserErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeAppInstanceUserErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeAppInstanceUserErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DescribeAppInstanceUserErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DescribeAppInstanceUserErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DescribeAppInstanceUserErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::GetAppInstanceRetentionSettingsErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::GetAppInstanceRetentionSettingsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListAppInstanceAdminsErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListAppInstanceAdminsErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListAppInstanceAdminsErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::ListAppInstanceAdminsErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListAppInstanceAdminsErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::ListAppInstanceAdminsErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListAppInstanceAdminsErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::ListAppInstanceAdminsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListAppInstancesErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListAppInstancesErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListAppInstancesErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListAppInstancesErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::ListAppInstancesErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListAppInstancesErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::ListAppInstancesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListAppInstanceUsersErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::ListAppInstanceUsersErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::PutAppInstanceRetentionSettingsErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::PutAppInstanceRetentionSettingsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateAppInstanceErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateAppInstanceErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateAppInstanceErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::UpdateAppInstanceErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::UpdateAppInstanceErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::UpdateAppInstanceErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::UpdateAppInstanceErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::UpdateAppInstanceErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateAppInstanceUserErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateAppInstanceUserErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateAppInstanceUserErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::UpdateAppInstanceUserErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::UpdateAppInstanceUserErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::UpdateAppInstanceUserErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::UpdateAppInstanceUserErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::UpdateAppInstanceUserErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::UpdateAppInstanceUserErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl std::error::Error for Error {} diff --git a/sdk/chimesdkidentity/src/idempotency_token.rs b/sdk/chimesdkidentity/src/idempotency_token.rs new file mode 100644 index 000000000000..dedcbd849bad --- /dev/null +++ b/sdk/chimesdkidentity/src/idempotency_token.rs @@ -0,0 +1,88 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::sync::Mutex; + +pub(crate) fn uuid_v4(input: u128) -> String { + let mut out = String::with_capacity(36); + // u4-aligned index into [input] + let mut rnd_idx: u8 = 0; + const HEX_CHARS: &[u8; 16] = b"0123456789abcdef"; + + for str_idx in 0..36 { + if str_idx == 8 || str_idx == 13 || str_idx == 18 || str_idx == 23 { + out.push('-'); + // UUID version character + } else if str_idx == 14 { + out.push('4'); + } else { + let mut dat: u8 = ((input >> (rnd_idx * 4)) & 0x0F) as u8; + // UUID variant bits + if str_idx == 19 { + dat |= 0b00001000; + } + rnd_idx += 1; + out.push(HEX_CHARS[dat as usize] as char); + } + } + out +} + +/// IdempotencyTokenProvider generates idempotency tokens for idempotency API requests +/// +/// Generally, customers will not need to interact with this at all. A sensible default will be +/// provided automatically during config construction. However, if you need deterministic behavior +/// for testing, two options are available: +/// 1. Utilize the From<&'static str>` implementation to hard code an idempotency token +/// 2. Seed the token provider with [`IdempotencyTokenProvider::with_seed`](IdempotencyTokenProvider::with_seed) +pub struct IdempotencyTokenProvider { + inner: Inner, +} + +enum Inner { + Static(&'static str), + Random(Mutex), +} + +pub fn default_provider() -> IdempotencyTokenProvider { + IdempotencyTokenProvider::random() +} + +impl From<&'static str> for IdempotencyTokenProvider { + fn from(token: &'static str) -> Self { + Self::fixed(token) + } +} + +impl IdempotencyTokenProvider { + pub fn make_idempotency_token(&self) -> String { + match &self.inner { + Inner::Static(token) => token.to_string(), + Inner::Random(rng) => { + let input: u128 = rng.lock().unwrap().u128(..); + uuid_v4(input) + } + } + } + + pub fn with_seed(seed: u64) -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::with_seed(seed))), + } + } + + pub fn random() -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::new())), + } + } + + pub fn fixed(token: &'static str) -> Self { + Self { + inner: Inner::Static(token), + } + } +} diff --git a/sdk/chimesdkidentity/src/input.rs b/sdk/chimesdkidentity/src/input.rs new file mode 100644 index 000000000000..266037f1917d --- /dev/null +++ b/sdk/chimesdkidentity/src/input.rs @@ -0,0 +1,2989 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +use std::fmt::Write; +/// See [`CreateAppInstanceInput`](crate::input::CreateAppInstanceInput) +pub mod create_app_instance_input { + /// A builder for [`CreateAppInstanceInput`](crate::input::CreateAppInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) client_request_token: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

          The name of the AppInstance.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata of the AppInstance. Limited to a 1KB string in UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The ClientRequestToken of the AppInstance.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.client_request_token = Some(input.into()); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.client_request_token = input; + self + } + pub fn tags(mut self, input: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(input.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceInput`](crate::input::CreateAppInstanceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateAppInstanceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateAppInstanceInput { + name: self.name, + metadata: self.metadata, + client_request_token: self.client_request_token, + tags: self.tags, + }) + } + } +} +#[doc(hidden)] +pub type CreateAppInstanceInputOperationOutputAlias = crate::operation::CreateAppInstance; +#[doc(hidden)] +pub type CreateAppInstanceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateAppInstanceInput { + /// Consumes the builder and constructs an Operation<[`CreateAppInstance`](crate::operation::CreateAppInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + mut self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateAppInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + if self.client_request_token.is_none() { + self.client_request_token = Some(_config.make_token.make_idempotency_token()); + } + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_app_instance(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateAppInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateAppInstance", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/app-instances").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateAppInstanceInput`](crate::input::CreateAppInstanceInput) + pub fn builder() -> crate::input::create_app_instance_input::Builder { + crate::input::create_app_instance_input::Builder::default() + } +} + +/// See [`CreateAppInstanceAdminInput`](crate::input::CreateAppInstanceAdminInput) +pub mod create_app_instance_admin_input { + /// A builder for [`CreateAppInstanceAdminInput`](crate::input::CreateAppInstanceAdminInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_admin_arn: std::option::Option, + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the administrator of the current AppInstance.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.app_instance_admin_arn = Some(input.into()); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_admin_arn = input; + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceAdminInput`](crate::input::CreateAppInstanceAdminInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateAppInstanceAdminInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateAppInstanceAdminInput { + app_instance_admin_arn: self.app_instance_admin_arn, + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type CreateAppInstanceAdminInputOperationOutputAlias = crate::operation::CreateAppInstanceAdmin; +#[doc(hidden)] +pub type CreateAppInstanceAdminInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateAppInstanceAdminInput { + /// Consumes the builder and constructs an Operation<[`CreateAppInstanceAdmin`](crate::operation::CreateAppInstanceAdmin)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateAppInstanceAdmin, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_app_instance_admin(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateAppInstanceAdmin::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateAppInstanceAdmin", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_1 = &self.app_instance_arn; + let input_1 = input_1 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_1, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/admins", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateAppInstanceAdminInput`](crate::input::CreateAppInstanceAdminInput) + pub fn builder() -> crate::input::create_app_instance_admin_input::Builder { + crate::input::create_app_instance_admin_input::Builder::default() + } +} + +/// See [`CreateAppInstanceUserInput`](crate::input::CreateAppInstanceUserInput) +pub mod create_app_instance_user_input { + /// A builder for [`CreateAppInstanceUserInput`](crate::input::CreateAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) app_instance_user_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) client_request_token: std::option::Option, + pub(crate) tags: std::option::Option>, + } + impl Builder { + ///

          The ARN of the AppInstance request.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The user ID of the AppInstance.

          + pub fn app_instance_user_id(mut self, input: impl Into) -> Self { + self.app_instance_user_id = Some(input.into()); + self + } + pub fn set_app_instance_user_id( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_id = input; + self + } + ///

          The user's name.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The request's metadata. Limited to a 1KB string in UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The token assigned to the user requesting an AppInstance.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.client_request_token = Some(input.into()); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.client_request_token = input; + self + } + pub fn tags(mut self, input: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(input.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceUserInput`](crate::input::CreateAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateAppInstanceUserInput { + app_instance_arn: self.app_instance_arn, + app_instance_user_id: self.app_instance_user_id, + name: self.name, + metadata: self.metadata, + client_request_token: self.client_request_token, + tags: self.tags, + }) + } + } +} +#[doc(hidden)] +pub type CreateAppInstanceUserInputOperationOutputAlias = crate::operation::CreateAppInstanceUser; +#[doc(hidden)] +pub type CreateAppInstanceUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`CreateAppInstanceUser`](crate::operation::CreateAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + mut self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + if self.client_request_token.is_none() { + self.client_request_token = Some(_config.make_token.make_idempotency_token()); + } + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_app_instance_user(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateAppInstanceUser", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/app-instance-users").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateAppInstanceUserInput`](crate::input::CreateAppInstanceUserInput) + pub fn builder() -> crate::input::create_app_instance_user_input::Builder { + crate::input::create_app_instance_user_input::Builder::default() + } +} + +/// See [`DeleteAppInstanceInput`](crate::input::DeleteAppInstanceInput) +pub mod delete_app_instance_input { + /// A builder for [`DeleteAppInstanceInput`](crate::input::DeleteAppInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`DeleteAppInstanceInput`](crate::input::DeleteAppInstanceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteAppInstanceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteAppInstanceInput { + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type DeleteAppInstanceInputOperationOutputAlias = crate::operation::DeleteAppInstance; +#[doc(hidden)] +pub type DeleteAppInstanceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteAppInstanceInput { + /// Consumes the builder and constructs an Operation<[`DeleteAppInstance`](crate::operation::DeleteAppInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteAppInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteAppInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteAppInstance", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_2 = &self.app_instance_arn; + let input_2 = input_2 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_2, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceInput`](crate::input::DeleteAppInstanceInput) + pub fn builder() -> crate::input::delete_app_instance_input::Builder { + crate::input::delete_app_instance_input::Builder::default() + } +} + +/// See [`DeleteAppInstanceAdminInput`](crate::input::DeleteAppInstanceAdminInput) +pub mod delete_app_instance_admin_input { + /// A builder for [`DeleteAppInstanceAdminInput`](crate::input::DeleteAppInstanceAdminInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_admin_arn: std::option::Option, + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance's administrator.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.app_instance_admin_arn = Some(input.into()); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_admin_arn = input; + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`DeleteAppInstanceAdminInput`](crate::input::DeleteAppInstanceAdminInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteAppInstanceAdminInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteAppInstanceAdminInput { + app_instance_admin_arn: self.app_instance_admin_arn, + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type DeleteAppInstanceAdminInputOperationOutputAlias = crate::operation::DeleteAppInstanceAdmin; +#[doc(hidden)] +pub type DeleteAppInstanceAdminInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteAppInstanceAdminInput { + /// Consumes the builder and constructs an Operation<[`DeleteAppInstanceAdmin`](crate::operation::DeleteAppInstanceAdmin)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteAppInstanceAdmin, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteAppInstanceAdmin::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteAppInstanceAdmin", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_3 = &self.app_instance_arn; + let input_3 = input_3 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_3, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + let input_4 = &self.app_instance_admin_arn; + let input_4 = input_4 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_admin_arn", + details: "cannot be empty or unset", + })?; + let app_instance_admin_arn = smithy_http::label::fmt_string(input_4, false); + if app_instance_admin_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_admin_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}", + AppInstanceArn = app_instance_arn, + AppInstanceAdminArn = app_instance_admin_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceAdminInput`](crate::input::DeleteAppInstanceAdminInput) + pub fn builder() -> crate::input::delete_app_instance_admin_input::Builder { + crate::input::delete_app_instance_admin_input::Builder::default() + } +} + +/// See [`DeleteAppInstanceUserInput`](crate::input::DeleteAppInstanceUserInput) +pub mod delete_app_instance_user_input { + /// A builder for [`DeleteAppInstanceUserInput`](crate::input::DeleteAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the user request being deleted.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + /// Consumes the builder and constructs a [`DeleteAppInstanceUserInput`](crate::input::DeleteAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteAppInstanceUserInput { + app_instance_user_arn: self.app_instance_user_arn, + }) + } + } +} +#[doc(hidden)] +pub type DeleteAppInstanceUserInputOperationOutputAlias = crate::operation::DeleteAppInstanceUser; +#[doc(hidden)] +pub type DeleteAppInstanceUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`DeleteAppInstanceUser`](crate::operation::DeleteAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteAppInstanceUser", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_5 = &self.app_instance_user_arn; + let input_5 = input_5 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + })?; + let app_instance_user_arn = smithy_http::label::fmt_string(input_5, false); + if app_instance_user_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instance-users/{AppInstanceUserArn}", + AppInstanceUserArn = app_instance_user_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceUserInput`](crate::input::DeleteAppInstanceUserInput) + pub fn builder() -> crate::input::delete_app_instance_user_input::Builder { + crate::input::delete_app_instance_user_input::Builder::default() + } +} + +/// See [`DescribeAppInstanceInput`](crate::input::DescribeAppInstanceInput) +pub mod describe_app_instance_input { + /// A builder for [`DescribeAppInstanceInput`](crate::input::DescribeAppInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceInput`](crate::input::DescribeAppInstanceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeAppInstanceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeAppInstanceInput { + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type DescribeAppInstanceInputOperationOutputAlias = crate::operation::DescribeAppInstance; +#[doc(hidden)] +pub type DescribeAppInstanceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeAppInstanceInput { + /// Consumes the builder and constructs an Operation<[`DescribeAppInstance`](crate::operation::DescribeAppInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeAppInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeAppInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeAppInstance", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_6 = &self.app_instance_arn; + let input_6 = input_6 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_6, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceInput`](crate::input::DescribeAppInstanceInput) + pub fn builder() -> crate::input::describe_app_instance_input::Builder { + crate::input::describe_app_instance_input::Builder::default() + } +} + +/// See [`DescribeAppInstanceAdminInput`](crate::input::DescribeAppInstanceAdminInput) +pub mod describe_app_instance_admin_input { + /// A builder for [`DescribeAppInstanceAdminInput`](crate::input::DescribeAppInstanceAdminInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_admin_arn: std::option::Option, + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceAdmin.

          + pub fn app_instance_admin_arn(mut self, input: impl Into) -> Self { + self.app_instance_admin_arn = Some(input.into()); + self + } + pub fn set_app_instance_admin_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_admin_arn = input; + self + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceAdminInput`](crate::input::DescribeAppInstanceAdminInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeAppInstanceAdminInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeAppInstanceAdminInput { + app_instance_admin_arn: self.app_instance_admin_arn, + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type DescribeAppInstanceAdminInputOperationOutputAlias = + crate::operation::DescribeAppInstanceAdmin; +#[doc(hidden)] +pub type DescribeAppInstanceAdminInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeAppInstanceAdminInput { + /// Consumes the builder and constructs an Operation<[`DescribeAppInstanceAdmin`](crate::operation::DescribeAppInstanceAdmin)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeAppInstanceAdmin, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeAppInstanceAdmin::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeAppInstanceAdmin", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_7 = &self.app_instance_arn; + let input_7 = input_7 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_7, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + let input_8 = &self.app_instance_admin_arn; + let input_8 = input_8 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_admin_arn", + details: "cannot be empty or unset", + })?; + let app_instance_admin_arn = smithy_http::label::fmt_string(input_8, false); + if app_instance_admin_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_admin_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/admins/{AppInstanceAdminArn}", + AppInstanceArn = app_instance_arn, + AppInstanceAdminArn = app_instance_admin_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceAdminInput`](crate::input::DescribeAppInstanceAdminInput) + pub fn builder() -> crate::input::describe_app_instance_admin_input::Builder { + crate::input::describe_app_instance_admin_input::Builder::default() + } +} + +/// See [`DescribeAppInstanceUserInput`](crate::input::DescribeAppInstanceUserInput) +pub mod describe_app_instance_user_input { + /// A builder for [`DescribeAppInstanceUserInput`](crate::input::DescribeAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceUserInput`](crate::input::DescribeAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeAppInstanceUserInput { + app_instance_user_arn: self.app_instance_user_arn, + }) + } + } +} +#[doc(hidden)] +pub type DescribeAppInstanceUserInputOperationOutputAlias = + crate::operation::DescribeAppInstanceUser; +#[doc(hidden)] +pub type DescribeAppInstanceUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`DescribeAppInstanceUser`](crate::operation::DescribeAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeAppInstanceUser", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_9 = &self.app_instance_user_arn; + let input_9 = input_9 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + })?; + let app_instance_user_arn = smithy_http::label::fmt_string(input_9, false); + if app_instance_user_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instance-users/{AppInstanceUserArn}", + AppInstanceUserArn = app_instance_user_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceUserInput`](crate::input::DescribeAppInstanceUserInput) + pub fn builder() -> crate::input::describe_app_instance_user_input::Builder { + crate::input::describe_app_instance_user_input::Builder::default() + } +} + +/// See [`GetAppInstanceRetentionSettingsInput`](crate::input::GetAppInstanceRetentionSettingsInput) +pub mod get_app_instance_retention_settings_input { + /// A builder for [`GetAppInstanceRetentionSettingsInput`](crate::input::GetAppInstanceRetentionSettingsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`GetAppInstanceRetentionSettingsInput`](crate::input::GetAppInstanceRetentionSettingsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetAppInstanceRetentionSettingsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetAppInstanceRetentionSettingsInput { + app_instance_arn: self.app_instance_arn, + }) + } + } +} +#[doc(hidden)] +pub type GetAppInstanceRetentionSettingsInputOperationOutputAlias = + crate::operation::GetAppInstanceRetentionSettings; +#[doc(hidden)] +pub type GetAppInstanceRetentionSettingsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetAppInstanceRetentionSettingsInput { + /// Consumes the builder and constructs an Operation<[`GetAppInstanceRetentionSettings`](crate::operation::GetAppInstanceRetentionSettings)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetAppInstanceRetentionSettings, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetAppInstanceRetentionSettings::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetAppInstanceRetentionSettings", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_10 = &self.app_instance_arn; + let input_10 = + input_10 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_10, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/retention-settings", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetAppInstanceRetentionSettingsInput`](crate::input::GetAppInstanceRetentionSettingsInput) + pub fn builder() -> crate::input::get_app_instance_retention_settings_input::Builder { + crate::input::get_app_instance_retention_settings_input::Builder::default() + } +} + +/// See [`ListAppInstanceAdminsInput`](crate::input::ListAppInstanceAdminsInput) +pub mod list_app_instance_admins_input { + /// A builder for [`ListAppInstanceAdminsInput`](crate::input::ListAppInstanceAdminsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The maximum number of administrators that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token returned from previous API requests until the number of administrators is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstanceAdminsInput`](crate::input::ListAppInstanceAdminsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListAppInstanceAdminsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListAppInstanceAdminsInput { + app_instance_arn: self.app_instance_arn, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListAppInstanceAdminsInputOperationOutputAlias = crate::operation::ListAppInstanceAdmins; +#[doc(hidden)] +pub type ListAppInstanceAdminsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListAppInstanceAdminsInput { + /// Consumes the builder and constructs an Operation<[`ListAppInstanceAdmins`](crate::operation::ListAppInstanceAdmins)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListAppInstanceAdmins, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAppInstanceAdmins::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAppInstanceAdmins", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_11 = &self.app_instance_arn; + let input_11 = + input_11 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_11, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/admins", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_12) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_12).encode(), + ); + } + if let Some(inner_13) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_13)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListAppInstanceAdminsInput`](crate::input::ListAppInstanceAdminsInput) + pub fn builder() -> crate::input::list_app_instance_admins_input::Builder { + crate::input::list_app_instance_admins_input::Builder::default() + } +} + +/// See [`ListAppInstancesInput`](crate::input::ListAppInstancesInput) +pub mod list_app_instances_input { + /// A builder for [`ListAppInstancesInput`](crate::input::ListAppInstancesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The maximum number of AppInstances that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API requests until you reach the maximum number of + /// AppInstances.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstancesInput`](crate::input::ListAppInstancesInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListAppInstancesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListAppInstancesInput { + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListAppInstancesInputOperationOutputAlias = crate::operation::ListAppInstances; +#[doc(hidden)] +pub type ListAppInstancesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListAppInstancesInput { + /// Consumes the builder and constructs an Operation<[`ListAppInstances`](crate::operation::ListAppInstances)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListAppInstances, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAppInstances::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAppInstances", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/app-instances").expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_14) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_14).encode(), + ); + } + if let Some(inner_15) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_15)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListAppInstancesInput`](crate::input::ListAppInstancesInput) + pub fn builder() -> crate::input::list_app_instances_input::Builder { + crate::input::list_app_instances_input::Builder::default() + } +} + +/// See [`ListAppInstanceUsersInput`](crate::input::ListAppInstanceUsersInput) +pub mod list_app_instance_users_input { + /// A builder for [`ListAppInstanceUsersInput`](crate::input::ListAppInstanceUsersInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The maximum number of requests that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested users are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstanceUsersInput`](crate::input::ListAppInstanceUsersInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListAppInstanceUsersInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListAppInstanceUsersInput { + app_instance_arn: self.app_instance_arn, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListAppInstanceUsersInputOperationOutputAlias = crate::operation::ListAppInstanceUsers; +#[doc(hidden)] +pub type ListAppInstanceUsersInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListAppInstanceUsersInput { + /// Consumes the builder and constructs an Operation<[`ListAppInstanceUsers`](crate::operation::ListAppInstanceUsers)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListAppInstanceUsers, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAppInstanceUsers::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAppInstanceUsers", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/app-instance-users").expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_16) = &self.app_instance_arn { + query.push_kv( + "app-instance-arn", + &smithy_http::query::fmt_string(&inner_16), + ); + } + if let Some(inner_17) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_17).encode(), + ); + } + if let Some(inner_18) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_18)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListAppInstanceUsersInput`](crate::input::ListAppInstanceUsersInput) + pub fn builder() -> crate::input::list_app_instance_users_input::Builder { + crate::input::list_app_instance_users_input::Builder::default() + } +} + +/// See [`PutAppInstanceRetentionSettingsInput`](crate::input::PutAppInstanceRetentionSettingsInput) +pub mod put_app_instance_retention_settings_input { + /// A builder for [`PutAppInstanceRetentionSettingsInput`](crate::input::PutAppInstanceRetentionSettingsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) app_instance_retention_settings: + std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The time in days to retain data. Data type: number.

          + pub fn app_instance_retention_settings( + mut self, + input: crate::model::AppInstanceRetentionSettings, + ) -> Self { + self.app_instance_retention_settings = Some(input); + self + } + pub fn set_app_instance_retention_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_retention_settings = input; + self + } + /// Consumes the builder and constructs a [`PutAppInstanceRetentionSettingsInput`](crate::input::PutAppInstanceRetentionSettingsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::PutAppInstanceRetentionSettingsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::PutAppInstanceRetentionSettingsInput { + app_instance_arn: self.app_instance_arn, + app_instance_retention_settings: self.app_instance_retention_settings, + }) + } + } +} +#[doc(hidden)] +pub type PutAppInstanceRetentionSettingsInputOperationOutputAlias = + crate::operation::PutAppInstanceRetentionSettings; +#[doc(hidden)] +pub type PutAppInstanceRetentionSettingsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl PutAppInstanceRetentionSettingsInput { + /// Consumes the builder and constructs an Operation<[`PutAppInstanceRetentionSettings`](crate::operation::PutAppInstanceRetentionSettings)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::PutAppInstanceRetentionSettings, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_put_app_instance_retention_settings( + &self, + ) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutAppInstanceRetentionSettings::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutAppInstanceRetentionSettings", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_19 = &self.app_instance_arn; + let input_19 = + input_19 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_19, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}/retention-settings", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`PutAppInstanceRetentionSettingsInput`](crate::input::PutAppInstanceRetentionSettingsInput) + pub fn builder() -> crate::input::put_app_instance_retention_settings_input::Builder { + crate::input::put_app_instance_retention_settings_input::Builder::default() + } +} + +/// See [`UpdateAppInstanceInput`](crate::input::UpdateAppInstanceInput) +pub mod update_app_instance_input { + /// A builder for [`UpdateAppInstanceInput`](crate::input::UpdateAppInstanceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The name that you want to change.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata that you want to change.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + /// Consumes the builder and constructs a [`UpdateAppInstanceInput`](crate::input::UpdateAppInstanceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateAppInstanceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateAppInstanceInput { + app_instance_arn: self.app_instance_arn, + name: self.name, + metadata: self.metadata, + }) + } + } +} +#[doc(hidden)] +pub type UpdateAppInstanceInputOperationOutputAlias = crate::operation::UpdateAppInstance; +#[doc(hidden)] +pub type UpdateAppInstanceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateAppInstanceInput { + /// Consumes the builder and constructs an Operation<[`UpdateAppInstance`](crate::operation::UpdateAppInstance)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateAppInstance, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_app_instance(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateAppInstance::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateAppInstance", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_20 = &self.app_instance_arn; + let input_20 = + input_20 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + })?; + let app_instance_arn = smithy_http::label::fmt_string(input_20, false); + if app_instance_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instances/{AppInstanceArn}", + AppInstanceArn = app_instance_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceInput`](crate::input::UpdateAppInstanceInput) + pub fn builder() -> crate::input::update_app_instance_input::Builder { + crate::input::update_app_instance_input::Builder::default() + } +} + +/// See [`UpdateAppInstanceUserInput`](crate::input::UpdateAppInstanceUserInput) +pub mod update_app_instance_user_input { + /// A builder for [`UpdateAppInstanceUserInput`](crate::input::UpdateAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The name of the AppInstanceUser.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata of the AppInstanceUser.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + /// Consumes the builder and constructs a [`UpdateAppInstanceUserInput`](crate::input::UpdateAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateAppInstanceUserInput { + app_instance_user_arn: self.app_instance_user_arn, + name: self.name, + metadata: self.metadata, + }) + } + } +} +#[doc(hidden)] +pub type UpdateAppInstanceUserInputOperationOutputAlias = crate::operation::UpdateAppInstanceUser; +#[doc(hidden)] +pub type UpdateAppInstanceUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`UpdateAppInstanceUser`](crate::operation::UpdateAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_app_instance_user(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateAppInstanceUser", + "chimesdkidentity", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_21 = &self.app_instance_user_arn; + let input_21 = + input_21 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + })?; + let app_instance_user_arn = smithy_http::label::fmt_string(input_21, false); + if app_instance_user_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "app_instance_user_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/app-instance-users/{AppInstanceUserArn}", + AppInstanceUserArn = app_instance_user_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceUserInput`](crate::input::UpdateAppInstanceUserInput) + pub fn builder() -> crate::input::update_app_instance_user_input::Builder { + crate::input::update_app_instance_user_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAppInstanceUserInput { + ///

          The ARN of the AppInstanceUser.

          + pub app_instance_user_arn: std::option::Option, + ///

          The name of the AppInstanceUser.

          + pub name: std::option::Option, + ///

          The metadata of the AppInstanceUser.

          + pub metadata: std::option::Option, +} +impl std::fmt::Debug for UpdateAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAppInstanceUserInput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAppInstanceInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The name that you want to change.

          + pub name: std::option::Option, + ///

          The metadata that you want to change.

          + pub metadata: std::option::Option, +} +impl std::fmt::Debug for UpdateAppInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAppInstanceInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAppInstanceRetentionSettingsInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The time in days to retain data. Data type: number.

          + pub app_instance_retention_settings: + std::option::Option, +} +impl std::fmt::Debug for PutAppInstanceRetentionSettingsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAppInstanceRetentionSettingsInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field( + "app_instance_retention_settings", + &self.app_instance_retention_settings, + ); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstanceUsersInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The maximum number of requests that you want returned.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested users are returned.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstanceUsersInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstanceUsersInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstancesInput { + ///

          The maximum number of AppInstances that you want to return.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API requests until you reach the maximum number of + /// AppInstances.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstancesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstancesInput"); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstanceAdminsInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The maximum number of administrators that you want to return.

          + pub max_results: std::option::Option, + ///

          The token returned from previous API requests until the number of administrators is + /// reached.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstanceAdminsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstanceAdminsInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetAppInstanceRetentionSettingsInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for GetAppInstanceRetentionSettingsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetAppInstanceRetentionSettingsInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceUserInput { + ///

          The ARN of the AppInstanceUser.

          + pub app_instance_user_arn: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceUserInput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceAdminInput { + ///

          The ARN of the AppInstanceAdmin.

          + pub app_instance_admin_arn: std::option::Option, + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceAdminInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceAdminInput"); + formatter.field("app_instance_admin_arn", &self.app_instance_admin_arn); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceUserInput { + ///

          The ARN of the user request being deleted.

          + pub app_instance_user_arn: std::option::Option, +} +impl std::fmt::Debug for DeleteAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceUserInput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceAdminInput { + ///

          The ARN of the AppInstance's administrator.

          + pub app_instance_admin_arn: std::option::Option, + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for DeleteAppInstanceAdminInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceAdminInput"); + formatter.field("app_instance_admin_arn", &self.app_instance_admin_arn); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for DeleteAppInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceUserInput { + ///

          The ARN of the AppInstance request.

          + pub app_instance_arn: std::option::Option, + ///

          The user ID of the AppInstance.

          + pub app_instance_user_id: std::option::Option, + ///

          The user's name.

          + pub name: std::option::Option, + ///

          The request's metadata. Limited to a 1KB string in UTF-8.

          + pub metadata: std::option::Option, + ///

          The token assigned to the user requesting an AppInstance.

          + pub client_request_token: std::option::Option, + ///

          Tags assigned to the AppInstanceUser.

          + pub tags: std::option::Option>, +} +impl std::fmt::Debug for CreateAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceUserInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("app_instance_user_id", &"*** Sensitive Data Redacted ***"); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("client_request_token", &"*** Sensitive Data Redacted ***"); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceAdminInput { + ///

          The ARN of the administrator of the current AppInstance.

          + pub app_instance_admin_arn: std::option::Option, + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for CreateAppInstanceAdminInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceAdminInput"); + formatter.field("app_instance_admin_arn", &self.app_instance_admin_arn); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceInput { + ///

          The name of the AppInstance.

          + pub name: std::option::Option, + ///

          The metadata of the AppInstance. Limited to a 1KB string in UTF-8.

          + pub metadata: std::option::Option, + ///

          The ClientRequestToken of the AppInstance.

          + pub client_request_token: std::option::Option, + ///

          Tags assigned to the AppInstanceUser.

          + pub tags: std::option::Option>, +} +impl std::fmt::Debug for CreateAppInstanceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceInput"); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("client_request_token", &"*** Sensitive Data Redacted ***"); + formatter.field("tags", &self.tags); + formatter.finish() + } +} diff --git a/sdk/chimesdkidentity/src/json_deser.rs b/sdk/chimesdkidentity/src/json_deser.rs new file mode 100644 index 000000000000..2dcc239d849a --- /dev/null +++ b/sdk/chimesdkidentity/src/json_deser.rs @@ -0,0 +1,1613 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn parse_generic_error( + response: &http::Response, +) -> Result { + crate::json_errors::parse_generic_error(response) +} + +pub fn deser_structure_bad_request_exceptionjson_err( + input: &[u8], + mut builder: crate::error::bad_request_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_conflict_exceptionjson_err( + input: &[u8], + mut builder: crate::error::conflict_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_forbidden_exceptionjson_err( + input: &[u8], + mut builder: crate::error::forbidden_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_resource_limit_exceeded_exceptionjson_err( + input: &[u8], + mut builder: crate::error::resource_limit_exceeded_exception::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_service_failure_exceptionjson_err( + input: &[u8], + mut builder: crate::error::service_failure_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_service_unavailable_exceptionjson_err( + input: &[u8], + mut builder: crate::error::service_unavailable_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_throttled_client_exceptionjson_err( + input: &[u8], + mut builder: crate::error::throttled_client_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_unauthorized_client_exceptionjson_err( + input: &[u8], + mut builder: crate::error::unauthorized_client_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_app_instance( + input: &[u8], + mut builder: crate::output::create_app_instance_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_app_instance_admin( + input: &[u8], + mut builder: crate::output::create_app_instance_admin_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceAdmin" => { + builder = builder.set_app_instance_admin( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_app_instance_user( + input: &[u8], + mut builder: crate::output::create_app_instance_user_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceUserArn" => { + builder = builder.set_app_instance_user_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_app_instance( + input: &[u8], + mut builder: crate::output::describe_app_instance_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstance" => { + builder = builder.set_app_instance( + crate::json_deser::deser_structure_app_instance(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_app_instance_admin( + input: &[u8], + mut builder: crate::output::describe_app_instance_admin_output::Builder, +) -> Result< + crate::output::describe_app_instance_admin_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceAdmin" => { + builder = builder.set_app_instance_admin( + crate::json_deser::deser_structure_app_instance_admin(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_app_instance_user( + input: &[u8], + mut builder: crate::output::describe_app_instance_user_output::Builder, +) -> Result< + crate::output::describe_app_instance_user_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceUser" => { + builder = builder.set_app_instance_user( + crate::json_deser::deser_structure_app_instance_user(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_get_app_instance_retention_settings( + input: &[u8], + mut builder: crate::output::get_app_instance_retention_settings_output::Builder, +) -> Result< + crate::output::get_app_instance_retention_settings_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceRetentionSettings" => { + builder = builder.set_app_instance_retention_settings( + crate::json_deser::deser_structure_app_instance_retention_settings( + tokens, + )?, + ); + } + "InitiateDeletionTimestamp" => { + builder = builder.set_initiate_deletion_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_app_instance_admins( + input: &[u8], + mut builder: crate::output::list_app_instance_admins_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceAdmins" => { + builder = builder.set_app_instance_admins( + crate::json_deser::deser_list_app_instance_admin_list(tokens)?, + ); + } + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_app_instances( + input: &[u8], + mut builder: crate::output::list_app_instances_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstances" => { + builder = builder.set_app_instances( + crate::json_deser::deser_list_app_instance_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_app_instance_users( + input: &[u8], + mut builder: crate::output::list_app_instance_users_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "AppInstanceUsers" => { + builder = builder.set_app_instance_users( + crate::json_deser::deser_list_app_instance_user_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_put_app_instance_retention_settings( + input: &[u8], + mut builder: crate::output::put_app_instance_retention_settings_output::Builder, +) -> Result< + crate::output::put_app_instance_retention_settings_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceRetentionSettings" => { + builder = builder.set_app_instance_retention_settings( + crate::json_deser::deser_structure_app_instance_retention_settings( + tokens, + )?, + ); + } + "InitiateDeletionTimestamp" => { + builder = builder.set_initiate_deletion_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_update_app_instance( + input: &[u8], + mut builder: crate::output::update_app_instance_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_update_app_instance_user( + input: &[u8], + mut builder: crate::output::update_app_instance_user_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceUserArn" => { + builder = builder.set_app_instance_user_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn or_empty_doc(data: &[u8]) -> &[u8] { + if data.is_empty() { + b"{}" + } else { + data + } +} + +pub fn deser_structure_identity<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Identity::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Arn" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstance::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_admin<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceAdmin::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Admin" => { + builder = builder.set_admin( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_user<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceUser::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceUserArn" => { + builder = builder.set_app_instance_user_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_retention_settings<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceRetentionSettings::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelRetentionSettings" => { + builder = builder.set_channel_retention_settings( + crate::json_deser::deser_structure_channel_retention_settings( + tokens, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_app_instance_admin_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_app_instance_admin_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_app_instance_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_app_instance_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_app_instance_user_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_app_instance_user_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_channel_retention_settings<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelRetentionSettings::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "RetentionDays" => { + builder = builder.set_retention_days( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_admin_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceAdminSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Admin" => { + builder = builder.set_admin( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceArn" => { + builder = builder.set_app_instance_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_user_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceUserSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AppInstanceUserArn" => { + builder = builder.set_app_instance_user_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/chimesdkidentity/src/json_errors.rs b/sdk/chimesdkidentity/src/json_errors.rs new file mode 100644 index 000000000000..b8d4287b0c18 --- /dev/null +++ b/sdk/chimesdkidentity/src/json_errors.rs @@ -0,0 +1,219 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use bytes::Bytes; +use http::header::ToStrError; +use http::Response; +use smithy_json::deserialize::token::skip_value; +use smithy_json::deserialize::{json_token_iter, Error as DeserializeError, Token}; +use smithy_types::Error as SmithyError; +use std::borrow::Cow; + +// currently only used by AwsJson +#[allow(unused)] +pub fn is_error(response: &http::Response) -> bool { + !response.status().is_success() +} + +fn error_type_from_header(response: &http::Response) -> Result, ToStrError> { + response + .headers() + .get("X-Amzn-Errortype") + .map(|v| v.to_str()) + .transpose() +} + +fn sanitize_error_code(error_code: &str) -> &str { + // Trim a trailing URL from the error code, beginning with a `:` + let error_code = match error_code.find(':') { + Some(idx) => &error_code[..idx], + None => &error_code, + }; + + // Trim a prefixing namespace from the error code, beginning with a `#` + match error_code.find('#') { + Some(idx) => &error_code[idx + 1..], + None => &error_code, + } +} + +fn request_id(response: &Response) -> Option<&str> { + response + .headers() + .get("X-Amzn-Requestid") + .and_then(|v| v.to_str().ok()) +} + +struct ErrorBody<'a> { + code: Option>, + message: Option>, +} + +fn parse_error_body(bytes: &[u8]) -> Result { + let mut tokens = json_token_iter(bytes).peekable(); + let (mut typ, mut code, mut message) = (None, None, None); + if let Some(Token::StartObject { .. }) = tokens.next().transpose()? { + loop { + match tokens.next().transpose()? { + Some(Token::EndObject { .. }) => break, + Some(Token::ObjectKey { key, .. }) => { + if let Some(Ok(Token::ValueString { value, .. })) = tokens.peek() { + match key.as_escaped_str() { + "code" => code = Some(value.to_unescaped()?), + "__type" => typ = Some(value.to_unescaped()?), + "message" | "Message" | "errorMessage" => { + message = Some(value.to_unescaped()?) + } + _ => {} + } + } + skip_value(&mut tokens)?; + } + _ => { + return Err(DeserializeError::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(DeserializeError::custom( + "found more JSON tokens after completing parsing", + )); + } + } + Ok(ErrorBody { + code: code.or(typ), + message, + }) +} + +pub fn parse_generic_error(response: &Response) -> Result { + let ErrorBody { code, message } = parse_error_body(response.body().as_ref())?; + + let mut err_builder = SmithyError::builder(); + if let Some(code) = error_type_from_header(response) + .map_err(|_| DeserializeError::custom("X-Amzn-Errortype header was not valid UTF-8"))? + .or_else(|| code.as_deref()) + .map(|c| sanitize_error_code(c)) + { + err_builder.code(code); + } + if let Some(message) = message { + err_builder.message(message); + } + if let Some(request_id) = request_id(response) { + err_builder.request_id(request_id); + } + Ok(err_builder.build()) +} + +#[cfg(test)] +mod test { + use crate::json_errors::{parse_error_body, parse_generic_error, sanitize_error_code}; + use bytes::Bytes; + use smithy_types::Error; + use std::borrow::Cow; + + #[test] + fn generic_error() { + let response = http::Response::builder() + .header("X-Amzn-Requestid", "1234") + .body(Bytes::from_static( + br#"{ "__type": "FooError", "message": "Go to foo" }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() + ) + } + + #[test] + fn error_type() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn code_takes_priority() { + assert_eq!( + Some(Cow::Borrowed("BarError")), + parse_error_body(br#"{ "code": "BarError", "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn ignore_unrecognized_fields() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError", "asdf": 5, "fdsa": {}, "foo": "1" }"#) + .unwrap() + .code + ); + } + + #[test] + fn sanitize_namespace_and_url() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/"), + "FooError"); + } + + #[test] + fn sanitize_noop() { + assert_eq!(sanitize_error_code("FooError"), "FooError"); + } + + #[test] + fn sanitize_url() { + assert_eq!( + sanitize_error_code( + "FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/" + ), + "FooError" + ); + } + + #[test] + fn sanitize_namespace() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError"), + "FooError" + ); + } + + // services like lambda use an alternate `Message` instead of `message` + #[test] + fn alternative_error_message_names() { + let response = http::Response::builder() + .header("x-amzn-errortype", "ResourceNotFoundException") + .body(Bytes::from_static( + br#"{ + "Type": "User", + "Message": "Functions from 'us-west-2' are not reachable from us-east-1" + }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); + } +} diff --git a/sdk/chimesdkidentity/src/json_ser.rs b/sdk/chimesdkidentity/src/json_ser.rs new file mode 100644 index 000000000000..d25e62ad8adb --- /dev/null +++ b/sdk/chimesdkidentity/src/json_ser.rs @@ -0,0 +1,140 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_app_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAppInstanceInput, +) { + if let Some(var_1) = &input.client_request_token { + object.key("ClientRequestToken").string(var_1); + } + if let Some(var_2) = &input.metadata { + object.key("Metadata").string(var_2); + } + if let Some(var_3) = &input.name { + object.key("Name").string(var_3); + } + if let Some(var_4) = &input.tags { + let mut array_5 = object.key("Tags").start_array(); + for item_6 in var_4 { + { + let mut object_7 = array_5.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_7, item_6); + object_7.finish(); + } + } + array_5.finish(); + } +} + +pub fn serialize_structure_create_app_instance_admin_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAppInstanceAdminInput, +) { + if let Some(var_8) = &input.app_instance_admin_arn { + object.key("AppInstanceAdminArn").string(var_8); + } +} + +pub fn serialize_structure_create_app_instance_user_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateAppInstanceUserInput, +) { + if let Some(var_9) = &input.app_instance_arn { + object.key("AppInstanceArn").string(var_9); + } + if let Some(var_10) = &input.app_instance_user_id { + object.key("AppInstanceUserId").string(var_10); + } + if let Some(var_11) = &input.client_request_token { + object.key("ClientRequestToken").string(var_11); + } + if let Some(var_12) = &input.metadata { + object.key("Metadata").string(var_12); + } + if let Some(var_13) = &input.name { + object.key("Name").string(var_13); + } + if let Some(var_14) = &input.tags { + let mut array_15 = object.key("Tags").start_array(); + for item_16 in var_14 { + { + let mut object_17 = array_15.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_17, item_16); + object_17.finish(); + } + } + array_15.finish(); + } +} + +pub fn serialize_structure_put_app_instance_retention_settings_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutAppInstanceRetentionSettingsInput, +) { + if let Some(var_18) = &input.app_instance_retention_settings { + let mut object_19 = object.key("AppInstanceRetentionSettings").start_object(); + crate::json_ser::serialize_structure_app_instance_retention_settings( + &mut object_19, + var_18, + ); + object_19.finish(); + } +} + +pub fn serialize_structure_update_app_instance_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAppInstanceInput, +) { + if let Some(var_20) = &input.metadata { + object.key("Metadata").string(var_20); + } + if let Some(var_21) = &input.name { + object.key("Name").string(var_21); + } +} + +pub fn serialize_structure_update_app_instance_user_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAppInstanceUserInput, +) { + if let Some(var_22) = &input.metadata { + object.key("Metadata").string(var_22); + } + if let Some(var_23) = &input.name { + object.key("Name").string(var_23); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_24) = &input.key { + object.key("Key").string(var_24); + } + if let Some(var_25) = &input.value { + object.key("Value").string(var_25); + } +} + +pub fn serialize_structure_app_instance_retention_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AppInstanceRetentionSettings, +) { + if let Some(var_26) = &input.channel_retention_settings { + let mut object_27 = object.key("ChannelRetentionSettings").start_object(); + crate::json_ser::serialize_structure_channel_retention_settings(&mut object_27, var_26); + object_27.finish(); + } +} + +pub fn serialize_structure_channel_retention_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ChannelRetentionSettings, +) { + if let Some(var_28) = &input.retention_days { + object.key("RetentionDays").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_28).into()), + ); + } +} diff --git a/sdk/chimesdkidentity/src/lib.rs b/sdk/chimesdkidentity/src/lib.rs new file mode 100644 index 000000000000..e3ede0af2cf1 --- /dev/null +++ b/sdk/chimesdkidentity/src/lib.rs @@ -0,0 +1,43 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::upper_case_acronyms)] +#![allow(clippy::large_enum_variant)] +#![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] +#![allow(clippy::blacklisted_name)] +//!

          The Amazon Chime SDK Identity APIs in this section allow software developers to create +//! and manage unique instances of their messaging applications. These APIs provide the +//! overarching framework for creating and sending messages. For more information about the +//! identity APIs, refer to .

          + +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use error_meta::Error; + +pub use config::Config; + +mod aws_endpoint; +#[cfg(feature = "client")] +pub mod client; +pub mod config; +pub mod error; +mod error_meta; +mod idempotency_token; +pub mod input; +mod json_deser; +mod json_errors; +mod json_ser; +pub mod model; +pub mod operation; +mod operation_deser; +mod operation_ser; +pub mod output; +pub static PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub use smithy_http::byte_stream::ByteStream; +pub use smithy_http::result::SdkError; +pub use smithy_types::Blob; +static API_METADATA: aws_http::user_agent::ApiMetadata = + aws_http::user_agent::ApiMetadata::new("chimesdkidentity", PKG_VERSION); +pub use aws_auth::Credentials; +pub use aws_types::region::Region; +#[cfg(feature = "client")] +pub use client::Client; +pub use smithy_http::endpoint::Endpoint; diff --git a/sdk/chimesdkidentity/src/model.rs b/sdk/chimesdkidentity/src/model.rs new file mode 100644 index 000000000000..dedfdab188ff --- /dev/null +++ b/sdk/chimesdkidentity/src/model.rs @@ -0,0 +1,842 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ErrorCode { + AccessDenied, + BadRequest, + Conflict, + Forbidden, + NotFound, + PhoneNumberAssociationsExist, + PreconditionFailed, + ResourceLimitExceeded, + ServiceFailure, + ServiceUnavailable, + Throttled, + Throttling, + Unauthorized, + Unprocessable, + VoiceConnectorGroupAssociationsExist, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ErrorCode { + fn from(s: &str) -> Self { + match s { + "AccessDenied" => ErrorCode::AccessDenied, + "BadRequest" => ErrorCode::BadRequest, + "Conflict" => ErrorCode::Conflict, + "Forbidden" => ErrorCode::Forbidden, + "NotFound" => ErrorCode::NotFound, + "PhoneNumberAssociationsExist" => ErrorCode::PhoneNumberAssociationsExist, + "PreconditionFailed" => ErrorCode::PreconditionFailed, + "ResourceLimitExceeded" => ErrorCode::ResourceLimitExceeded, + "ServiceFailure" => ErrorCode::ServiceFailure, + "ServiceUnavailable" => ErrorCode::ServiceUnavailable, + "Throttled" => ErrorCode::Throttled, + "Throttling" => ErrorCode::Throttling, + "Unauthorized" => ErrorCode::Unauthorized, + "Unprocessable" => ErrorCode::Unprocessable, + "VoiceConnectorGroupAssociationsExist" => { + ErrorCode::VoiceConnectorGroupAssociationsExist + } + other => ErrorCode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ErrorCode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ErrorCode::from(s)) + } +} +impl ErrorCode { + pub fn as_str(&self) -> &str { + match self { + ErrorCode::AccessDenied => "AccessDenied", + ErrorCode::BadRequest => "BadRequest", + ErrorCode::Conflict => "Conflict", + ErrorCode::Forbidden => "Forbidden", + ErrorCode::NotFound => "NotFound", + ErrorCode::PhoneNumberAssociationsExist => "PhoneNumberAssociationsExist", + ErrorCode::PreconditionFailed => "PreconditionFailed", + ErrorCode::ResourceLimitExceeded => "ResourceLimitExceeded", + ErrorCode::ServiceFailure => "ServiceFailure", + ErrorCode::ServiceUnavailable => "ServiceUnavailable", + ErrorCode::Throttled => "Throttled", + ErrorCode::Throttling => "Throttling", + ErrorCode::Unauthorized => "Unauthorized", + ErrorCode::Unprocessable => "Unprocessable", + ErrorCode::VoiceConnectorGroupAssociationsExist => { + "VoiceConnectorGroupAssociationsExist" + } + ErrorCode::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &[ + "AccessDenied", + "BadRequest", + "Conflict", + "Forbidden", + "NotFound", + "PhoneNumberAssociationsExist", + "PreconditionFailed", + "ResourceLimitExceeded", + "ServiceFailure", + "ServiceUnavailable", + "Throttled", + "Throttling", + "Unauthorized", + "Unprocessable", + "VoiceConnectorGroupAssociationsExist", + ] + } +} +impl AsRef for ErrorCode { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

          The details of the data-retention settings for an AppInstance.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceRetentionSettings { + ///

          The length of time in days to retain the messages in a channel.

          + pub channel_retention_settings: std::option::Option, +} +impl std::fmt::Debug for AppInstanceRetentionSettings { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceRetentionSettings"); + formatter.field( + "channel_retention_settings", + &self.channel_retention_settings, + ); + formatter.finish() + } +} +/// See [`AppInstanceRetentionSettings`](crate::model::AppInstanceRetentionSettings) +pub mod app_instance_retention_settings { + /// A builder for [`AppInstanceRetentionSettings`](crate::model::AppInstanceRetentionSettings) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_retention_settings: + std::option::Option, + } + impl Builder { + ///

          The length of time in days to retain the messages in a channel.

          + pub fn channel_retention_settings( + mut self, + input: crate::model::ChannelRetentionSettings, + ) -> Self { + self.channel_retention_settings = Some(input); + self + } + pub fn set_channel_retention_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_retention_settings = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceRetentionSettings`](crate::model::AppInstanceRetentionSettings) + pub fn build(self) -> crate::model::AppInstanceRetentionSettings { + crate::model::AppInstanceRetentionSettings { + channel_retention_settings: self.channel_retention_settings, + } + } + } +} +impl AppInstanceRetentionSettings { + /// Creates a new builder-style object to manufacture [`AppInstanceRetentionSettings`](crate::model::AppInstanceRetentionSettings) + pub fn builder() -> crate::model::app_instance_retention_settings::Builder { + crate::model::app_instance_retention_settings::Builder::default() + } +} + +///

          The details of the retention settings for a channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelRetentionSettings { + ///

          The time in days to retain the messages in a channel.

          + pub retention_days: std::option::Option, +} +impl std::fmt::Debug for ChannelRetentionSettings { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelRetentionSettings"); + formatter.field("retention_days", &self.retention_days); + formatter.finish() + } +} +/// See [`ChannelRetentionSettings`](crate::model::ChannelRetentionSettings) +pub mod channel_retention_settings { + /// A builder for [`ChannelRetentionSettings`](crate::model::ChannelRetentionSettings) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) retention_days: std::option::Option, + } + impl Builder { + ///

          The time in days to retain the messages in a channel.

          + pub fn retention_days(mut self, input: i32) -> Self { + self.retention_days = Some(input); + self + } + pub fn set_retention_days(mut self, input: std::option::Option) -> Self { + self.retention_days = input; + self + } + /// Consumes the builder and constructs a [`ChannelRetentionSettings`](crate::model::ChannelRetentionSettings) + pub fn build(self) -> crate::model::ChannelRetentionSettings { + crate::model::ChannelRetentionSettings { + retention_days: self.retention_days, + } + } + } +} +impl ChannelRetentionSettings { + /// Creates a new builder-style object to manufacture [`ChannelRetentionSettings`](crate::model::ChannelRetentionSettings) + pub fn builder() -> crate::model::channel_retention_settings::Builder { + crate::model::channel_retention_settings::Builder::default() + } +} + +///

          Summary of the details of an AppInstanceUser.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceUserSummary { + ///

          The ARN of the AppInstanceUser.

          + pub app_instance_user_arn: std::option::Option, + ///

          The name of an AppInstanceUser.

          + pub name: std::option::Option, + ///

          The metadata of the AppInstanceUser.

          + pub metadata: std::option::Option, +} +impl std::fmt::Debug for AppInstanceUserSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceUserSummary"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`AppInstanceUserSummary`](crate::model::AppInstanceUserSummary) +pub mod app_instance_user_summary { + /// A builder for [`AppInstanceUserSummary`](crate::model::AppInstanceUserSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The name of an AppInstanceUser.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata of the AppInstanceUser.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceUserSummary`](crate::model::AppInstanceUserSummary) + pub fn build(self) -> crate::model::AppInstanceUserSummary { + crate::model::AppInstanceUserSummary { + app_instance_user_arn: self.app_instance_user_arn, + name: self.name, + metadata: self.metadata, + } + } + } +} +impl AppInstanceUserSummary { + /// Creates a new builder-style object to manufacture [`AppInstanceUserSummary`](crate::model::AppInstanceUserSummary) + pub fn builder() -> crate::model::app_instance_user_summary::Builder { + crate::model::app_instance_user_summary::Builder::default() + } +} + +///

          Summary of the data for an AppInstance.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceSummary { + ///

          The AppInstance ARN.

          + pub app_instance_arn: std::option::Option, + ///

          The name of the AppInstance.

          + pub name: std::option::Option, + ///

          The metadata of the AppInstance.

          + pub metadata: std::option::Option, +} +impl std::fmt::Debug for AppInstanceSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceSummary"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`AppInstanceSummary`](crate::model::AppInstanceSummary) +pub mod app_instance_summary { + /// A builder for [`AppInstanceSummary`](crate::model::AppInstanceSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + } + impl Builder { + ///

          The AppInstance ARN.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The name of the AppInstance.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata of the AppInstance.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceSummary`](crate::model::AppInstanceSummary) + pub fn build(self) -> crate::model::AppInstanceSummary { + crate::model::AppInstanceSummary { + app_instance_arn: self.app_instance_arn, + name: self.name, + metadata: self.metadata, + } + } + } +} +impl AppInstanceSummary { + /// Creates a new builder-style object to manufacture [`AppInstanceSummary`](crate::model::AppInstanceSummary) + pub fn builder() -> crate::model::app_instance_summary::Builder { + crate::model::app_instance_summary::Builder::default() + } +} + +///

          Summary of the details of an AppInstanceAdmin.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceAdminSummary { + ///

          The details of the AppInstanceAdmin.

          + pub admin: std::option::Option, +} +impl std::fmt::Debug for AppInstanceAdminSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceAdminSummary"); + formatter.field("admin", &self.admin); + formatter.finish() + } +} +/// See [`AppInstanceAdminSummary`](crate::model::AppInstanceAdminSummary) +pub mod app_instance_admin_summary { + /// A builder for [`AppInstanceAdminSummary`](crate::model::AppInstanceAdminSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) admin: std::option::Option, + } + impl Builder { + ///

          The details of the AppInstanceAdmin.

          + pub fn admin(mut self, input: crate::model::Identity) -> Self { + self.admin = Some(input); + self + } + pub fn set_admin(mut self, input: std::option::Option) -> Self { + self.admin = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceAdminSummary`](crate::model::AppInstanceAdminSummary) + pub fn build(self) -> crate::model::AppInstanceAdminSummary { + crate::model::AppInstanceAdminSummary { admin: self.admin } + } + } +} +impl AppInstanceAdminSummary { + /// Creates a new builder-style object to manufacture [`AppInstanceAdminSummary`](crate::model::AppInstanceAdminSummary) + pub fn builder() -> crate::model::app_instance_admin_summary::Builder { + crate::model::app_instance_admin_summary::Builder::default() + } +} + +///

          The details of a user.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Identity { + ///

          The ARN in an Identity.

          + pub arn: std::option::Option, + ///

          The name in an Identity.

          + pub name: std::option::Option, +} +impl std::fmt::Debug for Identity { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Identity"); + formatter.field("arn", &self.arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`Identity`](crate::model::Identity) +pub mod identity { + /// A builder for [`Identity`](crate::model::Identity) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) arn: std::option::Option, + pub(crate) name: std::option::Option, + } + impl Builder { + ///

          The ARN in an Identity.

          + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } + ///

          The name in an Identity.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + /// Consumes the builder and constructs a [`Identity`](crate::model::Identity) + pub fn build(self) -> crate::model::Identity { + crate::model::Identity { + arn: self.arn, + name: self.name, + } + } + } +} +impl Identity { + /// Creates a new builder-style object to manufacture [`Identity`](crate::model::Identity) + pub fn builder() -> crate::model::identity::Builder { + crate::model::identity::Builder::default() + } +} + +///

          The details of an AppInstanceUser.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceUser { + ///

          The ARN of the AppInstanceUser.

          + pub app_instance_user_arn: std::option::Option, + ///

          The name of the AppInstanceUser.

          + pub name: std::option::Option, + ///

          The metadata of the AppInstanceUser.

          + pub metadata: std::option::Option, + ///

          The time at which the AppInstanceUser was created.

          + pub created_timestamp: std::option::Option, + ///

          The time at which the AppInstanceUser was last updated.

          + pub last_updated_timestamp: std::option::Option, +} +impl std::fmt::Debug for AppInstanceUser { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceUser"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.finish() + } +} +/// See [`AppInstanceUser`](crate::model::AppInstanceUser) +pub mod app_instance_user { + /// A builder for [`AppInstanceUser`](crate::model::AppInstanceUser) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The name of the AppInstanceUser.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The metadata of the AppInstanceUser.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The time at which the AppInstanceUser was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time at which the AppInstanceUser was last updated.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceUser`](crate::model::AppInstanceUser) + pub fn build(self) -> crate::model::AppInstanceUser { + crate::model::AppInstanceUser { + app_instance_user_arn: self.app_instance_user_arn, + name: self.name, + metadata: self.metadata, + created_timestamp: self.created_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + } + } + } +} +impl AppInstanceUser { + /// Creates a new builder-style object to manufacture [`AppInstanceUser`](crate::model::AppInstanceUser) + pub fn builder() -> crate::model::app_instance_user::Builder { + crate::model::app_instance_user::Builder::default() + } +} + +///

          The details of an AppInstanceAdmin.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceAdmin { + ///

          The AppInstanceAdmin data.

          + pub admin: std::option::Option, + ///

          The ARN of the AppInstance for which the user is an administrator.

          + pub app_instance_arn: std::option::Option, + ///

          The time at which an administrator was created.

          + pub created_timestamp: std::option::Option, +} +impl std::fmt::Debug for AppInstanceAdmin { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceAdmin"); + formatter.field("admin", &self.admin); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.finish() + } +} +/// See [`AppInstanceAdmin`](crate::model::AppInstanceAdmin) +pub mod app_instance_admin { + /// A builder for [`AppInstanceAdmin`](crate::model::AppInstanceAdmin) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) admin: std::option::Option, + pub(crate) app_instance_arn: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + } + impl Builder { + ///

          The AppInstanceAdmin data.

          + pub fn admin(mut self, input: crate::model::Identity) -> Self { + self.admin = Some(input); + self + } + pub fn set_admin(mut self, input: std::option::Option) -> Self { + self.admin = input; + self + } + ///

          The ARN of the AppInstance for which the user is an administrator.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The time at which an administrator was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceAdmin`](crate::model::AppInstanceAdmin) + pub fn build(self) -> crate::model::AppInstanceAdmin { + crate::model::AppInstanceAdmin { + admin: self.admin, + app_instance_arn: self.app_instance_arn, + created_timestamp: self.created_timestamp, + } + } + } +} +impl AppInstanceAdmin { + /// Creates a new builder-style object to manufacture [`AppInstanceAdmin`](crate::model::AppInstanceAdmin) + pub fn builder() -> crate::model::app_instance_admin::Builder { + crate::model::app_instance_admin::Builder::default() + } +} + +///

          The details of an AppInstance, an instance of an Amazon Chime SDK messaging +/// application.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstance { + ///

          The ARN of the messaging instance.

          + pub app_instance_arn: std::option::Option, + ///

          The name of an AppInstance.

          + pub name: std::option::Option, + ///

          The time at which an AppInstance was created. In epoch milliseconds.

          + pub created_timestamp: std::option::Option, + ///

          The time an AppInstance was last updated. In epoch milliseconds.

          + pub last_updated_timestamp: std::option::Option, + ///

          The metadata of an AppInstance.

          + pub metadata: std::option::Option, +} +impl std::fmt::Debug for AppInstance { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstance"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`AppInstance`](crate::model::AppInstance) +pub mod app_instance { + /// A builder for [`AppInstance`](crate::model::AppInstance) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + pub(crate) metadata: std::option::Option, + } + impl Builder { + ///

          The ARN of the messaging instance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The name of an AppInstance.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The time at which an AppInstance was created. In epoch milliseconds.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time an AppInstance was last updated. In epoch milliseconds.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + ///

          The metadata of an AppInstance.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + /// Consumes the builder and constructs a [`AppInstance`](crate::model::AppInstance) + pub fn build(self) -> crate::model::AppInstance { + crate::model::AppInstance { + app_instance_arn: self.app_instance_arn, + name: self.name, + created_timestamp: self.created_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + metadata: self.metadata, + } + } + } +} +impl AppInstance { + /// Creates a new builder-style object to manufacture [`AppInstance`](crate::model::AppInstance) + pub fn builder() -> crate::model::app_instance::Builder { + crate::model::app_instance::Builder::default() + } +} + +///

          Describes a tag applied to a resource.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Tag { + ///

          The key of the tag.

          + pub key: std::option::Option, + ///

          The value of the tag.

          + pub value: std::option::Option, +} +impl std::fmt::Debug for Tag { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Tag"); + formatter.field("key", &"*** Sensitive Data Redacted ***"); + formatter.field("value", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`Tag`](crate::model::Tag) +pub mod tag { + /// A builder for [`Tag`](crate::model::Tag) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) key: std::option::Option, + pub(crate) value: std::option::Option, + } + impl Builder { + ///

          The key of the tag.

          + pub fn key(mut self, input: impl Into) -> Self { + self.key = Some(input.into()); + self + } + pub fn set_key(mut self, input: std::option::Option) -> Self { + self.key = input; + self + } + ///

          The value of the tag.

          + pub fn value(mut self, input: impl Into) -> Self { + self.value = Some(input.into()); + self + } + pub fn set_value(mut self, input: std::option::Option) -> Self { + self.value = input; + self + } + /// Consumes the builder and constructs a [`Tag`](crate::model::Tag) + pub fn build(self) -> crate::model::Tag { + crate::model::Tag { + key: self.key, + value: self.value, + } + } + } +} +impl Tag { + /// Creates a new builder-style object to manufacture [`Tag`](crate::model::Tag) + pub fn builder() -> crate::model::tag::Builder { + crate::model::tag::Builder::default() + } +} diff --git a/sdk/chimesdkidentity/src/operation.rs b/sdk/chimesdkidentity/src/operation.rs new file mode 100644 index 000000000000..1c9b74bbcef5 --- /dev/null +++ b/sdk/chimesdkidentity/src/operation.rs @@ -0,0 +1,471 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

          Creates an Amazon Chime SDK messaging AppInstance under an AWS account. +/// Only SDK messaging customers use this API. CreateAppInstance supports +/// idempotency behavior as described in the AWS API Standard.

          +///

          identity

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateAppInstance { + _private: (), +} +impl CreateAppInstance { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceInput`](crate::input::CreateAppInstanceInput) + pub fn builder() -> crate::input::create_app_instance_input::Builder { + crate::input::create_app_instance_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateAppInstance { + type Output = std::result::Result< + crate::output::CreateAppInstanceOutput, + crate::error::CreateAppInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_app_instance_error(response) + } else { + crate::operation_deser::parse_create_app_instance_response(response) + } + } +} + +///

          Promotes an AppInstanceUser to an AppInstanceAdmin. The +/// promoted user can perform the following actions.

          +///
            +///
          • +///

            +/// ChannelModerator actions across all channels in the +/// AppInstance.

            +///
          • +///
          • +///

            +/// DeleteChannelMessage actions.

            +///
          • +///
          +///

          Only an AppInstanceUser can be promoted to an AppInstanceAdmin +/// role.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateAppInstanceAdmin { + _private: (), +} +impl CreateAppInstanceAdmin { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceAdminInput`](crate::input::CreateAppInstanceAdminInput) + pub fn builder() -> crate::input::create_app_instance_admin_input::Builder { + crate::input::create_app_instance_admin_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateAppInstanceAdmin { + type Output = std::result::Result< + crate::output::CreateAppInstanceAdminOutput, + crate::error::CreateAppInstanceAdminError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_app_instance_admin_error(response) + } else { + crate::operation_deser::parse_create_app_instance_admin_response(response) + } + } +} + +///

          Creates a user under an Amazon Chime AppInstance. The request consists of a +/// unique appInstanceUserId and Name for that user.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateAppInstanceUser { + _private: (), +} +impl CreateAppInstanceUser { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceUserInput`](crate::input::CreateAppInstanceUserInput) + pub fn builder() -> crate::input::create_app_instance_user_input::Builder { + crate::input::create_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateAppInstanceUser { + type Output = std::result::Result< + crate::output::CreateAppInstanceUserOutput, + crate::error::CreateAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_app_instance_user_error(response) + } else { + crate::operation_deser::parse_create_app_instance_user_response(response) + } + } +} + +///

          Deletes an AppInstance and all associated data asynchronously.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteAppInstance { + _private: (), +} +impl DeleteAppInstance { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceInput`](crate::input::DeleteAppInstanceInput) + pub fn builder() -> crate::input::delete_app_instance_input::Builder { + crate::input::delete_app_instance_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteAppInstance { + type Output = std::result::Result< + crate::output::DeleteAppInstanceOutput, + crate::error::DeleteAppInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_app_instance_error(response) + } else { + crate::operation_deser::parse_delete_app_instance_response(response) + } + } +} + +///

          Demotes an AppInstanceAdmin to an AppInstanceUser. This action +/// does not delete the user.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteAppInstanceAdmin { + _private: (), +} +impl DeleteAppInstanceAdmin { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceAdminInput`](crate::input::DeleteAppInstanceAdminInput) + pub fn builder() -> crate::input::delete_app_instance_admin_input::Builder { + crate::input::delete_app_instance_admin_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteAppInstanceAdmin { + type Output = std::result::Result< + crate::output::DeleteAppInstanceAdminOutput, + crate::error::DeleteAppInstanceAdminError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_app_instance_admin_error(response) + } else { + crate::operation_deser::parse_delete_app_instance_admin_response(response) + } + } +} + +///

          Deletes an AppInstanceUser.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteAppInstanceUser { + _private: (), +} +impl DeleteAppInstanceUser { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceUserInput`](crate::input::DeleteAppInstanceUserInput) + pub fn builder() -> crate::input::delete_app_instance_user_input::Builder { + crate::input::delete_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteAppInstanceUser { + type Output = std::result::Result< + crate::output::DeleteAppInstanceUserOutput, + crate::error::DeleteAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_app_instance_user_error(response) + } else { + crate::operation_deser::parse_delete_app_instance_user_response(response) + } + } +} + +///

          Returns the full details of an AppInstance.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeAppInstance { + _private: (), +} +impl DescribeAppInstance { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceInput`](crate::input::DescribeAppInstanceInput) + pub fn builder() -> crate::input::describe_app_instance_input::Builder { + crate::input::describe_app_instance_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeAppInstance { + type Output = std::result::Result< + crate::output::DescribeAppInstanceOutput, + crate::error::DescribeAppInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_app_instance_error(response) + } else { + crate::operation_deser::parse_describe_app_instance_response(response) + } + } +} + +///

          Returns the full details of an AppInstanceAdmin.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeAppInstanceAdmin { + _private: (), +} +impl DescribeAppInstanceAdmin { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceAdminInput`](crate::input::DescribeAppInstanceAdminInput) + pub fn builder() -> crate::input::describe_app_instance_admin_input::Builder { + crate::input::describe_app_instance_admin_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeAppInstanceAdmin { + type Output = std::result::Result< + crate::output::DescribeAppInstanceAdminOutput, + crate::error::DescribeAppInstanceAdminError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_app_instance_admin_error(response) + } else { + crate::operation_deser::parse_describe_app_instance_admin_response(response) + } + } +} + +///

          Returns the full details of an AppInstanceUser.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeAppInstanceUser { + _private: (), +} +impl DescribeAppInstanceUser { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceUserInput`](crate::input::DescribeAppInstanceUserInput) + pub fn builder() -> crate::input::describe_app_instance_user_input::Builder { + crate::input::describe_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeAppInstanceUser { + type Output = std::result::Result< + crate::output::DescribeAppInstanceUserOutput, + crate::error::DescribeAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_app_instance_user_error(response) + } else { + crate::operation_deser::parse_describe_app_instance_user_response(response) + } + } +} + +///

          Gets the retention settings for an AppInstance.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetAppInstanceRetentionSettings { + _private: (), +} +impl GetAppInstanceRetentionSettings { + /// Creates a new builder-style object to manufacture [`GetAppInstanceRetentionSettingsInput`](crate::input::GetAppInstanceRetentionSettingsInput) + pub fn builder() -> crate::input::get_app_instance_retention_settings_input::Builder { + crate::input::get_app_instance_retention_settings_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetAppInstanceRetentionSettings { + type Output = std::result::Result< + crate::output::GetAppInstanceRetentionSettingsOutput, + crate::error::GetAppInstanceRetentionSettingsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_app_instance_retention_settings_error(response) + } else { + crate::operation_deser::parse_get_app_instance_retention_settings_response(response) + } + } +} + +///

          Returns a list of the administrators in the AppInstance.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAppInstanceAdmins { + _private: (), +} +impl ListAppInstanceAdmins { + /// Creates a new builder-style object to manufacture [`ListAppInstanceAdminsInput`](crate::input::ListAppInstanceAdminsInput) + pub fn builder() -> crate::input::list_app_instance_admins_input::Builder { + crate::input::list_app_instance_admins_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAppInstanceAdmins { + type Output = std::result::Result< + crate::output::ListAppInstanceAdminsOutput, + crate::error::ListAppInstanceAdminsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_app_instance_admins_error(response) + } else { + crate::operation_deser::parse_list_app_instance_admins_response(response) + } + } +} + +///

          Lists all Amazon Chime AppInstances created under a single AWS +/// account.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAppInstances { + _private: (), +} +impl ListAppInstances { + /// Creates a new builder-style object to manufacture [`ListAppInstancesInput`](crate::input::ListAppInstancesInput) + pub fn builder() -> crate::input::list_app_instances_input::Builder { + crate::input::list_app_instances_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAppInstances { + type Output = std::result::Result< + crate::output::ListAppInstancesOutput, + crate::error::ListAppInstancesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_app_instances_error(response) + } else { + crate::operation_deser::parse_list_app_instances_response(response) + } + } +} + +///

          List all AppInstanceUsers created under a single +/// AppInstance.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAppInstanceUsers { + _private: (), +} +impl ListAppInstanceUsers { + /// Creates a new builder-style object to manufacture [`ListAppInstanceUsersInput`](crate::input::ListAppInstanceUsersInput) + pub fn builder() -> crate::input::list_app_instance_users_input::Builder { + crate::input::list_app_instance_users_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAppInstanceUsers { + type Output = std::result::Result< + crate::output::ListAppInstanceUsersOutput, + crate::error::ListAppInstanceUsersError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_app_instance_users_error(response) + } else { + crate::operation_deser::parse_list_app_instance_users_response(response) + } + } +} + +///

          Sets the amount of time in days that a given AppInstance retains +/// data.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutAppInstanceRetentionSettings { + _private: (), +} +impl PutAppInstanceRetentionSettings { + /// Creates a new builder-style object to manufacture [`PutAppInstanceRetentionSettingsInput`](crate::input::PutAppInstanceRetentionSettingsInput) + pub fn builder() -> crate::input::put_app_instance_retention_settings_input::Builder { + crate::input::put_app_instance_retention_settings_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutAppInstanceRetentionSettings { + type Output = std::result::Result< + crate::output::PutAppInstanceRetentionSettingsOutput, + crate::error::PutAppInstanceRetentionSettingsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_put_app_instance_retention_settings_error(response) + } else { + crate::operation_deser::parse_put_app_instance_retention_settings_response(response) + } + } +} + +///

          Updates AppInstance metadata.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateAppInstance { + _private: (), +} +impl UpdateAppInstance { + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceInput`](crate::input::UpdateAppInstanceInput) + pub fn builder() -> crate::input::update_app_instance_input::Builder { + crate::input::update_app_instance_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateAppInstance { + type Output = std::result::Result< + crate::output::UpdateAppInstanceOutput, + crate::error::UpdateAppInstanceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_app_instance_error(response) + } else { + crate::operation_deser::parse_update_app_instance_response(response) + } + } +} + +///

          Updates the details of an AppInstanceUser. You can update names and +/// metadata.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateAppInstanceUser { + _private: (), +} +impl UpdateAppInstanceUser { + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceUserInput`](crate::input::UpdateAppInstanceUserInput) + pub fn builder() -> crate::input::update_app_instance_user_input::Builder { + crate::input::update_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateAppInstanceUser { + type Output = std::result::Result< + crate::output::UpdateAppInstanceUserOutput, + crate::error::UpdateAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_app_instance_user_error(response) + } else { + crate::operation_deser::parse_update_app_instance_user_response(response) + } + } +} diff --git a/sdk/chimesdkidentity/src/operation_deser.rs b/sdk/chimesdkidentity/src/operation_deser.rs new file mode 100644 index 000000000000..6f23a03dfc22 --- /dev/null +++ b/sdk/chimesdkidentity/src/operation_deser.rs @@ -0,0 +1,2920 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateAppInstanceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateAppInstanceError { + meta: generic, + kind: crate::error::CreateAppInstanceErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateAppInstanceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_app_instance_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_app_instance( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_admin_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateAppInstanceAdminOutput, + crate::error::CreateAppInstanceAdminError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateAppInstanceAdminError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateAppInstanceAdminError { + meta: generic, + kind: crate::error::CreateAppInstanceAdminErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateAppInstanceAdminError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_admin_response( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateAppInstanceAdminOutput, + crate::error::CreateAppInstanceAdminError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_app_instance_admin_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_app_instance_admin( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceAdminError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateAppInstanceUserOutput, + crate::error::CreateAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateAppInstanceUserError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateAppInstanceUserError { + meta: generic, + kind: crate::error::CreateAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateAppInstanceUserError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateAppInstanceUserOutput, + crate::error::CreateAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_app_instance_user_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteAppInstanceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteAppInstanceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteAppInstanceError { + meta: generic, + kind: crate::error::DeleteAppInstanceErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteAppInstanceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_app_instance_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_admin_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteAppInstanceAdminOutput, + crate::error::DeleteAppInstanceAdminError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteAppInstanceAdminError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteAppInstanceAdminError { + meta: generic, + kind: crate::error::DeleteAppInstanceAdminErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteAppInstanceAdminError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_admin_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteAppInstanceAdminOutput, + crate::error::DeleteAppInstanceAdminError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_app_instance_admin_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteAppInstanceUserOutput, + crate::error::DeleteAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteAppInstanceUserError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteAppInstanceUserError { + meta: generic, + kind: crate::error::DeleteAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteAppInstanceUserError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteAppInstanceUserOutput, + crate::error::DeleteAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_app_instance_user_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceOutput, + crate::error::DescribeAppInstanceError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeAppInstanceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeAppInstanceError { + meta: generic, + kind: crate::error::DescribeAppInstanceErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DescribeAppInstanceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceOutput, + crate::error::DescribeAppInstanceError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_app_instance_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_app_instance( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_admin_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceAdminOutput, + crate::error::DescribeAppInstanceAdminError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeAppInstanceAdminError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeAppInstanceAdminError { + meta: generic, + kind: crate::error::DescribeAppInstanceAdminErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::DescribeAppInstanceAdminError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_admin_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceAdminOutput, + crate::error::DescribeAppInstanceAdminError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_app_instance_admin_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_app_instance_admin( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceAdminError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceUserOutput, + crate::error::DescribeAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeAppInstanceUserError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeAppInstanceUserError { + meta: generic, + kind: crate::error::DescribeAppInstanceUserErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::DescribeAppInstanceUserError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAppInstanceUserOutput, + crate::error::DescribeAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_app_instance_user_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_app_instance_retention_settings_error( + response: &http::Response, +) -> std::result::Result< + crate::output::GetAppInstanceRetentionSettingsOutput, + crate::error::GetAppInstanceRetentionSettingsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::GetAppInstanceRetentionSettingsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: crate::error::GetAppInstanceRetentionSettingsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: crate::error::GetAppInstanceRetentionSettingsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => { + crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::GetAppInstanceRetentionSettingsErrorKind::ServiceFailureException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ServiceUnavailableException" => crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::GetAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + "ThrottledClientException" => { + crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::GetAppInstanceRetentionSettingsErrorKind::ThrottledClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "UnauthorizedClientException" => crate::error::GetAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::GetAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + _ => crate::error::GetAppInstanceRetentionSettingsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_app_instance_retention_settings_response( + response: &http::Response, +) -> std::result::Result< + crate::output::GetAppInstanceRetentionSettingsOutput, + crate::error::GetAppInstanceRetentionSettingsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::get_app_instance_retention_settings_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_get_app_instance_retention_settings( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instance_admins_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAppInstanceAdminsOutput, + crate::error::ListAppInstanceAdminsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAppInstanceAdminsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListAppInstanceAdminsError { + meta: generic, + kind: crate::error::ListAppInstanceAdminsErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListAppInstanceAdminsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instance_admins_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAppInstanceAdminsOutput, + crate::error::ListAppInstanceAdminsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_app_instance_admins_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_app_instance_admins( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceAdminsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instances_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAppInstancesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListAppInstancesError { + meta: generic, + kind: crate::error::ListAppInstancesErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListAppInstancesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instances_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_app_instances_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_list_app_instances(response.body().as_ref(), output) + .map_err(crate::error::ListAppInstancesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instance_users_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAppInstanceUsersOutput, + crate::error::ListAppInstanceUsersError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAppInstanceUsersError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListAppInstanceUsersError { + meta: generic, + kind: crate::error::ListAppInstanceUsersErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListAppInstanceUsersError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_app_instance_users_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAppInstanceUsersOutput, + crate::error::ListAppInstanceUsersError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_app_instance_users_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_app_instance_users( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAppInstanceUsersError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_put_app_instance_retention_settings_error( + response: &http::Response, +) -> std::result::Result< + crate::output::PutAppInstanceRetentionSettingsOutput, + crate::error::PutAppInstanceRetentionSettingsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::PutAppInstanceRetentionSettingsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: crate::error::PutAppInstanceRetentionSettingsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: crate::error::PutAppInstanceRetentionSettingsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => { + crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::PutAppInstanceRetentionSettingsErrorKind::ServiceFailureException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ServiceUnavailableException" => crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::PutAppInstanceRetentionSettingsErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + "ThrottledClientException" => { + crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::PutAppInstanceRetentionSettingsErrorKind::ThrottledClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "UnauthorizedClientException" => crate::error::PutAppInstanceRetentionSettingsError { + meta: generic, + kind: + crate::error::PutAppInstanceRetentionSettingsErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + _ => crate::error::PutAppInstanceRetentionSettingsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_put_app_instance_retention_settings_response( + response: &http::Response, +) -> std::result::Result< + crate::output::PutAppInstanceRetentionSettingsOutput, + crate::error::PutAppInstanceRetentionSettingsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::put_app_instance_retention_settings_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_put_app_instance_retention_settings( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutAppInstanceRetentionSettingsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_app_instance_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateAppInstanceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::UpdateAppInstanceError { + meta: generic, + kind: crate::error::UpdateAppInstanceErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::UpdateAppInstanceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_app_instance_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_app_instance_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_app_instance( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateAppInstanceUserOutput, + crate::error::UpdateAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateAppInstanceUserError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::UpdateAppInstanceUserError { + meta: generic, + kind: crate::error::UpdateAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::UpdateAppInstanceUserError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateAppInstanceUserOutput, + crate::error::UpdateAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_app_instance_user_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAppInstanceUserError::unhandled)?; + output.build() + }) +} diff --git a/sdk/chimesdkidentity/src/operation_ser.rs b/sdk/chimesdkidentity/src/operation_ser.rs new file mode 100644 index 000000000000..d980570ab499 --- /dev/null +++ b/sdk/chimesdkidentity/src/operation_ser.rs @@ -0,0 +1,63 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_create_app_instance( + input: &crate::input::CreateAppInstanceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_app_instance_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_app_instance_admin( + input: &crate::input::CreateAppInstanceAdminInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_app_instance_admin_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_app_instance_user( + input: &crate::input::CreateAppInstanceUserInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_app_instance_user_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_put_app_instance_retention_settings( + input: &crate::input::PutAppInstanceRetentionSettingsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_app_instance_retention_settings_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_app_instance( + input: &crate::input::UpdateAppInstanceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_app_instance_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_app_instance_user( + input: &crate::input::UpdateAppInstanceUserInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_app_instance_user_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} diff --git a/sdk/chimesdkidentity/src/output.rs b/sdk/chimesdkidentity/src/output.rs new file mode 100644 index 000000000000..cdf6092ec540 --- /dev/null +++ b/sdk/chimesdkidentity/src/output.rs @@ -0,0 +1,899 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAppInstanceUserOutput { + ///

          The ARN of the AppInstanceUser.

          + pub app_instance_user_arn: std::option::Option, +} +impl std::fmt::Debug for UpdateAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAppInstanceUserOutput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.finish() + } +} +/// See [`UpdateAppInstanceUserOutput`](crate::output::UpdateAppInstanceUserOutput) +pub mod update_app_instance_user_output { + /// A builder for [`UpdateAppInstanceUserOutput`](crate::output::UpdateAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUser.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + /// Consumes the builder and constructs a [`UpdateAppInstanceUserOutput`](crate::output::UpdateAppInstanceUserOutput) + pub fn build(self) -> crate::output::UpdateAppInstanceUserOutput { + crate::output::UpdateAppInstanceUserOutput { + app_instance_user_arn: self.app_instance_user_arn, + } + } + } +} +impl UpdateAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceUserOutput`](crate::output::UpdateAppInstanceUserOutput) + pub fn builder() -> crate::output::update_app_instance_user_output::Builder { + crate::output::update_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAppInstanceOutput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for UpdateAppInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAppInstanceOutput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} +/// See [`UpdateAppInstanceOutput`](crate::output::UpdateAppInstanceOutput) +pub mod update_app_instance_output { + /// A builder for [`UpdateAppInstanceOutput`](crate::output::UpdateAppInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`UpdateAppInstanceOutput`](crate::output::UpdateAppInstanceOutput) + pub fn build(self) -> crate::output::UpdateAppInstanceOutput { + crate::output::UpdateAppInstanceOutput { + app_instance_arn: self.app_instance_arn, + } + } + } +} +impl UpdateAppInstanceOutput { + /// Creates a new builder-style object to manufacture [`UpdateAppInstanceOutput`](crate::output::UpdateAppInstanceOutput) + pub fn builder() -> crate::output::update_app_instance_output::Builder { + crate::output::update_app_instance_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutAppInstanceRetentionSettingsOutput { + ///

          The time in days to retain data. Data type: number.

          + pub app_instance_retention_settings: + std::option::Option, + ///

          The time at which the API deletes data.

          + pub initiate_deletion_timestamp: std::option::Option, +} +impl std::fmt::Debug for PutAppInstanceRetentionSettingsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutAppInstanceRetentionSettingsOutput"); + formatter.field( + "app_instance_retention_settings", + &self.app_instance_retention_settings, + ); + formatter.field( + "initiate_deletion_timestamp", + &self.initiate_deletion_timestamp, + ); + formatter.finish() + } +} +/// See [`PutAppInstanceRetentionSettingsOutput`](crate::output::PutAppInstanceRetentionSettingsOutput) +pub mod put_app_instance_retention_settings_output { + /// A builder for [`PutAppInstanceRetentionSettingsOutput`](crate::output::PutAppInstanceRetentionSettingsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_retention_settings: + std::option::Option, + pub(crate) initiate_deletion_timestamp: std::option::Option, + } + impl Builder { + ///

          The time in days to retain data. Data type: number.

          + pub fn app_instance_retention_settings( + mut self, + input: crate::model::AppInstanceRetentionSettings, + ) -> Self { + self.app_instance_retention_settings = Some(input); + self + } + pub fn set_app_instance_retention_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_retention_settings = input; + self + } + ///

          The time at which the API deletes data.

          + pub fn initiate_deletion_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.initiate_deletion_timestamp = Some(input); + self + } + pub fn set_initiate_deletion_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.initiate_deletion_timestamp = input; + self + } + /// Consumes the builder and constructs a [`PutAppInstanceRetentionSettingsOutput`](crate::output::PutAppInstanceRetentionSettingsOutput) + pub fn build(self) -> crate::output::PutAppInstanceRetentionSettingsOutput { + crate::output::PutAppInstanceRetentionSettingsOutput { + app_instance_retention_settings: self.app_instance_retention_settings, + initiate_deletion_timestamp: self.initiate_deletion_timestamp, + } + } + } +} +impl PutAppInstanceRetentionSettingsOutput { + /// Creates a new builder-style object to manufacture [`PutAppInstanceRetentionSettingsOutput`](crate::output::PutAppInstanceRetentionSettingsOutput) + pub fn builder() -> crate::output::put_app_instance_retention_settings_output::Builder { + crate::output::put_app_instance_retention_settings_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstanceUsersOutput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The information for each requested AppInstanceUser.

          + pub app_instance_users: + std::option::Option>, + ///

          The token passed by previous API calls until all requested users are returned.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstanceUsersOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstanceUsersOutput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("app_instance_users", &self.app_instance_users); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListAppInstanceUsersOutput`](crate::output::ListAppInstanceUsersOutput) +pub mod list_app_instance_users_output { + /// A builder for [`ListAppInstanceUsersOutput`](crate::output::ListAppInstanceUsersOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) app_instance_users: + std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + pub fn app_instance_users( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.app_instance_users.unwrap_or_default(); + v.push(input.into()); + self.app_instance_users = Some(v); + self + } + pub fn set_app_instance_users( + mut self, + input: std::option::Option>, + ) -> Self { + self.app_instance_users = input; + self + } + ///

          The token passed by previous API calls until all requested users are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstanceUsersOutput`](crate::output::ListAppInstanceUsersOutput) + pub fn build(self) -> crate::output::ListAppInstanceUsersOutput { + crate::output::ListAppInstanceUsersOutput { + app_instance_arn: self.app_instance_arn, + app_instance_users: self.app_instance_users, + next_token: self.next_token, + } + } + } +} +impl ListAppInstanceUsersOutput { + /// Creates a new builder-style object to manufacture [`ListAppInstanceUsersOutput`](crate::output::ListAppInstanceUsersOutput) + pub fn builder() -> crate::output::list_app_instance_users_output::Builder { + crate::output::list_app_instance_users_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstancesOutput { + ///

          The information for each AppInstance.

          + pub app_instances: std::option::Option>, + ///

          The token passed by previous API requests until the maximum number of + /// AppInstances is reached.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstancesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstancesOutput"); + formatter.field("app_instances", &self.app_instances); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListAppInstancesOutput`](crate::output::ListAppInstancesOutput) +pub mod list_app_instances_output { + /// A builder for [`ListAppInstancesOutput`](crate::output::ListAppInstancesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instances: + std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn app_instances(mut self, input: impl Into) -> Self { + let mut v = self.app_instances.unwrap_or_default(); + v.push(input.into()); + self.app_instances = Some(v); + self + } + pub fn set_app_instances( + mut self, + input: std::option::Option>, + ) -> Self { + self.app_instances = input; + self + } + ///

          The token passed by previous API requests until the maximum number of + /// AppInstances is reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstancesOutput`](crate::output::ListAppInstancesOutput) + pub fn build(self) -> crate::output::ListAppInstancesOutput { + crate::output::ListAppInstancesOutput { + app_instances: self.app_instances, + next_token: self.next_token, + } + } + } +} +impl ListAppInstancesOutput { + /// Creates a new builder-style object to manufacture [`ListAppInstancesOutput`](crate::output::ListAppInstancesOutput) + pub fn builder() -> crate::output::list_app_instances_output::Builder { + crate::output::list_app_instances_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAppInstanceAdminsOutput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The information for each administrator.

          + pub app_instance_admins: + std::option::Option>, + ///

          The token returned from previous API requests until the number of administrators is + /// reached.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListAppInstanceAdminsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAppInstanceAdminsOutput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("app_instance_admins", &self.app_instance_admins); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListAppInstanceAdminsOutput`](crate::output::ListAppInstanceAdminsOutput) +pub mod list_app_instance_admins_output { + /// A builder for [`ListAppInstanceAdminsOutput`](crate::output::ListAppInstanceAdminsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) app_instance_admins: + std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + pub fn app_instance_admins( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.app_instance_admins.unwrap_or_default(); + v.push(input.into()); + self.app_instance_admins = Some(v); + self + } + pub fn set_app_instance_admins( + mut self, + input: std::option::Option>, + ) -> Self { + self.app_instance_admins = input; + self + } + ///

          The token returned from previous API requests until the number of administrators is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListAppInstanceAdminsOutput`](crate::output::ListAppInstanceAdminsOutput) + pub fn build(self) -> crate::output::ListAppInstanceAdminsOutput { + crate::output::ListAppInstanceAdminsOutput { + app_instance_arn: self.app_instance_arn, + app_instance_admins: self.app_instance_admins, + next_token: self.next_token, + } + } + } +} +impl ListAppInstanceAdminsOutput { + /// Creates a new builder-style object to manufacture [`ListAppInstanceAdminsOutput`](crate::output::ListAppInstanceAdminsOutput) + pub fn builder() -> crate::output::list_app_instance_admins_output::Builder { + crate::output::list_app_instance_admins_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetAppInstanceRetentionSettingsOutput { + ///

          The retention settings for the AppInstance.

          + pub app_instance_retention_settings: + std::option::Option, + ///

          The timestamp representing the time at which the specified items are retained, in Epoch + /// Seconds.

          + pub initiate_deletion_timestamp: std::option::Option, +} +impl std::fmt::Debug for GetAppInstanceRetentionSettingsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetAppInstanceRetentionSettingsOutput"); + formatter.field( + "app_instance_retention_settings", + &self.app_instance_retention_settings, + ); + formatter.field( + "initiate_deletion_timestamp", + &self.initiate_deletion_timestamp, + ); + formatter.finish() + } +} +/// See [`GetAppInstanceRetentionSettingsOutput`](crate::output::GetAppInstanceRetentionSettingsOutput) +pub mod get_app_instance_retention_settings_output { + /// A builder for [`GetAppInstanceRetentionSettingsOutput`](crate::output::GetAppInstanceRetentionSettingsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_retention_settings: + std::option::Option, + pub(crate) initiate_deletion_timestamp: std::option::Option, + } + impl Builder { + ///

          The retention settings for the AppInstance.

          + pub fn app_instance_retention_settings( + mut self, + input: crate::model::AppInstanceRetentionSettings, + ) -> Self { + self.app_instance_retention_settings = Some(input); + self + } + pub fn set_app_instance_retention_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_retention_settings = input; + self + } + ///

          The timestamp representing the time at which the specified items are retained, in Epoch + /// Seconds.

          + pub fn initiate_deletion_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.initiate_deletion_timestamp = Some(input); + self + } + pub fn set_initiate_deletion_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.initiate_deletion_timestamp = input; + self + } + /// Consumes the builder and constructs a [`GetAppInstanceRetentionSettingsOutput`](crate::output::GetAppInstanceRetentionSettingsOutput) + pub fn build(self) -> crate::output::GetAppInstanceRetentionSettingsOutput { + crate::output::GetAppInstanceRetentionSettingsOutput { + app_instance_retention_settings: self.app_instance_retention_settings, + initiate_deletion_timestamp: self.initiate_deletion_timestamp, + } + } + } +} +impl GetAppInstanceRetentionSettingsOutput { + /// Creates a new builder-style object to manufacture [`GetAppInstanceRetentionSettingsOutput`](crate::output::GetAppInstanceRetentionSettingsOutput) + pub fn builder() -> crate::output::get_app_instance_retention_settings_output::Builder { + crate::output::get_app_instance_retention_settings_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceUserOutput { + ///

          The name of the AppInstanceUser.

          + pub app_instance_user: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceUserOutput"); + formatter.field("app_instance_user", &self.app_instance_user); + formatter.finish() + } +} +/// See [`DescribeAppInstanceUserOutput`](crate::output::DescribeAppInstanceUserOutput) +pub mod describe_app_instance_user_output { + /// A builder for [`DescribeAppInstanceUserOutput`](crate::output::DescribeAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user: std::option::Option, + } + impl Builder { + ///

          The name of the AppInstanceUser.

          + pub fn app_instance_user(mut self, input: crate::model::AppInstanceUser) -> Self { + self.app_instance_user = Some(input); + self + } + pub fn set_app_instance_user( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceUserOutput`](crate::output::DescribeAppInstanceUserOutput) + pub fn build(self) -> crate::output::DescribeAppInstanceUserOutput { + crate::output::DescribeAppInstanceUserOutput { + app_instance_user: self.app_instance_user, + } + } + } +} +impl DescribeAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceUserOutput`](crate::output::DescribeAppInstanceUserOutput) + pub fn builder() -> crate::output::describe_app_instance_user_output::Builder { + crate::output::describe_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceAdminOutput { + ///

          The ARN and name of the AppInstanceUser, the ARN of the + /// AppInstance, and the created and last-updated timestamps. All timestamps + /// use epoch milliseconds.

          + pub app_instance_admin: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceAdminOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceAdminOutput"); + formatter.field("app_instance_admin", &self.app_instance_admin); + formatter.finish() + } +} +/// See [`DescribeAppInstanceAdminOutput`](crate::output::DescribeAppInstanceAdminOutput) +pub mod describe_app_instance_admin_output { + /// A builder for [`DescribeAppInstanceAdminOutput`](crate::output::DescribeAppInstanceAdminOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_admin: std::option::Option, + } + impl Builder { + ///

          The ARN and name of the AppInstanceUser, the ARN of the + /// AppInstance, and the created and last-updated timestamps. All timestamps + /// use epoch milliseconds.

          + pub fn app_instance_admin(mut self, input: crate::model::AppInstanceAdmin) -> Self { + self.app_instance_admin = Some(input); + self + } + pub fn set_app_instance_admin( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_admin = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceAdminOutput`](crate::output::DescribeAppInstanceAdminOutput) + pub fn build(self) -> crate::output::DescribeAppInstanceAdminOutput { + crate::output::DescribeAppInstanceAdminOutput { + app_instance_admin: self.app_instance_admin, + } + } + } +} +impl DescribeAppInstanceAdminOutput { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceAdminOutput`](crate::output::DescribeAppInstanceAdminOutput) + pub fn builder() -> crate::output::describe_app_instance_admin_output::Builder { + crate::output::describe_app_instance_admin_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAppInstanceOutput { + ///

          The ARN, metadata, created and last-updated timestamps, and the name of the + /// AppInstance. All timestamps use epoch milliseconds.

          + pub app_instance: std::option::Option, +} +impl std::fmt::Debug for DescribeAppInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAppInstanceOutput"); + formatter.field("app_instance", &self.app_instance); + formatter.finish() + } +} +/// See [`DescribeAppInstanceOutput`](crate::output::DescribeAppInstanceOutput) +pub mod describe_app_instance_output { + /// A builder for [`DescribeAppInstanceOutput`](crate::output::DescribeAppInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance: std::option::Option, + } + impl Builder { + ///

          The ARN, metadata, created and last-updated timestamps, and the name of the + /// AppInstance. All timestamps use epoch milliseconds.

          + pub fn app_instance(mut self, input: crate::model::AppInstance) -> Self { + self.app_instance = Some(input); + self + } + pub fn set_app_instance( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance = input; + self + } + /// Consumes the builder and constructs a [`DescribeAppInstanceOutput`](crate::output::DescribeAppInstanceOutput) + pub fn build(self) -> crate::output::DescribeAppInstanceOutput { + crate::output::DescribeAppInstanceOutput { + app_instance: self.app_instance, + } + } + } +} +impl DescribeAppInstanceOutput { + /// Creates a new builder-style object to manufacture [`DescribeAppInstanceOutput`](crate::output::DescribeAppInstanceOutput) + pub fn builder() -> crate::output::describe_app_instance_output::Builder { + crate::output::describe_app_instance_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceUserOutput {} +impl std::fmt::Debug for DeleteAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceUserOutput"); + formatter.finish() + } +} +/// See [`DeleteAppInstanceUserOutput`](crate::output::DeleteAppInstanceUserOutput) +pub mod delete_app_instance_user_output { + /// A builder for [`DeleteAppInstanceUserOutput`](crate::output::DeleteAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteAppInstanceUserOutput`](crate::output::DeleteAppInstanceUserOutput) + pub fn build(self) -> crate::output::DeleteAppInstanceUserOutput { + crate::output::DeleteAppInstanceUserOutput {} + } + } +} +impl DeleteAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceUserOutput`](crate::output::DeleteAppInstanceUserOutput) + pub fn builder() -> crate::output::delete_app_instance_user_output::Builder { + crate::output::delete_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceAdminOutput {} +impl std::fmt::Debug for DeleteAppInstanceAdminOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceAdminOutput"); + formatter.finish() + } +} +/// See [`DeleteAppInstanceAdminOutput`](crate::output::DeleteAppInstanceAdminOutput) +pub mod delete_app_instance_admin_output { + /// A builder for [`DeleteAppInstanceAdminOutput`](crate::output::DeleteAppInstanceAdminOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteAppInstanceAdminOutput`](crate::output::DeleteAppInstanceAdminOutput) + pub fn build(self) -> crate::output::DeleteAppInstanceAdminOutput { + crate::output::DeleteAppInstanceAdminOutput {} + } + } +} +impl DeleteAppInstanceAdminOutput { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceAdminOutput`](crate::output::DeleteAppInstanceAdminOutput) + pub fn builder() -> crate::output::delete_app_instance_admin_output::Builder { + crate::output::delete_app_instance_admin_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteAppInstanceOutput {} +impl std::fmt::Debug for DeleteAppInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteAppInstanceOutput"); + formatter.finish() + } +} +/// See [`DeleteAppInstanceOutput`](crate::output::DeleteAppInstanceOutput) +pub mod delete_app_instance_output { + /// A builder for [`DeleteAppInstanceOutput`](crate::output::DeleteAppInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteAppInstanceOutput`](crate::output::DeleteAppInstanceOutput) + pub fn build(self) -> crate::output::DeleteAppInstanceOutput { + crate::output::DeleteAppInstanceOutput {} + } + } +} +impl DeleteAppInstanceOutput { + /// Creates a new builder-style object to manufacture [`DeleteAppInstanceOutput`](crate::output::DeleteAppInstanceOutput) + pub fn builder() -> crate::output::delete_app_instance_output::Builder { + crate::output::delete_app_instance_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceUserOutput { + ///

          The user's ARN.

          + pub app_instance_user_arn: std::option::Option, +} +impl std::fmt::Debug for CreateAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceUserOutput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.finish() + } +} +/// See [`CreateAppInstanceUserOutput`](crate::output::CreateAppInstanceUserOutput) +pub mod create_app_instance_user_output { + /// A builder for [`CreateAppInstanceUserOutput`](crate::output::CreateAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + } + impl Builder { + ///

          The user's ARN.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceUserOutput`](crate::output::CreateAppInstanceUserOutput) + pub fn build(self) -> crate::output::CreateAppInstanceUserOutput { + crate::output::CreateAppInstanceUserOutput { + app_instance_user_arn: self.app_instance_user_arn, + } + } + } +} +impl CreateAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceUserOutput`](crate::output::CreateAppInstanceUserOutput) + pub fn builder() -> crate::output::create_app_instance_user_output::Builder { + crate::output::create_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceAdminOutput { + ///

          The name and ARN of the admin for the AppInstance.

          + pub app_instance_admin: std::option::Option, + ///

          The ARN of the of the admin for the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for CreateAppInstanceAdminOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceAdminOutput"); + formatter.field("app_instance_admin", &self.app_instance_admin); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} +/// See [`CreateAppInstanceAdminOutput`](crate::output::CreateAppInstanceAdminOutput) +pub mod create_app_instance_admin_output { + /// A builder for [`CreateAppInstanceAdminOutput`](crate::output::CreateAppInstanceAdminOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_admin: std::option::Option, + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The name and ARN of the admin for the AppInstance.

          + pub fn app_instance_admin(mut self, input: crate::model::Identity) -> Self { + self.app_instance_admin = Some(input); + self + } + pub fn set_app_instance_admin( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_admin = input; + self + } + ///

          The ARN of the of the admin for the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceAdminOutput`](crate::output::CreateAppInstanceAdminOutput) + pub fn build(self) -> crate::output::CreateAppInstanceAdminOutput { + crate::output::CreateAppInstanceAdminOutput { + app_instance_admin: self.app_instance_admin, + app_instance_arn: self.app_instance_arn, + } + } + } +} +impl CreateAppInstanceAdminOutput { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceAdminOutput`](crate::output::CreateAppInstanceAdminOutput) + pub fn builder() -> crate::output::create_app_instance_admin_output::Builder { + crate::output::create_app_instance_admin_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAppInstanceOutput { + ///

          The Amazon Resource Number (ARN) of the AppInstance.

          + pub app_instance_arn: std::option::Option, +} +impl std::fmt::Debug for CreateAppInstanceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAppInstanceOutput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.finish() + } +} +/// See [`CreateAppInstanceOutput`](crate::output::CreateAppInstanceOutput) +pub mod create_app_instance_output { + /// A builder for [`CreateAppInstanceOutput`](crate::output::CreateAppInstanceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + } + impl Builder { + ///

          The Amazon Resource Number (ARN) of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateAppInstanceOutput`](crate::output::CreateAppInstanceOutput) + pub fn build(self) -> crate::output::CreateAppInstanceOutput { + crate::output::CreateAppInstanceOutput { + app_instance_arn: self.app_instance_arn, + } + } + } +} +impl CreateAppInstanceOutput { + /// Creates a new builder-style object to manufacture [`CreateAppInstanceOutput`](crate::output::CreateAppInstanceOutput) + pub fn builder() -> crate::output::create_app_instance_output::Builder { + crate::output::create_app_instance_output::Builder::default() + } +} diff --git a/sdk/chimesdkmessaging/Cargo.toml b/sdk/chimesdkmessaging/Cargo.toml new file mode 100644 index 000000000000..e853649a4705 --- /dev/null +++ b/sdk/chimesdkmessaging/Cargo.toml @@ -0,0 +1,40 @@ +# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +[package] +name = "aws-sdk-chimesdkmessaging" +version = "0.0.16-alpha" +description = "

          The Amazon Chime SDK Messaging APIs in this section allow software developers to send\n and receive messages in custom messaging applications. These APIs depend on the frameworks\n provided by the Amazon Chime SDK Identity APIs. For more information about the messaging\n APIs, see .

          " +authors = ["AWS Rust SDK Team ", "Russell Cohen "] +license = "Apache-2.0" +edition = "2018" +[dependencies.aws-endpoint] +path = "..//aws-endpoint" +[dependencies.aws-hyper] +path = "..//aws-hyper" +optional = true +[dependencies.smithy-http] +path = "..//smithy-http" +[dependencies.fastrand] +version = "1" +[dependencies.aws-types] +path = "..//aws-types" +[dependencies.aws-auth] +path = "..//aws-auth" +[dependencies.smithy-types] +path = "..//smithy-types" +[dependencies.aws-http] +path = "..//aws-http" +[dependencies.aws-sig-auth] +path = "..//aws-sig-auth" +[dependencies.http] +version = "0.2" +[dependencies.bytes] +version = "1" +[dependencies.smithy-json] +path = "..//smithy-json" +[features] +client = ["aws-hyper"] +rustls = ["aws-hyper/rustls"] +native-tls = ["aws-hyper/native-tls"] +default = ["client", "rustls"] + + diff --git a/sdk/chimesdkmessaging/LICENSE b/sdk/chimesdkmessaging/LICENSE new file mode 100644 index 000000000000..3581ac356771 --- /dev/null +++ b/sdk/chimesdkmessaging/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/sdk/chimesdkmessaging/src/aws_endpoint.rs b/sdk/chimesdkmessaging/src/aws_endpoint.rs new file mode 100644 index 000000000000..05cc33b23d4e --- /dev/null +++ b/sdk/chimesdkmessaging/src/aws_endpoint.rs @@ -0,0 +1,67 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn endpoint_resolver() -> impl aws_endpoint::ResolveAwsEndpoint { + aws_endpoint::PartitionResolver::new( + aws_endpoint::Partition::builder() + .id("aws") + .region_regex(r#"^(us|eu|ap|sa|ca|me|af)\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "messaging-chime.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + vec![ + aws_endpoint::Partition::builder() + .id("aws-cn") + .region_regex(r#"^cn\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "messaging-chime.{region}.amazonaws.com.cn", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso") + .region_regex(r#"^us\-iso\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "messaging-chime.{region}.c2s.ic.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso-b") + .region_regex(r#"^us\-isob\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "messaging-chime.{region}.sc2s.sgov.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-us-gov") + .region_regex(r#"^us\-gov\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "messaging-chime.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + ], + ) +} diff --git a/sdk/chimesdkmessaging/src/client.rs b/sdk/chimesdkmessaging/src/client.rs new file mode 100644 index 000000000000..ca6d92e1222b --- /dev/null +++ b/sdk/chimesdkmessaging/src/client.rs @@ -0,0 +1,2198 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[derive(std::fmt::Debug)] +pub(crate) struct Handle { + client: aws_hyper::Client, + conf: crate::Config, +} + +#[derive(Clone, std::fmt::Debug)] +pub struct Client { + handle: std::sync::Arc>, +} +impl Client { + pub fn from_conf_conn(conf: crate::Config, conn: C) -> Self { + let client = aws_hyper::Client::new(conn); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } + + pub fn conf(&self) -> &crate::Config { + &self.handle.conf + } +} +impl Client { + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_env() -> Self { + Self::from_conf(crate::Config::builder().build()) + } + + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_conf(conf: crate::Config) -> Self { + let client = aws_hyper::Client::https(); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } +} +impl Client +where + C: aws_hyper::SmithyConnector, +{ + pub fn batch_create_channel_membership( + &self, + ) -> fluent_builders::BatchCreateChannelMembership { + fluent_builders::BatchCreateChannelMembership::new(self.handle.clone()) + } + pub fn create_channel(&self) -> fluent_builders::CreateChannel { + fluent_builders::CreateChannel::new(self.handle.clone()) + } + pub fn create_channel_ban(&self) -> fluent_builders::CreateChannelBan { + fluent_builders::CreateChannelBan::new(self.handle.clone()) + } + pub fn create_channel_membership(&self) -> fluent_builders::CreateChannelMembership { + fluent_builders::CreateChannelMembership::new(self.handle.clone()) + } + pub fn create_channel_moderator(&self) -> fluent_builders::CreateChannelModerator { + fluent_builders::CreateChannelModerator::new(self.handle.clone()) + } + pub fn delete_channel(&self) -> fluent_builders::DeleteChannel { + fluent_builders::DeleteChannel::new(self.handle.clone()) + } + pub fn delete_channel_ban(&self) -> fluent_builders::DeleteChannelBan { + fluent_builders::DeleteChannelBan::new(self.handle.clone()) + } + pub fn delete_channel_membership(&self) -> fluent_builders::DeleteChannelMembership { + fluent_builders::DeleteChannelMembership::new(self.handle.clone()) + } + pub fn delete_channel_message(&self) -> fluent_builders::DeleteChannelMessage { + fluent_builders::DeleteChannelMessage::new(self.handle.clone()) + } + pub fn delete_channel_moderator(&self) -> fluent_builders::DeleteChannelModerator { + fluent_builders::DeleteChannelModerator::new(self.handle.clone()) + } + pub fn describe_channel(&self) -> fluent_builders::DescribeChannel { + fluent_builders::DescribeChannel::new(self.handle.clone()) + } + pub fn describe_channel_ban(&self) -> fluent_builders::DescribeChannelBan { + fluent_builders::DescribeChannelBan::new(self.handle.clone()) + } + pub fn describe_channel_membership(&self) -> fluent_builders::DescribeChannelMembership { + fluent_builders::DescribeChannelMembership::new(self.handle.clone()) + } + pub fn describe_channel_membership_for_app_instance_user( + &self, + ) -> fluent_builders::DescribeChannelMembershipForAppInstanceUser { + fluent_builders::DescribeChannelMembershipForAppInstanceUser::new(self.handle.clone()) + } + pub fn describe_channel_moderated_by_app_instance_user( + &self, + ) -> fluent_builders::DescribeChannelModeratedByAppInstanceUser { + fluent_builders::DescribeChannelModeratedByAppInstanceUser::new(self.handle.clone()) + } + pub fn describe_channel_moderator(&self) -> fluent_builders::DescribeChannelModerator { + fluent_builders::DescribeChannelModerator::new(self.handle.clone()) + } + pub fn get_channel_message(&self) -> fluent_builders::GetChannelMessage { + fluent_builders::GetChannelMessage::new(self.handle.clone()) + } + pub fn get_messaging_session_endpoint( + &self, + ) -> fluent_builders::GetMessagingSessionEndpoint { + fluent_builders::GetMessagingSessionEndpoint::new(self.handle.clone()) + } + pub fn list_channel_bans(&self) -> fluent_builders::ListChannelBans { + fluent_builders::ListChannelBans::new(self.handle.clone()) + } + pub fn list_channel_memberships(&self) -> fluent_builders::ListChannelMemberships { + fluent_builders::ListChannelMemberships::new(self.handle.clone()) + } + pub fn list_channel_memberships_for_app_instance_user( + &self, + ) -> fluent_builders::ListChannelMembershipsForAppInstanceUser { + fluent_builders::ListChannelMembershipsForAppInstanceUser::new(self.handle.clone()) + } + pub fn list_channel_messages(&self) -> fluent_builders::ListChannelMessages { + fluent_builders::ListChannelMessages::new(self.handle.clone()) + } + pub fn list_channel_moderators(&self) -> fluent_builders::ListChannelModerators { + fluent_builders::ListChannelModerators::new(self.handle.clone()) + } + pub fn list_channels(&self) -> fluent_builders::ListChannels { + fluent_builders::ListChannels::new(self.handle.clone()) + } + pub fn list_channels_moderated_by_app_instance_user( + &self, + ) -> fluent_builders::ListChannelsModeratedByAppInstanceUser { + fluent_builders::ListChannelsModeratedByAppInstanceUser::new(self.handle.clone()) + } + pub fn redact_channel_message(&self) -> fluent_builders::RedactChannelMessage { + fluent_builders::RedactChannelMessage::new(self.handle.clone()) + } + pub fn send_channel_message(&self) -> fluent_builders::SendChannelMessage { + fluent_builders::SendChannelMessage::new(self.handle.clone()) + } + pub fn update_channel(&self) -> fluent_builders::UpdateChannel { + fluent_builders::UpdateChannel::new(self.handle.clone()) + } + pub fn update_channel_message(&self) -> fluent_builders::UpdateChannelMessage { + fluent_builders::UpdateChannelMessage::new(self.handle.clone()) + } + pub fn update_channel_read_marker(&self) -> fluent_builders::UpdateChannelReadMarker { + fluent_builders::UpdateChannelReadMarker::new(self.handle.clone()) + } +} +pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct BatchCreateChannelMembership { + handle: std::sync::Arc>, + inner: crate::input::batch_create_channel_membership_input::Builder, + } + impl BatchCreateChannelMembership { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::BatchCreateChannelMembershipOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel to which you're adding users.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

          The ARNs of the members you want to add to the channel.

          + pub fn member_arns(mut self, inp: impl Into) -> Self { + self.inner = self.inner.member_arns(inp); + self + } + pub fn set_member_arns( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_member_arns(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateChannel { + handle: std::sync::Arc>, + inner: crate::input::create_channel_input::Builder, + } + impl CreateChannel { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateChannelOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel request.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The name of the channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.inner = self.inner.mode(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_mode(input); + self + } + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.inner = self.inner.privacy(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_privacy(input); + self + } + ///

          The metadata of the creation request. Limited to 1KB and UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The client token for the request. An Idempotency token.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.client_request_token(input); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_client_request_token(input); + self + } + ///

          The tags for the creation request.

          + pub fn tags(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tags(inp); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateChannelBan { + handle: std::sync::Arc>, + inner: crate::input::create_channel_ban_input::Builder, + } + impl CreateChannelBan { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateChannelBanOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the ban request.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the member being banned.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateChannelMembership { + handle: std::sync::Arc>, + inner: crate::input::create_channel_membership_input::Builder, + } + impl CreateChannelMembership { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateChannelMembershipOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel to which you're adding users.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the member you want to add to the channel.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateChannelModerator { + handle: std::sync::Arc>, + inner: crate::input::create_channel_moderator_input::Builder, + } + impl CreateChannelModerator { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateChannelModeratorOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the moderator.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_moderator_arn(input); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_channel_moderator_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteChannel { + handle: std::sync::Arc>, + inner: crate::input::delete_channel_input::Builder, + } + impl DeleteChannel { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteChannelOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel being deleted.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteChannelBan { + handle: std::sync::Arc>, + inner: crate::input::delete_channel_ban_input::Builder, + } + impl DeleteChannelBan { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteChannelBanOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel from which the AppInstanceUser was banned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the AppInstanceUser that you want to reinstate.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteChannelMembership { + handle: std::sync::Arc>, + inner: crate::input::delete_channel_membership_input::Builder, + } + impl DeleteChannelMembership { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteChannelMembershipOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel from which you want to remove the user.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the member that you're removing from the channel.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteChannelMessage { + handle: std::sync::Arc>, + inner: crate::input::delete_channel_message_input::Builder, + } + impl DeleteChannelMessage { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteChannelMessageOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ID of the message being deleted.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.message_id(input); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_message_id(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteChannelModerator { + handle: std::sync::Arc>, + inner: crate::input::delete_channel_moderator_input::Builder, + } + impl DeleteChannelModerator { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteChannelModeratorOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the moderator being deleted.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_moderator_arn(input); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_channel_moderator_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannel { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_input::Builder, + } + impl DescribeChannel { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannelBan { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_ban_input::Builder, + } + impl DescribeChannelBan { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelBanOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel from which the user is banned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the member being banned.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannelMembership { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_membership_input::Builder, + } + impl DescribeChannelMembership { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelMembershipOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the member.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.member_arn(input); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_member_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannelMembershipForAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_membership_for_app_instance_user_input::Builder, + } + impl DescribeChannelMembershipForAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelMembershipForAppInstanceUserOutput, + smithy_http::result::SdkError< + crate::error::DescribeChannelMembershipForAppInstanceUserError, + >, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel to which the user belongs.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the user in a channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannelModeratedByAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_moderated_by_app_instance_user_input::Builder, + } + impl DescribeChannelModeratedByAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelModeratedByAppInstanceUserOutput, + smithy_http::result::SdkError< + crate::error::DescribeChannelModeratedByAppInstanceUserError, + >, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the moderated channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the AppInstanceUser in the moderated channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeChannelModerator { + handle: std::sync::Arc>, + inner: crate::input::describe_channel_moderator_input::Builder, + } + impl DescribeChannelModerator { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeChannelModeratorOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ARN of the channel moderator.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_moderator_arn(input); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_channel_moderator_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetChannelMessage { + handle: std::sync::Arc>, + inner: crate::input::get_channel_message_input::Builder, + } + impl GetChannelMessage { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetChannelMessageOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ID of the message.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.message_id(input); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_message_id(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetMessagingSessionEndpoint { + handle: std::sync::Arc>, + inner: crate::input::get_messaging_session_endpoint_input::Builder, + } + impl GetMessagingSessionEndpoint { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetMessagingSessionEndpointOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelBans { + handle: std::sync::Arc>, + inner: crate::input::list_channel_bans_input::Builder, + } + impl ListChannelBans { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelBansOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The maximum number of bans that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested bans are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelMemberships { + handle: std::sync::Arc>, + inner: crate::input::list_channel_memberships_input::Builder, + } + impl ListChannelMemberships { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelMembershipsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The maximum number of channel memberships that you want returned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

          The maximum number of channel memberships that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelMembershipsForAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::list_channel_memberships_for_app_instance_user_input::Builder, + } + impl ListChannelMembershipsForAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelMembershipsForAppInstanceUserOutput, + smithy_http::result::SdkError< + crate::error::ListChannelMembershipsForAppInstanceUserError, + >, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstanceUsers

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + ///

          The maximum number of users that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token returned from previous API requests until the number of channel memberships is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelMessages { + handle: std::sync::Arc>, + inner: crate::input::list_channel_messages_input::Builder, + } + impl ListChannelMessages { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelMessagesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          + pub fn sort_order(mut self, input: crate::model::SortOrder) -> Self { + self.inner = self.inner.sort_order(input); + self + } + pub fn set_sort_order( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_sort_order(input); + self + } + ///

          The initial or starting time stamp for your requested messages.

          + pub fn not_before(mut self, input: smithy_types::Instant) -> Self { + self.inner = self.inner.not_before(input); + self + } + pub fn set_not_before(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_not_before(input); + self + } + ///

          The final or ending time stamp for your requested messages.

          + pub fn not_after(mut self, input: smithy_types::Instant) -> Self { + self.inner = self.inner.not_after(input); + self + } + pub fn set_not_after(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_not_after(input); + self + } + ///

          The maximum number of messages that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested messages are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelModerators { + handle: std::sync::Arc>, + inner: crate::input::list_channel_moderators_input::Builder, + } + impl ListChannelModerators { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelModeratorsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The maximum number of moderators that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannels { + handle: std::sync::Arc>, + inner: crate::input::list_channels_input::Builder, + } + impl ListChannels { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_arn(input); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_arn(input); + self + } + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.inner = self.inner.privacy(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_privacy(input); + self + } + ///

          The maximum number of channels that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token passed by previous API calls until all requested channels are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListChannelsModeratedByAppInstanceUser { + handle: std::sync::Arc>, + inner: crate::input::list_channels_moderated_by_app_instance_user_input::Builder, + } + impl ListChannelsModeratedByAppInstanceUser { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListChannelsModeratedByAppInstanceUserOutput, + smithy_http::result::SdkError< + crate::error::ListChannelsModeratedByAppInstanceUserError, + >, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the user in the moderated channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.app_instance_user_arn(input); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_app_instance_user_arn(input); + self + } + ///

          The maximum number of channels in the request.

          + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct RedactChannelMessage { + handle: std::sync::Arc>, + inner: crate::input::redact_channel_message_input::Builder, + } + impl RedactChannelMessage { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::RedactChannelMessageOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel containing the messages that you want to redact.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ID of the message being redacted.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.message_id(input); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_message_id(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct SendChannelMessage { + handle: std::sync::Arc>, + inner: crate::input::send_channel_message_input::Builder, + } + impl SendChannelMessage { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::SendChannelMessageOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The content of the message.

          + pub fn content(mut self, input: impl Into) -> Self { + self.inner = self.inner.content(input); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_content(input); + self + } + ///

          The type of message, STANDARD or CONTROL.

          + pub fn r#type(mut self, input: crate::model::ChannelMessageType) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

          Boolean that controls whether the message is persisted on the back end. Required.

          + pub fn persistence(mut self, input: crate::model::ChannelMessagePersistenceType) -> Self { + self.inner = self.inner.persistence(input); + self + } + pub fn set_persistence( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_persistence(input); + self + } + ///

          The optional metadata for each message.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The Idempotency token for each client request.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.client_request_token(input); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_client_request_token(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateChannel { + handle: std::sync::Arc>, + inner: crate::input::update_channel_input::Builder, + } + impl UpdateChannel { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateChannelOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The name of the channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

          The mode of the update request.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.inner = self.inner.mode(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_mode(input); + self + } + ///

          The metadata for the update request.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateChannelMessage { + handle: std::sync::Arc>, + inner: crate::input::update_channel_message_input::Builder, + } + impl UpdateChannelMessage { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateChannelMessageOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The ID string of the message being updated.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.message_id(input); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_message_id(input); + self + } + ///

          The content of the message being updated.

          + pub fn content(mut self, input: impl Into) -> Self { + self.inner = self.inner.content(input); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_content(input); + self + } + ///

          The metadata of the message being updated.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.inner = self.inner.metadata(input); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_metadata(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateChannelReadMarker { + handle: std::sync::Arc>, + inner: crate::input::update_channel_read_marker_input::Builder, + } + impl UpdateChannelReadMarker { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateChannelReadMarkerOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.channel_arn(input); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_channel_arn(input); + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.inner = self.inner.chime_bearer(input); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_chime_bearer(input); + self + } + } +} diff --git a/sdk/chimesdkmessaging/src/config.rs b/sdk/chimesdkmessaging/src/config.rs new file mode 100644 index 000000000000..070a1a813680 --- /dev/null +++ b/sdk/chimesdkmessaging/src/config.rs @@ -0,0 +1,82 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub struct Config { + pub(crate) make_token: crate::idempotency_token::IdempotencyTokenProvider, + pub(crate) endpoint_resolver: ::std::sync::Arc, + pub(crate) region: Option, + pub(crate) credentials_provider: + std::sync::Arc, +} +impl std::fmt::Debug for Config { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut config = f.debug_struct("Config"); + config.finish() + } +} +impl Config { + pub fn builder() -> Builder { + Builder::default() + } + /// The signature version 4 service signing name to use in the credential scope when signing requests. + /// + /// The signing service may be overidden by the `Endpoint`, or by specifying a custom [`SigningService`](aws_types::SigningService) during + /// operation construction + pub fn signing_service(&self) -> &'static str { + "chime" + } +} +#[derive(Default)] +pub struct Builder { + make_token: Option, + endpoint_resolver: Option<::std::sync::Arc>, + region: Option, + credentials_provider: Option>, +} +impl Builder { + pub fn new() -> Self { + Self::default() + } + pub fn make_token( + mut self, + make_token: impl Into, + ) -> Self { + self.make_token = Some(make_token.into()); + self + } + pub fn endpoint_resolver( + mut self, + endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, + ) -> Self { + self.endpoint_resolver = Some(::std::sync::Arc::new(endpoint_resolver)); + self + } + pub fn region(mut self, region_provider: impl aws_types::region::ProvideRegion) -> Self { + self.region = region_provider.region(); + self + } + /// Set the credentials provider for this service + pub fn credentials_provider( + mut self, + credentials_provider: impl aws_auth::provider::AsyncProvideCredentials + 'static, + ) -> Self { + self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); + self + } + pub fn build(self) -> Config { + Config { + make_token: self + .make_token + .unwrap_or_else(crate::idempotency_token::default_provider), + endpoint_resolver: self + .endpoint_resolver + .unwrap_or_else(|| ::std::sync::Arc::new(crate::aws_endpoint::endpoint_resolver())), + region: { + use aws_types::region::ProvideRegion; + self.region + .or_else(|| aws_types::region::default_provider().region()) + }, + credentials_provider: self + .credentials_provider + .unwrap_or_else(|| std::sync::Arc::new(aws_auth::provider::default_provider())), + } + } +} diff --git a/sdk/chimesdkmessaging/src/error.rs b/sdk/chimesdkmessaging/src/error.rs new file mode 100644 index 000000000000..ebac056520a4 --- /dev/null +++ b/sdk/chimesdkmessaging/src/error.rs @@ -0,0 +1,4665 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct BatchCreateChannelMembershipError { + pub kind: BatchCreateChannelMembershipErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum BatchCreateChannelMembershipErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for BatchCreateChannelMembershipError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + BatchCreateChannelMembershipErrorKind::BadRequestException(_inner) => _inner.fmt(f), + BatchCreateChannelMembershipErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + BatchCreateChannelMembershipErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + BatchCreateChannelMembershipErrorKind::ServiceUnavailableException(_inner) => { + _inner.fmt(f) + } + BatchCreateChannelMembershipErrorKind::ThrottledClientException(_inner) => { + _inner.fmt(f) + } + BatchCreateChannelMembershipErrorKind::UnauthorizedClientException(_inner) => { + _inner.fmt(f) + } + BatchCreateChannelMembershipErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for BatchCreateChannelMembershipError { + fn code(&self) -> Option<&str> { + BatchCreateChannelMembershipError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl BatchCreateChannelMembershipError { + pub fn new(kind: BatchCreateChannelMembershipErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: BatchCreateChannelMembershipErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: BatchCreateChannelMembershipErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + BatchCreateChannelMembershipErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for BatchCreateChannelMembershipError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + BatchCreateChannelMembershipErrorKind::BadRequestException(_inner) => Some(_inner), + BatchCreateChannelMembershipErrorKind::ForbiddenException(_inner) => Some(_inner), + BatchCreateChannelMembershipErrorKind::ServiceFailureException(_inner) => Some(_inner), + BatchCreateChannelMembershipErrorKind::ServiceUnavailableException(_inner) => { + Some(_inner) + } + BatchCreateChannelMembershipErrorKind::ThrottledClientException(_inner) => Some(_inner), + BatchCreateChannelMembershipErrorKind::UnauthorizedClientException(_inner) => { + Some(_inner) + } + BatchCreateChannelMembershipErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateChannelError { + pub kind: CreateChannelErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateChannelErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateChannelError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateChannelErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateChannelErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateChannelError { + fn code(&self) -> Option<&str> { + CreateChannelError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateChannelError { + pub fn new(kind: CreateChannelErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateChannelErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateChannelErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, CreateChannelErrorKind::BadRequestException(_)) + } + pub fn is_conflict_exception(&self) -> bool { + matches!(&self.kind, CreateChannelErrorKind::ConflictException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, CreateChannelErrorKind::ForbiddenException(_)) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateChannelError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateChannelErrorKind::BadRequestException(_inner) => Some(_inner), + CreateChannelErrorKind::ConflictException(_inner) => Some(_inner), + CreateChannelErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateChannelErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateChannelErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateChannelErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateChannelErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateChannelErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateChannelErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateChannelBanError { + pub kind: CreateChannelBanErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateChannelBanErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateChannelBanError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateChannelBanErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ResourceLimitExceededException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateChannelBanErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateChannelBanError { + fn code(&self) -> Option<&str> { + CreateChannelBanError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateChannelBanError { + pub fn new(kind: CreateChannelBanErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateChannelBanErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateChannelBanErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!(&self.kind, CreateChannelBanErrorKind::ConflictException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, CreateChannelBanErrorKind::ForbiddenException(_)) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelBanErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateChannelBanError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateChannelBanErrorKind::BadRequestException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ConflictException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateChannelBanErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateChannelBanErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateChannelBanErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateChannelMembershipError { + pub kind: CreateChannelMembershipErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateChannelMembershipErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateChannelMembershipError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateChannelMembershipErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::ResourceLimitExceededException(_inner) => { + _inner.fmt(f) + } + CreateChannelMembershipErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateChannelMembershipErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateChannelMembershipError { + fn code(&self) -> Option<&str> { + CreateChannelMembershipError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateChannelMembershipError { + pub fn new(kind: CreateChannelMembershipErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateChannelMembershipErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateChannelMembershipErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelMembershipErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateChannelMembershipError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateChannelMembershipErrorKind::BadRequestException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::ConflictException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::ResourceLimitExceededException(_inner) => { + Some(_inner) + } + CreateChannelMembershipErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateChannelMembershipErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateChannelModeratorError { + pub kind: CreateChannelModeratorErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateChannelModeratorErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateChannelModeratorError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateChannelModeratorErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::ResourceLimitExceededException(_inner) => { + _inner.fmt(f) + } + CreateChannelModeratorErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + CreateChannelModeratorErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateChannelModeratorError { + fn code(&self) -> Option<&str> { + CreateChannelModeratorError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateChannelModeratorError { + pub fn new(kind: CreateChannelModeratorErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateChannelModeratorErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateChannelModeratorErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ForbiddenException(_) + ) + } + pub fn is_resource_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ResourceLimitExceededException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + CreateChannelModeratorErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for CreateChannelModeratorError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateChannelModeratorErrorKind::BadRequestException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ConflictException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ForbiddenException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ResourceLimitExceededException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ServiceFailureException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::ThrottledClientException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + CreateChannelModeratorErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteChannelError { + pub kind: DeleteChannelErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteChannelErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteChannelError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteChannelErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteChannelErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteChannelError { + fn code(&self) -> Option<&str> { + DeleteChannelError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteChannelError { + pub fn new(kind: DeleteChannelErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteChannelErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteChannelErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, DeleteChannelErrorKind::BadRequestException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, DeleteChannelErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteChannelError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteChannelErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteChannelErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteChannelErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteChannelErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteChannelErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteChannelErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteChannelErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteChannelBanError { + pub kind: DeleteChannelBanErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteChannelBanErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteChannelBanError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteChannelBanErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteChannelBanErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteChannelBanError { + fn code(&self) -> Option<&str> { + DeleteChannelBanError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteChannelBanError { + pub fn new(kind: DeleteChannelBanErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteChannelBanErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteChannelBanErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelBanErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, DeleteChannelBanErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelBanErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelBanErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelBanErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelBanErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteChannelBanError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteChannelBanErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteChannelBanErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteChannelMembershipError { + pub kind: DeleteChannelMembershipErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteChannelMembershipErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteChannelMembershipError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteChannelMembershipErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::ConflictException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteChannelMembershipErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteChannelMembershipError { + fn code(&self) -> Option<&str> { + DeleteChannelMembershipError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteChannelMembershipError { + pub fn new(kind: DeleteChannelMembershipErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteChannelMembershipErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteChannelMembershipErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMembershipErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteChannelMembershipError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteChannelMembershipErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::ConflictException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteChannelMembershipErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteChannelMessageError { + pub kind: DeleteChannelMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteChannelMessageErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteChannelMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteChannelMessageErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteChannelMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteChannelMessageError { + fn code(&self) -> Option<&str> { + DeleteChannelMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteChannelMessageError { + pub fn new(kind: DeleteChannelMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteChannelMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteChannelMessageErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelMessageErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteChannelMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteChannelMessageErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteChannelMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteChannelModeratorError { + pub kind: DeleteChannelModeratorErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteChannelModeratorErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteChannelModeratorError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteChannelModeratorErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DeleteChannelModeratorErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteChannelModeratorError { + fn code(&self) -> Option<&str> { + DeleteChannelModeratorError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteChannelModeratorError { + pub fn new(kind: DeleteChannelModeratorErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteChannelModeratorErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteChannelModeratorErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DeleteChannelModeratorErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DeleteChannelModeratorError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteChannelModeratorErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::ForbiddenException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::ServiceFailureException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::ThrottledClientException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DeleteChannelModeratorErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelError { + pub kind: DescribeChannelErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeChannelErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelError { + fn code(&self) -> Option<&str> { + DescribeChannelError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelError { + pub fn new(kind: DescribeChannelErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, DescribeChannelErrorKind::BadRequestException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, DescribeChannelErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeChannelErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeChannelErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeChannelErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeChannelErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeChannelErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeChannelErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelBanError { + pub kind: DescribeChannelBanErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelBanErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + NotFoundException(crate::error::NotFoundException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelBanError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelBanErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::NotFoundException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeChannelBanErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelBanError { + fn code(&self) -> Option<&str> { + DescribeChannelBanError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelBanError { + pub fn new(kind: DescribeChannelBanErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelBanErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelBanErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::ForbiddenException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::NotFoundException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelBanErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelBanError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelBanErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::NotFoundException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeChannelBanErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelMembershipError { + pub kind: DescribeChannelMembershipErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelMembershipErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + NotFoundException(crate::error::NotFoundException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelMembershipError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelMembershipErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeChannelMembershipErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeChannelMembershipErrorKind::NotFoundException(_inner) => _inner.fmt(f), + DescribeChannelMembershipErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeChannelMembershipErrorKind::ServiceUnavailableException(_inner) => { + _inner.fmt(f) + } + DescribeChannelMembershipErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeChannelMembershipErrorKind::UnauthorizedClientException(_inner) => { + _inner.fmt(f) + } + DescribeChannelMembershipErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelMembershipError { + fn code(&self) -> Option<&str> { + DescribeChannelMembershipError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelMembershipError { + pub fn new(kind: DescribeChannelMembershipErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelMembershipErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelMembershipErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::ForbiddenException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::NotFoundException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelMembershipError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelMembershipErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::NotFoundException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeChannelMembershipErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelMembershipForAppInstanceUserError { + pub kind: DescribeChannelMembershipForAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelMembershipForAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelMembershipForAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelMembershipForAppInstanceUserErrorKind::BadRequestException(_inner) => { + _inner.fmt(f) + } + DescribeChannelMembershipForAppInstanceUserErrorKind::ForbiddenException(_inner) => { + _inner.fmt(f) + } + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceFailureException( + _inner, + ) => _inner.fmt(f), + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => _inner.fmt(f), + DescribeChannelMembershipForAppInstanceUserErrorKind::ThrottledClientException( + _inner, + ) => _inner.fmt(f), + DescribeChannelMembershipForAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => _inner.fmt(f), + DescribeChannelMembershipForAppInstanceUserErrorKind::Unhandled(_inner) => { + _inner.fmt(f) + } + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelMembershipForAppInstanceUserError { + fn code(&self) -> Option<&str> { + DescribeChannelMembershipForAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelMembershipForAppInstanceUserError { + pub fn new( + kind: DescribeChannelMembershipForAppInstanceUserErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelMembershipForAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelMembershipForAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelMembershipForAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelMembershipForAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelMembershipForAppInstanceUserErrorKind::BadRequestException(_inner) => { + Some(_inner) + } + DescribeChannelMembershipForAppInstanceUserErrorKind::ForbiddenException(_inner) => { + Some(_inner) + } + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceFailureException( + _inner, + ) => Some(_inner), + DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => Some(_inner), + DescribeChannelMembershipForAppInstanceUserErrorKind::ThrottledClientException( + _inner, + ) => Some(_inner), + DescribeChannelMembershipForAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => Some(_inner), + DescribeChannelMembershipForAppInstanceUserErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelModeratedByAppInstanceUserError { + pub kind: DescribeChannelModeratedByAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelModeratedByAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelModeratedByAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelModeratedByAppInstanceUserErrorKind::BadRequestException(_inner) => { + _inner.fmt(f) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ForbiddenException(_inner) => { + _inner.fmt(f) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + _inner.fmt(f) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => _inner.fmt(f), + DescribeChannelModeratedByAppInstanceUserErrorKind::ThrottledClientException( + _inner, + ) => _inner.fmt(f), + DescribeChannelModeratedByAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => _inner.fmt(f), + DescribeChannelModeratedByAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelModeratedByAppInstanceUserError { + fn code(&self) -> Option<&str> { + DescribeChannelModeratedByAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelModeratedByAppInstanceUserError { + pub fn new( + kind: DescribeChannelModeratedByAppInstanceUserErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelModeratedByAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelModeratedByAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratedByAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelModeratedByAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelModeratedByAppInstanceUserErrorKind::BadRequestException(_inner) => { + Some(_inner) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ForbiddenException(_inner) => { + Some(_inner) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + Some(_inner) + } + DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => Some(_inner), + DescribeChannelModeratedByAppInstanceUserErrorKind::ThrottledClientException( + _inner, + ) => Some(_inner), + DescribeChannelModeratedByAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => Some(_inner), + DescribeChannelModeratedByAppInstanceUserErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeChannelModeratorError { + pub kind: DescribeChannelModeratorErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeChannelModeratorErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + NotFoundException(crate::error::NotFoundException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeChannelModeratorError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeChannelModeratorErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::NotFoundException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + DescribeChannelModeratorErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeChannelModeratorError { + fn code(&self) -> Option<&str> { + DescribeChannelModeratorError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeChannelModeratorError { + pub fn new(kind: DescribeChannelModeratorErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeChannelModeratorErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeChannelModeratorErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::ForbiddenException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::NotFoundException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeChannelModeratorErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for DescribeChannelModeratorError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeChannelModeratorErrorKind::BadRequestException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::ForbiddenException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::NotFoundException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::ServiceFailureException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::ThrottledClientException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + DescribeChannelModeratorErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetChannelMessageError { + pub kind: GetChannelMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetChannelMessageErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + NotFoundException(crate::error::NotFoundException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetChannelMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetChannelMessageErrorKind::BadRequestException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::NotFoundException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + GetChannelMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetChannelMessageError { + fn code(&self) -> Option<&str> { + GetChannelMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetChannelMessageError { + pub fn new(kind: GetChannelMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetChannelMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetChannelMessageErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::ForbiddenException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!(&self.kind, GetChannelMessageErrorKind::NotFoundException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + GetChannelMessageErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for GetChannelMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetChannelMessageErrorKind::BadRequestException(_inner) => Some(_inner), + GetChannelMessageErrorKind::ForbiddenException(_inner) => Some(_inner), + GetChannelMessageErrorKind::NotFoundException(_inner) => Some(_inner), + GetChannelMessageErrorKind::ServiceFailureException(_inner) => Some(_inner), + GetChannelMessageErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + GetChannelMessageErrorKind::ThrottledClientException(_inner) => Some(_inner), + GetChannelMessageErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + GetChannelMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetMessagingSessionEndpointError { + pub kind: GetMessagingSessionEndpointErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetMessagingSessionEndpointErrorKind { + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetMessagingSessionEndpointError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetMessagingSessionEndpointErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + GetMessagingSessionEndpointErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + GetMessagingSessionEndpointErrorKind::ServiceUnavailableException(_inner) => { + _inner.fmt(f) + } + GetMessagingSessionEndpointErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + GetMessagingSessionEndpointErrorKind::UnauthorizedClientException(_inner) => { + _inner.fmt(f) + } + GetMessagingSessionEndpointErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetMessagingSessionEndpointError { + fn code(&self) -> Option<&str> { + GetMessagingSessionEndpointError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetMessagingSessionEndpointError { + pub fn new(kind: GetMessagingSessionEndpointErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetMessagingSessionEndpointErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetMessagingSessionEndpointErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + GetMessagingSessionEndpointErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + GetMessagingSessionEndpointErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + GetMessagingSessionEndpointErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + GetMessagingSessionEndpointErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + GetMessagingSessionEndpointErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for GetMessagingSessionEndpointError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetMessagingSessionEndpointErrorKind::ForbiddenException(_inner) => Some(_inner), + GetMessagingSessionEndpointErrorKind::ServiceFailureException(_inner) => Some(_inner), + GetMessagingSessionEndpointErrorKind::ServiceUnavailableException(_inner) => { + Some(_inner) + } + GetMessagingSessionEndpointErrorKind::ThrottledClientException(_inner) => Some(_inner), + GetMessagingSessionEndpointErrorKind::UnauthorizedClientException(_inner) => { + Some(_inner) + } + GetMessagingSessionEndpointErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelBansError { + pub kind: ListChannelBansErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelBansErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelBansError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelBansErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListChannelBansErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelBansError { + fn code(&self) -> Option<&str> { + ListChannelBansError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelBansError { + pub fn new(kind: ListChannelBansErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelBansErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelBansErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, ListChannelBansErrorKind::BadRequestException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, ListChannelBansErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelBansErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelBansErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelBansErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelBansErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelBansError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelBansErrorKind::BadRequestException(_inner) => Some(_inner), + ListChannelBansErrorKind::ForbiddenException(_inner) => Some(_inner), + ListChannelBansErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListChannelBansErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListChannelBansErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListChannelBansErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListChannelBansErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelMembershipsError { + pub kind: ListChannelMembershipsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelMembershipsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelMembershipsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelMembershipsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListChannelMembershipsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelMembershipsError { + fn code(&self) -> Option<&str> { + ListChannelMembershipsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelMembershipsError { + pub fn new(kind: ListChannelMembershipsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelMembershipsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelMembershipsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelMembershipsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelMembershipsErrorKind::BadRequestException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::ForbiddenException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListChannelMembershipsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelMembershipsForAppInstanceUserError { + pub kind: ListChannelMembershipsForAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelMembershipsForAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelMembershipsForAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelMembershipsForAppInstanceUserErrorKind::BadRequestException(_inner) => { + _inner.fmt(f) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ForbiddenException(_inner) => { + _inner.fmt(f) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + _inner.fmt(f) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => _inner.fmt(f), + ListChannelMembershipsForAppInstanceUserErrorKind::ThrottledClientException(_inner) => { + _inner.fmt(f) + } + ListChannelMembershipsForAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => _inner.fmt(f), + ListChannelMembershipsForAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelMembershipsForAppInstanceUserError { + fn code(&self) -> Option<&str> { + ListChannelMembershipsForAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelMembershipsForAppInstanceUserError { + pub fn new( + kind: ListChannelMembershipsForAppInstanceUserErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelMembershipsForAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelMembershipsForAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMembershipsForAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelMembershipsForAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelMembershipsForAppInstanceUserErrorKind::BadRequestException(_inner) => { + Some(_inner) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ForbiddenException(_inner) => { + Some(_inner) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + Some(_inner) + } + ListChannelMembershipsForAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => Some(_inner), + ListChannelMembershipsForAppInstanceUserErrorKind::ThrottledClientException(_inner) => { + Some(_inner) + } + ListChannelMembershipsForAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => Some(_inner), + ListChannelMembershipsForAppInstanceUserErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelMessagesError { + pub kind: ListChannelMessagesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelMessagesErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelMessagesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelMessagesErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListChannelMessagesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelMessagesError { + fn code(&self) -> Option<&str> { + ListChannelMessagesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelMessagesError { + pub fn new(kind: ListChannelMessagesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelMessagesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelMessagesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelMessagesErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelMessagesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelMessagesErrorKind::BadRequestException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::ForbiddenException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListChannelMessagesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelModeratorsError { + pub kind: ListChannelModeratorsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelModeratorsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelModeratorsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelModeratorsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListChannelModeratorsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelModeratorsError { + fn code(&self) -> Option<&str> { + ListChannelModeratorsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelModeratorsError { + pub fn new(kind: ListChannelModeratorsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelModeratorsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelModeratorsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelModeratorsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelModeratorsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelModeratorsErrorKind::BadRequestException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::ForbiddenException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListChannelModeratorsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelsError { + pub kind: ListChannelsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelsErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + ListChannelsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelsError { + fn code(&self) -> Option<&str> { + ListChannelsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelsError { + pub fn new(kind: ListChannelsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, ListChannelsErrorKind::BadRequestException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, ListChannelsErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelsErrorKind::BadRequestException(_inner) => Some(_inner), + ListChannelsErrorKind::ForbiddenException(_inner) => Some(_inner), + ListChannelsErrorKind::ServiceFailureException(_inner) => Some(_inner), + ListChannelsErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + ListChannelsErrorKind::ThrottledClientException(_inner) => Some(_inner), + ListChannelsErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + ListChannelsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListChannelsModeratedByAppInstanceUserError { + pub kind: ListChannelsModeratedByAppInstanceUserErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListChannelsModeratedByAppInstanceUserErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListChannelsModeratedByAppInstanceUserError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListChannelsModeratedByAppInstanceUserErrorKind::BadRequestException(_inner) => { + _inner.fmt(f) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ForbiddenException(_inner) => { + _inner.fmt(f) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + _inner.fmt(f) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => _inner.fmt(f), + ListChannelsModeratedByAppInstanceUserErrorKind::ThrottledClientException(_inner) => { + _inner.fmt(f) + } + ListChannelsModeratedByAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => _inner.fmt(f), + ListChannelsModeratedByAppInstanceUserErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListChannelsModeratedByAppInstanceUserError { + fn code(&self) -> Option<&str> { + ListChannelsModeratedByAppInstanceUserError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListChannelsModeratedByAppInstanceUserError { + pub fn new( + kind: ListChannelsModeratedByAppInstanceUserErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListChannelsModeratedByAppInstanceUserErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListChannelsModeratedByAppInstanceUserErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + ListChannelsModeratedByAppInstanceUserErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for ListChannelsModeratedByAppInstanceUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListChannelsModeratedByAppInstanceUserErrorKind::BadRequestException(_inner) => { + Some(_inner) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ForbiddenException(_inner) => { + Some(_inner) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceFailureException(_inner) => { + Some(_inner) + } + ListChannelsModeratedByAppInstanceUserErrorKind::ServiceUnavailableException( + _inner, + ) => Some(_inner), + ListChannelsModeratedByAppInstanceUserErrorKind::ThrottledClientException(_inner) => { + Some(_inner) + } + ListChannelsModeratedByAppInstanceUserErrorKind::UnauthorizedClientException( + _inner, + ) => Some(_inner), + ListChannelsModeratedByAppInstanceUserErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct RedactChannelMessageError { + pub kind: RedactChannelMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum RedactChannelMessageErrorKind { + BadRequestException(crate::error::BadRequestException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for RedactChannelMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + RedactChannelMessageErrorKind::BadRequestException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + RedactChannelMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for RedactChannelMessageError { + fn code(&self) -> Option<&str> { + RedactChannelMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl RedactChannelMessageError { + pub fn new(kind: RedactChannelMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: RedactChannelMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: RedactChannelMessageErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::BadRequestException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + RedactChannelMessageErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for RedactChannelMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + RedactChannelMessageErrorKind::BadRequestException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::ForbiddenException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::ServiceFailureException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::ThrottledClientException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + RedactChannelMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct SendChannelMessageError { + pub kind: SendChannelMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum SendChannelMessageErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for SendChannelMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + SendChannelMessageErrorKind::BadRequestException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::ConflictException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + SendChannelMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for SendChannelMessageError { + fn code(&self) -> Option<&str> { + SendChannelMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl SendChannelMessageError { + pub fn new(kind: SendChannelMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: SendChannelMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: SendChannelMessageErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + SendChannelMessageErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for SendChannelMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + SendChannelMessageErrorKind::BadRequestException(_inner) => Some(_inner), + SendChannelMessageErrorKind::ConflictException(_inner) => Some(_inner), + SendChannelMessageErrorKind::ForbiddenException(_inner) => Some(_inner), + SendChannelMessageErrorKind::ServiceFailureException(_inner) => Some(_inner), + SendChannelMessageErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + SendChannelMessageErrorKind::ThrottledClientException(_inner) => Some(_inner), + SendChannelMessageErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + SendChannelMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateChannelError { + pub kind: UpdateChannelErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateChannelErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateChannelError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateChannelErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + UpdateChannelErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateChannelError { + fn code(&self) -> Option<&str> { + UpdateChannelError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateChannelError { + pub fn new(kind: UpdateChannelErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateChannelErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateChannelErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!(&self.kind, UpdateChannelErrorKind::BadRequestException(_)) + } + pub fn is_conflict_exception(&self) -> bool { + matches!(&self.kind, UpdateChannelErrorKind::ConflictException(_)) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!(&self.kind, UpdateChannelErrorKind::ForbiddenException(_)) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for UpdateChannelError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateChannelErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateChannelErrorKind::ConflictException(_inner) => Some(_inner), + UpdateChannelErrorKind::ForbiddenException(_inner) => Some(_inner), + UpdateChannelErrorKind::ServiceFailureException(_inner) => Some(_inner), + UpdateChannelErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + UpdateChannelErrorKind::ThrottledClientException(_inner) => Some(_inner), + UpdateChannelErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + UpdateChannelErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateChannelMessageError { + pub kind: UpdateChannelMessageErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateChannelMessageErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateChannelMessageError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateChannelMessageErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + UpdateChannelMessageErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateChannelMessageError { + fn code(&self) -> Option<&str> { + UpdateChannelMessageError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateChannelMessageError { + pub fn new(kind: UpdateChannelMessageErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateChannelMessageErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateChannelMessageErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelMessageErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for UpdateChannelMessageError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateChannelMessageErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::ConflictException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::ForbiddenException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::ServiceFailureException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::ThrottledClientException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + UpdateChannelMessageErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateChannelReadMarkerError { + pub kind: UpdateChannelReadMarkerErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateChannelReadMarkerErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateChannelReadMarkerError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateChannelReadMarkerErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::ForbiddenException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::ServiceFailureException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::ServiceUnavailableException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::ThrottledClientException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::UnauthorizedClientException(_inner) => _inner.fmt(f), + UpdateChannelReadMarkerErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateChannelReadMarkerError { + fn code(&self) -> Option<&str> { + UpdateChannelReadMarkerError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateChannelReadMarkerError { + pub fn new(kind: UpdateChannelReadMarkerErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateChannelReadMarkerErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateChannelReadMarkerErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::ConflictException(_) + ) + } + pub fn is_forbidden_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::ForbiddenException(_) + ) + } + pub fn is_service_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::ServiceFailureException(_) + ) + } + pub fn is_service_unavailable_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::ServiceUnavailableException(_) + ) + } + pub fn is_throttled_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::ThrottledClientException(_) + ) + } + pub fn is_unauthorized_client_exception(&self) -> bool { + matches!( + &self.kind, + UpdateChannelReadMarkerErrorKind::UnauthorizedClientException(_) + ) + } +} +impl std::error::Error for UpdateChannelReadMarkerError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateChannelReadMarkerErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::ConflictException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::ForbiddenException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::ServiceFailureException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::ServiceUnavailableException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::ThrottledClientException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::UnauthorizedClientException(_inner) => Some(_inner), + UpdateChannelReadMarkerErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +///

          The client is not currently authorized to make the request.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UnauthorizedClientException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for UnauthorizedClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UnauthorizedClientException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl UnauthorizedClientException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for UnauthorizedClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "UnauthorizedClientException")?; + if let Some(inner_1) = &self.message { + write!(f, ": {}", inner_1)?; + } + Ok(()) + } +} +impl std::error::Error for UnauthorizedClientException {} +/// See [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) +pub mod unauthorized_client_exception { + /// A builder for [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + pub fn build(self) -> crate::error::UnauthorizedClientException { + crate::error::UnauthorizedClientException { + code: self.code, + message: self.message, + } + } + } +} +impl UnauthorizedClientException { + /// Creates a new builder-style object to manufacture [`UnauthorizedClientException`](crate::error::UnauthorizedClientException) + pub fn builder() -> crate::error::unauthorized_client_exception::Builder { + crate::error::unauthorized_client_exception::Builder::default() + } +} + +///

          The client exceeded its request rate limit.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ThrottledClientException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ThrottledClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ThrottledClientException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ThrottledClientException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ThrottledClientException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ThrottledClientException")?; + if let Some(inner_2) = &self.message { + write!(f, ": {}", inner_2)?; + } + Ok(()) + } +} +impl std::error::Error for ThrottledClientException {} +/// See [`ThrottledClientException`](crate::error::ThrottledClientException) +pub mod throttled_client_exception { + /// A builder for [`ThrottledClientException`](crate::error::ThrottledClientException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ThrottledClientException`](crate::error::ThrottledClientException) + pub fn build(self) -> crate::error::ThrottledClientException { + crate::error::ThrottledClientException { + code: self.code, + message: self.message, + } + } + } +} +impl ThrottledClientException { + /// Creates a new builder-style object to manufacture [`ThrottledClientException`](crate::error::ThrottledClientException) + pub fn builder() -> crate::error::throttled_client_exception::Builder { + crate::error::throttled_client_exception::Builder::default() + } +} + +///

          The service is currently unavailable.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceUnavailableException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceUnavailableException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceUnavailableException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceUnavailableException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceUnavailableException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceUnavailableException")?; + if let Some(inner_3) = &self.message { + write!(f, ": {}", inner_3)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceUnavailableException {} +/// See [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) +pub mod service_unavailable_exception { + /// A builder for [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + pub fn build(self) -> crate::error::ServiceUnavailableException { + crate::error::ServiceUnavailableException { + code: self.code, + message: self.message, + } + } + } +} +impl ServiceUnavailableException { + /// Creates a new builder-style object to manufacture [`ServiceUnavailableException`](crate::error::ServiceUnavailableException) + pub fn builder() -> crate::error::service_unavailable_exception::Builder { + crate::error::service_unavailable_exception::Builder::default() + } +} + +///

          The service encountered an unexpected error.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceFailureException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceFailureException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceFailureException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceFailureException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceFailureException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceFailureException")?; + if let Some(inner_4) = &self.message { + write!(f, ": {}", inner_4)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceFailureException {} +/// See [`ServiceFailureException`](crate::error::ServiceFailureException) +pub mod service_failure_exception { + /// A builder for [`ServiceFailureException`](crate::error::ServiceFailureException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ServiceFailureException`](crate::error::ServiceFailureException) + pub fn build(self) -> crate::error::ServiceFailureException { + crate::error::ServiceFailureException { + code: self.code, + message: self.message, + } + } + } +} +impl ServiceFailureException { + /// Creates a new builder-style object to manufacture [`ServiceFailureException`](crate::error::ServiceFailureException) + pub fn builder() -> crate::error::service_failure_exception::Builder { + crate::error::service_failure_exception::Builder::default() + } +} + +///

          The client is permanently forbidden from making the request.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ForbiddenException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ForbiddenException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ForbiddenException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ForbiddenException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ForbiddenException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ForbiddenException")?; + if let Some(inner_5) = &self.message { + write!(f, ": {}", inner_5)?; + } + Ok(()) + } +} +impl std::error::Error for ForbiddenException {} +/// See [`ForbiddenException`](crate::error::ForbiddenException) +pub mod forbidden_exception { + /// A builder for [`ForbiddenException`](crate::error::ForbiddenException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ForbiddenException`](crate::error::ForbiddenException) + pub fn build(self) -> crate::error::ForbiddenException { + crate::error::ForbiddenException { + code: self.code, + message: self.message, + } + } + } +} +impl ForbiddenException { + /// Creates a new builder-style object to manufacture [`ForbiddenException`](crate::error::ForbiddenException) + pub fn builder() -> crate::error::forbidden_exception::Builder { + crate::error::forbidden_exception::Builder::default() + } +} + +///

          The request could not be processed because of conflict in the current state of the +/// resource.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ConflictException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ConflictException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ConflictException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ConflictException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ConflictException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ConflictException")?; + if let Some(inner_6) = &self.message { + write!(f, ": {}", inner_6)?; + } + Ok(()) + } +} +impl std::error::Error for ConflictException {} +/// See [`ConflictException`](crate::error::ConflictException) +pub mod conflict_exception { + /// A builder for [`ConflictException`](crate::error::ConflictException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ConflictException`](crate::error::ConflictException) + pub fn build(self) -> crate::error::ConflictException { + crate::error::ConflictException { + code: self.code, + message: self.message, + } + } + } +} +impl ConflictException { + /// Creates a new builder-style object to manufacture [`ConflictException`](crate::error::ConflictException) + pub fn builder() -> crate::error::conflict_exception::Builder { + crate::error::conflict_exception::Builder::default() + } +} + +///

          The input parameters don't match the service's restrictions.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BadRequestException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for BadRequestException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BadRequestException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl BadRequestException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for BadRequestException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BadRequestException")?; + if let Some(inner_7) = &self.message { + write!(f, ": {}", inner_7)?; + } + Ok(()) + } +} +impl std::error::Error for BadRequestException {} +/// See [`BadRequestException`](crate::error::BadRequestException) +pub mod bad_request_exception { + /// A builder for [`BadRequestException`](crate::error::BadRequestException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`BadRequestException`](crate::error::BadRequestException) + pub fn build(self) -> crate::error::BadRequestException { + crate::error::BadRequestException { + code: self.code, + message: self.message, + } + } + } +} +impl BadRequestException { + /// Creates a new builder-style object to manufacture [`BadRequestException`](crate::error::BadRequestException) + pub fn builder() -> crate::error::bad_request_exception::Builder { + crate::error::bad_request_exception::Builder::default() + } +} + +///

          One or more of the resources in the request does not exist in the system.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct NotFoundException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for NotFoundException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("NotFoundException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl NotFoundException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for NotFoundException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "NotFoundException")?; + if let Some(inner_8) = &self.message { + write!(f, ": {}", inner_8)?; + } + Ok(()) + } +} +impl std::error::Error for NotFoundException {} +/// See [`NotFoundException`](crate::error::NotFoundException) +pub mod not_found_exception { + /// A builder for [`NotFoundException`](crate::error::NotFoundException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`NotFoundException`](crate::error::NotFoundException) + pub fn build(self) -> crate::error::NotFoundException { + crate::error::NotFoundException { + code: self.code, + message: self.message, + } + } + } +} +impl NotFoundException { + /// Creates a new builder-style object to manufacture [`NotFoundException`](crate::error::NotFoundException) + pub fn builder() -> crate::error::not_found_exception::Builder { + crate::error::not_found_exception::Builder::default() + } +} + +///

          The request exceeds the resource limit.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceLimitExceededException { + pub code: std::option::Option, + pub message: std::option::Option, +} +impl std::fmt::Debug for ResourceLimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceLimitExceededException"); + formatter.field("code", &self.code); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ResourceLimitExceededException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ResourceLimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ResourceLimitExceededException")?; + if let Some(inner_9) = &self.message { + write!(f, ": {}", inner_9)?; + } + Ok(()) + } +} +impl std::error::Error for ResourceLimitExceededException {} +/// See [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) +pub mod resource_limit_exceeded_exception { + /// A builder for [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn code(mut self, input: crate::model::ErrorCode) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + pub fn build(self) -> crate::error::ResourceLimitExceededException { + crate::error::ResourceLimitExceededException { + code: self.code, + message: self.message, + } + } + } +} +impl ResourceLimitExceededException { + /// Creates a new builder-style object to manufacture [`ResourceLimitExceededException`](crate::error::ResourceLimitExceededException) + pub fn builder() -> crate::error::resource_limit_exceeded_exception::Builder { + crate::error::resource_limit_exceeded_exception::Builder::default() + } +} diff --git a/sdk/chimesdkmessaging/src/error_meta.rs b/sdk/chimesdkmessaging/src/error_meta.rs new file mode 100644 index 000000000000..4c5c42238caa --- /dev/null +++ b/sdk/chimesdkmessaging/src/error_meta.rs @@ -0,0 +1,945 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum Error { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + ForbiddenException(crate::error::ForbiddenException), + NotFoundException(crate::error::NotFoundException), + ResourceLimitExceededException(crate::error::ResourceLimitExceededException), + ServiceFailureException(crate::error::ServiceFailureException), + ServiceUnavailableException(crate::error::ServiceUnavailableException), + ThrottledClientException(crate::error::ThrottledClientException), + UnauthorizedClientException(crate::error::UnauthorizedClientException), + Unhandled(Box), +} +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Error::BadRequestException(inner) => inner.fmt(f), + Error::ConflictException(inner) => inner.fmt(f), + Error::ForbiddenException(inner) => inner.fmt(f), + Error::NotFoundException(inner) => inner.fmt(f), + Error::ResourceLimitExceededException(inner) => inner.fmt(f), + Error::ServiceFailureException(inner) => inner.fmt(f), + Error::ServiceUnavailableException(inner) => inner.fmt(f), + Error::ThrottledClientException(inner) => inner.fmt(f), + Error::UnauthorizedClientException(inner) => inner.fmt(f), + Error::Unhandled(inner) => inner.fmt(f), + } + } +} +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::BatchCreateChannelMembershipErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::BatchCreateChannelMembershipErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateChannelErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateChannelErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateChannelErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateChannelErrorKind::ResourceLimitExceededException(inner) => { + Error::ResourceLimitExceededException(inner) + } + crate::error::CreateChannelErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateChannelErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::CreateChannelErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateChannelErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::CreateChannelErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateChannelBanErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateChannelBanErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateChannelBanErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateChannelBanErrorKind::ResourceLimitExceededException(inner) => { + Error::ResourceLimitExceededException(inner) + } + crate::error::CreateChannelBanErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateChannelBanErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::CreateChannelBanErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateChannelBanErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::CreateChannelBanErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateChannelMembershipErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateChannelMembershipErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateChannelMembershipErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateChannelMembershipErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::CreateChannelMembershipErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateChannelMembershipErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::CreateChannelMembershipErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateChannelMembershipErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::CreateChannelMembershipErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateChannelModeratorErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateChannelModeratorErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateChannelModeratorErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::CreateChannelModeratorErrorKind::ResourceLimitExceededException( + inner, + ) => Error::ResourceLimitExceededException(inner), + crate::error::CreateChannelModeratorErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::CreateChannelModeratorErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::CreateChannelModeratorErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::CreateChannelModeratorErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::CreateChannelModeratorErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteChannelErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteChannelErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteChannelErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteChannelErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DeleteChannelErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteChannelErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DeleteChannelErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteChannelBanErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteChannelBanErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteChannelBanErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteChannelBanErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DeleteChannelBanErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteChannelBanErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DeleteChannelBanErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteChannelMembershipErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteChannelMembershipErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::DeleteChannelMembershipErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteChannelMembershipErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteChannelMembershipErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DeleteChannelMembershipErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteChannelMembershipErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DeleteChannelMembershipErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteChannelMessageErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteChannelMessageErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteChannelMessageErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteChannelMessageErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DeleteChannelMessageErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteChannelMessageErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DeleteChannelMessageErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteChannelModeratorErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteChannelModeratorErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DeleteChannelModeratorErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DeleteChannelModeratorErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DeleteChannelModeratorErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DeleteChannelModeratorErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DeleteChannelModeratorErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeChannelErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeChannelErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeChannelErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeChannelErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DescribeChannelErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DescribeChannelErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DescribeChannelErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeChannelBanErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeChannelBanErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeChannelBanErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::DescribeChannelBanErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeChannelBanErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::DescribeChannelBanErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::DescribeChannelBanErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::DescribeChannelBanErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeChannelMembershipErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeChannelMembershipErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeChannelMembershipErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::DescribeChannelMembershipErrorKind::ServiceFailureException( + inner, + ) => Error::ServiceFailureException(inner), + crate::error::DescribeChannelMembershipErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DescribeChannelMembershipErrorKind::ThrottledClientException( + inner, + ) => Error::ThrottledClientException(inner), + crate::error::DescribeChannelMembershipErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DescribeChannelMembershipErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl + From< + smithy_http::result::SdkError< + crate::error::DescribeChannelMembershipForAppInstanceUserError, + >, + > for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::DescribeChannelMembershipForAppInstanceUserError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl + From< + smithy_http::result::SdkError, + > for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::DescribeChannelModeratedByAppInstanceUserError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeChannelModeratorErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DescribeChannelModeratorErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::DescribeChannelModeratorErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::DescribeChannelModeratorErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::DescribeChannelModeratorErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::DescribeChannelModeratorErrorKind::ThrottledClientException( + inner, + ) => Error::ThrottledClientException(inner), + crate::error::DescribeChannelModeratorErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::DescribeChannelModeratorErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::GetChannelMessageErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::GetChannelMessageErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::GetChannelMessageErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::GetChannelMessageErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::GetChannelMessageErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::GetChannelMessageErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::GetChannelMessageErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::GetChannelMessageErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::GetMessagingSessionEndpointErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::GetMessagingSessionEndpointErrorKind::ServiceFailureException( + inner, + ) => Error::ServiceFailureException(inner), + crate::error::GetMessagingSessionEndpointErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::GetMessagingSessionEndpointErrorKind::ThrottledClientException( + inner, + ) => Error::ThrottledClientException(inner), + crate::error::GetMessagingSessionEndpointErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::GetMessagingSessionEndpointErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListChannelBansErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListChannelBansErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListChannelBansErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListChannelBansErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::ListChannelBansErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListChannelBansErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::ListChannelBansErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListChannelMembershipsErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListChannelMembershipsErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListChannelMembershipsErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListChannelMembershipsErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::ListChannelMembershipsErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListChannelMembershipsErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::ListChannelMembershipsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl + From> + for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::ListChannelMembershipsForAppInstanceUserError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListChannelMessagesErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListChannelMessagesErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListChannelMessagesErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListChannelMessagesErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::ListChannelMessagesErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListChannelMessagesErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::ListChannelMessagesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListChannelModeratorsErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListChannelModeratorsErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListChannelModeratorsErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListChannelModeratorsErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::ListChannelModeratorsErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListChannelModeratorsErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::ListChannelModeratorsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListChannelsErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListChannelsErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::ListChannelsErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::ListChannelsErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::ListChannelsErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::ListChannelsErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::ListChannelsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::ListChannelsModeratedByAppInstanceUserError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::BadRequestException(inner) => Error::BadRequestException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ForbiddenException(inner) => Error::ForbiddenException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ServiceFailureException(inner) => Error::ServiceFailureException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ServiceUnavailableException(inner) => Error::ServiceUnavailableException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ThrottledClientException(inner) => Error::ThrottledClientException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::UnauthorizedClientException(inner) => Error::UnauthorizedClientException(inner), + crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::RedactChannelMessageErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::RedactChannelMessageErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::RedactChannelMessageErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::RedactChannelMessageErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::RedactChannelMessageErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::RedactChannelMessageErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::RedactChannelMessageErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::SendChannelMessageErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::SendChannelMessageErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::SendChannelMessageErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::SendChannelMessageErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::SendChannelMessageErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::SendChannelMessageErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::SendChannelMessageErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::SendChannelMessageErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateChannelErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateChannelErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateChannelErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::UpdateChannelErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::UpdateChannelErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::UpdateChannelErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::UpdateChannelErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::UpdateChannelErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateChannelMessageErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateChannelMessageErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateChannelMessageErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::UpdateChannelMessageErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::UpdateChannelMessageErrorKind::ServiceUnavailableException(inner) => { + Error::ServiceUnavailableException(inner) + } + crate::error::UpdateChannelMessageErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::UpdateChannelMessageErrorKind::UnauthorizedClientException(inner) => { + Error::UnauthorizedClientException(inner) + } + crate::error::UpdateChannelMessageErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateChannelReadMarkerErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateChannelReadMarkerErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateChannelReadMarkerErrorKind::ForbiddenException(inner) => { + Error::ForbiddenException(inner) + } + crate::error::UpdateChannelReadMarkerErrorKind::ServiceFailureException(inner) => { + Error::ServiceFailureException(inner) + } + crate::error::UpdateChannelReadMarkerErrorKind::ServiceUnavailableException( + inner, + ) => Error::ServiceUnavailableException(inner), + crate::error::UpdateChannelReadMarkerErrorKind::ThrottledClientException(inner) => { + Error::ThrottledClientException(inner) + } + crate::error::UpdateChannelReadMarkerErrorKind::UnauthorizedClientException( + inner, + ) => Error::UnauthorizedClientException(inner), + crate::error::UpdateChannelReadMarkerErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl std::error::Error for Error {} diff --git a/sdk/chimesdkmessaging/src/idempotency_token.rs b/sdk/chimesdkmessaging/src/idempotency_token.rs new file mode 100644 index 000000000000..dedcbd849bad --- /dev/null +++ b/sdk/chimesdkmessaging/src/idempotency_token.rs @@ -0,0 +1,88 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::sync::Mutex; + +pub(crate) fn uuid_v4(input: u128) -> String { + let mut out = String::with_capacity(36); + // u4-aligned index into [input] + let mut rnd_idx: u8 = 0; + const HEX_CHARS: &[u8; 16] = b"0123456789abcdef"; + + for str_idx in 0..36 { + if str_idx == 8 || str_idx == 13 || str_idx == 18 || str_idx == 23 { + out.push('-'); + // UUID version character + } else if str_idx == 14 { + out.push('4'); + } else { + let mut dat: u8 = ((input >> (rnd_idx * 4)) & 0x0F) as u8; + // UUID variant bits + if str_idx == 19 { + dat |= 0b00001000; + } + rnd_idx += 1; + out.push(HEX_CHARS[dat as usize] as char); + } + } + out +} + +/// IdempotencyTokenProvider generates idempotency tokens for idempotency API requests +/// +/// Generally, customers will not need to interact with this at all. A sensible default will be +/// provided automatically during config construction. However, if you need deterministic behavior +/// for testing, two options are available: +/// 1. Utilize the From<&'static str>` implementation to hard code an idempotency token +/// 2. Seed the token provider with [`IdempotencyTokenProvider::with_seed`](IdempotencyTokenProvider::with_seed) +pub struct IdempotencyTokenProvider { + inner: Inner, +} + +enum Inner { + Static(&'static str), + Random(Mutex), +} + +pub fn default_provider() -> IdempotencyTokenProvider { + IdempotencyTokenProvider::random() +} + +impl From<&'static str> for IdempotencyTokenProvider { + fn from(token: &'static str) -> Self { + Self::fixed(token) + } +} + +impl IdempotencyTokenProvider { + pub fn make_idempotency_token(&self) -> String { + match &self.inner { + Inner::Static(token) => token.to_string(), + Inner::Random(rng) => { + let input: u128 = rng.lock().unwrap().u128(..); + uuid_v4(input) + } + } + } + + pub fn with_seed(seed: u64) -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::with_seed(seed))), + } + } + + pub fn random() -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::new())), + } + } + + pub fn fixed(token: &'static str) -> Self { + Self { + inner: Inner::Static(token), + } + } +} diff --git a/sdk/chimesdkmessaging/src/input.rs b/sdk/chimesdkmessaging/src/input.rs new file mode 100644 index 000000000000..9a932e046baa --- /dev/null +++ b/sdk/chimesdkmessaging/src/input.rs @@ -0,0 +1,7080 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +use std::fmt::Write; +/// See [`BatchCreateChannelMembershipInput`](crate::input::BatchCreateChannelMembershipInput) +pub mod batch_create_channel_membership_input { + /// A builder for [`BatchCreateChannelMembershipInput`](crate::input::BatchCreateChannelMembershipInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) member_arns: std::option::Option>, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel to which you're adding users.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + pub fn member_arns(mut self, input: impl Into) -> Self { + let mut v = self.member_arns.unwrap_or_default(); + v.push(input.into()); + self.member_arns = Some(v); + self + } + pub fn set_member_arns( + mut self, + input: std::option::Option>, + ) -> Self { + self.member_arns = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`BatchCreateChannelMembershipInput`](crate::input::BatchCreateChannelMembershipInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::BatchCreateChannelMembershipInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::BatchCreateChannelMembershipInput { + channel_arn: self.channel_arn, + r#type: self.r#type, + member_arns: self.member_arns, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type BatchCreateChannelMembershipInputOperationOutputAlias = + crate::operation::BatchCreateChannelMembership; +#[doc(hidden)] +pub type BatchCreateChannelMembershipInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl BatchCreateChannelMembershipInput { + /// Consumes the builder and constructs an Operation<[`BatchCreateChannelMembership`](crate::operation::BatchCreateChannelMembership)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::BatchCreateChannelMembership, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_batch_create_channel_membership(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::BatchCreateChannelMembership::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "BatchCreateChannelMembership", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_1 = &self.channel_arn; + let input_1 = input_1 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_1, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/memberships", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_2) = &self.chime_bearer { + let formatted_3 = AsRef::::as_ref(inner_2); + if !formatted_3.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_3; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("operation", "batch-create"); + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`BatchCreateChannelMembershipInput`](crate::input::BatchCreateChannelMembershipInput) + pub fn builder() -> crate::input::batch_create_channel_membership_input::Builder { + crate::input::batch_create_channel_membership_input::Builder::default() + } +} + +/// See [`CreateChannelInput`](crate::input::CreateChannelInput) +pub mod create_channel_input { + /// A builder for [`CreateChannelInput`](crate::input::CreateChannelInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) mode: std::option::Option, + pub(crate) privacy: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) client_request_token: std::option::Option, + pub(crate) tags: std::option::Option>, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel request.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The name of the channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.mode = Some(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.mode = input; + self + } + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.privacy = Some(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.privacy = input; + self + } + ///

          The metadata of the creation request. Limited to 1KB and UTF-8.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The client token for the request. An Idempotency token.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.client_request_token = Some(input.into()); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.client_request_token = input; + self + } + pub fn tags(mut self, input: impl Into) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(input.into()); + self.tags = Some(v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option>, + ) -> Self { + self.tags = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelInput`](crate::input::CreateChannelInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::CreateChannelInput { + app_instance_arn: self.app_instance_arn, + name: self.name, + mode: self.mode, + privacy: self.privacy, + metadata: self.metadata, + client_request_token: self.client_request_token, + tags: self.tags, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type CreateChannelInputOperationOutputAlias = crate::operation::CreateChannel; +#[doc(hidden)] +pub type CreateChannelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateChannelInput { + /// Consumes the builder and constructs an Operation<[`CreateChannel`](crate::operation::CreateChannel)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + mut self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateChannel, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + if self.client_request_token.is_none() { + self.client_request_token = Some(_config.make_token.make_idempotency_token()); + } + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_channel(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateChannel::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateChannel", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/channels").expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_4) = &self.chime_bearer { + let formatted_5 = AsRef::::as_ref(inner_4); + if !formatted_5.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_5; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateChannelInput`](crate::input::CreateChannelInput) + pub fn builder() -> crate::input::create_channel_input::Builder { + crate::input::create_channel_input::Builder::default() + } +} + +/// See [`CreateChannelBanInput`](crate::input::CreateChannelBanInput) +pub mod create_channel_ban_input { + /// A builder for [`CreateChannelBanInput`](crate::input::CreateChannelBanInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the ban request.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the member being banned.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelBanInput`](crate::input::CreateChannelBanInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateChannelBanInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateChannelBanInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type CreateChannelBanInputOperationOutputAlias = crate::operation::CreateChannelBan; +#[doc(hidden)] +pub type CreateChannelBanInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateChannelBanInput { + /// Consumes the builder and constructs an Operation<[`CreateChannelBan`](crate::operation::CreateChannelBan)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateChannelBan, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_channel_ban(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateChannelBan::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateChannelBan", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_6 = &self.channel_arn; + let input_6 = input_6 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_6, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/bans", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_7) = &self.chime_bearer { + let formatted_8 = AsRef::::as_ref(inner_7); + if !formatted_8.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_8; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateChannelBanInput`](crate::input::CreateChannelBanInput) + pub fn builder() -> crate::input::create_channel_ban_input::Builder { + crate::input::create_channel_ban_input::Builder::default() + } +} + +/// See [`CreateChannelMembershipInput`](crate::input::CreateChannelMembershipInput) +pub mod create_channel_membership_input { + /// A builder for [`CreateChannelMembershipInput`](crate::input::CreateChannelMembershipInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel to which you're adding users.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the member you want to add to the channel.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelMembershipInput`](crate::input::CreateChannelMembershipInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateChannelMembershipInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateChannelMembershipInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + r#type: self.r#type, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type CreateChannelMembershipInputOperationOutputAlias = + crate::operation::CreateChannelMembership; +#[doc(hidden)] +pub type CreateChannelMembershipInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateChannelMembershipInput { + /// Consumes the builder and constructs an Operation<[`CreateChannelMembership`](crate::operation::CreateChannelMembership)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateChannelMembership, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_channel_membership(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateChannelMembership::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateChannelMembership", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_9 = &self.channel_arn; + let input_9 = input_9 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_9, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/memberships", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_10) = &self.chime_bearer { + let formatted_11 = AsRef::::as_ref(inner_10); + if !formatted_11.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_11; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateChannelMembershipInput`](crate::input::CreateChannelMembershipInput) + pub fn builder() -> crate::input::create_channel_membership_input::Builder { + crate::input::create_channel_membership_input::Builder::default() + } +} + +/// See [`CreateChannelModeratorInput`](crate::input::CreateChannelModeratorInput) +pub mod create_channel_moderator_input { + /// A builder for [`CreateChannelModeratorInput`](crate::input::CreateChannelModeratorInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) channel_moderator_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the moderator.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.channel_moderator_arn = Some(input.into()); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_moderator_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelModeratorInput`](crate::input::CreateChannelModeratorInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateChannelModeratorInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateChannelModeratorInput { + channel_arn: self.channel_arn, + channel_moderator_arn: self.channel_moderator_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type CreateChannelModeratorInputOperationOutputAlias = crate::operation::CreateChannelModerator; +#[doc(hidden)] +pub type CreateChannelModeratorInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateChannelModeratorInput { + /// Consumes the builder and constructs an Operation<[`CreateChannelModerator`](crate::operation::CreateChannelModerator)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateChannelModerator, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_channel_moderator(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateChannelModerator::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateChannelModerator", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_12 = &self.channel_arn; + let input_12 = + input_12 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_12, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/moderators", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_13) = &self.chime_bearer { + let formatted_14 = AsRef::::as_ref(inner_13); + if !formatted_14.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_14; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateChannelModeratorInput`](crate::input::CreateChannelModeratorInput) + pub fn builder() -> crate::input::create_channel_moderator_input::Builder { + crate::input::create_channel_moderator_input::Builder::default() + } +} + +/// See [`DeleteChannelInput`](crate::input::DeleteChannelInput) +pub mod delete_channel_input { + /// A builder for [`DeleteChannelInput`](crate::input::DeleteChannelInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel being deleted.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DeleteChannelInput`](crate::input::DeleteChannelInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::DeleteChannelInput { + channel_arn: self.channel_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DeleteChannelInputOperationOutputAlias = crate::operation::DeleteChannel; +#[doc(hidden)] +pub type DeleteChannelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteChannelInput { + /// Consumes the builder and constructs an Operation<[`DeleteChannel`](crate::operation::DeleteChannel)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteChannel, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteChannel::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteChannel", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_15 = &self.channel_arn; + let input_15 = + input_15 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_15, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/channels/{ChannelArn}", ChannelArn = channel_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_16) = &self.chime_bearer { + let formatted_17 = AsRef::::as_ref(inner_16); + if !formatted_17.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_17; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteChannelInput`](crate::input::DeleteChannelInput) + pub fn builder() -> crate::input::delete_channel_input::Builder { + crate::input::delete_channel_input::Builder::default() + } +} + +/// See [`DeleteChannelBanInput`](crate::input::DeleteChannelBanInput) +pub mod delete_channel_ban_input { + /// A builder for [`DeleteChannelBanInput`](crate::input::DeleteChannelBanInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel from which the AppInstanceUser was banned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the AppInstanceUser that you want to reinstate.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DeleteChannelBanInput`](crate::input::DeleteChannelBanInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteChannelBanInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteChannelBanInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DeleteChannelBanInputOperationOutputAlias = crate::operation::DeleteChannelBan; +#[doc(hidden)] +pub type DeleteChannelBanInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteChannelBanInput { + /// Consumes the builder and constructs an Operation<[`DeleteChannelBan`](crate::operation::DeleteChannelBan)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteChannelBan, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteChannelBan::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteChannelBan", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_18 = &self.channel_arn; + let input_18 = + input_18 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_18, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_19 = &self.member_arn; + let input_19 = + input_19 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + })?; + let member_arn = smithy_http::label::fmt_string(input_19, false); + if member_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/bans/{MemberArn}", + ChannelArn = channel_arn, + MemberArn = member_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_20) = &self.chime_bearer { + let formatted_21 = AsRef::::as_ref(inner_20); + if !formatted_21.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_21; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteChannelBanInput`](crate::input::DeleteChannelBanInput) + pub fn builder() -> crate::input::delete_channel_ban_input::Builder { + crate::input::delete_channel_ban_input::Builder::default() + } +} + +/// See [`DeleteChannelMembershipInput`](crate::input::DeleteChannelMembershipInput) +pub mod delete_channel_membership_input { + /// A builder for [`DeleteChannelMembershipInput`](crate::input::DeleteChannelMembershipInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel from which you want to remove the user.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the member that you're removing from the channel.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DeleteChannelMembershipInput`](crate::input::DeleteChannelMembershipInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteChannelMembershipInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteChannelMembershipInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DeleteChannelMembershipInputOperationOutputAlias = + crate::operation::DeleteChannelMembership; +#[doc(hidden)] +pub type DeleteChannelMembershipInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteChannelMembershipInput { + /// Consumes the builder and constructs an Operation<[`DeleteChannelMembership`](crate::operation::DeleteChannelMembership)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteChannelMembership, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteChannelMembership::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteChannelMembership", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_22 = &self.channel_arn; + let input_22 = + input_22 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_22, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_23 = &self.member_arn; + let input_23 = + input_23 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + })?; + let member_arn = smithy_http::label::fmt_string(input_23, false); + if member_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/memberships/{MemberArn}", + ChannelArn = channel_arn, + MemberArn = member_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_24) = &self.chime_bearer { + let formatted_25 = AsRef::::as_ref(inner_24); + if !formatted_25.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_25; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteChannelMembershipInput`](crate::input::DeleteChannelMembershipInput) + pub fn builder() -> crate::input::delete_channel_membership_input::Builder { + crate::input::delete_channel_membership_input::Builder::default() + } +} + +/// See [`DeleteChannelMessageInput`](crate::input::DeleteChannelMessageInput) +pub mod delete_channel_message_input { + /// A builder for [`DeleteChannelMessageInput`](crate::input::DeleteChannelMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID of the message being deleted.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DeleteChannelMessageInput`](crate::input::DeleteChannelMessageInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteChannelMessageInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteChannelMessageInput { + channel_arn: self.channel_arn, + message_id: self.message_id, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DeleteChannelMessageInputOperationOutputAlias = crate::operation::DeleteChannelMessage; +#[doc(hidden)] +pub type DeleteChannelMessageInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteChannelMessageInput { + /// Consumes the builder and constructs an Operation<[`DeleteChannelMessage`](crate::operation::DeleteChannelMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteChannelMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteChannelMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteChannelMessage", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_26 = &self.channel_arn; + let input_26 = + input_26 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_26, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_27 = &self.message_id; + let input_27 = + input_27 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + })?; + let message_id = smithy_http::label::fmt_string(input_27, false); + if message_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages/{MessageId}", + ChannelArn = channel_arn, + MessageId = message_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_28) = &self.chime_bearer { + let formatted_29 = AsRef::::as_ref(inner_28); + if !formatted_29.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_29; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteChannelMessageInput`](crate::input::DeleteChannelMessageInput) + pub fn builder() -> crate::input::delete_channel_message_input::Builder { + crate::input::delete_channel_message_input::Builder::default() + } +} + +/// See [`DeleteChannelModeratorInput`](crate::input::DeleteChannelModeratorInput) +pub mod delete_channel_moderator_input { + /// A builder for [`DeleteChannelModeratorInput`](crate::input::DeleteChannelModeratorInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) channel_moderator_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the moderator being deleted.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.channel_moderator_arn = Some(input.into()); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_moderator_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DeleteChannelModeratorInput`](crate::input::DeleteChannelModeratorInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteChannelModeratorInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteChannelModeratorInput { + channel_arn: self.channel_arn, + channel_moderator_arn: self.channel_moderator_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DeleteChannelModeratorInputOperationOutputAlias = crate::operation::DeleteChannelModerator; +#[doc(hidden)] +pub type DeleteChannelModeratorInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteChannelModeratorInput { + /// Consumes the builder and constructs an Operation<[`DeleteChannelModerator`](crate::operation::DeleteChannelModerator)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteChannelModerator, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteChannelModerator::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteChannelModerator", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_30 = &self.channel_arn; + let input_30 = + input_30 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_30, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_31 = &self.channel_moderator_arn; + let input_31 = + input_31 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_moderator_arn", + details: "cannot be empty or unset", + })?; + let channel_moderator_arn = smithy_http::label::fmt_string(input_31, false); + if channel_moderator_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_moderator_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}", + ChannelArn = channel_arn, + ChannelModeratorArn = channel_moderator_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_32) = &self.chime_bearer { + let formatted_33 = AsRef::::as_ref(inner_32); + if !formatted_33.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_33; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteChannelModeratorInput`](crate::input::DeleteChannelModeratorInput) + pub fn builder() -> crate::input::delete_channel_moderator_input::Builder { + crate::input::delete_channel_moderator_input::Builder::default() + } +} + +/// See [`DescribeChannelInput`](crate::input::DescribeChannelInput) +pub mod describe_channel_input { + /// A builder for [`DescribeChannelInput`](crate::input::DescribeChannelInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelInput`](crate::input::DescribeChannelInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeChannelInput { + channel_arn: self.channel_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DescribeChannelInputOperationOutputAlias = crate::operation::DescribeChannel; +#[doc(hidden)] +pub type DescribeChannelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeChannelInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannel`](crate::operation::DescribeChannel)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannel, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannel::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannel", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_34 = &self.channel_arn; + let input_34 = + input_34 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_34, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/channels/{ChannelArn}", ChannelArn = channel_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_35) = &self.chime_bearer { + let formatted_36 = AsRef::::as_ref(inner_35); + if !formatted_36.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_36; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelInput`](crate::input::DescribeChannelInput) + pub fn builder() -> crate::input::describe_channel_input::Builder { + crate::input::describe_channel_input::Builder::default() + } +} + +/// See [`DescribeChannelBanInput`](crate::input::DescribeChannelBanInput) +pub mod describe_channel_ban_input { + /// A builder for [`DescribeChannelBanInput`](crate::input::DescribeChannelBanInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel from which the user is banned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the member being banned.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelBanInput`](crate::input::DescribeChannelBanInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelBanInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeChannelBanInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DescribeChannelBanInputOperationOutputAlias = crate::operation::DescribeChannelBan; +#[doc(hidden)] +pub type DescribeChannelBanInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeChannelBanInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannelBan`](crate::operation::DescribeChannelBan)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannelBan, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannelBan::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannelBan", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_37 = &self.channel_arn; + let input_37 = + input_37 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_37, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_38 = &self.member_arn; + let input_38 = + input_38 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + })?; + let member_arn = smithy_http::label::fmt_string(input_38, false); + if member_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/bans/{MemberArn}", + ChannelArn = channel_arn, + MemberArn = member_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_39) = &self.chime_bearer { + let formatted_40 = AsRef::::as_ref(inner_39); + if !formatted_40.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_40; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelBanInput`](crate::input::DescribeChannelBanInput) + pub fn builder() -> crate::input::describe_channel_ban_input::Builder { + crate::input::describe_channel_ban_input::Builder::default() + } +} + +/// See [`DescribeChannelMembershipInput`](crate::input::DescribeChannelMembershipInput) +pub mod describe_channel_membership_input { + /// A builder for [`DescribeChannelMembershipInput`](crate::input::DescribeChannelMembershipInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the member.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelMembershipInput`](crate::input::DescribeChannelMembershipInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelMembershipInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeChannelMembershipInput { + channel_arn: self.channel_arn, + member_arn: self.member_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DescribeChannelMembershipInputOperationOutputAlias = + crate::operation::DescribeChannelMembership; +#[doc(hidden)] +pub type DescribeChannelMembershipInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeChannelMembershipInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannelMembership`](crate::operation::DescribeChannelMembership)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannelMembership, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannelMembership::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannelMembership", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_41 = &self.channel_arn; + let input_41 = + input_41 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_41, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_42 = &self.member_arn; + let input_42 = + input_42 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + })?; + let member_arn = smithy_http::label::fmt_string(input_42, false); + if member_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "member_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/memberships/{MemberArn}", + ChannelArn = channel_arn, + MemberArn = member_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_43) = &self.chime_bearer { + let formatted_44 = AsRef::::as_ref(inner_43); + if !formatted_44.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_44; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipInput`](crate::input::DescribeChannelMembershipInput) + pub fn builder() -> crate::input::describe_channel_membership_input::Builder { + crate::input::describe_channel_membership_input::Builder::default() + } +} + +/// See [`DescribeChannelMembershipForAppInstanceUserInput`](crate::input::DescribeChannelMembershipForAppInstanceUserInput) +pub mod describe_channel_membership_for_app_instance_user_input { + /// A builder for [`DescribeChannelMembershipForAppInstanceUserInput`](crate::input::DescribeChannelMembershipForAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel to which the user belongs.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the user in a channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelMembershipForAppInstanceUserInput`](crate::input::DescribeChannelMembershipForAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelMembershipForAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok( + crate::input::DescribeChannelMembershipForAppInstanceUserInput { + channel_arn: self.channel_arn, + app_instance_user_arn: self.app_instance_user_arn, + chime_bearer: self.chime_bearer, + }, + ) + } + } +} +#[doc(hidden)] +pub type DescribeChannelMembershipForAppInstanceUserInputOperationOutputAlias = + crate::operation::DescribeChannelMembershipForAppInstanceUser; +#[doc(hidden)] +pub type DescribeChannelMembershipForAppInstanceUserInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl DescribeChannelMembershipForAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannelMembershipForAppInstanceUser`](crate::operation::DescribeChannelMembershipForAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannelMembershipForAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannelMembershipForAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannelMembershipForAppInstanceUser", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_45 = &self.channel_arn; + let input_45 = + input_45 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_45, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/channels/{ChannelArn}", ChannelArn = channel_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_46) = &self.chime_bearer { + let formatted_47 = AsRef::::as_ref(inner_46); + if !formatted_47.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_47; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("scope", "app-instance-user-membership"); + if let Some(inner_48) = &self.app_instance_user_arn { + query.push_kv( + "app-instance-user-arn", + &smithy_http::query::fmt_string(&inner_48), + ); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipForAppInstanceUserInput`](crate::input::DescribeChannelMembershipForAppInstanceUserInput) + pub fn builder( + ) -> crate::input::describe_channel_membership_for_app_instance_user_input::Builder { + crate::input::describe_channel_membership_for_app_instance_user_input::Builder::default() + } +} + +/// See [`DescribeChannelModeratedByAppInstanceUserInput`](crate::input::DescribeChannelModeratedByAppInstanceUserInput) +pub mod describe_channel_moderated_by_app_instance_user_input { + /// A builder for [`DescribeChannelModeratedByAppInstanceUserInput`](crate::input::DescribeChannelModeratedByAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the moderated channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the AppInstanceUser in the moderated channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelModeratedByAppInstanceUserInput`](crate::input::DescribeChannelModeratedByAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelModeratedByAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok( + crate::input::DescribeChannelModeratedByAppInstanceUserInput { + channel_arn: self.channel_arn, + app_instance_user_arn: self.app_instance_user_arn, + chime_bearer: self.chime_bearer, + }, + ) + } + } +} +#[doc(hidden)] +pub type DescribeChannelModeratedByAppInstanceUserInputOperationOutputAlias = + crate::operation::DescribeChannelModeratedByAppInstanceUser; +#[doc(hidden)] +pub type DescribeChannelModeratedByAppInstanceUserInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl DescribeChannelModeratedByAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannelModeratedByAppInstanceUser`](crate::operation::DescribeChannelModeratedByAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannelModeratedByAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannelModeratedByAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannelModeratedByAppInstanceUser", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_49 = &self.channel_arn; + let input_49 = + input_49 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_49, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/channels/{ChannelArn}", ChannelArn = channel_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_50) = &self.chime_bearer { + let formatted_51 = AsRef::::as_ref(inner_50); + if !formatted_51.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_51; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("scope", "app-instance-user-moderated-channel"); + if let Some(inner_52) = &self.app_instance_user_arn { + query.push_kv( + "app-instance-user-arn", + &smithy_http::query::fmt_string(&inner_52), + ); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratedByAppInstanceUserInput`](crate::input::DescribeChannelModeratedByAppInstanceUserInput) + pub fn builder() -> crate::input::describe_channel_moderated_by_app_instance_user_input::Builder + { + crate::input::describe_channel_moderated_by_app_instance_user_input::Builder::default() + } +} + +/// See [`DescribeChannelModeratorInput`](crate::input::DescribeChannelModeratorInput) +pub mod describe_channel_moderator_input { + /// A builder for [`DescribeChannelModeratorInput`](crate::input::DescribeChannelModeratorInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) channel_moderator_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN of the channel moderator.

          + pub fn channel_moderator_arn(mut self, input: impl Into) -> Self { + self.channel_moderator_arn = Some(input.into()); + self + } + pub fn set_channel_moderator_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_moderator_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelModeratorInput`](crate::input::DescribeChannelModeratorInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeChannelModeratorInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeChannelModeratorInput { + channel_arn: self.channel_arn, + channel_moderator_arn: self.channel_moderator_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type DescribeChannelModeratorInputOperationOutputAlias = + crate::operation::DescribeChannelModerator; +#[doc(hidden)] +pub type DescribeChannelModeratorInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeChannelModeratorInput { + /// Consumes the builder and constructs an Operation<[`DescribeChannelModerator`](crate::operation::DescribeChannelModerator)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeChannelModerator, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeChannelModerator::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeChannelModerator", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_53 = &self.channel_arn; + let input_53 = + input_53 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_53, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_54 = &self.channel_moderator_arn; + let input_54 = + input_54 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_moderator_arn", + details: "cannot be empty or unset", + })?; + let channel_moderator_arn = smithy_http::label::fmt_string(input_54, false); + if channel_moderator_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_moderator_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/moderators/{ChannelModeratorArn}", + ChannelArn = channel_arn, + ChannelModeratorArn = channel_moderator_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_55) = &self.chime_bearer { + let formatted_56 = AsRef::::as_ref(inner_55); + if !formatted_56.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_56; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratorInput`](crate::input::DescribeChannelModeratorInput) + pub fn builder() -> crate::input::describe_channel_moderator_input::Builder { + crate::input::describe_channel_moderator_input::Builder::default() + } +} + +/// See [`GetChannelMessageInput`](crate::input::GetChannelMessageInput) +pub mod get_channel_message_input { + /// A builder for [`GetChannelMessageInput`](crate::input::GetChannelMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID of the message.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`GetChannelMessageInput`](crate::input::GetChannelMessageInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetChannelMessageInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetChannelMessageInput { + channel_arn: self.channel_arn, + message_id: self.message_id, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type GetChannelMessageInputOperationOutputAlias = crate::operation::GetChannelMessage; +#[doc(hidden)] +pub type GetChannelMessageInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetChannelMessageInput { + /// Consumes the builder and constructs an Operation<[`GetChannelMessage`](crate::operation::GetChannelMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetChannelMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetChannelMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetChannelMessage", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_57 = &self.channel_arn; + let input_57 = + input_57 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_57, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_58 = &self.message_id; + let input_58 = + input_58 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + })?; + let message_id = smithy_http::label::fmt_string(input_58, false); + if message_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages/{MessageId}", + ChannelArn = channel_arn, + MessageId = message_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_59) = &self.chime_bearer { + let formatted_60 = AsRef::::as_ref(inner_59); + if !formatted_60.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_60; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetChannelMessageInput`](crate::input::GetChannelMessageInput) + pub fn builder() -> crate::input::get_channel_message_input::Builder { + crate::input::get_channel_message_input::Builder::default() + } +} + +/// See [`GetMessagingSessionEndpointInput`](crate::input::GetMessagingSessionEndpointInput) +pub mod get_messaging_session_endpoint_input { + /// A builder for [`GetMessagingSessionEndpointInput`](crate::input::GetMessagingSessionEndpointInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`GetMessagingSessionEndpointInput`](crate::input::GetMessagingSessionEndpointInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetMessagingSessionEndpointInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetMessagingSessionEndpointInput {}) + } + } +} +#[doc(hidden)] +pub type GetMessagingSessionEndpointInputOperationOutputAlias = + crate::operation::GetMessagingSessionEndpoint; +#[doc(hidden)] +pub type GetMessagingSessionEndpointInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetMessagingSessionEndpointInput { + /// Consumes the builder and constructs an Operation<[`GetMessagingSessionEndpoint`](crate::operation::GetMessagingSessionEndpoint)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetMessagingSessionEndpoint, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetMessagingSessionEndpoint::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetMessagingSessionEndpoint", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/endpoints/messaging-session").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetMessagingSessionEndpointInput`](crate::input::GetMessagingSessionEndpointInput) + pub fn builder() -> crate::input::get_messaging_session_endpoint_input::Builder { + crate::input::get_messaging_session_endpoint_input::Builder::default() + } +} + +/// See [`ListChannelBansInput`](crate::input::ListChannelBansInput) +pub mod list_channel_bans_input { + /// A builder for [`ListChannelBansInput`](crate::input::ListChannelBansInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The maximum number of bans that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested bans are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelBansInput`](crate::input::ListChannelBansInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelBansInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListChannelBansInput { + channel_arn: self.channel_arn, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelBansInputOperationOutputAlias = crate::operation::ListChannelBans; +#[doc(hidden)] +pub type ListChannelBansInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListChannelBansInput { + /// Consumes the builder and constructs an Operation<[`ListChannelBans`](crate::operation::ListChannelBans)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelBans, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelBans::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelBans", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_61 = &self.channel_arn; + let input_61 = + input_61 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_61, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/bans", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_62) = &self.chime_bearer { + let formatted_63 = AsRef::::as_ref(inner_62); + if !formatted_63.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_63; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_64) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_64).encode(), + ); + } + if let Some(inner_65) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_65)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelBansInput`](crate::input::ListChannelBansInput) + pub fn builder() -> crate::input::list_channel_bans_input::Builder { + crate::input::list_channel_bans_input::Builder::default() + } +} + +/// See [`ListChannelMembershipsInput`](crate::input::ListChannelMembershipsInput) +pub mod list_channel_memberships_input { + /// A builder for [`ListChannelMembershipsInput`](crate::input::ListChannelMembershipsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The maximum number of channel memberships that you want returned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The maximum number of channel memberships that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMembershipsInput`](crate::input::ListChannelMembershipsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelMembershipsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListChannelMembershipsInput { + channel_arn: self.channel_arn, + r#type: self.r#type, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelMembershipsInputOperationOutputAlias = crate::operation::ListChannelMemberships; +#[doc(hidden)] +pub type ListChannelMembershipsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListChannelMembershipsInput { + /// Consumes the builder and constructs an Operation<[`ListChannelMemberships`](crate::operation::ListChannelMemberships)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelMemberships, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelMemberships::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelMemberships", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_66 = &self.channel_arn; + let input_66 = + input_66 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_66, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/memberships", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_67) = &self.chime_bearer { + let formatted_68 = AsRef::::as_ref(inner_67); + if !formatted_68.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_68; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_69) = &self.r#type { + query.push_kv("type", &smithy_http::query::fmt_string(&inner_69)); + } + if let Some(inner_70) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_70).encode(), + ); + } + if let Some(inner_71) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_71)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsInput`](crate::input::ListChannelMembershipsInput) + pub fn builder() -> crate::input::list_channel_memberships_input::Builder { + crate::input::list_channel_memberships_input::Builder::default() + } +} + +/// See [`ListChannelMembershipsForAppInstanceUserInput`](crate::input::ListChannelMembershipsForAppInstanceUserInput) +pub mod list_channel_memberships_for_app_instance_user_input { + /// A builder for [`ListChannelMembershipsForAppInstanceUserInput`](crate::input::ListChannelMembershipsForAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstanceUsers

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The maximum number of users that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token returned from previous API requests until the number of channel memberships is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMembershipsForAppInstanceUserInput`](crate::input::ListChannelMembershipsForAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelMembershipsForAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok( + crate::input::ListChannelMembershipsForAppInstanceUserInput { + app_instance_user_arn: self.app_instance_user_arn, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }, + ) + } + } +} +#[doc(hidden)] +pub type ListChannelMembershipsForAppInstanceUserInputOperationOutputAlias = + crate::operation::ListChannelMembershipsForAppInstanceUser; +#[doc(hidden)] +pub type ListChannelMembershipsForAppInstanceUserInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl ListChannelMembershipsForAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`ListChannelMembershipsForAppInstanceUser`](crate::operation::ListChannelMembershipsForAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelMembershipsForAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelMembershipsForAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelMembershipsForAppInstanceUser", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/channels").expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_72) = &self.chime_bearer { + let formatted_73 = AsRef::::as_ref(inner_72); + if !formatted_73.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_73; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("scope", "app-instance-user-memberships"); + if let Some(inner_74) = &self.app_instance_user_arn { + query.push_kv( + "app-instance-user-arn", + &smithy_http::query::fmt_string(&inner_74), + ); + } + if let Some(inner_75) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_75).encode(), + ); + } + if let Some(inner_76) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_76)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsForAppInstanceUserInput`](crate::input::ListChannelMembershipsForAppInstanceUserInput) + pub fn builder() -> crate::input::list_channel_memberships_for_app_instance_user_input::Builder + { + crate::input::list_channel_memberships_for_app_instance_user_input::Builder::default() + } +} + +/// See [`ListChannelMessagesInput`](crate::input::ListChannelMessagesInput) +pub mod list_channel_messages_input { + /// A builder for [`ListChannelMessagesInput`](crate::input::ListChannelMessagesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) sort_order: std::option::Option, + pub(crate) not_before: std::option::Option, + pub(crate) not_after: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          + pub fn sort_order(mut self, input: crate::model::SortOrder) -> Self { + self.sort_order = Some(input); + self + } + pub fn set_sort_order( + mut self, + input: std::option::Option, + ) -> Self { + self.sort_order = input; + self + } + ///

          The initial or starting time stamp for your requested messages.

          + pub fn not_before(mut self, input: smithy_types::Instant) -> Self { + self.not_before = Some(input); + self + } + pub fn set_not_before(mut self, input: std::option::Option) -> Self { + self.not_before = input; + self + } + ///

          The final or ending time stamp for your requested messages.

          + pub fn not_after(mut self, input: smithy_types::Instant) -> Self { + self.not_after = Some(input); + self + } + pub fn set_not_after(mut self, input: std::option::Option) -> Self { + self.not_after = input; + self + } + ///

          The maximum number of messages that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested messages are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMessagesInput`](crate::input::ListChannelMessagesInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelMessagesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListChannelMessagesInput { + channel_arn: self.channel_arn, + sort_order: self.sort_order, + not_before: self.not_before, + not_after: self.not_after, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelMessagesInputOperationOutputAlias = crate::operation::ListChannelMessages; +#[doc(hidden)] +pub type ListChannelMessagesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListChannelMessagesInput { + /// Consumes the builder and constructs an Operation<[`ListChannelMessages`](crate::operation::ListChannelMessages)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelMessages, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelMessages::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelMessages", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_77 = &self.channel_arn; + let input_77 = + input_77 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_77, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_78) = &self.chime_bearer { + let formatted_79 = AsRef::::as_ref(inner_78); + if !formatted_79.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_79; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_80) = &self.sort_order { + query.push_kv("sort-order", &smithy_http::query::fmt_string(&inner_80)); + } + if let Some(inner_81) = &self.not_before { + query.push_kv( + "not-before", + &smithy_http::query::fmt_timestamp( + inner_81, + smithy_types::instant::Format::DateTime, + ), + ); + } + if let Some(inner_82) = &self.not_after { + query.push_kv( + "not-after", + &smithy_http::query::fmt_timestamp( + inner_82, + smithy_types::instant::Format::DateTime, + ), + ); + } + if let Some(inner_83) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_83).encode(), + ); + } + if let Some(inner_84) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_84)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelMessagesInput`](crate::input::ListChannelMessagesInput) + pub fn builder() -> crate::input::list_channel_messages_input::Builder { + crate::input::list_channel_messages_input::Builder::default() + } +} + +/// See [`ListChannelModeratorsInput`](crate::input::ListChannelModeratorsInput) +pub mod list_channel_moderators_input { + /// A builder for [`ListChannelModeratorsInput`](crate::input::ListChannelModeratorsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The maximum number of moderators that you want returned.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelModeratorsInput`](crate::input::ListChannelModeratorsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelModeratorsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListChannelModeratorsInput { + channel_arn: self.channel_arn, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelModeratorsInputOperationOutputAlias = crate::operation::ListChannelModerators; +#[doc(hidden)] +pub type ListChannelModeratorsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListChannelModeratorsInput { + /// Consumes the builder and constructs an Operation<[`ListChannelModerators`](crate::operation::ListChannelModerators)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelModerators, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelModerators::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelModerators", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_85 = &self.channel_arn; + let input_85 = + input_85 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_85, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/moderators", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_86) = &self.chime_bearer { + let formatted_87 = AsRef::::as_ref(inner_86); + if !formatted_87.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_87; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_88) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_88).encode(), + ); + } + if let Some(inner_89) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_89)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelModeratorsInput`](crate::input::ListChannelModeratorsInput) + pub fn builder() -> crate::input::list_channel_moderators_input::Builder { + crate::input::list_channel_moderators_input::Builder::default() + } +} + +/// See [`ListChannelsInput`](crate::input::ListChannelsInput) +pub mod list_channels_input { + /// A builder for [`ListChannelsInput`](crate::input::ListChannelsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_arn: std::option::Option, + pub(crate) privacy: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the AppInstance.

          + pub fn app_instance_arn(mut self, input: impl Into) -> Self { + self.app_instance_arn = Some(input.into()); + self + } + pub fn set_app_instance_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_arn = input; + self + } + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.privacy = Some(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.privacy = input; + self + } + ///

          The maximum number of channels that you want to return.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token passed by previous API calls until all requested channels are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelsInput`](crate::input::ListChannelsInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::ListChannelsInput { + app_instance_arn: self.app_instance_arn, + privacy: self.privacy, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelsInputOperationOutputAlias = crate::operation::ListChannels; +#[doc(hidden)] +pub type ListChannelsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListChannelsInput { + /// Consumes the builder and constructs an Operation<[`ListChannels`](crate::operation::ListChannels)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannels, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannels::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannels", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/channels").expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_90) = &self.chime_bearer { + let formatted_91 = AsRef::::as_ref(inner_90); + if !formatted_91.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_91; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_92) = &self.app_instance_arn { + query.push_kv( + "app-instance-arn", + &smithy_http::query::fmt_string(&inner_92), + ); + } + if let Some(inner_93) = &self.privacy { + query.push_kv("privacy", &smithy_http::query::fmt_string(&inner_93)); + } + if let Some(inner_94) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_94).encode(), + ); + } + if let Some(inner_95) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_95)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelsInput`](crate::input::ListChannelsInput) + pub fn builder() -> crate::input::list_channels_input::Builder { + crate::input::list_channels_input::Builder::default() + } +} + +/// See [`ListChannelsModeratedByAppInstanceUserInput`](crate::input::ListChannelsModeratedByAppInstanceUserInput) +pub mod list_channels_moderated_by_app_instance_user_input { + /// A builder for [`ListChannelsModeratedByAppInstanceUserInput`](crate::input::ListChannelsModeratedByAppInstanceUserInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) app_instance_user_arn: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the user in the moderated channel.

          + pub fn app_instance_user_arn(mut self, input: impl Into) -> Self { + self.app_instance_user_arn = Some(input.into()); + self + } + pub fn set_app_instance_user_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_arn = input; + self + } + ///

          The maximum number of channels in the request.

          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`ListChannelsModeratedByAppInstanceUserInput`](crate::input::ListChannelsModeratedByAppInstanceUserInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListChannelsModeratedByAppInstanceUserInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListChannelsModeratedByAppInstanceUserInput { + app_instance_user_arn: self.app_instance_user_arn, + max_results: self.max_results, + next_token: self.next_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type ListChannelsModeratedByAppInstanceUserInputOperationOutputAlias = + crate::operation::ListChannelsModeratedByAppInstanceUser; +#[doc(hidden)] +pub type ListChannelsModeratedByAppInstanceUserInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl ListChannelsModeratedByAppInstanceUserInput { + /// Consumes the builder and constructs an Operation<[`ListChannelsModeratedByAppInstanceUser`](crate::operation::ListChannelsModeratedByAppInstanceUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListChannelsModeratedByAppInstanceUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListChannelsModeratedByAppInstanceUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListChannelsModeratedByAppInstanceUser", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/channels").expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_96) = &self.chime_bearer { + let formatted_97 = AsRef::::as_ref(inner_96); + if !formatted_97.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_97; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("scope", "app-instance-user-moderated-channels"); + if let Some(inner_98) = &self.app_instance_user_arn { + query.push_kv( + "app-instance-user-arn", + &smithy_http::query::fmt_string(&inner_98), + ); + } + if let Some(inner_99) = &self.max_results { + query.push_kv( + "max-results", + &smithy_types::primitive::Encoder::from(*inner_99).encode(), + ); + } + if let Some(inner_100) = &self.next_token { + query.push_kv("next-token", &smithy_http::query::fmt_string(&inner_100)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListChannelsModeratedByAppInstanceUserInput`](crate::input::ListChannelsModeratedByAppInstanceUserInput) + pub fn builder() -> crate::input::list_channels_moderated_by_app_instance_user_input::Builder { + crate::input::list_channels_moderated_by_app_instance_user_input::Builder::default() + } +} + +/// See [`RedactChannelMessageInput`](crate::input::RedactChannelMessageInput) +pub mod redact_channel_message_input { + /// A builder for [`RedactChannelMessageInput`](crate::input::RedactChannelMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel containing the messages that you want to redact.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID of the message being redacted.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`RedactChannelMessageInput`](crate::input::RedactChannelMessageInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::RedactChannelMessageInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::RedactChannelMessageInput { + channel_arn: self.channel_arn, + message_id: self.message_id, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type RedactChannelMessageInputOperationOutputAlias = crate::operation::RedactChannelMessage; +#[doc(hidden)] +pub type RedactChannelMessageInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl RedactChannelMessageInput { + /// Consumes the builder and constructs an Operation<[`RedactChannelMessage`](crate::operation::RedactChannelMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::RedactChannelMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::RedactChannelMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "RedactChannelMessage", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_101 = &self.channel_arn; + let input_101 = + input_101 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_101, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_102 = &self.message_id; + let input_102 = + input_102 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + })?; + let message_id = smithy_http::label::fmt_string(input_102, false); + if message_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages/{MessageId}", + ChannelArn = channel_arn, + MessageId = message_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_103) = &self.chime_bearer { + let formatted_104 = AsRef::::as_ref(inner_103); + if !formatted_104.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_104; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + query.push_kv("operation", "redact"); + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`RedactChannelMessageInput`](crate::input::RedactChannelMessageInput) + pub fn builder() -> crate::input::redact_channel_message_input::Builder { + crate::input::redact_channel_message_input::Builder::default() + } +} + +/// See [`SendChannelMessageInput`](crate::input::SendChannelMessageInput) +pub mod send_channel_message_input { + /// A builder for [`SendChannelMessageInput`](crate::input::SendChannelMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) content: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) persistence: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) client_request_token: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The content of the message.

          + pub fn content(mut self, input: impl Into) -> Self { + self.content = Some(input.into()); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.content = input; + self + } + ///

          The type of message, STANDARD or CONTROL.

          + pub fn r#type(mut self, input: crate::model::ChannelMessageType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          Boolean that controls whether the message is persisted on the back end. Required.

          + pub fn persistence(mut self, input: crate::model::ChannelMessagePersistenceType) -> Self { + self.persistence = Some(input); + self + } + pub fn set_persistence( + mut self, + input: std::option::Option, + ) -> Self { + self.persistence = input; + self + } + ///

          The optional metadata for each message.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The Idempotency token for each client request.

          + pub fn client_request_token(mut self, input: impl Into) -> Self { + self.client_request_token = Some(input.into()); + self + } + pub fn set_client_request_token( + mut self, + input: std::option::Option, + ) -> Self { + self.client_request_token = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`SendChannelMessageInput`](crate::input::SendChannelMessageInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::SendChannelMessageInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::SendChannelMessageInput { + channel_arn: self.channel_arn, + content: self.content, + r#type: self.r#type, + persistence: self.persistence, + metadata: self.metadata, + client_request_token: self.client_request_token, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type SendChannelMessageInputOperationOutputAlias = crate::operation::SendChannelMessage; +#[doc(hidden)] +pub type SendChannelMessageInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl SendChannelMessageInput { + /// Consumes the builder and constructs an Operation<[`SendChannelMessage`](crate::operation::SendChannelMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + mut self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::SendChannelMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + if self.client_request_token.is_none() { + self.client_request_token = Some(_config.make_token.make_idempotency_token()); + } + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_send_channel_message(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::SendChannelMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "SendChannelMessage", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_105 = &self.channel_arn; + let input_105 = + input_105 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_105, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_106) = &self.chime_bearer { + let formatted_107 = AsRef::::as_ref(inner_106); + if !formatted_107.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_107; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`SendChannelMessageInput`](crate::input::SendChannelMessageInput) + pub fn builder() -> crate::input::send_channel_message_input::Builder { + crate::input::send_channel_message_input::Builder::default() + } +} + +/// See [`UpdateChannelInput`](crate::input::UpdateChannelInput) +pub mod update_channel_input { + /// A builder for [`UpdateChannelInput`](crate::input::UpdateChannelInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) mode: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The name of the channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The mode of the update request.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.mode = Some(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.mode = input; + self + } + ///

          The metadata for the update request.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelInput`](crate::input::UpdateChannelInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::UpdateChannelInput { + channel_arn: self.channel_arn, + name: self.name, + mode: self.mode, + metadata: self.metadata, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type UpdateChannelInputOperationOutputAlias = crate::operation::UpdateChannel; +#[doc(hidden)] +pub type UpdateChannelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateChannelInput { + /// Consumes the builder and constructs an Operation<[`UpdateChannel`](crate::operation::UpdateChannel)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateChannel, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_channel(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateChannel::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateChannel", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_108 = &self.channel_arn; + let input_108 = + input_108 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_108, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/channels/{ChannelArn}", ChannelArn = channel_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_109) = &self.chime_bearer { + let formatted_110 = AsRef::::as_ref(inner_109); + if !formatted_110.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_110; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateChannelInput`](crate::input::UpdateChannelInput) + pub fn builder() -> crate::input::update_channel_input::Builder { + crate::input::update_channel_input::Builder::default() + } +} + +/// See [`UpdateChannelMessageInput`](crate::input::UpdateChannelMessageInput) +pub mod update_channel_message_input { + /// A builder for [`UpdateChannelMessageInput`](crate::input::UpdateChannelMessageInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) content: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID string of the message being updated.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The content of the message being updated.

          + pub fn content(mut self, input: impl Into) -> Self { + self.content = Some(input.into()); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.content = input; + self + } + ///

          The metadata of the message being updated.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelMessageInput`](crate::input::UpdateChannelMessageInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateChannelMessageInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateChannelMessageInput { + channel_arn: self.channel_arn, + message_id: self.message_id, + content: self.content, + metadata: self.metadata, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type UpdateChannelMessageInputOperationOutputAlias = crate::operation::UpdateChannelMessage; +#[doc(hidden)] +pub type UpdateChannelMessageInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateChannelMessageInput { + /// Consumes the builder and constructs an Operation<[`UpdateChannelMessage`](crate::operation::UpdateChannelMessage)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateChannelMessage, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_channel_message(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateChannelMessage::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateChannelMessage", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_111 = &self.channel_arn; + let input_111 = + input_111 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_111, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + let input_112 = &self.message_id; + let input_112 = + input_112 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + })?; + let message_id = smithy_http::label::fmt_string(input_112, false); + if message_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "message_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/messages/{MessageId}", + ChannelArn = channel_arn, + MessageId = message_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_113) = &self.chime_bearer { + let formatted_114 = AsRef::::as_ref(inner_113); + if !formatted_114.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_114; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateChannelMessageInput`](crate::input::UpdateChannelMessageInput) + pub fn builder() -> crate::input::update_channel_message_input::Builder { + crate::input::update_channel_message_input::Builder::default() + } +} + +/// See [`UpdateChannelReadMarkerInput`](crate::input::UpdateChannelReadMarkerInput) +pub mod update_channel_read_marker_input { + /// A builder for [`UpdateChannelReadMarkerInput`](crate::input::UpdateChannelReadMarkerInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) chime_bearer: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub fn chime_bearer(mut self, input: impl Into) -> Self { + self.chime_bearer = Some(input.into()); + self + } + pub fn set_chime_bearer(mut self, input: std::option::Option) -> Self { + self.chime_bearer = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelReadMarkerInput`](crate::input::UpdateChannelReadMarkerInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateChannelReadMarkerInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateChannelReadMarkerInput { + channel_arn: self.channel_arn, + chime_bearer: self.chime_bearer, + }) + } + } +} +#[doc(hidden)] +pub type UpdateChannelReadMarkerInputOperationOutputAlias = + crate::operation::UpdateChannelReadMarker; +#[doc(hidden)] +pub type UpdateChannelReadMarkerInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateChannelReadMarkerInput { + /// Consumes the builder and constructs an Operation<[`UpdateChannelReadMarker`](crate::operation::UpdateChannelReadMarker)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateChannelReadMarker, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateChannelReadMarker::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateChannelReadMarker", + "chimesdkmessaging", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_115 = &self.channel_arn; + let input_115 = + input_115 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + })?; + let channel_arn = smithy_http::label::fmt_string(input_115, false); + if channel_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "channel_arn", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/channels/{ChannelArn}/readMarker", + ChannelArn = channel_arn + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_116) = &self.chime_bearer { + let formatted_117 = AsRef::::as_ref(inner_116); + if !formatted_117.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_117; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "chime_bearer", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("x-amz-chime-bearer", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateChannelReadMarkerInput`](crate::input::UpdateChannelReadMarkerInput) + pub fn builder() -> crate::input::update_channel_read_marker_input::Builder { + crate::input::update_channel_read_marker_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelReadMarkerInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelReadMarkerInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelReadMarkerInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelMessageInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID string of the message being updated.

          + pub message_id: std::option::Option, + ///

          The content of the message being updated.

          + pub content: std::option::Option, + ///

          The metadata of the message being updated.

          + pub metadata: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelMessageInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.field("content", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The name of the channel.

          + pub name: std::option::Option, + ///

          The mode of the update request.

          + pub mode: std::option::Option, + ///

          The metadata for the update request.

          + pub metadata: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("mode", &self.mode); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendChannelMessageInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The content of the message.

          + pub content: std::option::Option, + ///

          The type of message, STANDARD or CONTROL.

          + pub r#type: std::option::Option, + ///

          Boolean that controls whether the message is persisted on the back end. Required.

          + pub persistence: std::option::Option, + ///

          The optional metadata for each message.

          + pub metadata: std::option::Option, + ///

          The Idempotency token for each client request.

          + pub client_request_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for SendChannelMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendChannelMessageInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("content", &"*** Sensitive Data Redacted ***"); + formatter.field("r#type", &self.r#type); + formatter.field("persistence", &self.persistence); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("client_request_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RedactChannelMessageInput { + ///

          The ARN of the channel containing the messages that you want to redact.

          + pub channel_arn: std::option::Option, + ///

          The ID of the message being redacted.

          + pub message_id: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for RedactChannelMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RedactChannelMessageInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelsModeratedByAppInstanceUserInput { + ///

          The ARN of the user in the moderated channel.

          + pub app_instance_user_arn: std::option::Option, + ///

          The maximum number of channels in the request.

          + pub max_results: std::option::Option, + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelsModeratedByAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelsModeratedByAppInstanceUserInput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelsInput { + ///

          The ARN of the AppInstance.

          + pub app_instance_arn: std::option::Option, + ///

          The privacy setting. PUBLIC retrieves all the public channels. + /// PRIVATE retrieves private channels. Only an AppInstanceAdmin + /// can retrieve private channels.

          + pub privacy: std::option::Option, + ///

          The maximum number of channels that you want to return.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested channels are returned.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelsInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("privacy", &self.privacy); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelModeratorsInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The maximum number of moderators that you want returned.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelModeratorsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelModeratorsInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMessagesInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The order in which you want messages sorted. Default is Descending, based on time + /// created.

          + pub sort_order: std::option::Option, + ///

          The initial or starting time stamp for your requested messages.

          + pub not_before: std::option::Option, + ///

          The final or ending time stamp for your requested messages.

          + pub not_after: std::option::Option, + ///

          The maximum number of messages that you want returned.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested messages are returned.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelMessagesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMessagesInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("sort_order", &self.sort_order); + formatter.field("not_before", &self.not_before); + formatter.field("not_after", &self.not_after); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMembershipsForAppInstanceUserInput { + ///

          The ARN of the AppInstanceUsers

          + pub app_instance_user_arn: std::option::Option, + ///

          The maximum number of users that you want returned.

          + pub max_results: std::option::Option, + ///

          The token returned from previous API requests until the number of channel memberships is + /// reached.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelMembershipsForAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMembershipsForAppInstanceUserInput"); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMembershipsInput { + ///

          The maximum number of channel memberships that you want returned.

          + pub channel_arn: std::option::Option, + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned.

          + pub r#type: std::option::Option, + ///

          The maximum number of channel memberships that you want returned.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelMembershipsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMembershipsInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("r#type", &self.r#type); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelBansInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The maximum number of bans that you want returned.

          + pub max_results: std::option::Option, + ///

          The token passed by previous API calls until all requested bans are returned.

          + pub next_token: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for ListChannelBansInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelBansInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetMessagingSessionEndpointInput {} +impl std::fmt::Debug for GetMessagingSessionEndpointInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetMessagingSessionEndpointInput"); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetChannelMessageInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID of the message.

          + pub message_id: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for GetChannelMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetChannelMessageInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelModeratorInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the channel moderator.

          + pub channel_moderator_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelModeratorInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelModeratorInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("channel_moderator_arn", &self.channel_moderator_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelModeratedByAppInstanceUserInput { + ///

          The ARN of the moderated channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the AppInstanceUser in the moderated channel.

          + pub app_instance_user_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelModeratedByAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelModeratedByAppInstanceUserInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelMembershipForAppInstanceUserInput { + ///

          The ARN of the channel to which the user belongs.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the user in a channel.

          + pub app_instance_user_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelMembershipForAppInstanceUserInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelMembershipForAppInstanceUserInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("app_instance_user_arn", &self.app_instance_user_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelMembershipInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the member.

          + pub member_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelMembershipInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelMembershipInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelBanInput { + ///

          The ARN of the channel from which the user is banned.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the member being banned.

          + pub member_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelBanInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelBanInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelModeratorInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the moderator being deleted.

          + pub channel_moderator_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DeleteChannelModeratorInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelModeratorInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("channel_moderator_arn", &self.channel_moderator_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelMessageInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID of the message being deleted.

          + pub message_id: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DeleteChannelMessageInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelMessageInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelMembershipInput { + ///

          The ARN of the channel from which you want to remove the user.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the member that you're removing from the channel.

          + pub member_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DeleteChannelMembershipInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelMembershipInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelBanInput { + ///

          The ARN of the channel from which the AppInstanceUser was banned.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the AppInstanceUser that you want to reinstate.

          + pub member_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DeleteChannelBanInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelBanInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelInput { + ///

          The ARN of the channel being deleted.

          + pub channel_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for DeleteChannelInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelModeratorInput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the moderator.

          + pub channel_moderator_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for CreateChannelModeratorInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelModeratorInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("channel_moderator_arn", &self.channel_moderator_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelMembershipInput { + ///

          The ARN of the channel to which you're adding users.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the member you want to add to the channel.

          + pub member_arn: std::option::Option, + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub r#type: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for CreateChannelMembershipInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelMembershipInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("r#type", &self.r#type); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelBanInput { + ///

          The ARN of the ban request.

          + pub channel_arn: std::option::Option, + ///

          The ARN of the member being banned.

          + pub member_arn: std::option::Option, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for CreateChannelBanInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelBanInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member_arn", &self.member_arn); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelInput { + ///

          The ARN of the channel request.

          + pub app_instance_arn: std::option::Option, + ///

          The name of the channel.

          + pub name: std::option::Option, + ///

          The channel mode: UNRESTRICTED or RESTRICTED. Administrators, + /// moderators, and channel members can add themselves and other members to unrestricted + /// channels. Only administrators and moderators can add members to restricted channels.

          + pub mode: std::option::Option, + ///

          The channel's privacy level: PUBLIC or PRIVATE. Private + /// channels aren't discoverable by users outside the channel. Public channels are discoverable + /// by anyone in the AppInstance.

          + pub privacy: std::option::Option, + ///

          The metadata of the creation request. Limited to 1KB and UTF-8.

          + pub metadata: std::option::Option, + ///

          The client token for the request. An Idempotency token.

          + pub client_request_token: std::option::Option, + ///

          The tags for the creation request.

          + pub tags: std::option::Option>, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for CreateChannelInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelInput"); + formatter.field("app_instance_arn", &self.app_instance_arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("mode", &self.mode); + formatter.field("privacy", &self.privacy); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("client_request_token", &"*** Sensitive Data Redacted ***"); + formatter.field("tags", &self.tags); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchCreateChannelMembershipInput { + ///

          The ARN of the channel to which you're adding users.

          + pub channel_arn: std::option::Option, + ///

          The membership type of a user, DEFAULT or HIDDEN. Default + /// members are always returned as part of ListChannelMemberships. Hidden members + /// are only returned if the type filter in ListChannelMemberships equals + /// HIDDEN. Otherwise hidden members are not returned. This is only supported + /// by moderators.

          + pub r#type: std::option::Option, + ///

          The ARNs of the members you want to add to the channel.

          + pub member_arns: std::option::Option>, + ///

          The AppInstanceUserArn of the user that makes the API call.

          + pub chime_bearer: std::option::Option, +} +impl std::fmt::Debug for BatchCreateChannelMembershipInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchCreateChannelMembershipInput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("r#type", &self.r#type); + formatter.field("member_arns", &self.member_arns); + formatter.field("chime_bearer", &self.chime_bearer); + formatter.finish() + } +} diff --git a/sdk/chimesdkmessaging/src/json_deser.rs b/sdk/chimesdkmessaging/src/json_deser.rs new file mode 100644 index 000000000000..c9f9e7db1c1d --- /dev/null +++ b/sdk/chimesdkmessaging/src/json_deser.rs @@ -0,0 +1,3065 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn parse_generic_error( + response: &http::Response, +) -> Result { + crate::json_errors::parse_generic_error(response) +} + +pub fn deser_structure_bad_request_exceptionjson_err( + input: &[u8], + mut builder: crate::error::bad_request_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_forbidden_exceptionjson_err( + input: &[u8], + mut builder: crate::error::forbidden_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_service_failure_exceptionjson_err( + input: &[u8], + mut builder: crate::error::service_failure_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_service_unavailable_exceptionjson_err( + input: &[u8], + mut builder: crate::error::service_unavailable_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_throttled_client_exceptionjson_err( + input: &[u8], + mut builder: crate::error::throttled_client_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_unauthorized_client_exceptionjson_err( + input: &[u8], + mut builder: crate::error::unauthorized_client_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_batch_create_channel_membership( + input: &[u8], + mut builder: crate::output::batch_create_channel_membership_output::Builder, +) -> Result< + crate::output::batch_create_channel_membership_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "BatchChannelMemberships" => { + builder = builder.set_batch_channel_memberships( + crate::json_deser::deser_structure_batch_channel_memberships(tokens)?, + ); + } + "Errors" => { + builder = builder.set_errors( + crate::json_deser::deser_list_batch_create_channel_membership_errors( + tokens, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_conflict_exceptionjson_err( + input: &[u8], + mut builder: crate::error::conflict_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_resource_limit_exceeded_exceptionjson_err( + input: &[u8], + mut builder: crate::error::resource_limit_exceeded_exception::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_channel( + input: &[u8], + mut builder: crate::output::create_channel_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_channel_ban( + input: &[u8], + mut builder: crate::output::create_channel_ban_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Member" => { + builder = builder + .set_member(crate::json_deser::deser_structure_identity(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_channel_membership( + input: &[u8], + mut builder: crate::output::create_channel_membership_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Member" => { + builder = builder + .set_member(crate::json_deser::deser_structure_identity(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_channel_moderator( + input: &[u8], + mut builder: crate::output::create_channel_moderator_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelModerator" => { + builder = builder.set_channel_moderator( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel( + input: &[u8], + mut builder: crate::output::describe_channel_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Channel" => { + builder = builder + .set_channel(crate::json_deser::deser_structure_channel(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_not_found_exceptionjson_err( + input: &[u8], + mut builder: crate::error::not_found_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel_ban( + input: &[u8], + mut builder: crate::output::describe_channel_ban_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelBan" => { + builder = builder.set_channel_ban( + crate::json_deser::deser_structure_channel_ban(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel_membership( + input: &[u8], + mut builder: crate::output::describe_channel_membership_output::Builder, +) -> Result< + crate::output::describe_channel_membership_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelMembership" => { + builder = builder.set_channel_membership( + crate::json_deser::deser_structure_channel_membership(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel_membership_for_app_instance_user( + input: &[u8], + mut builder: crate::output::describe_channel_membership_for_app_instance_user_output::Builder, +) -> Result< + crate::output::describe_channel_membership_for_app_instance_user_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelMembership" => { + builder = builder.set_channel_membership( + crate::json_deser::deser_structure_channel_membership_for_app_instance_user_summary(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel_moderated_by_app_instance_user( + input: &[u8], + mut builder: crate::output::describe_channel_moderated_by_app_instance_user_output::Builder, +) -> Result< + crate::output::describe_channel_moderated_by_app_instance_user_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Channel" => { + builder = builder.set_channel( + crate::json_deser::deser_structure_channel_moderated_by_app_instance_user_summary(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_channel_moderator( + input: &[u8], + mut builder: crate::output::describe_channel_moderator_output::Builder, +) -> Result< + crate::output::describe_channel_moderator_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelModerator" => { + builder = builder.set_channel_moderator( + crate::json_deser::deser_structure_channel_moderator(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_get_channel_message( + input: &[u8], + mut builder: crate::output::get_channel_message_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelMessage" => { + builder = builder.set_channel_message( + crate::json_deser::deser_structure_channel_message(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_get_messaging_session_endpoint( + input: &[u8], + mut builder: crate::output::get_messaging_session_endpoint_output::Builder, +) -> Result< + crate::output::get_messaging_session_endpoint_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Endpoint" => { + builder = builder.set_endpoint( + crate::json_deser::deser_structure_messaging_session_endpoint(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channel_bans( + input: &[u8], + mut builder: crate::output::list_channel_bans_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelBans" => { + builder = builder.set_channel_bans( + crate::json_deser::deser_list_channel_ban_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channel_memberships( + input: &[u8], + mut builder: crate::output::list_channel_memberships_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelMemberships" => { + builder = builder.set_channel_memberships( + crate::json_deser::deser_list_channel_membership_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channel_memberships_for_app_instance_user( + input: &[u8], + mut builder: crate::output::list_channel_memberships_for_app_instance_user_output::Builder, +) -> Result< + crate::output::list_channel_memberships_for_app_instance_user_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelMemberships" => { + builder = builder.set_channel_memberships( + crate::json_deser::deser_list_channel_membership_for_app_instance_user_summary_list(tokens)? + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channel_messages( + input: &[u8], + mut builder: crate::output::list_channel_messages_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelMessages" => { + builder = builder.set_channel_messages( + crate::json_deser::deser_list_channel_message_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channel_moderators( + input: &[u8], + mut builder: crate::output::list_channel_moderators_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelModerators" => { + builder = builder.set_channel_moderators( + crate::json_deser::deser_list_channel_moderator_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channels( + input: &[u8], + mut builder: crate::output::list_channels_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Channels" => { + builder = builder.set_channels( + crate::json_deser::deser_list_channel_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_channels_moderated_by_app_instance_user( + input: &[u8], + mut builder: crate::output::list_channels_moderated_by_app_instance_user_output::Builder, +) -> Result< + crate::output::list_channels_moderated_by_app_instance_user_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Channels" => { + builder = builder.set_channels( + crate::json_deser::deser_list_channel_moderated_by_app_instance_user_summary_list(tokens)? + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_redact_channel_message( + input: &[u8], + mut builder: crate::output::redact_channel_message_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "MessageId" => { + builder = builder.set_message_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_send_channel_message( + input: &[u8], + mut builder: crate::output::send_channel_message_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "MessageId" => { + builder = builder.set_message_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_update_channel( + input: &[u8], + mut builder: crate::output::update_channel_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_update_channel_message( + input: &[u8], + mut builder: crate::output::update_channel_message_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "MessageId" => { + builder = builder.set_message_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_update_channel_read_marker( + input: &[u8], + mut builder: crate::output::update_channel_read_marker_output::Builder, +) -> Result< + crate::output::update_channel_read_marker_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn or_empty_doc(data: &[u8]) -> &[u8] { + if data.is_empty() { + b"{}" + } else { + data + } +} + +pub fn deser_structure_batch_channel_memberships<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::BatchChannelMemberships::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "InvitedBy" => { + builder = builder.set_invited_by( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMembershipType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Members" => { + builder = builder + .set_members(crate::json_deser::deser_list_members(tokens)?); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_batch_create_channel_membership_errors<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_batch_create_channel_membership_error(tokens)? + ; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_identity<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Identity::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Arn" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Channel::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Mode" => { + builder = builder.set_mode( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ChannelMode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Privacy" => { + builder = builder.set_privacy( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ChannelPrivacy::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedBy" => { + builder = builder.set_created_by( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastMessageTimestamp" => { + builder = builder.set_last_message_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_ban<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelBan::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Member" => { + builder = builder.set_member( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "CreatedBy" => { + builder = builder.set_created_by( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_membership<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelMembership::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "InvitedBy" => { + builder = builder.set_invited_by( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMembershipType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Member" => { + builder = builder.set_member( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_membership_for_app_instance_user_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelMembershipForAppInstanceUserSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelSummary" => { + builder = builder.set_channel_summary( + crate::json_deser::deser_structure_channel_summary(tokens)?, + ); + } + "AppInstanceUserMembershipSummary" => { + builder = builder.set_app_instance_user_membership_summary( + crate::json_deser::deser_structure_app_instance_user_membership_summary(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_moderated_by_app_instance_user_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelModeratedByAppInstanceUserSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelSummary" => { + builder = builder.set_channel_summary( + crate::json_deser::deser_structure_channel_summary(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_moderator<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelModerator::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Moderator" => { + builder = builder.set_moderator( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "CreatedBy" => { + builder = builder.set_created_by( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_message<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelMessage::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "MessageId" => { + builder = builder.set_message_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Content" => { + builder = builder.set_content( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMessageType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastEditedTimestamp" => { + builder = builder.set_last_edited_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "Sender" => { + builder = builder.set_sender( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "Redacted" => { + builder = builder.set_redacted( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "Persistence" => { + builder = builder.set_persistence( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMessagePersistenceType::from( + u.as_ref(), + ) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_messaging_session_endpoint<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::MessagingSessionEndpoint::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Url" => { + builder = builder.set_url( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_ban_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_channel_ban_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_membership_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_channel_membership_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_membership_for_app_instance_user_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_channel_membership_for_app_instance_user_summary(tokens)? + ; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_message_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_channel_message_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_moderator_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_channel_moderator_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_channel_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_moderated_by_app_instance_user_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_channel_moderated_by_app_instance_user_summary(tokens)? + ; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_members<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_identity(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_batch_create_channel_membership_error<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::BatchCreateChannelMembershipError::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "MemberArn" => { + builder = builder.set_member_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ErrorCode" => { + builder = builder.set_error_code( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ErrorCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "ErrorMessage" => { + builder = builder.set_error_message( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ChannelArn" => { + builder = builder.set_channel_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Mode" => { + builder = builder.set_mode( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ChannelMode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Privacy" => { + builder = builder.set_privacy( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ChannelPrivacy::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "LastMessageTimestamp" => { + builder = builder.set_last_message_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_app_instance_user_membership_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AppInstanceUserMembershipSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMembershipType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "ReadMarkerTimestamp" => { + builder = builder.set_read_marker_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_ban_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelBanSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Member" => { + builder = builder.set_member( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_membership_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelMembershipSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Member" => { + builder = builder.set_member( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_message_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelMessageSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "MessageId" => { + builder = builder.set_message_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Content" => { + builder = builder.set_content( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Metadata" => { + builder = builder.set_metadata( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ChannelMessageType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "CreatedTimestamp" => { + builder = builder.set_created_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdatedTimestamp" => { + builder = builder.set_last_updated_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastEditedTimestamp" => { + builder = builder.set_last_edited_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "Sender" => { + builder = builder.set_sender( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + "Redacted" => { + builder = builder.set_redacted( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_channel_moderator_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelModeratorSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Moderator" => { + builder = builder.set_moderator( + crate::json_deser::deser_structure_identity(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/chimesdkmessaging/src/json_errors.rs b/sdk/chimesdkmessaging/src/json_errors.rs new file mode 100644 index 000000000000..b8d4287b0c18 --- /dev/null +++ b/sdk/chimesdkmessaging/src/json_errors.rs @@ -0,0 +1,219 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use bytes::Bytes; +use http::header::ToStrError; +use http::Response; +use smithy_json::deserialize::token::skip_value; +use smithy_json::deserialize::{json_token_iter, Error as DeserializeError, Token}; +use smithy_types::Error as SmithyError; +use std::borrow::Cow; + +// currently only used by AwsJson +#[allow(unused)] +pub fn is_error(response: &http::Response) -> bool { + !response.status().is_success() +} + +fn error_type_from_header(response: &http::Response) -> Result, ToStrError> { + response + .headers() + .get("X-Amzn-Errortype") + .map(|v| v.to_str()) + .transpose() +} + +fn sanitize_error_code(error_code: &str) -> &str { + // Trim a trailing URL from the error code, beginning with a `:` + let error_code = match error_code.find(':') { + Some(idx) => &error_code[..idx], + None => &error_code, + }; + + // Trim a prefixing namespace from the error code, beginning with a `#` + match error_code.find('#') { + Some(idx) => &error_code[idx + 1..], + None => &error_code, + } +} + +fn request_id(response: &Response) -> Option<&str> { + response + .headers() + .get("X-Amzn-Requestid") + .and_then(|v| v.to_str().ok()) +} + +struct ErrorBody<'a> { + code: Option>, + message: Option>, +} + +fn parse_error_body(bytes: &[u8]) -> Result { + let mut tokens = json_token_iter(bytes).peekable(); + let (mut typ, mut code, mut message) = (None, None, None); + if let Some(Token::StartObject { .. }) = tokens.next().transpose()? { + loop { + match tokens.next().transpose()? { + Some(Token::EndObject { .. }) => break, + Some(Token::ObjectKey { key, .. }) => { + if let Some(Ok(Token::ValueString { value, .. })) = tokens.peek() { + match key.as_escaped_str() { + "code" => code = Some(value.to_unescaped()?), + "__type" => typ = Some(value.to_unescaped()?), + "message" | "Message" | "errorMessage" => { + message = Some(value.to_unescaped()?) + } + _ => {} + } + } + skip_value(&mut tokens)?; + } + _ => { + return Err(DeserializeError::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(DeserializeError::custom( + "found more JSON tokens after completing parsing", + )); + } + } + Ok(ErrorBody { + code: code.or(typ), + message, + }) +} + +pub fn parse_generic_error(response: &Response) -> Result { + let ErrorBody { code, message } = parse_error_body(response.body().as_ref())?; + + let mut err_builder = SmithyError::builder(); + if let Some(code) = error_type_from_header(response) + .map_err(|_| DeserializeError::custom("X-Amzn-Errortype header was not valid UTF-8"))? + .or_else(|| code.as_deref()) + .map(|c| sanitize_error_code(c)) + { + err_builder.code(code); + } + if let Some(message) = message { + err_builder.message(message); + } + if let Some(request_id) = request_id(response) { + err_builder.request_id(request_id); + } + Ok(err_builder.build()) +} + +#[cfg(test)] +mod test { + use crate::json_errors::{parse_error_body, parse_generic_error, sanitize_error_code}; + use bytes::Bytes; + use smithy_types::Error; + use std::borrow::Cow; + + #[test] + fn generic_error() { + let response = http::Response::builder() + .header("X-Amzn-Requestid", "1234") + .body(Bytes::from_static( + br#"{ "__type": "FooError", "message": "Go to foo" }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() + ) + } + + #[test] + fn error_type() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn code_takes_priority() { + assert_eq!( + Some(Cow::Borrowed("BarError")), + parse_error_body(br#"{ "code": "BarError", "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn ignore_unrecognized_fields() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError", "asdf": 5, "fdsa": {}, "foo": "1" }"#) + .unwrap() + .code + ); + } + + #[test] + fn sanitize_namespace_and_url() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/"), + "FooError"); + } + + #[test] + fn sanitize_noop() { + assert_eq!(sanitize_error_code("FooError"), "FooError"); + } + + #[test] + fn sanitize_url() { + assert_eq!( + sanitize_error_code( + "FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/" + ), + "FooError" + ); + } + + #[test] + fn sanitize_namespace() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError"), + "FooError" + ); + } + + // services like lambda use an alternate `Message` instead of `message` + #[test] + fn alternative_error_message_names() { + let response = http::Response::builder() + .header("x-amzn-errortype", "ResourceNotFoundException") + .body(Bytes::from_static( + br#"{ + "Type": "User", + "Message": "Functions from 'us-west-2' are not reachable from us-east-1" + }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); + } +} diff --git a/sdk/chimesdkmessaging/src/json_ser.rs b/sdk/chimesdkmessaging/src/json_ser.rs new file mode 100644 index 000000000000..985671ad99be --- /dev/null +++ b/sdk/chimesdkmessaging/src/json_ser.rs @@ -0,0 +1,143 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_batch_create_channel_membership_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::BatchCreateChannelMembershipInput, +) { + if let Some(var_1) = &input.member_arns { + let mut array_2 = object.key("MemberArns").start_array(); + for item_3 in var_1 { + { + array_2.value().string(item_3); + } + } + array_2.finish(); + } + if let Some(var_4) = &input.r#type { + object.key("Type").string(var_4.as_str()); + } +} + +pub fn serialize_structure_create_channel_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateChannelInput, +) { + if let Some(var_5) = &input.app_instance_arn { + object.key("AppInstanceArn").string(var_5); + } + if let Some(var_6) = &input.client_request_token { + object.key("ClientRequestToken").string(var_6); + } + if let Some(var_7) = &input.metadata { + object.key("Metadata").string(var_7); + } + if let Some(var_8) = &input.mode { + object.key("Mode").string(var_8.as_str()); + } + if let Some(var_9) = &input.name { + object.key("Name").string(var_9); + } + if let Some(var_10) = &input.privacy { + object.key("Privacy").string(var_10.as_str()); + } + if let Some(var_11) = &input.tags { + let mut array_12 = object.key("Tags").start_array(); + for item_13 in var_11 { + { + let mut object_14 = array_12.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_14, item_13); + object_14.finish(); + } + } + array_12.finish(); + } +} + +pub fn serialize_structure_create_channel_ban_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateChannelBanInput, +) { + if let Some(var_15) = &input.member_arn { + object.key("MemberArn").string(var_15); + } +} + +pub fn serialize_structure_create_channel_membership_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateChannelMembershipInput, +) { + if let Some(var_16) = &input.member_arn { + object.key("MemberArn").string(var_16); + } + if let Some(var_17) = &input.r#type { + object.key("Type").string(var_17.as_str()); + } +} + +pub fn serialize_structure_create_channel_moderator_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateChannelModeratorInput, +) { + if let Some(var_18) = &input.channel_moderator_arn { + object.key("ChannelModeratorArn").string(var_18); + } +} + +pub fn serialize_structure_send_channel_message_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::SendChannelMessageInput, +) { + if let Some(var_19) = &input.client_request_token { + object.key("ClientRequestToken").string(var_19); + } + if let Some(var_20) = &input.content { + object.key("Content").string(var_20); + } + if let Some(var_21) = &input.metadata { + object.key("Metadata").string(var_21); + } + if let Some(var_22) = &input.persistence { + object.key("Persistence").string(var_22.as_str()); + } + if let Some(var_23) = &input.r#type { + object.key("Type").string(var_23.as_str()); + } +} + +pub fn serialize_structure_update_channel_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateChannelInput, +) { + if let Some(var_24) = &input.metadata { + object.key("Metadata").string(var_24); + } + if let Some(var_25) = &input.mode { + object.key("Mode").string(var_25.as_str()); + } + if let Some(var_26) = &input.name { + object.key("Name").string(var_26); + } +} + +pub fn serialize_structure_update_channel_message_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateChannelMessageInput, +) { + if let Some(var_27) = &input.content { + object.key("Content").string(var_27); + } + if let Some(var_28) = &input.metadata { + object.key("Metadata").string(var_28); + } +} + +pub fn serialize_structure_tag( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Tag, +) { + if let Some(var_29) = &input.key { + object.key("Key").string(var_29); + } + if let Some(var_30) = &input.value { + object.key("Value").string(var_30); + } +} diff --git a/sdk/chimesdkmessaging/src/lib.rs b/sdk/chimesdkmessaging/src/lib.rs new file mode 100644 index 000000000000..d634d721bf07 --- /dev/null +++ b/sdk/chimesdkmessaging/src/lib.rs @@ -0,0 +1,43 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::upper_case_acronyms)] +#![allow(clippy::large_enum_variant)] +#![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] +#![allow(clippy::blacklisted_name)] +//!

          The Amazon Chime SDK Messaging APIs in this section allow software developers to send +//! and receive messages in custom messaging applications. These APIs depend on the frameworks +//! provided by the Amazon Chime SDK Identity APIs. For more information about the messaging +//! APIs, see .

          + +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use error_meta::Error; + +pub use config::Config; + +mod aws_endpoint; +#[cfg(feature = "client")] +pub mod client; +pub mod config; +pub mod error; +mod error_meta; +mod idempotency_token; +pub mod input; +mod json_deser; +mod json_errors; +mod json_ser; +pub mod model; +pub mod operation; +mod operation_deser; +mod operation_ser; +pub mod output; +pub static PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub use smithy_http::byte_stream::ByteStream; +pub use smithy_http::result::SdkError; +pub use smithy_types::Blob; +static API_METADATA: aws_http::user_agent::ApiMetadata = + aws_http::user_agent::ApiMetadata::new("chimesdkmessaging", PKG_VERSION); +pub use aws_auth::Credentials; +pub use aws_types::region::Region; +#[cfg(feature = "client")] +pub use client::Client; +pub use smithy_http::endpoint::Endpoint; diff --git a/sdk/chimesdkmessaging/src/model.rs b/sdk/chimesdkmessaging/src/model.rs new file mode 100644 index 000000000000..563cd9e8e4cf --- /dev/null +++ b/sdk/chimesdkmessaging/src/model.rs @@ -0,0 +1,2079 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ErrorCode { + AccessDenied, + BadRequest, + Conflict, + Forbidden, + NotFound, + PhoneNumberAssociationsExist, + PreconditionFailed, + ResourceLimitExceeded, + ServiceFailure, + ServiceUnavailable, + Throttled, + Throttling, + Unauthorized, + Unprocessable, + VoiceConnectorGroupAssociationsExist, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ErrorCode { + fn from(s: &str) -> Self { + match s { + "AccessDenied" => ErrorCode::AccessDenied, + "BadRequest" => ErrorCode::BadRequest, + "Conflict" => ErrorCode::Conflict, + "Forbidden" => ErrorCode::Forbidden, + "NotFound" => ErrorCode::NotFound, + "PhoneNumberAssociationsExist" => ErrorCode::PhoneNumberAssociationsExist, + "PreconditionFailed" => ErrorCode::PreconditionFailed, + "ResourceLimitExceeded" => ErrorCode::ResourceLimitExceeded, + "ServiceFailure" => ErrorCode::ServiceFailure, + "ServiceUnavailable" => ErrorCode::ServiceUnavailable, + "Throttled" => ErrorCode::Throttled, + "Throttling" => ErrorCode::Throttling, + "Unauthorized" => ErrorCode::Unauthorized, + "Unprocessable" => ErrorCode::Unprocessable, + "VoiceConnectorGroupAssociationsExist" => { + ErrorCode::VoiceConnectorGroupAssociationsExist + } + other => ErrorCode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ErrorCode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ErrorCode::from(s)) + } +} +impl ErrorCode { + pub fn as_str(&self) -> &str { + match self { + ErrorCode::AccessDenied => "AccessDenied", + ErrorCode::BadRequest => "BadRequest", + ErrorCode::Conflict => "Conflict", + ErrorCode::Forbidden => "Forbidden", + ErrorCode::NotFound => "NotFound", + ErrorCode::PhoneNumberAssociationsExist => "PhoneNumberAssociationsExist", + ErrorCode::PreconditionFailed => "PreconditionFailed", + ErrorCode::ResourceLimitExceeded => "ResourceLimitExceeded", + ErrorCode::ServiceFailure => "ServiceFailure", + ErrorCode::ServiceUnavailable => "ServiceUnavailable", + ErrorCode::Throttled => "Throttled", + ErrorCode::Throttling => "Throttling", + ErrorCode::Unauthorized => "Unauthorized", + ErrorCode::Unprocessable => "Unprocessable", + ErrorCode::VoiceConnectorGroupAssociationsExist => { + "VoiceConnectorGroupAssociationsExist" + } + ErrorCode::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &[ + "AccessDenied", + "BadRequest", + "Conflict", + "Forbidden", + "NotFound", + "PhoneNumberAssociationsExist", + "PreconditionFailed", + "ResourceLimitExceeded", + "ServiceFailure", + "ServiceUnavailable", + "Throttled", + "Throttling", + "Unauthorized", + "Unprocessable", + "VoiceConnectorGroupAssociationsExist", + ] + } +} +impl AsRef for ErrorCode { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ChannelMode { + Restricted, + Unrestricted, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ChannelMode { + fn from(s: &str) -> Self { + match s { + "RESTRICTED" => ChannelMode::Restricted, + "UNRESTRICTED" => ChannelMode::Unrestricted, + other => ChannelMode::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ChannelMode { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ChannelMode::from(s)) + } +} +impl ChannelMode { + pub fn as_str(&self) -> &str { + match self { + ChannelMode::Restricted => "RESTRICTED", + ChannelMode::Unrestricted => "UNRESTRICTED", + ChannelMode::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["RESTRICTED", "UNRESTRICTED"] + } +} +impl AsRef for ChannelMode { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ChannelMessagePersistenceType { + NonPersistent, + Persistent, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ChannelMessagePersistenceType { + fn from(s: &str) -> Self { + match s { + "NON_PERSISTENT" => ChannelMessagePersistenceType::NonPersistent, + "PERSISTENT" => ChannelMessagePersistenceType::Persistent, + other => ChannelMessagePersistenceType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ChannelMessagePersistenceType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ChannelMessagePersistenceType::from(s)) + } +} +impl ChannelMessagePersistenceType { + pub fn as_str(&self) -> &str { + match self { + ChannelMessagePersistenceType::NonPersistent => "NON_PERSISTENT", + ChannelMessagePersistenceType::Persistent => "PERSISTENT", + ChannelMessagePersistenceType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["NON_PERSISTENT", "PERSISTENT"] + } +} +impl AsRef for ChannelMessagePersistenceType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ChannelMessageType { + Control, + Standard, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ChannelMessageType { + fn from(s: &str) -> Self { + match s { + "CONTROL" => ChannelMessageType::Control, + "STANDARD" => ChannelMessageType::Standard, + other => ChannelMessageType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ChannelMessageType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ChannelMessageType::from(s)) + } +} +impl ChannelMessageType { + pub fn as_str(&self) -> &str { + match self { + ChannelMessageType::Control => "CONTROL", + ChannelMessageType::Standard => "STANDARD", + ChannelMessageType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["CONTROL", "STANDARD"] + } +} +impl AsRef for ChannelMessageType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

          Summary of the details of a moderated channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelModeratedByAppInstanceUserSummary { + ///

          Summary of the details of a Channel.

          + pub channel_summary: std::option::Option, +} +impl std::fmt::Debug for ChannelModeratedByAppInstanceUserSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelModeratedByAppInstanceUserSummary"); + formatter.field("channel_summary", &self.channel_summary); + formatter.finish() + } +} +/// See [`ChannelModeratedByAppInstanceUserSummary`](crate::model::ChannelModeratedByAppInstanceUserSummary) +pub mod channel_moderated_by_app_instance_user_summary { + /// A builder for [`ChannelModeratedByAppInstanceUserSummary`](crate::model::ChannelModeratedByAppInstanceUserSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_summary: std::option::Option, + } + impl Builder { + ///

          Summary of the details of a Channel.

          + pub fn channel_summary(mut self, input: crate::model::ChannelSummary) -> Self { + self.channel_summary = Some(input); + self + } + pub fn set_channel_summary( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_summary = input; + self + } + /// Consumes the builder and constructs a [`ChannelModeratedByAppInstanceUserSummary`](crate::model::ChannelModeratedByAppInstanceUserSummary) + pub fn build(self) -> crate::model::ChannelModeratedByAppInstanceUserSummary { + crate::model::ChannelModeratedByAppInstanceUserSummary { + channel_summary: self.channel_summary, + } + } + } +} +impl ChannelModeratedByAppInstanceUserSummary { + /// Creates a new builder-style object to manufacture [`ChannelModeratedByAppInstanceUserSummary`](crate::model::ChannelModeratedByAppInstanceUserSummary) + pub fn builder() -> crate::model::channel_moderated_by_app_instance_user_summary::Builder { + crate::model::channel_moderated_by_app_instance_user_summary::Builder::default() + } +} + +///

          Summary of the details of a Channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelSummary { + ///

          The name of the channel.

          + pub name: std::option::Option, + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The mode of the channel.

          + pub mode: std::option::Option, + ///

          The privacy setting of the channel.

          + pub privacy: std::option::Option, + ///

          The metadata of the channel.

          + pub metadata: std::option::Option, + ///

          The time at which the last message in a channel was sent.

          + pub last_message_timestamp: std::option::Option, +} +impl std::fmt::Debug for ChannelSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelSummary"); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("mode", &self.mode); + formatter.field("privacy", &self.privacy); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("last_message_timestamp", &self.last_message_timestamp); + formatter.finish() + } +} +/// See [`ChannelSummary`](crate::model::ChannelSummary) +pub mod channel_summary { + /// A builder for [`ChannelSummary`](crate::model::ChannelSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) channel_arn: std::option::Option, + pub(crate) mode: std::option::Option, + pub(crate) privacy: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) last_message_timestamp: std::option::Option, + } + impl Builder { + ///

          The name of the channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The mode of the channel.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.mode = Some(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.mode = input; + self + } + ///

          The privacy setting of the channel.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.privacy = Some(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.privacy = input; + self + } + ///

          The metadata of the channel.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The time at which the last message in a channel was sent.

          + pub fn last_message_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_message_timestamp = Some(input); + self + } + pub fn set_last_message_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_message_timestamp = input; + self + } + /// Consumes the builder and constructs a [`ChannelSummary`](crate::model::ChannelSummary) + pub fn build(self) -> crate::model::ChannelSummary { + crate::model::ChannelSummary { + name: self.name, + channel_arn: self.channel_arn, + mode: self.mode, + privacy: self.privacy, + metadata: self.metadata, + last_message_timestamp: self.last_message_timestamp, + } + } + } +} +impl ChannelSummary { + /// Creates a new builder-style object to manufacture [`ChannelSummary`](crate::model::ChannelSummary) + pub fn builder() -> crate::model::channel_summary::Builder { + crate::model::channel_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ChannelPrivacy { + Private, + Public, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ChannelPrivacy { + fn from(s: &str) -> Self { + match s { + "PRIVATE" => ChannelPrivacy::Private, + "PUBLIC" => ChannelPrivacy::Public, + other => ChannelPrivacy::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ChannelPrivacy { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ChannelPrivacy::from(s)) + } +} +impl ChannelPrivacy { + pub fn as_str(&self) -> &str { + match self { + ChannelPrivacy::Private => "PRIVATE", + ChannelPrivacy::Public => "PUBLIC", + ChannelPrivacy::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["PRIVATE", "PUBLIC"] + } +} +impl AsRef for ChannelPrivacy { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

          Summary of the details of a ChannelModerator.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelModeratorSummary { + ///

          The data for a moderator.

          + pub moderator: std::option::Option, +} +impl std::fmt::Debug for ChannelModeratorSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelModeratorSummary"); + formatter.field("moderator", &self.moderator); + formatter.finish() + } +} +/// See [`ChannelModeratorSummary`](crate::model::ChannelModeratorSummary) +pub mod channel_moderator_summary { + /// A builder for [`ChannelModeratorSummary`](crate::model::ChannelModeratorSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) moderator: std::option::Option, + } + impl Builder { + ///

          The data for a moderator.

          + pub fn moderator(mut self, input: crate::model::Identity) -> Self { + self.moderator = Some(input); + self + } + pub fn set_moderator(mut self, input: std::option::Option) -> Self { + self.moderator = input; + self + } + /// Consumes the builder and constructs a [`ChannelModeratorSummary`](crate::model::ChannelModeratorSummary) + pub fn build(self) -> crate::model::ChannelModeratorSummary { + crate::model::ChannelModeratorSummary { + moderator: self.moderator, + } + } + } +} +impl ChannelModeratorSummary { + /// Creates a new builder-style object to manufacture [`ChannelModeratorSummary`](crate::model::ChannelModeratorSummary) + pub fn builder() -> crate::model::channel_moderator_summary::Builder { + crate::model::channel_moderator_summary::Builder::default() + } +} + +///

          The details of a user.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Identity { + ///

          The ARN in an Identity.

          + pub arn: std::option::Option, + ///

          The name in an Identity.

          + pub name: std::option::Option, +} +impl std::fmt::Debug for Identity { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Identity"); + formatter.field("arn", &self.arn); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`Identity`](crate::model::Identity) +pub mod identity { + /// A builder for [`Identity`](crate::model::Identity) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) arn: std::option::Option, + pub(crate) name: std::option::Option, + } + impl Builder { + ///

          The ARN in an Identity.

          + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } + ///

          The name in an Identity.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + /// Consumes the builder and constructs a [`Identity`](crate::model::Identity) + pub fn build(self) -> crate::model::Identity { + crate::model::Identity { + arn: self.arn, + name: self.name, + } + } + } +} +impl Identity { + /// Creates a new builder-style object to manufacture [`Identity`](crate::model::Identity) + pub fn builder() -> crate::model::identity::Builder { + crate::model::identity::Builder::default() + } +} + +///

          Summary of the messages in a Channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelMessageSummary { + ///

          The ID of the message.

          + pub message_id: std::option::Option, + ///

          The content of the message.

          + pub content: std::option::Option, + ///

          The metadata of the message.

          + pub metadata: std::option::Option, + ///

          The type of message.

          + pub r#type: std::option::Option, + ///

          The time at which the message summary was created.

          + pub created_timestamp: std::option::Option, + ///

          The time at which a message was last updated.

          + pub last_updated_timestamp: std::option::Option, + ///

          The time at which a message was last edited.

          + pub last_edited_timestamp: std::option::Option, + ///

          The message sender.

          + pub sender: std::option::Option, + ///

          Indicates whether a message was redacted.

          + pub redacted: bool, +} +impl std::fmt::Debug for ChannelMessageSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelMessageSummary"); + formatter.field("message_id", &self.message_id); + formatter.field("content", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("r#type", &self.r#type); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.field("last_edited_timestamp", &self.last_edited_timestamp); + formatter.field("sender", &self.sender); + formatter.field("redacted", &self.redacted); + formatter.finish() + } +} +/// See [`ChannelMessageSummary`](crate::model::ChannelMessageSummary) +pub mod channel_message_summary { + /// A builder for [`ChannelMessageSummary`](crate::model::ChannelMessageSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message_id: std::option::Option, + pub(crate) content: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + pub(crate) last_edited_timestamp: std::option::Option, + pub(crate) sender: std::option::Option, + pub(crate) redacted: std::option::Option, + } + impl Builder { + ///

          The ID of the message.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The content of the message.

          + pub fn content(mut self, input: impl Into) -> Self { + self.content = Some(input.into()); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.content = input; + self + } + ///

          The metadata of the message.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The type of message.

          + pub fn r#type(mut self, input: crate::model::ChannelMessageType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The time at which the message summary was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time at which a message was last updated.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + ///

          The time at which a message was last edited.

          + pub fn last_edited_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_edited_timestamp = Some(input); + self + } + pub fn set_last_edited_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_edited_timestamp = input; + self + } + ///

          The message sender.

          + pub fn sender(mut self, input: crate::model::Identity) -> Self { + self.sender = Some(input); + self + } + pub fn set_sender(mut self, input: std::option::Option) -> Self { + self.sender = input; + self + } + ///

          Indicates whether a message was redacted.

          + pub fn redacted(mut self, input: bool) -> Self { + self.redacted = Some(input); + self + } + pub fn set_redacted(mut self, input: std::option::Option) -> Self { + self.redacted = input; + self + } + /// Consumes the builder and constructs a [`ChannelMessageSummary`](crate::model::ChannelMessageSummary) + pub fn build(self) -> crate::model::ChannelMessageSummary { + crate::model::ChannelMessageSummary { + message_id: self.message_id, + content: self.content, + metadata: self.metadata, + r#type: self.r#type, + created_timestamp: self.created_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + last_edited_timestamp: self.last_edited_timestamp, + sender: self.sender, + redacted: self.redacted.unwrap_or_default(), + } + } + } +} +impl ChannelMessageSummary { + /// Creates a new builder-style object to manufacture [`ChannelMessageSummary`](crate::model::ChannelMessageSummary) + pub fn builder() -> crate::model::channel_message_summary::Builder { + crate::model::channel_message_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum SortOrder { + Ascending, + Descending, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for SortOrder { + fn from(s: &str) -> Self { + match s { + "ASCENDING" => SortOrder::Ascending, + "DESCENDING" => SortOrder::Descending, + other => SortOrder::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for SortOrder { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(SortOrder::from(s)) + } +} +impl SortOrder { + pub fn as_str(&self) -> &str { + match self { + SortOrder::Ascending => "ASCENDING", + SortOrder::Descending => "DESCENDING", + SortOrder::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["ASCENDING", "DESCENDING"] + } +} +impl AsRef for SortOrder { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

          Summary of the channel membership details of an AppInstanceUser.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelMembershipForAppInstanceUserSummary { + ///

          Returns the channel data for an AppInstance.

          + pub channel_summary: std::option::Option, + ///

          Returns the channel membership data for an AppInstance.

          + pub app_instance_user_membership_summary: + std::option::Option, +} +impl std::fmt::Debug for ChannelMembershipForAppInstanceUserSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelMembershipForAppInstanceUserSummary"); + formatter.field("channel_summary", &self.channel_summary); + formatter.field( + "app_instance_user_membership_summary", + &self.app_instance_user_membership_summary, + ); + formatter.finish() + } +} +/// See [`ChannelMembershipForAppInstanceUserSummary`](crate::model::ChannelMembershipForAppInstanceUserSummary) +pub mod channel_membership_for_app_instance_user_summary { + /// A builder for [`ChannelMembershipForAppInstanceUserSummary`](crate::model::ChannelMembershipForAppInstanceUserSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_summary: std::option::Option, + pub(crate) app_instance_user_membership_summary: + std::option::Option, + } + impl Builder { + ///

          Returns the channel data for an AppInstance.

          + pub fn channel_summary(mut self, input: crate::model::ChannelSummary) -> Self { + self.channel_summary = Some(input); + self + } + pub fn set_channel_summary( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_summary = input; + self + } + ///

          Returns the channel membership data for an AppInstance.

          + pub fn app_instance_user_membership_summary( + mut self, + input: crate::model::AppInstanceUserMembershipSummary, + ) -> Self { + self.app_instance_user_membership_summary = Some(input); + self + } + pub fn set_app_instance_user_membership_summary( + mut self, + input: std::option::Option, + ) -> Self { + self.app_instance_user_membership_summary = input; + self + } + /// Consumes the builder and constructs a [`ChannelMembershipForAppInstanceUserSummary`](crate::model::ChannelMembershipForAppInstanceUserSummary) + pub fn build(self) -> crate::model::ChannelMembershipForAppInstanceUserSummary { + crate::model::ChannelMembershipForAppInstanceUserSummary { + channel_summary: self.channel_summary, + app_instance_user_membership_summary: self.app_instance_user_membership_summary, + } + } + } +} +impl ChannelMembershipForAppInstanceUserSummary { + /// Creates a new builder-style object to manufacture [`ChannelMembershipForAppInstanceUserSummary`](crate::model::ChannelMembershipForAppInstanceUserSummary) + pub fn builder() -> crate::model::channel_membership_for_app_instance_user_summary::Builder { + crate::model::channel_membership_for_app_instance_user_summary::Builder::default() + } +} + +///

          Summary of the membership details of an AppInstanceUser.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AppInstanceUserMembershipSummary { + ///

          The type of ChannelMembership.

          + pub r#type: std::option::Option, + ///

          The time at which a message was last read.

          + pub read_marker_timestamp: std::option::Option, +} +impl std::fmt::Debug for AppInstanceUserMembershipSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AppInstanceUserMembershipSummary"); + formatter.field("r#type", &self.r#type); + formatter.field("read_marker_timestamp", &self.read_marker_timestamp); + formatter.finish() + } +} +/// See [`AppInstanceUserMembershipSummary`](crate::model::AppInstanceUserMembershipSummary) +pub mod app_instance_user_membership_summary { + /// A builder for [`AppInstanceUserMembershipSummary`](crate::model::AppInstanceUserMembershipSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) r#type: std::option::Option, + pub(crate) read_marker_timestamp: std::option::Option, + } + impl Builder { + ///

          The type of ChannelMembership.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The time at which a message was last read.

          + pub fn read_marker_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.read_marker_timestamp = Some(input); + self + } + pub fn set_read_marker_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.read_marker_timestamp = input; + self + } + /// Consumes the builder and constructs a [`AppInstanceUserMembershipSummary`](crate::model::AppInstanceUserMembershipSummary) + pub fn build(self) -> crate::model::AppInstanceUserMembershipSummary { + crate::model::AppInstanceUserMembershipSummary { + r#type: self.r#type, + read_marker_timestamp: self.read_marker_timestamp, + } + } + } +} +impl AppInstanceUserMembershipSummary { + /// Creates a new builder-style object to manufacture [`AppInstanceUserMembershipSummary`](crate::model::AppInstanceUserMembershipSummary) + pub fn builder() -> crate::model::app_instance_user_membership_summary::Builder { + crate::model::app_instance_user_membership_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ChannelMembershipType { + Default, + Hidden, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ChannelMembershipType { + fn from(s: &str) -> Self { + match s { + "DEFAULT" => ChannelMembershipType::Default, + "HIDDEN" => ChannelMembershipType::Hidden, + other => ChannelMembershipType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ChannelMembershipType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ChannelMembershipType::from(s)) + } +} +impl ChannelMembershipType { + pub fn as_str(&self) -> &str { + match self { + ChannelMembershipType::Default => "DEFAULT", + ChannelMembershipType::Hidden => "HIDDEN", + ChannelMembershipType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["DEFAULT", "HIDDEN"] + } +} +impl AsRef for ChannelMembershipType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

          Summary of the details of a ChannelMembership.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelMembershipSummary { + ///

          A member's summary data.

          + pub member: std::option::Option, +} +impl std::fmt::Debug for ChannelMembershipSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelMembershipSummary"); + formatter.field("member", &self.member); + formatter.finish() + } +} +/// See [`ChannelMembershipSummary`](crate::model::ChannelMembershipSummary) +pub mod channel_membership_summary { + /// A builder for [`ChannelMembershipSummary`](crate::model::ChannelMembershipSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) member: std::option::Option, + } + impl Builder { + ///

          A member's summary data.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + /// Consumes the builder and constructs a [`ChannelMembershipSummary`](crate::model::ChannelMembershipSummary) + pub fn build(self) -> crate::model::ChannelMembershipSummary { + crate::model::ChannelMembershipSummary { + member: self.member, + } + } + } +} +impl ChannelMembershipSummary { + /// Creates a new builder-style object to manufacture [`ChannelMembershipSummary`](crate::model::ChannelMembershipSummary) + pub fn builder() -> crate::model::channel_membership_summary::Builder { + crate::model::channel_membership_summary::Builder::default() + } +} + +///

          Summary of the details of a ChannelBan.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelBanSummary { + ///

          The member being banned from a channel.

          + pub member: std::option::Option, +} +impl std::fmt::Debug for ChannelBanSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelBanSummary"); + formatter.field("member", &self.member); + formatter.finish() + } +} +/// See [`ChannelBanSummary`](crate::model::ChannelBanSummary) +pub mod channel_ban_summary { + /// A builder for [`ChannelBanSummary`](crate::model::ChannelBanSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) member: std::option::Option, + } + impl Builder { + ///

          The member being banned from a channel.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + /// Consumes the builder and constructs a [`ChannelBanSummary`](crate::model::ChannelBanSummary) + pub fn build(self) -> crate::model::ChannelBanSummary { + crate::model::ChannelBanSummary { + member: self.member, + } + } + } +} +impl ChannelBanSummary { + /// Creates a new builder-style object to manufacture [`ChannelBanSummary`](crate::model::ChannelBanSummary) + pub fn builder() -> crate::model::channel_ban_summary::Builder { + crate::model::channel_ban_summary::Builder::default() + } +} + +///

          The websocket endpoint used to connect to Amazon Chime SDK messaging.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MessagingSessionEndpoint { + ///

          The endpoint to which you establish a websocket connection.

          + pub url: std::option::Option, +} +impl std::fmt::Debug for MessagingSessionEndpoint { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MessagingSessionEndpoint"); + formatter.field("url", &self.url); + formatter.finish() + } +} +/// See [`MessagingSessionEndpoint`](crate::model::MessagingSessionEndpoint) +pub mod messaging_session_endpoint { + /// A builder for [`MessagingSessionEndpoint`](crate::model::MessagingSessionEndpoint) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) url: std::option::Option, + } + impl Builder { + ///

          The endpoint to which you establish a websocket connection.

          + pub fn url(mut self, input: impl Into) -> Self { + self.url = Some(input.into()); + self + } + pub fn set_url(mut self, input: std::option::Option) -> Self { + self.url = input; + self + } + /// Consumes the builder and constructs a [`MessagingSessionEndpoint`](crate::model::MessagingSessionEndpoint) + pub fn build(self) -> crate::model::MessagingSessionEndpoint { + crate::model::MessagingSessionEndpoint { url: self.url } + } + } +} +impl MessagingSessionEndpoint { + /// Creates a new builder-style object to manufacture [`MessagingSessionEndpoint`](crate::model::MessagingSessionEndpoint) + pub fn builder() -> crate::model::messaging_session_endpoint::Builder { + crate::model::messaging_session_endpoint::Builder::default() + } +} + +///

          The details of a message in a channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelMessage { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID of a message.

          + pub message_id: std::option::Option, + ///

          The message content.

          + pub content: std::option::Option, + ///

          The message metadata.

          + pub metadata: std::option::Option, + ///

          The message type.

          + pub r#type: std::option::Option, + ///

          The time at which the message was created.

          + pub created_timestamp: std::option::Option, + ///

          The time at which a message was edited.

          + pub last_edited_timestamp: std::option::Option, + ///

          The time at which a message was updated.

          + pub last_updated_timestamp: std::option::Option, + ///

          The message sender.

          + pub sender: std::option::Option, + ///

          Hides the content of a message.

          + pub redacted: bool, + ///

          The persistence setting for a channel message.

          + pub persistence: std::option::Option, +} +impl std::fmt::Debug for ChannelMessage { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelMessage"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.field("content", &"*** Sensitive Data Redacted ***"); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("r#type", &self.r#type); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_edited_timestamp", &self.last_edited_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.field("sender", &self.sender); + formatter.field("redacted", &self.redacted); + formatter.field("persistence", &self.persistence); + formatter.finish() + } +} +/// See [`ChannelMessage`](crate::model::ChannelMessage) +pub mod channel_message { + /// A builder for [`ChannelMessage`](crate::model::ChannelMessage) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + pub(crate) content: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_edited_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + pub(crate) sender: std::option::Option, + pub(crate) redacted: std::option::Option, + pub(crate) persistence: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID of a message.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + ///

          The message content.

          + pub fn content(mut self, input: impl Into) -> Self { + self.content = Some(input.into()); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.content = input; + self + } + ///

          The message metadata.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The message type.

          + pub fn r#type(mut self, input: crate::model::ChannelMessageType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The time at which the message was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time at which a message was edited.

          + pub fn last_edited_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_edited_timestamp = Some(input); + self + } + pub fn set_last_edited_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_edited_timestamp = input; + self + } + ///

          The time at which a message was updated.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + ///

          The message sender.

          + pub fn sender(mut self, input: crate::model::Identity) -> Self { + self.sender = Some(input); + self + } + pub fn set_sender(mut self, input: std::option::Option) -> Self { + self.sender = input; + self + } + ///

          Hides the content of a message.

          + pub fn redacted(mut self, input: bool) -> Self { + self.redacted = Some(input); + self + } + pub fn set_redacted(mut self, input: std::option::Option) -> Self { + self.redacted = input; + self + } + ///

          The persistence setting for a channel message.

          + pub fn persistence(mut self, input: crate::model::ChannelMessagePersistenceType) -> Self { + self.persistence = Some(input); + self + } + pub fn set_persistence( + mut self, + input: std::option::Option, + ) -> Self { + self.persistence = input; + self + } + /// Consumes the builder and constructs a [`ChannelMessage`](crate::model::ChannelMessage) + pub fn build(self) -> crate::model::ChannelMessage { + crate::model::ChannelMessage { + channel_arn: self.channel_arn, + message_id: self.message_id, + content: self.content, + metadata: self.metadata, + r#type: self.r#type, + created_timestamp: self.created_timestamp, + last_edited_timestamp: self.last_edited_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + sender: self.sender, + redacted: self.redacted.unwrap_or_default(), + persistence: self.persistence, + } + } + } +} +impl ChannelMessage { + /// Creates a new builder-style object to manufacture [`ChannelMessage`](crate::model::ChannelMessage) + pub fn builder() -> crate::model::channel_message::Builder { + crate::model::channel_message::Builder::default() + } +} + +///

          The details of a channel moderator.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelModerator { + ///

          The moderator's data.

          + pub moderator: std::option::Option, + ///

          The ARN of the moderator's channel.

          + pub channel_arn: std::option::Option, + ///

          The time at which the moderator was created.

          + pub created_timestamp: std::option::Option, + ///

          The AppInstanceUser who created the moderator.

          + pub created_by: std::option::Option, +} +impl std::fmt::Debug for ChannelModerator { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelModerator"); + formatter.field("moderator", &self.moderator); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("created_by", &self.created_by); + formatter.finish() + } +} +/// See [`ChannelModerator`](crate::model::ChannelModerator) +pub mod channel_moderator { + /// A builder for [`ChannelModerator`](crate::model::ChannelModerator) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) moderator: std::option::Option, + pub(crate) channel_arn: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) created_by: std::option::Option, + } + impl Builder { + ///

          The moderator's data.

          + pub fn moderator(mut self, input: crate::model::Identity) -> Self { + self.moderator = Some(input); + self + } + pub fn set_moderator(mut self, input: std::option::Option) -> Self { + self.moderator = input; + self + } + ///

          The ARN of the moderator's channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The time at which the moderator was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The AppInstanceUser who created the moderator.

          + pub fn created_by(mut self, input: crate::model::Identity) -> Self { + self.created_by = Some(input); + self + } + pub fn set_created_by( + mut self, + input: std::option::Option, + ) -> Self { + self.created_by = input; + self + } + /// Consumes the builder and constructs a [`ChannelModerator`](crate::model::ChannelModerator) + pub fn build(self) -> crate::model::ChannelModerator { + crate::model::ChannelModerator { + moderator: self.moderator, + channel_arn: self.channel_arn, + created_timestamp: self.created_timestamp, + created_by: self.created_by, + } + } + } +} +impl ChannelModerator { + /// Creates a new builder-style object to manufacture [`ChannelModerator`](crate::model::ChannelModerator) + pub fn builder() -> crate::model::channel_moderator::Builder { + crate::model::channel_moderator::Builder::default() + } +} + +///

          The details of a channel member.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelMembership { + ///

          The identifier of the member who invited another member.

          + pub invited_by: std::option::Option, + ///

          The membership type set for the channel member.

          + pub r#type: std::option::Option, + ///

          The data of the channel member.

          + pub member: std::option::Option, + ///

          The ARN of the member's channel.

          + pub channel_arn: std::option::Option, + ///

          The time at which the channel membership was created.

          + pub created_timestamp: std::option::Option, + ///

          The time at which a channel membership was last updated.

          + pub last_updated_timestamp: std::option::Option, +} +impl std::fmt::Debug for ChannelMembership { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelMembership"); + formatter.field("invited_by", &self.invited_by); + formatter.field("r#type", &self.r#type); + formatter.field("member", &self.member); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.finish() + } +} +/// See [`ChannelMembership`](crate::model::ChannelMembership) +pub mod channel_membership { + /// A builder for [`ChannelMembership`](crate::model::ChannelMembership) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) invited_by: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) member: std::option::Option, + pub(crate) channel_arn: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + } + impl Builder { + ///

          The identifier of the member who invited another member.

          + pub fn invited_by(mut self, input: crate::model::Identity) -> Self { + self.invited_by = Some(input); + self + } + pub fn set_invited_by( + mut self, + input: std::option::Option, + ) -> Self { + self.invited_by = input; + self + } + ///

          The membership type set for the channel member.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The data of the channel member.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + ///

          The ARN of the member's channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The time at which the channel membership was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time at which a channel membership was last updated.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + /// Consumes the builder and constructs a [`ChannelMembership`](crate::model::ChannelMembership) + pub fn build(self) -> crate::model::ChannelMembership { + crate::model::ChannelMembership { + invited_by: self.invited_by, + r#type: self.r#type, + member: self.member, + channel_arn: self.channel_arn, + created_timestamp: self.created_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + } + } + } +} +impl ChannelMembership { + /// Creates a new builder-style object to manufacture [`ChannelMembership`](crate::model::ChannelMembership) + pub fn builder() -> crate::model::channel_membership::Builder { + crate::model::channel_membership::Builder::default() + } +} + +///

          The details of a channel ban.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelBan { + ///

          The member being banned from the channel.

          + pub member: std::option::Option, + ///

          The ARN of the channel from which a member is being banned.

          + pub channel_arn: std::option::Option, + ///

          The time at which the ban was created.

          + pub created_timestamp: std::option::Option, + ///

          The AppInstanceUser who created the ban.

          + pub created_by: std::option::Option, +} +impl std::fmt::Debug for ChannelBan { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelBan"); + formatter.field("member", &self.member); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("created_by", &self.created_by); + formatter.finish() + } +} +/// See [`ChannelBan`](crate::model::ChannelBan) +pub mod channel_ban { + /// A builder for [`ChannelBan`](crate::model::ChannelBan) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) member: std::option::Option, + pub(crate) channel_arn: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) created_by: std::option::Option, + } + impl Builder { + ///

          The member being banned from the channel.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + ///

          The ARN of the channel from which a member is being banned.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The time at which the ban was created.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The AppInstanceUser who created the ban.

          + pub fn created_by(mut self, input: crate::model::Identity) -> Self { + self.created_by = Some(input); + self + } + pub fn set_created_by( + mut self, + input: std::option::Option, + ) -> Self { + self.created_by = input; + self + } + /// Consumes the builder and constructs a [`ChannelBan`](crate::model::ChannelBan) + pub fn build(self) -> crate::model::ChannelBan { + crate::model::ChannelBan { + member: self.member, + channel_arn: self.channel_arn, + created_timestamp: self.created_timestamp, + created_by: self.created_by, + } + } + } +} +impl ChannelBan { + /// Creates a new builder-style object to manufacture [`ChannelBan`](crate::model::ChannelBan) + pub fn builder() -> crate::model::channel_ban::Builder { + crate::model::channel_ban::Builder::default() + } +} + +///

          The details of a channel.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Channel { + ///

          The name of a channel.

          + pub name: std::option::Option, + ///

          The ARN of a channel.

          + pub channel_arn: std::option::Option, + ///

          The mode of the channel.

          + pub mode: std::option::Option, + ///

          The channel's privacy setting.

          + pub privacy: std::option::Option, + ///

          The channel's metadata.

          + pub metadata: std::option::Option, + ///

          The AppInstanceUser who created the channel.

          + pub created_by: std::option::Option, + ///

          The time at which the AppInstanceUser created the channel.

          + pub created_timestamp: std::option::Option, + ///

          The time at which a member sent the last message in the channel.

          + pub last_message_timestamp: std::option::Option, + ///

          The time at which a channel was last updated.

          + pub last_updated_timestamp: std::option::Option, +} +impl std::fmt::Debug for Channel { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Channel"); + formatter.field("name", &"*** Sensitive Data Redacted ***"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("mode", &self.mode); + formatter.field("privacy", &self.privacy); + formatter.field("metadata", &"*** Sensitive Data Redacted ***"); + formatter.field("created_by", &self.created_by); + formatter.field("created_timestamp", &self.created_timestamp); + formatter.field("last_message_timestamp", &self.last_message_timestamp); + formatter.field("last_updated_timestamp", &self.last_updated_timestamp); + formatter.finish() + } +} +/// See [`Channel`](crate::model::Channel) +pub mod channel { + /// A builder for [`Channel`](crate::model::Channel) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) channel_arn: std::option::Option, + pub(crate) mode: std::option::Option, + pub(crate) privacy: std::option::Option, + pub(crate) metadata: std::option::Option, + pub(crate) created_by: std::option::Option, + pub(crate) created_timestamp: std::option::Option, + pub(crate) last_message_timestamp: std::option::Option, + pub(crate) last_updated_timestamp: std::option::Option, + } + impl Builder { + ///

          The name of a channel.

          + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

          The ARN of a channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The mode of the channel.

          + pub fn mode(mut self, input: crate::model::ChannelMode) -> Self { + self.mode = Some(input); + self + } + pub fn set_mode(mut self, input: std::option::Option) -> Self { + self.mode = input; + self + } + ///

          The channel's privacy setting.

          + pub fn privacy(mut self, input: crate::model::ChannelPrivacy) -> Self { + self.privacy = Some(input); + self + } + pub fn set_privacy( + mut self, + input: std::option::Option, + ) -> Self { + self.privacy = input; + self + } + ///

          The channel's metadata.

          + pub fn metadata(mut self, input: impl Into) -> Self { + self.metadata = Some(input.into()); + self + } + pub fn set_metadata(mut self, input: std::option::Option) -> Self { + self.metadata = input; + self + } + ///

          The AppInstanceUser who created the channel.

          + pub fn created_by(mut self, input: crate::model::Identity) -> Self { + self.created_by = Some(input); + self + } + pub fn set_created_by( + mut self, + input: std::option::Option, + ) -> Self { + self.created_by = input; + self + } + ///

          The time at which the AppInstanceUser created the channel.

          + pub fn created_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.created_timestamp = Some(input); + self + } + pub fn set_created_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.created_timestamp = input; + self + } + ///

          The time at which a member sent the last message in the channel.

          + pub fn last_message_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_message_timestamp = Some(input); + self + } + pub fn set_last_message_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_message_timestamp = input; + self + } + ///

          The time at which a channel was last updated.

          + pub fn last_updated_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_timestamp = Some(input); + self + } + pub fn set_last_updated_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_timestamp = input; + self + } + /// Consumes the builder and constructs a [`Channel`](crate::model::Channel) + pub fn build(self) -> crate::model::Channel { + crate::model::Channel { + name: self.name, + channel_arn: self.channel_arn, + mode: self.mode, + privacy: self.privacy, + metadata: self.metadata, + created_by: self.created_by, + created_timestamp: self.created_timestamp, + last_message_timestamp: self.last_message_timestamp, + last_updated_timestamp: self.last_updated_timestamp, + } + } + } +} +impl Channel { + /// Creates a new builder-style object to manufacture [`Channel`](crate::model::Channel) + pub fn builder() -> crate::model::channel::Builder { + crate::model::channel::Builder::default() + } +} + +///

          Describes a tag applied to a resource.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Tag { + ///

          The key of the tag.

          + pub key: std::option::Option, + ///

          The value of the tag.

          + pub value: std::option::Option, +} +impl std::fmt::Debug for Tag { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Tag"); + formatter.field("key", &"*** Sensitive Data Redacted ***"); + formatter.field("value", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`Tag`](crate::model::Tag) +pub mod tag { + /// A builder for [`Tag`](crate::model::Tag) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) key: std::option::Option, + pub(crate) value: std::option::Option, + } + impl Builder { + ///

          The key of the tag.

          + pub fn key(mut self, input: impl Into) -> Self { + self.key = Some(input.into()); + self + } + pub fn set_key(mut self, input: std::option::Option) -> Self { + self.key = input; + self + } + ///

          The value of the tag.

          + pub fn value(mut self, input: impl Into) -> Self { + self.value = Some(input.into()); + self + } + pub fn set_value(mut self, input: std::option::Option) -> Self { + self.value = input; + self + } + /// Consumes the builder and constructs a [`Tag`](crate::model::Tag) + pub fn build(self) -> crate::model::Tag { + crate::model::Tag { + key: self.key, + value: self.value, + } + } + } +} +impl Tag { + /// Creates a new builder-style object to manufacture [`Tag`](crate::model::Tag) + pub fn builder() -> crate::model::tag::Builder { + crate::model::tag::Builder::default() + } +} + +///

          A list of failed member ARNs, error codes, and error messages.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchCreateChannelMembershipError { + ///

          The ARN of the member that the service couldn't add.

          + pub member_arn: std::option::Option, + ///

          The error code.

          + pub error_code: std::option::Option, + ///

          The error message.

          + pub error_message: std::option::Option, +} +impl std::fmt::Debug for BatchCreateChannelMembershipError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchCreateChannelMembershipError"); + formatter.field("member_arn", &self.member_arn); + formatter.field("error_code", &self.error_code); + formatter.field("error_message", &self.error_message); + formatter.finish() + } +} +/// See [`BatchCreateChannelMembershipError`](crate::model::BatchCreateChannelMembershipError) +pub mod batch_create_channel_membership_error { + /// A builder for [`BatchCreateChannelMembershipError`](crate::model::BatchCreateChannelMembershipError) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) member_arn: std::option::Option, + pub(crate) error_code: std::option::Option, + pub(crate) error_message: std::option::Option, + } + impl Builder { + ///

          The ARN of the member that the service couldn't add.

          + pub fn member_arn(mut self, input: impl Into) -> Self { + self.member_arn = Some(input.into()); + self + } + pub fn set_member_arn(mut self, input: std::option::Option) -> Self { + self.member_arn = input; + self + } + ///

          The error code.

          + pub fn error_code(mut self, input: crate::model::ErrorCode) -> Self { + self.error_code = Some(input); + self + } + pub fn set_error_code( + mut self, + input: std::option::Option, + ) -> Self { + self.error_code = input; + self + } + ///

          The error message.

          + pub fn error_message(mut self, input: impl Into) -> Self { + self.error_message = Some(input.into()); + self + } + pub fn set_error_message( + mut self, + input: std::option::Option, + ) -> Self { + self.error_message = input; + self + } + /// Consumes the builder and constructs a [`BatchCreateChannelMembershipError`](crate::model::BatchCreateChannelMembershipError) + pub fn build(self) -> crate::model::BatchCreateChannelMembershipError { + crate::model::BatchCreateChannelMembershipError { + member_arn: self.member_arn, + error_code: self.error_code, + error_message: self.error_message, + } + } + } +} +impl BatchCreateChannelMembershipError { + /// Creates a new builder-style object to manufacture [`BatchCreateChannelMembershipError`](crate::model::BatchCreateChannelMembershipError) + pub fn builder() -> crate::model::batch_create_channel_membership_error::Builder { + crate::model::batch_create_channel_membership_error::Builder::default() + } +} + +///

          The membership information, including member ARNs, the channel ARN, and membership +/// types.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchChannelMemberships { + ///

          The identifier of the member who invited another member.

          + pub invited_by: std::option::Option, + ///

          The membership types set for the channel users.

          + pub r#type: std::option::Option, + ///

          The users successfully added to the request.

          + pub members: std::option::Option>, + ///

          The ARN of the channel to which you're adding users.

          + pub channel_arn: std::option::Option, +} +impl std::fmt::Debug for BatchChannelMemberships { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchChannelMemberships"); + formatter.field("invited_by", &self.invited_by); + formatter.field("r#type", &self.r#type); + formatter.field("members", &self.members); + formatter.field("channel_arn", &self.channel_arn); + formatter.finish() + } +} +/// See [`BatchChannelMemberships`](crate::model::BatchChannelMemberships) +pub mod batch_channel_memberships { + /// A builder for [`BatchChannelMemberships`](crate::model::BatchChannelMemberships) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) invited_by: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) members: std::option::Option>, + pub(crate) channel_arn: std::option::Option, + } + impl Builder { + ///

          The identifier of the member who invited another member.

          + pub fn invited_by(mut self, input: crate::model::Identity) -> Self { + self.invited_by = Some(input); + self + } + pub fn set_invited_by( + mut self, + input: std::option::Option, + ) -> Self { + self.invited_by = input; + self + } + ///

          The membership types set for the channel users.

          + pub fn r#type(mut self, input: crate::model::ChannelMembershipType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + pub fn members(mut self, input: impl Into) -> Self { + let mut v = self.members.unwrap_or_default(); + v.push(input.into()); + self.members = Some(v); + self + } + pub fn set_members( + mut self, + input: std::option::Option>, + ) -> Self { + self.members = input; + self + } + ///

          The ARN of the channel to which you're adding users.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + /// Consumes the builder and constructs a [`BatchChannelMemberships`](crate::model::BatchChannelMemberships) + pub fn build(self) -> crate::model::BatchChannelMemberships { + crate::model::BatchChannelMemberships { + invited_by: self.invited_by, + r#type: self.r#type, + members: self.members, + channel_arn: self.channel_arn, + } + } + } +} +impl BatchChannelMemberships { + /// Creates a new builder-style object to manufacture [`BatchChannelMemberships`](crate::model::BatchChannelMemberships) + pub fn builder() -> crate::model::batch_channel_memberships::Builder { + crate::model::batch_channel_memberships::Builder::default() + } +} diff --git a/sdk/chimesdkmessaging/src/operation.rs b/sdk/chimesdkmessaging/src/operation.rs new file mode 100644 index 000000000000..0f3c32c348d6 --- /dev/null +++ b/sdk/chimesdkmessaging/src/operation.rs @@ -0,0 +1,1075 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

          Adds a specified number of users to a channel.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct BatchCreateChannelMembership { + _private: (), +} +impl BatchCreateChannelMembership { + /// Creates a new builder-style object to manufacture [`BatchCreateChannelMembershipInput`](crate::input::BatchCreateChannelMembershipInput) + pub fn builder() -> crate::input::batch_create_channel_membership_input::Builder { + crate::input::batch_create_channel_membership_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for BatchCreateChannelMembership { + type Output = std::result::Result< + crate::output::BatchCreateChannelMembershipOutput, + crate::error::BatchCreateChannelMembershipError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_batch_create_channel_membership_error(response) + } else { + crate::operation_deser::parse_batch_create_channel_membership_response(response) + } + } +} + +///

          Creates a channel to which you can add users and send messages.

          +///

          +/// Restriction: You can't change a channel's +/// privacy.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateChannel { + _private: (), +} +impl CreateChannel { + /// Creates a new builder-style object to manufacture [`CreateChannelInput`](crate::input::CreateChannelInput) + pub fn builder() -> crate::input::create_channel_input::Builder { + crate::input::create_channel_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateChannel { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_channel_error(response) + } else { + crate::operation_deser::parse_create_channel_response(response) + } + } +} + +///

          Permanently bans a member from a channel. Moderators can't add banned members to a +/// channel. To undo a ban, you first have to DeleteChannelBan, and then +/// CreateChannelMembership. Bans are cleaned up when you delete users or +/// channels.

          +///

          If you ban a user who is already part of a channel, that user is automatically kicked +/// from the channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateChannelBan { + _private: (), +} +impl CreateChannelBan { + /// Creates a new builder-style object to manufacture [`CreateChannelBanInput`](crate::input::CreateChannelBanInput) + pub fn builder() -> crate::input::create_channel_ban_input::Builder { + crate::input::create_channel_ban_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateChannelBan { + type Output = std::result::Result< + crate::output::CreateChannelBanOutput, + crate::error::CreateChannelBanError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_channel_ban_error(response) + } else { + crate::operation_deser::parse_create_channel_ban_response(response) + } + } +} + +///

          Adds a user to a channel. The InvitedBy response field is derived from the +/// request header. A channel member can:

          +///
            +///
          • +///

            List messages

            +///
          • +///
          • +///

            Send messages

            +///
          • +///
          • +///

            Receive messages

            +///
          • +///
          • +///

            Edit their own messages

            +///
          • +///
          • +///

            Leave the channel

            +///
          • +///
          +///

          Privacy settings impact this action as follows:

          +///
            +///
          • +///

            Public Channels: You do not need to be a member to list messages, but you must be +/// a member to send messages.

            +///
          • +///
          • +///

            Private Channels: You must be a member to list or send messages.

            +///
          • +///
          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateChannelMembership { + _private: (), +} +impl CreateChannelMembership { + /// Creates a new builder-style object to manufacture [`CreateChannelMembershipInput`](crate::input::CreateChannelMembershipInput) + pub fn builder() -> crate::input::create_channel_membership_input::Builder { + crate::input::create_channel_membership_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateChannelMembership { + type Output = std::result::Result< + crate::output::CreateChannelMembershipOutput, + crate::error::CreateChannelMembershipError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_channel_membership_error(response) + } else { + crate::operation_deser::parse_create_channel_membership_response(response) + } + } +} + +///

          Creates a new ChannelModerator. A channel moderator can:

          +///
            +///
          • +///

            Add and remove other members of the channel.

            +///
          • +///
          • +///

            Add and remove other moderators of the channel.

            +///
          • +///
          • +///

            Add and remove user bans for the channel.

            +///
          • +///
          • +///

            Redact messages in the channel.

            +///
          • +///
          • +///

            List messages in the channel.

            +///
          • +///
          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateChannelModerator { + _private: (), +} +impl CreateChannelModerator { + /// Creates a new builder-style object to manufacture [`CreateChannelModeratorInput`](crate::input::CreateChannelModeratorInput) + pub fn builder() -> crate::input::create_channel_moderator_input::Builder { + crate::input::create_channel_moderator_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateChannelModerator { + type Output = std::result::Result< + crate::output::CreateChannelModeratorOutput, + crate::error::CreateChannelModeratorError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_create_channel_moderator_error(response) + } else { + crate::operation_deser::parse_create_channel_moderator_response(response) + } + } +} + +///

          Immediately makes a channel and its memberships inaccessible and marks them for +/// deletion. This is an irreversible process.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteChannel { + _private: (), +} +impl DeleteChannel { + /// Creates a new builder-style object to manufacture [`DeleteChannelInput`](crate::input::DeleteChannelInput) + pub fn builder() -> crate::input::delete_channel_input::Builder { + crate::input::delete_channel_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteChannel { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_channel_error(response) + } else { + crate::operation_deser::parse_delete_channel_response(response) + } + } +} + +///

          Removes a user from a channel's ban list.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteChannelBan { + _private: (), +} +impl DeleteChannelBan { + /// Creates a new builder-style object to manufacture [`DeleteChannelBanInput`](crate::input::DeleteChannelBanInput) + pub fn builder() -> crate::input::delete_channel_ban_input::Builder { + crate::input::delete_channel_ban_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteChannelBan { + type Output = std::result::Result< + crate::output::DeleteChannelBanOutput, + crate::error::DeleteChannelBanError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_channel_ban_error(response) + } else { + crate::operation_deser::parse_delete_channel_ban_response(response) + } + } +} + +///

          Removes a member from a channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteChannelMembership { + _private: (), +} +impl DeleteChannelMembership { + /// Creates a new builder-style object to manufacture [`DeleteChannelMembershipInput`](crate::input::DeleteChannelMembershipInput) + pub fn builder() -> crate::input::delete_channel_membership_input::Builder { + crate::input::delete_channel_membership_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteChannelMembership { + type Output = std::result::Result< + crate::output::DeleteChannelMembershipOutput, + crate::error::DeleteChannelMembershipError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_channel_membership_error(response) + } else { + crate::operation_deser::parse_delete_channel_membership_response(response) + } + } +} + +///

          Deletes a channel message. Only admins can perform this action. Deletion makes messages +/// inaccessible immediately. A background process deletes any revisions created by +/// UpdateChannelMessage.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteChannelMessage { + _private: (), +} +impl DeleteChannelMessage { + /// Creates a new builder-style object to manufacture [`DeleteChannelMessageInput`](crate::input::DeleteChannelMessageInput) + pub fn builder() -> crate::input::delete_channel_message_input::Builder { + crate::input::delete_channel_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteChannelMessage { + type Output = std::result::Result< + crate::output::DeleteChannelMessageOutput, + crate::error::DeleteChannelMessageError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_channel_message_error(response) + } else { + crate::operation_deser::parse_delete_channel_message_response(response) + } + } +} + +///

          Deletes a channel moderator.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteChannelModerator { + _private: (), +} +impl DeleteChannelModerator { + /// Creates a new builder-style object to manufacture [`DeleteChannelModeratorInput`](crate::input::DeleteChannelModeratorInput) + pub fn builder() -> crate::input::delete_channel_moderator_input::Builder { + crate::input::delete_channel_moderator_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteChannelModerator { + type Output = std::result::Result< + crate::output::DeleteChannelModeratorOutput, + crate::error::DeleteChannelModeratorError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 204 { + crate::operation_deser::parse_delete_channel_moderator_error(response) + } else { + crate::operation_deser::parse_delete_channel_moderator_response(response) + } + } +} + +///

          Returns the full details of a channel in an Amazon Chime +/// AppInstance.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannel { + _private: (), +} +impl DescribeChannel { + /// Creates a new builder-style object to manufacture [`DescribeChannelInput`](crate::input::DescribeChannelInput) + pub fn builder() -> crate::input::describe_channel_input::Builder { + crate::input::describe_channel_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannel { + type Output = std::result::Result< + crate::output::DescribeChannelOutput, + crate::error::DescribeChannelError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_error(response) + } else { + crate::operation_deser::parse_describe_channel_response(response) + } + } +} + +///

          Returns the full details of a channel ban.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannelBan { + _private: (), +} +impl DescribeChannelBan { + /// Creates a new builder-style object to manufacture [`DescribeChannelBanInput`](crate::input::DescribeChannelBanInput) + pub fn builder() -> crate::input::describe_channel_ban_input::Builder { + crate::input::describe_channel_ban_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannelBan { + type Output = std::result::Result< + crate::output::DescribeChannelBanOutput, + crate::error::DescribeChannelBanError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_ban_error(response) + } else { + crate::operation_deser::parse_describe_channel_ban_response(response) + } + } +} + +///

          Returns the full details of a user's channel membership.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannelMembership { + _private: (), +} +impl DescribeChannelMembership { + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipInput`](crate::input::DescribeChannelMembershipInput) + pub fn builder() -> crate::input::describe_channel_membership_input::Builder { + crate::input::describe_channel_membership_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannelMembership { + type Output = std::result::Result< + crate::output::DescribeChannelMembershipOutput, + crate::error::DescribeChannelMembershipError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_membership_error(response) + } else { + crate::operation_deser::parse_describe_channel_membership_response(response) + } + } +} + +///

          Returns the details of a channel based on the membership of the specified +/// AppInstanceUser.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannelMembershipForAppInstanceUser { + _private: (), +} +impl DescribeChannelMembershipForAppInstanceUser { + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipForAppInstanceUserInput`](crate::input::DescribeChannelMembershipForAppInstanceUserInput) + pub fn builder( + ) -> crate::input::describe_channel_membership_for_app_instance_user_input::Builder { + crate::input::describe_channel_membership_for_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannelMembershipForAppInstanceUser { + type Output = std::result::Result< + crate::output::DescribeChannelMembershipForAppInstanceUserOutput, + crate::error::DescribeChannelMembershipForAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_membership_for_app_instance_user_error( + response, + ) + } else { + crate::operation_deser::parse_describe_channel_membership_for_app_instance_user_response( + response, + ) + } + } +} + +///

          Returns the full details of a channel moderated by the specified +/// AppInstanceUser.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannelModeratedByAppInstanceUser { + _private: (), +} +impl DescribeChannelModeratedByAppInstanceUser { + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratedByAppInstanceUserInput`](crate::input::DescribeChannelModeratedByAppInstanceUserInput) + pub fn builder() -> crate::input::describe_channel_moderated_by_app_instance_user_input::Builder + { + crate::input::describe_channel_moderated_by_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannelModeratedByAppInstanceUser { + type Output = std::result::Result< + crate::output::DescribeChannelModeratedByAppInstanceUserOutput, + crate::error::DescribeChannelModeratedByAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_moderated_by_app_instance_user_error( + response, + ) + } else { + crate::operation_deser::parse_describe_channel_moderated_by_app_instance_user_response( + response, + ) + } + } +} + +///

          Returns the full details of a single ChannelModerator.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeChannelModerator { + _private: (), +} +impl DescribeChannelModerator { + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratorInput`](crate::input::DescribeChannelModeratorInput) + pub fn builder() -> crate::input::describe_channel_moderator_input::Builder { + crate::input::describe_channel_moderator_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeChannelModerator { + type Output = std::result::Result< + crate::output::DescribeChannelModeratorOutput, + crate::error::DescribeChannelModeratorError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_channel_moderator_error(response) + } else { + crate::operation_deser::parse_describe_channel_moderator_response(response) + } + } +} + +///

          Gets the full details of a channel message.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetChannelMessage { + _private: (), +} +impl GetChannelMessage { + /// Creates a new builder-style object to manufacture [`GetChannelMessageInput`](crate::input::GetChannelMessageInput) + pub fn builder() -> crate::input::get_channel_message_input::Builder { + crate::input::get_channel_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetChannelMessage { + type Output = std::result::Result< + crate::output::GetChannelMessageOutput, + crate::error::GetChannelMessageError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_channel_message_error(response) + } else { + crate::operation_deser::parse_get_channel_message_response(response) + } + } +} + +///

          The details of the endpoint for the messaging session.

          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetMessagingSessionEndpoint { + _private: (), +} +impl GetMessagingSessionEndpoint { + /// Creates a new builder-style object to manufacture [`GetMessagingSessionEndpointInput`](crate::input::GetMessagingSessionEndpointInput) + pub fn builder() -> crate::input::get_messaging_session_endpoint_input::Builder { + crate::input::get_messaging_session_endpoint_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetMessagingSessionEndpoint { + type Output = std::result::Result< + crate::output::GetMessagingSessionEndpointOutput, + crate::error::GetMessagingSessionEndpointError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_messaging_session_endpoint_error(response) + } else { + crate::operation_deser::parse_get_messaging_session_endpoint_response(response) + } + } +} + +///

          Lists all the users banned from a particular channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelBans { + _private: (), +} +impl ListChannelBans { + /// Creates a new builder-style object to manufacture [`ListChannelBansInput`](crate::input::ListChannelBansInput) + pub fn builder() -> crate::input::list_channel_bans_input::Builder { + crate::input::list_channel_bans_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelBans { + type Output = std::result::Result< + crate::output::ListChannelBansOutput, + crate::error::ListChannelBansError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channel_bans_error(response) + } else { + crate::operation_deser::parse_list_channel_bans_response(response) + } + } +} + +///

          Lists all channel memberships in a channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelMemberships { + _private: (), +} +impl ListChannelMemberships { + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsInput`](crate::input::ListChannelMembershipsInput) + pub fn builder() -> crate::input::list_channel_memberships_input::Builder { + crate::input::list_channel_memberships_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelMemberships { + type Output = std::result::Result< + crate::output::ListChannelMembershipsOutput, + crate::error::ListChannelMembershipsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channel_memberships_error(response) + } else { + crate::operation_deser::parse_list_channel_memberships_response(response) + } + } +} + +///

          Lists all channels that a particular AppInstanceUser is a part of. Only an +/// AppInstanceAdmin can call the API with a user ARN that is not their own.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelMembershipsForAppInstanceUser { + _private: (), +} +impl ListChannelMembershipsForAppInstanceUser { + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsForAppInstanceUserInput`](crate::input::ListChannelMembershipsForAppInstanceUserInput) + pub fn builder() -> crate::input::list_channel_memberships_for_app_instance_user_input::Builder + { + crate::input::list_channel_memberships_for_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelMembershipsForAppInstanceUser { + type Output = std::result::Result< + crate::output::ListChannelMembershipsForAppInstanceUserOutput, + crate::error::ListChannelMembershipsForAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channel_memberships_for_app_instance_user_error( + response, + ) + } else { + crate::operation_deser::parse_list_channel_memberships_for_app_instance_user_response( + response, + ) + } + } +} + +///

          List all the messages in a channel. Returns a paginated list of +/// ChannelMessages. By default, sorted by creation timestamp in descending +/// order.

          +/// +///

          Redacted messages appear in the results as empty, since they are only redacted, not +/// deleted. Deleted messages do not appear in the results. This action always returns the +/// latest version of an edited message.

          +///

          Also, the x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelMessages { + _private: (), +} +impl ListChannelMessages { + /// Creates a new builder-style object to manufacture [`ListChannelMessagesInput`](crate::input::ListChannelMessagesInput) + pub fn builder() -> crate::input::list_channel_messages_input::Builder { + crate::input::list_channel_messages_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelMessages { + type Output = std::result::Result< + crate::output::ListChannelMessagesOutput, + crate::error::ListChannelMessagesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channel_messages_error(response) + } else { + crate::operation_deser::parse_list_channel_messages_response(response) + } + } +} + +///

          Lists all the moderators for a channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelModerators { + _private: (), +} +impl ListChannelModerators { + /// Creates a new builder-style object to manufacture [`ListChannelModeratorsInput`](crate::input::ListChannelModeratorsInput) + pub fn builder() -> crate::input::list_channel_moderators_input::Builder { + crate::input::list_channel_moderators_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelModerators { + type Output = std::result::Result< + crate::output::ListChannelModeratorsOutput, + crate::error::ListChannelModeratorsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channel_moderators_error(response) + } else { + crate::operation_deser::parse_list_channel_moderators_response(response) + } + } +} + +///

          Lists all Channels created under a single Chime App as a paginated list. You can specify +/// filters to narrow results.

          +///

          +/// Functionality & restrictions +///

          +///
            +///
          • +///

            Use privacy = PUBLIC to retrieve all public channels in the +/// account.

            +///
          • +///
          • +///

            Only an AppInstanceAdmin can set privacy = PRIVATE to +/// list the private channels in an account.

            +///
          • +///
          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannels { + _private: (), +} +impl ListChannels { + /// Creates a new builder-style object to manufacture [`ListChannelsInput`](crate::input::ListChannelsInput) + pub fn builder() -> crate::input::list_channels_input::Builder { + crate::input::list_channels_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannels { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channels_error(response) + } else { + crate::operation_deser::parse_list_channels_response(response) + } + } +} + +///

          A list of the channels moderated by an AppInstanceUser.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListChannelsModeratedByAppInstanceUser { + _private: (), +} +impl ListChannelsModeratedByAppInstanceUser { + /// Creates a new builder-style object to manufacture [`ListChannelsModeratedByAppInstanceUserInput`](crate::input::ListChannelsModeratedByAppInstanceUserInput) + pub fn builder() -> crate::input::list_channels_moderated_by_app_instance_user_input::Builder { + crate::input::list_channels_moderated_by_app_instance_user_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListChannelsModeratedByAppInstanceUser { + type Output = std::result::Result< + crate::output::ListChannelsModeratedByAppInstanceUserOutput, + crate::error::ListChannelsModeratedByAppInstanceUserError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_channels_moderated_by_app_instance_user_error( + response, + ) + } else { + crate::operation_deser::parse_list_channels_moderated_by_app_instance_user_response( + response, + ) + } + } +} + +///

          Redacts message content, but not metadata. The message exists in the back end, but the +/// action returns null content, and the state shows as redacted.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct RedactChannelMessage { + _private: (), +} +impl RedactChannelMessage { + /// Creates a new builder-style object to manufacture [`RedactChannelMessageInput`](crate::input::RedactChannelMessageInput) + pub fn builder() -> crate::input::redact_channel_message_input::Builder { + crate::input::redact_channel_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for RedactChannelMessage { + type Output = std::result::Result< + crate::output::RedactChannelMessageOutput, + crate::error::RedactChannelMessageError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_redact_channel_message_error(response) + } else { + crate::operation_deser::parse_redact_channel_message_response(response) + } + } +} + +///

          Sends a message to a particular channel that the member is a part of.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///

          Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. +/// CONTROL messages can contain 30 bytes of data and no metadata.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct SendChannelMessage { + _private: (), +} +impl SendChannelMessage { + /// Creates a new builder-style object to manufacture [`SendChannelMessageInput`](crate::input::SendChannelMessageInput) + pub fn builder() -> crate::input::send_channel_message_input::Builder { + crate::input::send_channel_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for SendChannelMessage { + type Output = std::result::Result< + crate::output::SendChannelMessageOutput, + crate::error::SendChannelMessageError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 201 { + crate::operation_deser::parse_send_channel_message_error(response) + } else { + crate::operation_deser::parse_send_channel_message_response(response) + } + } +} + +///

          Update a channel's attributes.

          +///

          +/// Restriction: You can't change a channel's privacy.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateChannel { + _private: (), +} +impl UpdateChannel { + /// Creates a new builder-style object to manufacture [`UpdateChannelInput`](crate::input::UpdateChannelInput) + pub fn builder() -> crate::input::update_channel_input::Builder { + crate::input::update_channel_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateChannel { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_channel_error(response) + } else { + crate::operation_deser::parse_update_channel_response(response) + } + } +} + +///

          Updates the content of a message.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateChannelMessage { + _private: (), +} +impl UpdateChannelMessage { + /// Creates a new builder-style object to manufacture [`UpdateChannelMessageInput`](crate::input::UpdateChannelMessageInput) + pub fn builder() -> crate::input::update_channel_message_input::Builder { + crate::input::update_channel_message_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateChannelMessage { + type Output = std::result::Result< + crate::output::UpdateChannelMessageOutput, + crate::error::UpdateChannelMessageError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_channel_message_error(response) + } else { + crate::operation_deser::parse_update_channel_message_response(response) + } + } +} + +///

          The details of the time when a user last read messages in a channel.

          +/// +///

          The x-amz-chime-bearer request header is mandatory. Use the +/// AppInstanceUserArn of the user that makes the API call as the value in +/// the header.

          +///
          +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateChannelReadMarker { + _private: (), +} +impl UpdateChannelReadMarker { + /// Creates a new builder-style object to manufacture [`UpdateChannelReadMarkerInput`](crate::input::UpdateChannelReadMarkerInput) + pub fn builder() -> crate::input::update_channel_read_marker_input::Builder { + crate::input::update_channel_read_marker_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateChannelReadMarker { + type Output = std::result::Result< + crate::output::UpdateChannelReadMarkerOutput, + crate::error::UpdateChannelReadMarkerError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_channel_read_marker_error(response) + } else { + crate::operation_deser::parse_update_channel_read_marker_response(response) + } + } +} diff --git a/sdk/chimesdkmessaging/src/operation_deser.rs b/sdk/chimesdkmessaging/src/operation_deser.rs new file mode 100644 index 000000000000..9733a41f21c7 --- /dev/null +++ b/sdk/chimesdkmessaging/src/operation_deser.rs @@ -0,0 +1,5080 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn parse_batch_create_channel_membership_error( + response: &http::Response, +) -> std::result::Result< + crate::output::BatchCreateChannelMembershipOutput, + crate::error::BatchCreateChannelMembershipError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::BatchCreateChannelMembershipError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + "ThrottledClientException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => crate::error::BatchCreateChannelMembershipError { + meta: generic, + kind: crate::error::BatchCreateChannelMembershipErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + _ => crate::error::BatchCreateChannelMembershipError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_batch_create_channel_membership_response( + response: &http::Response, +) -> std::result::Result< + crate::output::BatchCreateChannelMembershipOutput, + crate::error::BatchCreateChannelMembershipError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::batch_create_channel_membership_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_batch_create_channel_membership( + response.body().as_ref(), + output, + ) + .map_err(crate::error::BatchCreateChannelMembershipError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateChannelError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateChannelError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateChannelError { + meta: generic, + kind: crate::error::CreateChannelErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateChannelError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_channel_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_create_channel(response.body().as_ref(), output) + .map_err(crate::error::CreateChannelError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_ban_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateChannelBanError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateChannelBanError { + meta: generic, + kind: crate::error::CreateChannelBanErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateChannelBanError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_ban_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_channel_ban_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_create_channel_ban(response.body().as_ref(), output) + .map_err(crate::error::CreateChannelBanError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_membership_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateChannelMembershipOutput, + crate::error::CreateChannelMembershipError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateChannelMembershipError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateChannelMembershipError { + meta: generic, + kind: crate::error::CreateChannelMembershipErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::CreateChannelMembershipError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_membership_response( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateChannelMembershipOutput, + crate::error::CreateChannelMembershipError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_channel_membership_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_channel_membership( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelMembershipError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_moderator_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateChannelModeratorOutput, + crate::error::CreateChannelModeratorError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateChannelModeratorError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceLimitExceededException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ResourceLimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_limit_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::CreateChannelModeratorError { + meta: generic, + kind: crate::error::CreateChannelModeratorErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::CreateChannelModeratorError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_channel_moderator_response( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateChannelModeratorOutput, + crate::error::CreateChannelModeratorError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_channel_moderator_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_channel_moderator( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateChannelModeratorError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteChannelError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteChannelError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteChannelError { + meta: generic, + kind: crate::error::DeleteChannelErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteChannelError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_channel_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_ban_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteChannelBanError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteChannelBanError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteChannelBanError { + meta: generic, + kind: crate::error::DeleteChannelBanErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteChannelBanError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_ban_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_channel_ban_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_membership_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelMembershipOutput, + crate::error::DeleteChannelMembershipError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteChannelMembershipError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteChannelMembershipError { + meta: generic, + kind: crate::error::DeleteChannelMembershipErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::DeleteChannelMembershipError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_membership_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelMembershipOutput, + crate::error::DeleteChannelMembershipError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_channel_membership_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_message_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelMessageOutput, + crate::error::DeleteChannelMessageError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteChannelMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DeleteChannelMessageError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteChannelMessageError { + meta: generic, + kind: crate::error::DeleteChannelMessageErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteChannelMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_message_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelMessageOutput, + crate::error::DeleteChannelMessageError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_channel_message_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_moderator_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelModeratorOutput, + crate::error::DeleteChannelModeratorError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteChannelModeratorError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DeleteChannelModeratorError { + meta: generic, + kind: crate::error::DeleteChannelModeratorErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DeleteChannelModeratorError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_channel_moderator_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteChannelModeratorOutput, + crate::error::DeleteChannelModeratorError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_channel_moderator_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeChannelError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeChannelError { + meta: generic, + kind: crate::error::DescribeChannelErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DescribeChannelError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_channel_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_describe_channel(response.body().as_ref(), output) + .map_err(crate::error::DescribeChannelError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_ban_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelBanOutput, + crate::error::DescribeChannelBanError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeChannelBanError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeChannelBanError { + meta: generic, + kind: crate::error::DescribeChannelBanErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::DescribeChannelBanError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_ban_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelBanOutput, + crate::error::DescribeChannelBanError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_channel_ban_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_channel_ban( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelBanError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_membership_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelMembershipOutput, + crate::error::DescribeChannelMembershipError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeChannelMembershipError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeChannelMembershipError { + meta: generic, + kind: crate::error::DescribeChannelMembershipErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::DescribeChannelMembershipError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_membership_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelMembershipOutput, + crate::error::DescribeChannelMembershipError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_channel_membership_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_channel_membership( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_membership_for_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelMembershipForAppInstanceUserOutput, + crate::error::DescribeChannelMembershipForAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ForbiddenException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceFailureException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceUnavailableException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ThrottledClientException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "UnauthorizedClientException" => crate::error::DescribeChannelMembershipForAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelMembershipForAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::DescribeChannelMembershipForAppInstanceUserError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_membership_for_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelMembershipForAppInstanceUserOutput, + crate::error::DescribeChannelMembershipForAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)]let mut output = crate::output::describe_channel_membership_for_app_instance_user_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_describe_channel_membership_for_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelMembershipForAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_moderated_by_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelModeratedByAppInstanceUserOutput, + crate::error::DescribeChannelModeratedByAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ForbiddenException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceFailureException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceUnavailableException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ThrottledClientException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "UnauthorizedClientException" => crate::error::DescribeChannelModeratedByAppInstanceUserError { meta: generic, kind: crate::error::DescribeChannelModeratedByAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::DescribeChannelModeratedByAppInstanceUserError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_moderated_by_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelModeratedByAppInstanceUserOutput, + crate::error::DescribeChannelModeratedByAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::describe_channel_moderated_by_app_instance_user_output::Builder::default( + ); + let _ = response; + output = + crate::json_deser::deser_operation_describe_channel_moderated_by_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratedByAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_moderator_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelModeratorOutput, + crate::error::DescribeChannelModeratorError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeChannelModeratorError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::DescribeChannelModeratorError { + meta: generic, + kind: crate::error::DescribeChannelModeratorErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::DescribeChannelModeratorError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_channel_moderator_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeChannelModeratorOutput, + crate::error::DescribeChannelModeratorError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_channel_moderator_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_channel_moderator( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeChannelModeratorError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_channel_message_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::GetChannelMessageError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::GetChannelMessageError { + meta: generic, + kind: crate::error::GetChannelMessageErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::GetChannelMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_channel_message_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::get_channel_message_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_get_channel_message( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetChannelMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_messaging_session_endpoint_error( + response: &http::Response, +) -> std::result::Result< + crate::output::GetMessagingSessionEndpointOutput, + crate::error::GetMessagingSessionEndpointError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::GetMessagingSessionEndpointError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "ForbiddenException" => crate::error::GetMessagingSessionEndpointError { + meta: generic, + kind: crate::error::GetMessagingSessionEndpointErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::GetMessagingSessionEndpointError { + meta: generic, + kind: crate::error::GetMessagingSessionEndpointErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => crate::error::GetMessagingSessionEndpointError { + meta: generic, + kind: crate::error::GetMessagingSessionEndpointErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + "ThrottledClientException" => crate::error::GetMessagingSessionEndpointError { + meta: generic, + kind: crate::error::GetMessagingSessionEndpointErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => crate::error::GetMessagingSessionEndpointError { + meta: generic, + kind: crate::error::GetMessagingSessionEndpointErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, + _ => crate::error::GetMessagingSessionEndpointError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_messaging_session_endpoint_response( + response: &http::Response, +) -> std::result::Result< + crate::output::GetMessagingSessionEndpointOutput, + crate::error::GetMessagingSessionEndpointError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::get_messaging_session_endpoint_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_get_messaging_session_endpoint( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetMessagingSessionEndpointError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_bans_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelBansError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListChannelBansError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListChannelBansError { + meta: generic, + kind: crate::error::ListChannelBansErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListChannelBansError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_bans_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_channel_bans_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_list_channel_bans(response.body().as_ref(), output) + .map_err(crate::error::ListChannelBansError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_memberships_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMembershipsOutput, + crate::error::ListChannelMembershipsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ListChannelMembershipsError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListChannelMembershipsError { + meta: generic, + kind: crate::error::ListChannelMembershipsErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListChannelMembershipsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_memberships_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMembershipsOutput, + crate::error::ListChannelMembershipsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_channel_memberships_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_channel_memberships( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_memberships_for_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMembershipsForAppInstanceUserOutput, + crate::error::ListChannelMembershipsForAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ForbiddenException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceFailureException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceUnavailableException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ThrottledClientException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "UnauthorizedClientException" => crate::error::ListChannelMembershipsForAppInstanceUserError { meta: generic, kind: crate::error::ListChannelMembershipsForAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::ListChannelMembershipsForAppInstanceUserError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_memberships_for_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMembershipsForAppInstanceUserOutput, + crate::error::ListChannelMembershipsForAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::list_channel_memberships_for_app_instance_user_output::Builder::default( + ); + let _ = response; + output = crate::json_deser::deser_operation_list_channel_memberships_for_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMembershipsForAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_messages_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMessagesOutput, + crate::error::ListChannelMessagesError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListChannelMessagesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListChannelMessagesError { + meta: generic, + kind: crate::error::ListChannelMessagesErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListChannelMessagesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_messages_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelMessagesOutput, + crate::error::ListChannelMessagesError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_channel_messages_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_channel_messages( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelMessagesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_moderators_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelModeratorsOutput, + crate::error::ListChannelModeratorsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListChannelModeratorsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListChannelModeratorsError { + meta: generic, + kind: crate::error::ListChannelModeratorsErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListChannelModeratorsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channel_moderators_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelModeratorsOutput, + crate::error::ListChannelModeratorsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_channel_moderators_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_channel_moderators( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelModeratorsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channels_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListChannelsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::ListChannelsError { + meta: generic, + kind: crate::error::ListChannelsErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListChannelsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channels_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_channels_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_channels(response.body().as_ref(), output) + .map_err(crate::error::ListChannelsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channels_moderated_by_app_instance_user_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelsModeratedByAppInstanceUserOutput, + crate::error::ListChannelsModeratedByAppInstanceUserError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::BadRequestException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ForbiddenException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ForbiddenException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceFailureException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ServiceFailureException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceUnavailableException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ThrottledClientException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::ThrottledClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "UnauthorizedClientException" => crate::error::ListChannelsModeratedByAppInstanceUserError { meta: generic, kind: crate::error::ListChannelsModeratedByAppInstanceUserErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::ListChannelsModeratedByAppInstanceUserError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_channels_moderated_by_app_instance_user_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListChannelsModeratedByAppInstanceUserOutput, + crate::error::ListChannelsModeratedByAppInstanceUserError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::list_channels_moderated_by_app_instance_user_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_channels_moderated_by_app_instance_user( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListChannelsModeratedByAppInstanceUserError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_redact_channel_message_error( + response: &http::Response, +) -> std::result::Result< + crate::output::RedactChannelMessageOutput, + crate::error::RedactChannelMessageError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::RedactChannelMessageError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::RedactChannelMessageError { + meta: generic, + kind: crate::error::RedactChannelMessageErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::RedactChannelMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_redact_channel_message_response( + response: &http::Response, +) -> std::result::Result< + crate::output::RedactChannelMessageOutput, + crate::error::RedactChannelMessageError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::redact_channel_message_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_redact_channel_message( + response.body().as_ref(), + output, + ) + .map_err(crate::error::RedactChannelMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_channel_message_error( + response: &http::Response, +) -> std::result::Result< + crate::output::SendChannelMessageOutput, + crate::error::SendChannelMessageError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::SendChannelMessageError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::SendChannelMessageError { + meta: generic, + kind: crate::error::SendChannelMessageErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::SendChannelMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_send_channel_message_response( + response: &http::Response, +) -> std::result::Result< + crate::output::SendChannelMessageOutput, + crate::error::SendChannelMessageError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::send_channel_message_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_send_channel_message( + response.body().as_ref(), + output, + ) + .map_err(crate::error::SendChannelMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateChannelError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateChannelError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::UpdateChannelError { + meta: generic, + kind: crate::error::UpdateChannelErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::UpdateChannelError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_channel_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_update_channel(response.body().as_ref(), output) + .map_err(crate::error::UpdateChannelError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_message_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateChannelMessageOutput, + crate::error::UpdateChannelMessageError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UpdateChannelMessageError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::ServiceUnavailableException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottledClientException" => crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::UpdateChannelMessageError { + meta: generic, + kind: crate::error::UpdateChannelMessageErrorKind::UnauthorizedClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::UpdateChannelMessageError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_message_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateChannelMessageOutput, + crate::error::UpdateChannelMessageError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_channel_message_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_channel_message( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelMessageError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_read_marker_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateChannelReadMarkerOutput, + crate::error::UpdateChannelReadMarkerError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateChannelReadMarkerError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ForbiddenException" => crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::ForbiddenException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::forbidden_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_forbidden_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceFailureException" => crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::ServiceFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailableException" => { + crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::ServiceUnavailableException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_unavailable_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailable_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottledClientException" => crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::ThrottledClientException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttled_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttled_client_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "UnauthorizedClientException" => { + crate::error::UpdateChannelReadMarkerError { + meta: generic, + kind: crate::error::UpdateChannelReadMarkerErrorKind::UnauthorizedClientException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::unauthorized_client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unauthorized_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::UpdateChannelReadMarkerError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_channel_read_marker_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateChannelReadMarkerOutput, + crate::error::UpdateChannelReadMarkerError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_channel_read_marker_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_channel_read_marker( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateChannelReadMarkerError::unhandled)?; + output.build() + }) +} diff --git a/sdk/chimesdkmessaging/src/operation_ser.rs b/sdk/chimesdkmessaging/src/operation_ser.rs new file mode 100644 index 000000000000..bc1ca2e4862d --- /dev/null +++ b/sdk/chimesdkmessaging/src/operation_ser.rs @@ -0,0 +1,80 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_batch_create_channel_membership( + input: &crate::input::BatchCreateChannelMembershipInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_batch_create_channel_membership_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_channel( + input: &crate::input::CreateChannelInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_channel_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_channel_ban( + input: &crate::input::CreateChannelBanInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_channel_ban_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_channel_membership( + input: &crate::input::CreateChannelMembershipInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_channel_membership_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_create_channel_moderator( + input: &crate::input::CreateChannelModeratorInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_channel_moderator_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_send_channel_message( + input: &crate::input::SendChannelMessageInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_send_channel_message_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_channel( + input: &crate::input::UpdateChannelInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_channel_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_update_channel_message( + input: &crate::input::UpdateChannelMessageInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_channel_message_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} diff --git a/sdk/chimesdkmessaging/src/output.rs b/sdk/chimesdkmessaging/src/output.rs new file mode 100644 index 000000000000..67574f148ba2 --- /dev/null +++ b/sdk/chimesdkmessaging/src/output.rs @@ -0,0 +1,1672 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelReadMarkerOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelReadMarkerOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelReadMarkerOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.finish() + } +} +/// See [`UpdateChannelReadMarkerOutput`](crate::output::UpdateChannelReadMarkerOutput) +pub mod update_channel_read_marker_output { + /// A builder for [`UpdateChannelReadMarkerOutput`](crate::output::UpdateChannelReadMarkerOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelReadMarkerOutput`](crate::output::UpdateChannelReadMarkerOutput) + pub fn build(self) -> crate::output::UpdateChannelReadMarkerOutput { + crate::output::UpdateChannelReadMarkerOutput { + channel_arn: self.channel_arn, + } + } + } +} +impl UpdateChannelReadMarkerOutput { + /// Creates a new builder-style object to manufacture [`UpdateChannelReadMarkerOutput`](crate::output::UpdateChannelReadMarkerOutput) + pub fn builder() -> crate::output::update_channel_read_marker_output::Builder { + crate::output::update_channel_read_marker_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelMessageOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID string of the message being updated.

          + pub message_id: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelMessageOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.finish() + } +} +/// See [`UpdateChannelMessageOutput`](crate::output::UpdateChannelMessageOutput) +pub mod update_channel_message_output { + /// A builder for [`UpdateChannelMessageOutput`](crate::output::UpdateChannelMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID string of the message being updated.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelMessageOutput`](crate::output::UpdateChannelMessageOutput) + pub fn build(self) -> crate::output::UpdateChannelMessageOutput { + crate::output::UpdateChannelMessageOutput { + channel_arn: self.channel_arn, + message_id: self.message_id, + } + } + } +} +impl UpdateChannelMessageOutput { + /// Creates a new builder-style object to manufacture [`UpdateChannelMessageOutput`](crate::output::UpdateChannelMessageOutput) + pub fn builder() -> crate::output::update_channel_message_output::Builder { + crate::output::update_channel_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateChannelOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, +} +impl std::fmt::Debug for UpdateChannelOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateChannelOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.finish() + } +} +/// See [`UpdateChannelOutput`](crate::output::UpdateChannelOutput) +pub mod update_channel_output { + /// A builder for [`UpdateChannelOutput`](crate::output::UpdateChannelOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + /// Consumes the builder and constructs a [`UpdateChannelOutput`](crate::output::UpdateChannelOutput) + pub fn build(self) -> crate::output::UpdateChannelOutput { + crate::output::UpdateChannelOutput { + channel_arn: self.channel_arn, + } + } + } +} +impl UpdateChannelOutput { + /// Creates a new builder-style object to manufacture [`UpdateChannelOutput`](crate::output::UpdateChannelOutput) + pub fn builder() -> crate::output::update_channel_output::Builder { + crate::output::update_channel_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SendChannelMessageOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ID string assigned to each message.

          + pub message_id: std::option::Option, +} +impl std::fmt::Debug for SendChannelMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SendChannelMessageOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.finish() + } +} +/// See [`SendChannelMessageOutput`](crate::output::SendChannelMessageOutput) +pub mod send_channel_message_output { + /// A builder for [`SendChannelMessageOutput`](crate::output::SendChannelMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID string assigned to each message.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + /// Consumes the builder and constructs a [`SendChannelMessageOutput`](crate::output::SendChannelMessageOutput) + pub fn build(self) -> crate::output::SendChannelMessageOutput { + crate::output::SendChannelMessageOutput { + channel_arn: self.channel_arn, + message_id: self.message_id, + } + } + } +} +impl SendChannelMessageOutput { + /// Creates a new builder-style object to manufacture [`SendChannelMessageOutput`](crate::output::SendChannelMessageOutput) + pub fn builder() -> crate::output::send_channel_message_output::Builder { + crate::output::send_channel_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RedactChannelMessageOutput { + ///

          The ARN of the channel containing the messages that you want to redact.

          + pub channel_arn: std::option::Option, + ///

          The ID of the message being redacted.

          + pub message_id: std::option::Option, +} +impl std::fmt::Debug for RedactChannelMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RedactChannelMessageOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("message_id", &self.message_id); + formatter.finish() + } +} +/// See [`RedactChannelMessageOutput`](crate::output::RedactChannelMessageOutput) +pub mod redact_channel_message_output { + /// A builder for [`RedactChannelMessageOutput`](crate::output::RedactChannelMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) message_id: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel containing the messages that you want to redact.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ID of the message being redacted.

          + pub fn message_id(mut self, input: impl Into) -> Self { + self.message_id = Some(input.into()); + self + } + pub fn set_message_id(mut self, input: std::option::Option) -> Self { + self.message_id = input; + self + } + /// Consumes the builder and constructs a [`RedactChannelMessageOutput`](crate::output::RedactChannelMessageOutput) + pub fn build(self) -> crate::output::RedactChannelMessageOutput { + crate::output::RedactChannelMessageOutput { + channel_arn: self.channel_arn, + message_id: self.message_id, + } + } + } +} +impl RedactChannelMessageOutput { + /// Creates a new builder-style object to manufacture [`RedactChannelMessageOutput`](crate::output::RedactChannelMessageOutput) + pub fn builder() -> crate::output::redact_channel_message_output::Builder { + crate::output::redact_channel_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelsModeratedByAppInstanceUserOutput { + ///

          The moderated channels in the request.

          + pub channels: + std::option::Option>, + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListChannelsModeratedByAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelsModeratedByAppInstanceUserOutput"); + formatter.field("channels", &self.channels); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListChannelsModeratedByAppInstanceUserOutput`](crate::output::ListChannelsModeratedByAppInstanceUserOutput) +pub mod list_channels_moderated_by_app_instance_user_output { + /// A builder for [`ListChannelsModeratedByAppInstanceUserOutput`](crate::output::ListChannelsModeratedByAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channels: std::option::Option< + std::vec::Vec, + >, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn channels( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channels.unwrap_or_default(); + v.push(input.into()); + self.channels = Some(v); + self + } + pub fn set_channels( + mut self, + input: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.channels = input; + self + } + ///

          The token returned from previous API requests until the number of channels moderated by + /// the user is reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListChannelsModeratedByAppInstanceUserOutput`](crate::output::ListChannelsModeratedByAppInstanceUserOutput) + pub fn build(self) -> crate::output::ListChannelsModeratedByAppInstanceUserOutput { + crate::output::ListChannelsModeratedByAppInstanceUserOutput { + channels: self.channels, + next_token: self.next_token, + } + } + } +} +impl ListChannelsModeratedByAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`ListChannelsModeratedByAppInstanceUserOutput`](crate::output::ListChannelsModeratedByAppInstanceUserOutput) + pub fn builder() -> crate::output::list_channels_moderated_by_app_instance_user_output::Builder + { + crate::output::list_channels_moderated_by_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelsOutput { + ///

          The information about each channel.

          + pub channels: std::option::Option>, + ///

          The token returned from previous API requests until the number of channels is + /// reached.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListChannelsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelsOutput"); + formatter.field("channels", &self.channels); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListChannelsOutput`](crate::output::ListChannelsOutput) +pub mod list_channels_output { + /// A builder for [`ListChannelsOutput`](crate::output::ListChannelsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channels: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn channels(mut self, input: impl Into) -> Self { + let mut v = self.channels.unwrap_or_default(); + v.push(input.into()); + self.channels = Some(v); + self + } + pub fn set_channels( + mut self, + input: std::option::Option>, + ) -> Self { + self.channels = input; + self + } + ///

          The token returned from previous API requests until the number of channels is + /// reached.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListChannelsOutput`](crate::output::ListChannelsOutput) + pub fn build(self) -> crate::output::ListChannelsOutput { + crate::output::ListChannelsOutput { + channels: self.channels, + next_token: self.next_token, + } + } + } +} +impl ListChannelsOutput { + /// Creates a new builder-style object to manufacture [`ListChannelsOutput`](crate::output::ListChannelsOutput) + pub fn builder() -> crate::output::list_channels_output::Builder { + crate::output::list_channels_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelModeratorsOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          + pub next_token: std::option::Option, + ///

          The information about and names of each moderator.

          + pub channel_moderators: + std::option::Option>, +} +impl std::fmt::Debug for ListChannelModeratorsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelModeratorsOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("channel_moderators", &self.channel_moderators); + formatter.finish() + } +} +/// See [`ListChannelModeratorsOutput`](crate::output::ListChannelModeratorsOutput) +pub mod list_channel_moderators_output { + /// A builder for [`ListChannelModeratorsOutput`](crate::output::ListChannelModeratorsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) channel_moderators: + std::option::Option>, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The token passed by previous API calls until all requested moderators are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn channel_moderators( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_moderators.unwrap_or_default(); + v.push(input.into()); + self.channel_moderators = Some(v); + self + } + pub fn set_channel_moderators( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_moderators = input; + self + } + /// Consumes the builder and constructs a [`ListChannelModeratorsOutput`](crate::output::ListChannelModeratorsOutput) + pub fn build(self) -> crate::output::ListChannelModeratorsOutput { + crate::output::ListChannelModeratorsOutput { + channel_arn: self.channel_arn, + next_token: self.next_token, + channel_moderators: self.channel_moderators, + } + } + } +} +impl ListChannelModeratorsOutput { + /// Creates a new builder-style object to manufacture [`ListChannelModeratorsOutput`](crate::output::ListChannelModeratorsOutput) + pub fn builder() -> crate::output::list_channel_moderators_output::Builder { + crate::output::list_channel_moderators_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMessagesOutput { + ///

          The ARN of the channel containing the requested messages.

          + pub channel_arn: std::option::Option, + ///

          The token passed by previous API calls until all requested messages are returned.

          + pub next_token: std::option::Option, + ///

          The information about, and content of, each requested message.

          + pub channel_messages: std::option::Option>, +} +impl std::fmt::Debug for ListChannelMessagesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMessagesOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("channel_messages", &self.channel_messages); + formatter.finish() + } +} +/// See [`ListChannelMessagesOutput`](crate::output::ListChannelMessagesOutput) +pub mod list_channel_messages_output { + /// A builder for [`ListChannelMessagesOutput`](crate::output::ListChannelMessagesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) channel_messages: + std::option::Option>, + } + impl Builder { + ///

          The ARN of the channel containing the requested messages.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The token passed by previous API calls until all requested messages are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn channel_messages( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_messages.unwrap_or_default(); + v.push(input.into()); + self.channel_messages = Some(v); + self + } + pub fn set_channel_messages( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_messages = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMessagesOutput`](crate::output::ListChannelMessagesOutput) + pub fn build(self) -> crate::output::ListChannelMessagesOutput { + crate::output::ListChannelMessagesOutput { + channel_arn: self.channel_arn, + next_token: self.next_token, + channel_messages: self.channel_messages, + } + } + } +} +impl ListChannelMessagesOutput { + /// Creates a new builder-style object to manufacture [`ListChannelMessagesOutput`](crate::output::ListChannelMessagesOutput) + pub fn builder() -> crate::output::list_channel_messages_output::Builder { + crate::output::list_channel_messages_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMembershipsForAppInstanceUserOutput { + ///

          The token passed by previous API calls until all requested users are returned.

          + pub channel_memberships: std::option::Option< + std::vec::Vec, + >, + ///

          The token passed by previous API calls until all requested users are returned.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListChannelMembershipsForAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMembershipsForAppInstanceUserOutput"); + formatter.field("channel_memberships", &self.channel_memberships); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListChannelMembershipsForAppInstanceUserOutput`](crate::output::ListChannelMembershipsForAppInstanceUserOutput) +pub mod list_channel_memberships_for_app_instance_user_output { + /// A builder for [`ListChannelMembershipsForAppInstanceUserOutput`](crate::output::ListChannelMembershipsForAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_memberships: std::option::Option< + std::vec::Vec, + >, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn channel_memberships( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_memberships.unwrap_or_default(); + v.push(input.into()); + self.channel_memberships = Some(v); + self + } + pub fn set_channel_memberships( + mut self, + input: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.channel_memberships = input; + self + } + ///

          The token passed by previous API calls until all requested users are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMembershipsForAppInstanceUserOutput`](crate::output::ListChannelMembershipsForAppInstanceUserOutput) + pub fn build(self) -> crate::output::ListChannelMembershipsForAppInstanceUserOutput { + crate::output::ListChannelMembershipsForAppInstanceUserOutput { + channel_memberships: self.channel_memberships, + next_token: self.next_token, + } + } + } +} +impl ListChannelMembershipsForAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsForAppInstanceUserOutput`](crate::output::ListChannelMembershipsForAppInstanceUserOutput) + pub fn builder() -> crate::output::list_channel_memberships_for_app_instance_user_output::Builder + { + crate::output::list_channel_memberships_for_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelMembershipsOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The information for the requested channel memberships.

          + pub channel_memberships: + std::option::Option>, + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListChannelMembershipsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelMembershipsOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("channel_memberships", &self.channel_memberships); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.finish() + } +} +/// See [`ListChannelMembershipsOutput`](crate::output::ListChannelMembershipsOutput) +pub mod list_channel_memberships_output { + /// A builder for [`ListChannelMembershipsOutput`](crate::output::ListChannelMembershipsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) channel_memberships: + std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + pub fn channel_memberships( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_memberships.unwrap_or_default(); + v.push(input.into()); + self.channel_memberships = Some(v); + self + } + pub fn set_channel_memberships( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_memberships = input; + self + } + ///

          The token passed by previous API calls until all requested channel memberships are + /// returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListChannelMembershipsOutput`](crate::output::ListChannelMembershipsOutput) + pub fn build(self) -> crate::output::ListChannelMembershipsOutput { + crate::output::ListChannelMembershipsOutput { + channel_arn: self.channel_arn, + channel_memberships: self.channel_memberships, + next_token: self.next_token, + } + } + } +} +impl ListChannelMembershipsOutput { + /// Creates a new builder-style object to manufacture [`ListChannelMembershipsOutput`](crate::output::ListChannelMembershipsOutput) + pub fn builder() -> crate::output::list_channel_memberships_output::Builder { + crate::output::list_channel_memberships_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListChannelBansOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The token passed by previous API calls until all requested bans are returned.

          + pub next_token: std::option::Option, + ///

          The information for each requested ban.

          + pub channel_bans: std::option::Option>, +} +impl std::fmt::Debug for ListChannelBansOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListChannelBansOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("next_token", &"*** Sensitive Data Redacted ***"); + formatter.field("channel_bans", &self.channel_bans); + formatter.finish() + } +} +/// See [`ListChannelBansOutput`](crate::output::ListChannelBansOutput) +pub mod list_channel_bans_output { + /// A builder for [`ListChannelBansOutput`](crate::output::ListChannelBansOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) channel_bans: + std::option::Option>, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The token passed by previous API calls until all requested bans are returned.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn channel_bans(mut self, input: impl Into) -> Self { + let mut v = self.channel_bans.unwrap_or_default(); + v.push(input.into()); + self.channel_bans = Some(v); + self + } + pub fn set_channel_bans( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_bans = input; + self + } + /// Consumes the builder and constructs a [`ListChannelBansOutput`](crate::output::ListChannelBansOutput) + pub fn build(self) -> crate::output::ListChannelBansOutput { + crate::output::ListChannelBansOutput { + channel_arn: self.channel_arn, + next_token: self.next_token, + channel_bans: self.channel_bans, + } + } + } +} +impl ListChannelBansOutput { + /// Creates a new builder-style object to manufacture [`ListChannelBansOutput`](crate::output::ListChannelBansOutput) + pub fn builder() -> crate::output::list_channel_bans_output::Builder { + crate::output::list_channel_bans_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetMessagingSessionEndpointOutput { + ///

          The endpoint returned in the response.

          + pub endpoint: std::option::Option, +} +impl std::fmt::Debug for GetMessagingSessionEndpointOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetMessagingSessionEndpointOutput"); + formatter.field("endpoint", &self.endpoint); + formatter.finish() + } +} +/// See [`GetMessagingSessionEndpointOutput`](crate::output::GetMessagingSessionEndpointOutput) +pub mod get_messaging_session_endpoint_output { + /// A builder for [`GetMessagingSessionEndpointOutput`](crate::output::GetMessagingSessionEndpointOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) endpoint: std::option::Option, + } + impl Builder { + ///

          The endpoint returned in the response.

          + pub fn endpoint(mut self, input: crate::model::MessagingSessionEndpoint) -> Self { + self.endpoint = Some(input); + self + } + pub fn set_endpoint( + mut self, + input: std::option::Option, + ) -> Self { + self.endpoint = input; + self + } + /// Consumes the builder and constructs a [`GetMessagingSessionEndpointOutput`](crate::output::GetMessagingSessionEndpointOutput) + pub fn build(self) -> crate::output::GetMessagingSessionEndpointOutput { + crate::output::GetMessagingSessionEndpointOutput { + endpoint: self.endpoint, + } + } + } +} +impl GetMessagingSessionEndpointOutput { + /// Creates a new builder-style object to manufacture [`GetMessagingSessionEndpointOutput`](crate::output::GetMessagingSessionEndpointOutput) + pub fn builder() -> crate::output::get_messaging_session_endpoint_output::Builder { + crate::output::get_messaging_session_endpoint_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetChannelMessageOutput { + ///

          The details of and content in the message.

          + pub channel_message: std::option::Option, +} +impl std::fmt::Debug for GetChannelMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetChannelMessageOutput"); + formatter.field("channel_message", &self.channel_message); + formatter.finish() + } +} +/// See [`GetChannelMessageOutput`](crate::output::GetChannelMessageOutput) +pub mod get_channel_message_output { + /// A builder for [`GetChannelMessageOutput`](crate::output::GetChannelMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_message: std::option::Option, + } + impl Builder { + ///

          The details of and content in the message.

          + pub fn channel_message(mut self, input: crate::model::ChannelMessage) -> Self { + self.channel_message = Some(input); + self + } + pub fn set_channel_message( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_message = input; + self + } + /// Consumes the builder and constructs a [`GetChannelMessageOutput`](crate::output::GetChannelMessageOutput) + pub fn build(self) -> crate::output::GetChannelMessageOutput { + crate::output::GetChannelMessageOutput { + channel_message: self.channel_message, + } + } + } +} +impl GetChannelMessageOutput { + /// Creates a new builder-style object to manufacture [`GetChannelMessageOutput`](crate::output::GetChannelMessageOutput) + pub fn builder() -> crate::output::get_channel_message_output::Builder { + crate::output::get_channel_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelModeratorOutput { + ///

          The details of the channel moderator.

          + pub channel_moderator: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelModeratorOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelModeratorOutput"); + formatter.field("channel_moderator", &self.channel_moderator); + formatter.finish() + } +} +/// See [`DescribeChannelModeratorOutput`](crate::output::DescribeChannelModeratorOutput) +pub mod describe_channel_moderator_output { + /// A builder for [`DescribeChannelModeratorOutput`](crate::output::DescribeChannelModeratorOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_moderator: std::option::Option, + } + impl Builder { + ///

          The details of the channel moderator.

          + pub fn channel_moderator(mut self, input: crate::model::ChannelModerator) -> Self { + self.channel_moderator = Some(input); + self + } + pub fn set_channel_moderator( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_moderator = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelModeratorOutput`](crate::output::DescribeChannelModeratorOutput) + pub fn build(self) -> crate::output::DescribeChannelModeratorOutput { + crate::output::DescribeChannelModeratorOutput { + channel_moderator: self.channel_moderator, + } + } + } +} +impl DescribeChannelModeratorOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratorOutput`](crate::output::DescribeChannelModeratorOutput) + pub fn builder() -> crate::output::describe_channel_moderator_output::Builder { + crate::output::describe_channel_moderator_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelModeratedByAppInstanceUserOutput { + ///

          The moderated channel.

          + pub channel: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelModeratedByAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelModeratedByAppInstanceUserOutput"); + formatter.field("channel", &self.channel); + formatter.finish() + } +} +/// See [`DescribeChannelModeratedByAppInstanceUserOutput`](crate::output::DescribeChannelModeratedByAppInstanceUserOutput) +pub mod describe_channel_moderated_by_app_instance_user_output { + /// A builder for [`DescribeChannelModeratedByAppInstanceUserOutput`](crate::output::DescribeChannelModeratedByAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel: + std::option::Option, + } + impl Builder { + ///

          The moderated channel.

          + pub fn channel( + mut self, + input: crate::model::ChannelModeratedByAppInstanceUserSummary, + ) -> Self { + self.channel = Some(input); + self + } + pub fn set_channel( + mut self, + input: std::option::Option, + ) -> Self { + self.channel = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelModeratedByAppInstanceUserOutput`](crate::output::DescribeChannelModeratedByAppInstanceUserOutput) + pub fn build(self) -> crate::output::DescribeChannelModeratedByAppInstanceUserOutput { + crate::output::DescribeChannelModeratedByAppInstanceUserOutput { + channel: self.channel, + } + } + } +} +impl DescribeChannelModeratedByAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelModeratedByAppInstanceUserOutput`](crate::output::DescribeChannelModeratedByAppInstanceUserOutput) + pub fn builder( + ) -> crate::output::describe_channel_moderated_by_app_instance_user_output::Builder { + crate::output::describe_channel_moderated_by_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelMembershipForAppInstanceUserOutput { + ///

          The channel to which a user belongs.

          + pub channel_membership: + std::option::Option, +} +impl std::fmt::Debug for DescribeChannelMembershipForAppInstanceUserOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelMembershipForAppInstanceUserOutput"); + formatter.field("channel_membership", &self.channel_membership); + formatter.finish() + } +} +/// See [`DescribeChannelMembershipForAppInstanceUserOutput`](crate::output::DescribeChannelMembershipForAppInstanceUserOutput) +pub mod describe_channel_membership_for_app_instance_user_output { + /// A builder for [`DescribeChannelMembershipForAppInstanceUserOutput`](crate::output::DescribeChannelMembershipForAppInstanceUserOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_membership: + std::option::Option, + } + impl Builder { + ///

          The channel to which a user belongs.

          + pub fn channel_membership( + mut self, + input: crate::model::ChannelMembershipForAppInstanceUserSummary, + ) -> Self { + self.channel_membership = Some(input); + self + } + pub fn set_channel_membership( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_membership = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelMembershipForAppInstanceUserOutput`](crate::output::DescribeChannelMembershipForAppInstanceUserOutput) + pub fn build(self) -> crate::output::DescribeChannelMembershipForAppInstanceUserOutput { + crate::output::DescribeChannelMembershipForAppInstanceUserOutput { + channel_membership: self.channel_membership, + } + } + } +} +impl DescribeChannelMembershipForAppInstanceUserOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipForAppInstanceUserOutput`](crate::output::DescribeChannelMembershipForAppInstanceUserOutput) + pub fn builder( + ) -> crate::output::describe_channel_membership_for_app_instance_user_output::Builder { + crate::output::describe_channel_membership_for_app_instance_user_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelMembershipOutput { + ///

          The details of the membership.

          + pub channel_membership: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelMembershipOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelMembershipOutput"); + formatter.field("channel_membership", &self.channel_membership); + formatter.finish() + } +} +/// See [`DescribeChannelMembershipOutput`](crate::output::DescribeChannelMembershipOutput) +pub mod describe_channel_membership_output { + /// A builder for [`DescribeChannelMembershipOutput`](crate::output::DescribeChannelMembershipOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_membership: std::option::Option, + } + impl Builder { + ///

          The details of the membership.

          + pub fn channel_membership(mut self, input: crate::model::ChannelMembership) -> Self { + self.channel_membership = Some(input); + self + } + pub fn set_channel_membership( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_membership = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelMembershipOutput`](crate::output::DescribeChannelMembershipOutput) + pub fn build(self) -> crate::output::DescribeChannelMembershipOutput { + crate::output::DescribeChannelMembershipOutput { + channel_membership: self.channel_membership, + } + } + } +} +impl DescribeChannelMembershipOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelMembershipOutput`](crate::output::DescribeChannelMembershipOutput) + pub fn builder() -> crate::output::describe_channel_membership_output::Builder { + crate::output::describe_channel_membership_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelBanOutput { + ///

          The details of the ban.

          + pub channel_ban: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelBanOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelBanOutput"); + formatter.field("channel_ban", &self.channel_ban); + formatter.finish() + } +} +/// See [`DescribeChannelBanOutput`](crate::output::DescribeChannelBanOutput) +pub mod describe_channel_ban_output { + /// A builder for [`DescribeChannelBanOutput`](crate::output::DescribeChannelBanOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_ban: std::option::Option, + } + impl Builder { + ///

          The details of the ban.

          + pub fn channel_ban(mut self, input: crate::model::ChannelBan) -> Self { + self.channel_ban = Some(input); + self + } + pub fn set_channel_ban( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_ban = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelBanOutput`](crate::output::DescribeChannelBanOutput) + pub fn build(self) -> crate::output::DescribeChannelBanOutput { + crate::output::DescribeChannelBanOutput { + channel_ban: self.channel_ban, + } + } + } +} +impl DescribeChannelBanOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelBanOutput`](crate::output::DescribeChannelBanOutput) + pub fn builder() -> crate::output::describe_channel_ban_output::Builder { + crate::output::describe_channel_ban_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeChannelOutput { + ///

          The channel details.

          + pub channel: std::option::Option, +} +impl std::fmt::Debug for DescribeChannelOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeChannelOutput"); + formatter.field("channel", &self.channel); + formatter.finish() + } +} +/// See [`DescribeChannelOutput`](crate::output::DescribeChannelOutput) +pub mod describe_channel_output { + /// A builder for [`DescribeChannelOutput`](crate::output::DescribeChannelOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel: std::option::Option, + } + impl Builder { + ///

          The channel details.

          + pub fn channel(mut self, input: crate::model::Channel) -> Self { + self.channel = Some(input); + self + } + pub fn set_channel(mut self, input: std::option::Option) -> Self { + self.channel = input; + self + } + /// Consumes the builder and constructs a [`DescribeChannelOutput`](crate::output::DescribeChannelOutput) + pub fn build(self) -> crate::output::DescribeChannelOutput { + crate::output::DescribeChannelOutput { + channel: self.channel, + } + } + } +} +impl DescribeChannelOutput { + /// Creates a new builder-style object to manufacture [`DescribeChannelOutput`](crate::output::DescribeChannelOutput) + pub fn builder() -> crate::output::describe_channel_output::Builder { + crate::output::describe_channel_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelModeratorOutput {} +impl std::fmt::Debug for DeleteChannelModeratorOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelModeratorOutput"); + formatter.finish() + } +} +/// See [`DeleteChannelModeratorOutput`](crate::output::DeleteChannelModeratorOutput) +pub mod delete_channel_moderator_output { + /// A builder for [`DeleteChannelModeratorOutput`](crate::output::DeleteChannelModeratorOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteChannelModeratorOutput`](crate::output::DeleteChannelModeratorOutput) + pub fn build(self) -> crate::output::DeleteChannelModeratorOutput { + crate::output::DeleteChannelModeratorOutput {} + } + } +} +impl DeleteChannelModeratorOutput { + /// Creates a new builder-style object to manufacture [`DeleteChannelModeratorOutput`](crate::output::DeleteChannelModeratorOutput) + pub fn builder() -> crate::output::delete_channel_moderator_output::Builder { + crate::output::delete_channel_moderator_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelMessageOutput {} +impl std::fmt::Debug for DeleteChannelMessageOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelMessageOutput"); + formatter.finish() + } +} +/// See [`DeleteChannelMessageOutput`](crate::output::DeleteChannelMessageOutput) +pub mod delete_channel_message_output { + /// A builder for [`DeleteChannelMessageOutput`](crate::output::DeleteChannelMessageOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteChannelMessageOutput`](crate::output::DeleteChannelMessageOutput) + pub fn build(self) -> crate::output::DeleteChannelMessageOutput { + crate::output::DeleteChannelMessageOutput {} + } + } +} +impl DeleteChannelMessageOutput { + /// Creates a new builder-style object to manufacture [`DeleteChannelMessageOutput`](crate::output::DeleteChannelMessageOutput) + pub fn builder() -> crate::output::delete_channel_message_output::Builder { + crate::output::delete_channel_message_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelMembershipOutput {} +impl std::fmt::Debug for DeleteChannelMembershipOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelMembershipOutput"); + formatter.finish() + } +} +/// See [`DeleteChannelMembershipOutput`](crate::output::DeleteChannelMembershipOutput) +pub mod delete_channel_membership_output { + /// A builder for [`DeleteChannelMembershipOutput`](crate::output::DeleteChannelMembershipOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteChannelMembershipOutput`](crate::output::DeleteChannelMembershipOutput) + pub fn build(self) -> crate::output::DeleteChannelMembershipOutput { + crate::output::DeleteChannelMembershipOutput {} + } + } +} +impl DeleteChannelMembershipOutput { + /// Creates a new builder-style object to manufacture [`DeleteChannelMembershipOutput`](crate::output::DeleteChannelMembershipOutput) + pub fn builder() -> crate::output::delete_channel_membership_output::Builder { + crate::output::delete_channel_membership_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelBanOutput {} +impl std::fmt::Debug for DeleteChannelBanOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelBanOutput"); + formatter.finish() + } +} +/// See [`DeleteChannelBanOutput`](crate::output::DeleteChannelBanOutput) +pub mod delete_channel_ban_output { + /// A builder for [`DeleteChannelBanOutput`](crate::output::DeleteChannelBanOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteChannelBanOutput`](crate::output::DeleteChannelBanOutput) + pub fn build(self) -> crate::output::DeleteChannelBanOutput { + crate::output::DeleteChannelBanOutput {} + } + } +} +impl DeleteChannelBanOutput { + /// Creates a new builder-style object to manufacture [`DeleteChannelBanOutput`](crate::output::DeleteChannelBanOutput) + pub fn builder() -> crate::output::delete_channel_ban_output::Builder { + crate::output::delete_channel_ban_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteChannelOutput {} +impl std::fmt::Debug for DeleteChannelOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteChannelOutput"); + formatter.finish() + } +} +/// See [`DeleteChannelOutput`](crate::output::DeleteChannelOutput) +pub mod delete_channel_output { + /// A builder for [`DeleteChannelOutput`](crate::output::DeleteChannelOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteChannelOutput`](crate::output::DeleteChannelOutput) + pub fn build(self) -> crate::output::DeleteChannelOutput { + crate::output::DeleteChannelOutput {} + } + } +} +impl DeleteChannelOutput { + /// Creates a new builder-style object to manufacture [`DeleteChannelOutput`](crate::output::DeleteChannelOutput) + pub fn builder() -> crate::output::delete_channel_output::Builder { + crate::output::delete_channel_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelModeratorOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARNs of the channel and the moderator.

          + pub channel_moderator: std::option::Option, +} +impl std::fmt::Debug for CreateChannelModeratorOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelModeratorOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("channel_moderator", &self.channel_moderator); + formatter.finish() + } +} +/// See [`CreateChannelModeratorOutput`](crate::output::CreateChannelModeratorOutput) +pub mod create_channel_moderator_output { + /// A builder for [`CreateChannelModeratorOutput`](crate::output::CreateChannelModeratorOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) channel_moderator: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARNs of the channel and the moderator.

          + pub fn channel_moderator(mut self, input: crate::model::Identity) -> Self { + self.channel_moderator = Some(input); + self + } + pub fn set_channel_moderator( + mut self, + input: std::option::Option, + ) -> Self { + self.channel_moderator = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelModeratorOutput`](crate::output::CreateChannelModeratorOutput) + pub fn build(self) -> crate::output::CreateChannelModeratorOutput { + crate::output::CreateChannelModeratorOutput { + channel_arn: self.channel_arn, + channel_moderator: self.channel_moderator, + } + } + } +} +impl CreateChannelModeratorOutput { + /// Creates a new builder-style object to manufacture [`CreateChannelModeratorOutput`](crate::output::CreateChannelModeratorOutput) + pub fn builder() -> crate::output::create_channel_moderator_output::Builder { + crate::output::create_channel_moderator_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelMembershipOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, + ///

          The ARN and metadata of the member being added.

          + pub member: std::option::Option, +} +impl std::fmt::Debug for CreateChannelMembershipOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelMembershipOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member", &self.member); + formatter.finish() + } +} +/// See [`CreateChannelMembershipOutput`](crate::output::CreateChannelMembershipOutput) +pub mod create_channel_membership_output { + /// A builder for [`CreateChannelMembershipOutput`](crate::output::CreateChannelMembershipOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ARN and metadata of the member being added.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelMembershipOutput`](crate::output::CreateChannelMembershipOutput) + pub fn build(self) -> crate::output::CreateChannelMembershipOutput { + crate::output::CreateChannelMembershipOutput { + channel_arn: self.channel_arn, + member: self.member, + } + } + } +} +impl CreateChannelMembershipOutput { + /// Creates a new builder-style object to manufacture [`CreateChannelMembershipOutput`](crate::output::CreateChannelMembershipOutput) + pub fn builder() -> crate::output::create_channel_membership_output::Builder { + crate::output::create_channel_membership_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelBanOutput { + ///

          The ARN of the response to the ban request.

          + pub channel_arn: std::option::Option, + ///

          The ChannelArn and BannedIdentity of the member in the ban + /// response.

          + pub member: std::option::Option, +} +impl std::fmt::Debug for CreateChannelBanOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelBanOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.field("member", &self.member); + formatter.finish() + } +} +/// See [`CreateChannelBanOutput`](crate::output::CreateChannelBanOutput) +pub mod create_channel_ban_output { + /// A builder for [`CreateChannelBanOutput`](crate::output::CreateChannelBanOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + pub(crate) member: std::option::Option, + } + impl Builder { + ///

          The ARN of the response to the ban request.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + ///

          The ChannelArn and BannedIdentity of the member in the ban + /// response.

          + pub fn member(mut self, input: crate::model::Identity) -> Self { + self.member = Some(input); + self + } + pub fn set_member(mut self, input: std::option::Option) -> Self { + self.member = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelBanOutput`](crate::output::CreateChannelBanOutput) + pub fn build(self) -> crate::output::CreateChannelBanOutput { + crate::output::CreateChannelBanOutput { + channel_arn: self.channel_arn, + member: self.member, + } + } + } +} +impl CreateChannelBanOutput { + /// Creates a new builder-style object to manufacture [`CreateChannelBanOutput`](crate::output::CreateChannelBanOutput) + pub fn builder() -> crate::output::create_channel_ban_output::Builder { + crate::output::create_channel_ban_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateChannelOutput { + ///

          The ARN of the channel.

          + pub channel_arn: std::option::Option, +} +impl std::fmt::Debug for CreateChannelOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateChannelOutput"); + formatter.field("channel_arn", &self.channel_arn); + formatter.finish() + } +} +/// See [`CreateChannelOutput`](crate::output::CreateChannelOutput) +pub mod create_channel_output { + /// A builder for [`CreateChannelOutput`](crate::output::CreateChannelOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_arn: std::option::Option, + } + impl Builder { + ///

          The ARN of the channel.

          + pub fn channel_arn(mut self, input: impl Into) -> Self { + self.channel_arn = Some(input.into()); + self + } + pub fn set_channel_arn(mut self, input: std::option::Option) -> Self { + self.channel_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateChannelOutput`](crate::output::CreateChannelOutput) + pub fn build(self) -> crate::output::CreateChannelOutput { + crate::output::CreateChannelOutput { + channel_arn: self.channel_arn, + } + } + } +} +impl CreateChannelOutput { + /// Creates a new builder-style object to manufacture [`CreateChannelOutput`](crate::output::CreateChannelOutput) + pub fn builder() -> crate::output::create_channel_output::Builder { + crate::output::create_channel_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BatchCreateChannelMembershipOutput { + ///

          The list of channel memberships in the response.

          + pub batch_channel_memberships: std::option::Option, + ///

          If the action fails for one or more of the memberships in the request, a list of the + /// memberships is returned, along with error codes and error messages.

          + pub errors: std::option::Option>, +} +impl std::fmt::Debug for BatchCreateChannelMembershipOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BatchCreateChannelMembershipOutput"); + formatter.field("batch_channel_memberships", &self.batch_channel_memberships); + formatter.field("errors", &self.errors); + formatter.finish() + } +} +/// See [`BatchCreateChannelMembershipOutput`](crate::output::BatchCreateChannelMembershipOutput) +pub mod batch_create_channel_membership_output { + /// A builder for [`BatchCreateChannelMembershipOutput`](crate::output::BatchCreateChannelMembershipOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) batch_channel_memberships: + std::option::Option, + pub(crate) errors: + std::option::Option>, + } + impl Builder { + ///

          The list of channel memberships in the response.

          + pub fn batch_channel_memberships( + mut self, + input: crate::model::BatchChannelMemberships, + ) -> Self { + self.batch_channel_memberships = Some(input); + self + } + pub fn set_batch_channel_memberships( + mut self, + input: std::option::Option, + ) -> Self { + self.batch_channel_memberships = input; + self + } + pub fn errors( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.errors.unwrap_or_default(); + v.push(input.into()); + self.errors = Some(v); + self + } + pub fn set_errors( + mut self, + input: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.errors = input; + self + } + /// Consumes the builder and constructs a [`BatchCreateChannelMembershipOutput`](crate::output::BatchCreateChannelMembershipOutput) + pub fn build(self) -> crate::output::BatchCreateChannelMembershipOutput { + crate::output::BatchCreateChannelMembershipOutput { + batch_channel_memberships: self.batch_channel_memberships, + errors: self.errors, + } + } + } +} +impl BatchCreateChannelMembershipOutput { + /// Creates a new builder-style object to manufacture [`BatchCreateChannelMembershipOutput`](crate::output::BatchCreateChannelMembershipOutput) + pub fn builder() -> crate::output::batch_create_channel_membership_output::Builder { + crate::output::batch_create_channel_membership_output::Builder::default() + } +} diff --git a/sdk/cloud9/Cargo.toml b/sdk/cloud9/Cargo.toml index 6124b2768212..4360e5f5bd0c 100644 --- a/sdk/cloud9/Cargo.toml +++ b/sdk/cloud9/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloud9" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Cloud9\n

          Cloud9 is a collection of tools that you can use to code, build, run, test, debug, and\n release software in the cloud.

          \n

          For more information about Cloud9, see the Cloud9 User Guide.

          \n

          Cloud9 supports these operations:

          \n
            \n
          • \n

            \n CreateEnvironmentEC2: Creates an Cloud9 development environment, launches\n an Amazon EC2 instance, and then connects from the instance to the environment.

            \n
          • \n
          • \n

            \n CreateEnvironmentMembership: Adds an environment member to an\n environment.

            \n
          • \n
          • \n

            \n DeleteEnvironment: Deletes an environment. If an Amazon EC2 instance is\n connected to the environment, also terminates the instance.

            \n
          • \n
          • \n

            \n DeleteEnvironmentMembership: Deletes an environment member from an\n environment.

            \n
          • \n
          • \n

            \n DescribeEnvironmentMemberships: Gets information about environment\n members for an environment.

            \n
          • \n
          • \n

            \n DescribeEnvironments: Gets information about environments.

            \n
          • \n
          • \n

            \n DescribeEnvironmentStatus: Gets status information for an\n environment.

            \n
          • \n
          • \n

            \n ListEnvironments: Gets a list of environment identifiers.

            \n
          • \n
          • \n

            \n ListTagsForResource: Gets the tags for an environment.

            \n
          • \n
          • \n

            \n TagResource: Adds tags to an environment.

            \n
          • \n
          • \n

            \n UntagResource: Removes tags from an environment.

            \n
          • \n
          • \n

            \n UpdateEnvironment: Changes the settings of an existing\n environment.

            \n
          • \n
          • \n

            \n UpdateEnvironmentMembership: Changes the settings of an existing\n environment member for an environment.

            \n
          • \n
          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloud9/src/client.rs b/sdk/cloud9/src/client.rs index 3cf265701e1a..09b051c9e8c3 100644 --- a/sdk/cloud9/src/client.rs +++ b/sdk/cloud9/src/client.rs @@ -276,6 +276,15 @@ pub mod fluent_builders { self.inner = self.inner.set_connection_type(input); self } + ///

          Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

          + pub fn dry_run(mut self, input: bool) -> Self { + self.inner = self.inner.dry_run(input); + self + } + pub fn set_dry_run(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_dry_run(input); + self + } } #[derive(std::fmt::Debug)] pub struct CreateEnvironmentMembership { @@ -910,6 +919,38 @@ pub mod fluent_builders { self.inner = self.inner.set_description(input); self } + ///

          Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary + /// credentials for an Cloud9 environment by using one of the following values:

          + ///
            + ///
          • + ///

            + /// ENABLE + ///

            + ///
          • + ///
          • + ///

            + /// DISABLE + ///

            + ///
          • + ///
          + /// + ///

          Only the environment owner can change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on or turn off managed temporary credentials is made by an account that's not the environment + /// owner.

          + ///
          + pub fn managed_credentials_action( + mut self, + input: crate::model::ManagedCredentialsAction, + ) -> Self { + self.inner = self.inner.managed_credentials_action(input); + self + } + pub fn set_managed_credentials_action( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_managed_credentials_action(input); + self + } } #[derive(std::fmt::Debug)] pub struct UpdateEnvironmentMembership { diff --git a/sdk/cloud9/src/input.rs b/sdk/cloud9/src/input.rs index 2e208056ef12..d8f476e97922 100644 --- a/sdk/cloud9/src/input.rs +++ b/sdk/cloud9/src/input.rs @@ -16,6 +16,7 @@ pub mod create_environment_ec2_input { pub(crate) owner_arn: std::option::Option, pub(crate) tags: std::option::Option>, pub(crate) connection_type: std::option::Option, + pub(crate) dry_run: std::option::Option, } impl Builder { ///

          The name of the environment to create.

          @@ -181,6 +182,15 @@ pub mod create_environment_ec2_input { self.connection_type = input; self } + ///

          Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

          + pub fn dry_run(mut self, input: bool) -> Self { + self.dry_run = Some(input); + self + } + pub fn set_dry_run(mut self, input: std::option::Option) -> Self { + self.dry_run = input; + self + } /// Consumes the builder and constructs a [`CreateEnvironmentEc2Input`](crate::input::CreateEnvironmentEc2Input) pub fn build( self, @@ -199,6 +209,7 @@ pub mod create_environment_ec2_input { owner_arn: self.owner_arn, tags: self.tags, connection_type: self.connection_type, + dry_run: self.dry_run, }) } } @@ -1881,6 +1892,8 @@ pub mod update_environment_input { pub(crate) environment_id: std::option::Option, pub(crate) name: std::option::Option, pub(crate) description: std::option::Option, + pub(crate) managed_credentials_action: + std::option::Option, } impl Builder { ///

          The ID of the environment to change settings.

          @@ -1913,6 +1926,38 @@ pub mod update_environment_input { self.description = input; self } + ///

          Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary + /// credentials for an Cloud9 environment by using one of the following values:

          + ///
            + ///
          • + ///

            + /// ENABLE + ///

            + ///
          • + ///
          • + ///

            + /// DISABLE + ///

            + ///
          • + ///
          + /// + ///

          Only the environment owner can change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on or turn off managed temporary credentials is made by an account that's not the environment + /// owner.

          + ///
          + pub fn managed_credentials_action( + mut self, + input: crate::model::ManagedCredentialsAction, + ) -> Self { + self.managed_credentials_action = Some(input); + self + } + pub fn set_managed_credentials_action( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_credentials_action = input; + self + } /// Consumes the builder and constructs a [`UpdateEnvironmentInput`](crate::input::UpdateEnvironmentInput) pub fn build( self, @@ -1924,6 +1969,7 @@ pub mod update_environment_input { environment_id: self.environment_id, name: self.name, description: self.description, + managed_credentials_action: self.managed_credentials_action, }) } } @@ -2260,6 +2306,25 @@ pub struct UpdateEnvironmentInput { pub name: std::option::Option, ///

          Any new or replacement description for the environment.

          pub description: std::option::Option, + ///

          Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary + /// credentials for an Cloud9 environment by using one of the following values:

          + ///
            + ///
          • + ///

            + /// ENABLE + ///

            + ///
          • + ///
          • + ///

            + /// DISABLE + ///

            + ///
          • + ///
          + /// + ///

          Only the environment owner can change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on or turn off managed temporary credentials is made by an account that's not the environment + /// owner.

          + ///
          + pub managed_credentials_action: std::option::Option, } impl std::fmt::Debug for UpdateEnvironmentInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -2267,6 +2332,10 @@ impl std::fmt::Debug for UpdateEnvironmentInput { formatter.field("environment_id", &self.environment_id); formatter.field("name", &self.name); formatter.field("description", &"*** Sensitive Data Redacted ***"); + formatter.field( + "managed_credentials_action", + &self.managed_credentials_action, + ); formatter.finish() } } @@ -2567,6 +2636,8 @@ pub struct CreateEnvironmentEc2Input { ///

          For more information, see Accessing no-ingress EC2 instances with /// Amazon EC2 Systems Manager in the Cloud9 User Guide.

          pub connection_type: std::option::Option, + ///

          Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

          + pub dry_run: std::option::Option, } impl std::fmt::Debug for CreateEnvironmentEc2Input { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -2584,6 +2655,7 @@ impl std::fmt::Debug for CreateEnvironmentEc2Input { formatter.field("owner_arn", &self.owner_arn); formatter.field("tags", &"*** Sensitive Data Redacted ***"); formatter.field("connection_type", &self.connection_type); + formatter.field("dry_run", &self.dry_run); formatter.finish() } } diff --git a/sdk/cloud9/src/json_ser.rs b/sdk/cloud9/src/json_ser.rs index 3ac27cd65c84..a32e6ada62d7 100644 --- a/sdk/cloud9/src/json_ser.rs +++ b/sdk/cloud9/src/json_ser.rs @@ -44,20 +44,23 @@ pub fn serialize_structure_create_environment_ec2_input( if let Some(var_13) = &input.connection_type { object.key("connectionType").string(var_13.as_str()); } + if let Some(var_14) = &input.dry_run { + object.key("dryRun").boolean(*var_14); + } } pub fn serialize_structure_create_environment_membership_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateEnvironmentMembershipInput, ) { - if let Some(var_14) = &input.environment_id { - object.key("environmentId").string(var_14); + if let Some(var_15) = &input.environment_id { + object.key("environmentId").string(var_15); } - if let Some(var_15) = &input.user_arn { - object.key("userArn").string(var_15); + if let Some(var_16) = &input.user_arn { + object.key("userArn").string(var_16); } - if let Some(var_16) = &input.permissions { - object.key("permissions").string(var_16.as_str()); + if let Some(var_17) = &input.permissions { + object.key("permissions").string(var_17.as_str()); } } @@ -65,8 +68,8 @@ pub fn serialize_structure_delete_environment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteEnvironmentInput, ) { - if let Some(var_17) = &input.environment_id { - object.key("environmentId").string(var_17); + if let Some(var_18) = &input.environment_id { + object.key("environmentId").string(var_18); } } @@ -74,11 +77,11 @@ pub fn serialize_structure_delete_environment_membership_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteEnvironmentMembershipInput, ) { - if let Some(var_18) = &input.environment_id { - object.key("environmentId").string(var_18); + if let Some(var_19) = &input.environment_id { + object.key("environmentId").string(var_19); } - if let Some(var_19) = &input.user_arn { - object.key("userArn").string(var_19); + if let Some(var_20) = &input.user_arn { + object.key("userArn").string(var_20); } } @@ -86,28 +89,28 @@ pub fn serialize_structure_describe_environment_memberships_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEnvironmentMembershipsInput, ) { - if let Some(var_20) = &input.user_arn { - object.key("userArn").string(var_20); + if let Some(var_21) = &input.user_arn { + object.key("userArn").string(var_21); } - if let Some(var_21) = &input.environment_id { - object.key("environmentId").string(var_21); + if let Some(var_22) = &input.environment_id { + object.key("environmentId").string(var_22); } - if let Some(var_22) = &input.permissions { - let mut array_23 = object.key("permissions").start_array(); - for item_24 in var_22 { + if let Some(var_23) = &input.permissions { + let mut array_24 = object.key("permissions").start_array(); + for item_25 in var_23 { { - array_23.value().string(item_24.as_str()); + array_24.value().string(item_25.as_str()); } } - array_23.finish(); + array_24.finish(); } - if let Some(var_25) = &input.next_token { - object.key("nextToken").string(var_25); + if let Some(var_26) = &input.next_token { + object.key("nextToken").string(var_26); } - if let Some(var_26) = &input.max_results { + if let Some(var_27) = &input.max_results { object.key("maxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_26).into()), + smithy_types::Number::NegInt((*var_27).into()), ); } } @@ -116,14 +119,14 @@ pub fn serialize_structure_describe_environments_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEnvironmentsInput, ) { - if let Some(var_27) = &input.environment_ids { - let mut array_28 = object.key("environmentIds").start_array(); - for item_29 in var_27 { + if let Some(var_28) = &input.environment_ids { + let mut array_29 = object.key("environmentIds").start_array(); + for item_30 in var_28 { { - array_28.value().string(item_29); + array_29.value().string(item_30); } } - array_28.finish(); + array_29.finish(); } } @@ -131,8 +134,8 @@ pub fn serialize_structure_describe_environment_status_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEnvironmentStatusInput, ) { - if let Some(var_30) = &input.environment_id { - object.key("environmentId").string(var_30); + if let Some(var_31) = &input.environment_id { + object.key("environmentId").string(var_31); } } @@ -140,13 +143,13 @@ pub fn serialize_structure_list_environments_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListEnvironmentsInput, ) { - if let Some(var_31) = &input.next_token { - object.key("nextToken").string(var_31); + if let Some(var_32) = &input.next_token { + object.key("nextToken").string(var_32); } - if let Some(var_32) = &input.max_results { + if let Some(var_33) = &input.max_results { object.key("maxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_32).into()), + smithy_types::Number::NegInt((*var_33).into()), ); } } @@ -155,8 +158,8 @@ pub fn serialize_structure_list_tags_for_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTagsForResourceInput, ) { - if let Some(var_33) = &input.resource_arn { - object.key("ResourceARN").string(var_33); + if let Some(var_34) = &input.resource_arn { + object.key("ResourceARN").string(var_34); } } @@ -164,19 +167,19 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_34) = &input.resource_arn { - object.key("ResourceARN").string(var_34); + if let Some(var_35) = &input.resource_arn { + object.key("ResourceARN").string(var_35); } - if let Some(var_35) = &input.tags { - let mut array_36 = object.key("Tags").start_array(); - for item_37 in var_35 { + if let Some(var_36) = &input.tags { + let mut array_37 = object.key("Tags").start_array(); + for item_38 in var_36 { { - let mut object_38 = array_36.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_38, item_37); - object_38.finish(); + let mut object_39 = array_37.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_39, item_38); + object_39.finish(); } } - array_36.finish(); + array_37.finish(); } } @@ -184,17 +187,17 @@ pub fn serialize_structure_untag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UntagResourceInput, ) { - if let Some(var_39) = &input.resource_arn { - object.key("ResourceARN").string(var_39); + if let Some(var_40) = &input.resource_arn { + object.key("ResourceARN").string(var_40); } - if let Some(var_40) = &input.tag_keys { - let mut array_41 = object.key("TagKeys").start_array(); - for item_42 in var_40 { + if let Some(var_41) = &input.tag_keys { + let mut array_42 = object.key("TagKeys").start_array(); + for item_43 in var_41 { { - array_41.value().string(item_42); + array_42.value().string(item_43); } } - array_41.finish(); + array_42.finish(); } } @@ -202,14 +205,19 @@ pub fn serialize_structure_update_environment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateEnvironmentInput, ) { - if let Some(var_43) = &input.environment_id { - object.key("environmentId").string(var_43); + if let Some(var_44) = &input.environment_id { + object.key("environmentId").string(var_44); + } + if let Some(var_45) = &input.name { + object.key("name").string(var_45); } - if let Some(var_44) = &input.name { - object.key("name").string(var_44); + if let Some(var_46) = &input.description { + object.key("description").string(var_46); } - if let Some(var_45) = &input.description { - object.key("description").string(var_45); + if let Some(var_47) = &input.managed_credentials_action { + object + .key("managedCredentialsAction") + .string(var_47.as_str()); } } @@ -217,14 +225,14 @@ pub fn serialize_structure_update_environment_membership_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateEnvironmentMembershipInput, ) { - if let Some(var_46) = &input.environment_id { - object.key("environmentId").string(var_46); + if let Some(var_48) = &input.environment_id { + object.key("environmentId").string(var_48); } - if let Some(var_47) = &input.user_arn { - object.key("userArn").string(var_47); + if let Some(var_49) = &input.user_arn { + object.key("userArn").string(var_49); } - if let Some(var_48) = &input.permissions { - object.key("permissions").string(var_48.as_str()); + if let Some(var_50) = &input.permissions { + object.key("permissions").string(var_50.as_str()); } } @@ -232,10 +240,10 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_49) = &input.key { - object.key("Key").string(var_49); + if let Some(var_51) = &input.key { + object.key("Key").string(var_51); } - if let Some(var_50) = &input.value { - object.key("Value").string(var_50); + if let Some(var_52) = &input.value { + object.key("Value").string(var_52); } } diff --git a/sdk/cloud9/src/model.rs b/sdk/cloud9/src/model.rs index 852576581efe..9a7a5e1af4ee 100644 --- a/sdk/cloud9/src/model.rs +++ b/sdk/cloud9/src/model.rs @@ -246,6 +246,56 @@ impl AsRef for MemberPermissions { } } +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ManagedCredentialsAction { + Disable, + Enable, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ManagedCredentialsAction { + fn from(s: &str) -> Self { + match s { + "DISABLE" => ManagedCredentialsAction::Disable, + "ENABLE" => ManagedCredentialsAction::Enable, + other => ManagedCredentialsAction::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ManagedCredentialsAction { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ManagedCredentialsAction::from(s)) + } +} +impl ManagedCredentialsAction { + pub fn as_str(&self) -> &str { + match self { + ManagedCredentialsAction::Disable => "DISABLE", + ManagedCredentialsAction::Enable => "ENABLE", + ManagedCredentialsAction::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["DISABLE", "ENABLE"] + } +} +impl AsRef for ManagedCredentialsAction { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

          Metadata that is associated with Amazon Web Services resources. In particular, a name-value pair that /// can be associated with an Cloud9 development environment. There are two types of tags: /// user tags and system tags. A user tag is created diff --git a/sdk/clouddirectory/Cargo.toml b/sdk/clouddirectory/Cargo.toml index 62374f7da9d6..c91a411c73cd 100644 --- a/sdk/clouddirectory/Cargo.toml +++ b/sdk/clouddirectory/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-clouddirectory" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Cloud Directory\n

          Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the\n development and management of cloud-scale web, mobile, and IoT applications. This guide\n describes the Cloud Directory operations that you can call programmatically and includes\n detailed information on data types and errors. For information about Cloud Directory features, see AWS Directory\n Service and the Amazon Cloud Directory Developer Guide.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/clouddirectory/src/error.rs b/sdk/clouddirectory/src/error.rs index dd1042b50039..14d8a285a5aa 100644 --- a/sdk/clouddirectory/src/error.rs +++ b/sdk/clouddirectory/src/error.rs @@ -10106,7 +10106,7 @@ impl IncompatibleSchemaException { } } -///

          Access denied. Check your permissions.

          +///

          Access denied or directory not found. Either you don't have permissions for this directory or the directory does not exist. Try calling ListDirectories and check your permissions.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AccessDeniedException { diff --git a/sdk/clouddirectory/src/model.rs b/sdk/clouddirectory/src/model.rs index 80d8fb5f77e0..2f344d9ef705 100644 --- a/sdk/clouddirectory/src/model.rs +++ b/sdk/clouddirectory/src/model.rs @@ -455,7 +455,7 @@ pub enum TypedAttributeValue { StringValue(std::string::String), } impl TypedAttributeValue { - pub fn as_binary_value(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_binary_value(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let TypedAttributeValue::BinaryValue(val) = &self { Ok(&val) } else { @@ -465,7 +465,7 @@ impl TypedAttributeValue { pub fn is_binary_value(&self) -> bool { self.as_binary_value().is_ok() } - pub fn as_boolean_value(&self) -> Result<&bool, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&bool, &Self> { if let TypedAttributeValue::BooleanValue(val) = &self { Ok(&val) } else { @@ -475,7 +475,7 @@ impl TypedAttributeValue { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_datetime_value(&self) -> Result<&smithy_types::Instant, &Self> { + pub fn as_datetime_value(&self) -> std::result::Result<&smithy_types::Instant, &Self> { if let TypedAttributeValue::DatetimeValue(val) = &self { Ok(&val) } else { @@ -485,7 +485,7 @@ impl TypedAttributeValue { pub fn is_datetime_value(&self) -> bool { self.as_datetime_value().is_ok() } - pub fn as_number_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_number_value(&self) -> std::result::Result<&std::string::String, &Self> { if let TypedAttributeValue::NumberValue(val) = &self { Ok(&val) } else { @@ -495,7 +495,7 @@ impl TypedAttributeValue { pub fn is_number_value(&self) -> bool { self.as_number_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let TypedAttributeValue::StringValue(val) = &self { Ok(&val) } else { @@ -808,7 +808,7 @@ pub struct ObjectReference { ///
          @@ -7201,7 +7218,7 @@ pub struct PutSubscriptionFilterInput { /// subscription filter, for same-account delivery.

          /// ///
        • - ///

          An AWS Lambda function belonging to the same account as the subscription filter, + ///

          A Lambda function belonging to the same account as the subscription filter, /// for same-account delivery.

          ///
        • /// @@ -7235,8 +7252,9 @@ pub struct PutRetentionPolicyInput { pub log_group_name: std::option::Option, ///

          The number of days to retain the log events in the specified log group. /// Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

          - ///

          If you omit retentionInDays in a PutRetentionPolicy operation, - /// the events in the log group are always retained and never expire.

          + ///

          To set a log group to never have log events expire, use + /// DeleteRetentionPolicy. + ///

          pub retention_in_days: std::option::Option, } impl std::fmt::Debug for PutRetentionPolicyInput { @@ -7256,7 +7274,15 @@ pub struct PutResourcePolicyInput { ///

          Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. /// This parameter is required.

          ///

          The following example creates a resource policy enabling the Route 53 service to put - /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

          + /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of + /// your CloudWatch Logs resource, such as a log group or log stream.

          + ///

          CloudWatch Logs also supports aws:SourceArn + /// and aws:SourceAccount + /// condition context keys.

          + ///

          In the example resource policy, you would replace the value of SourceArn with the resource making the + /// call from Route 53 to CloudWatch Logs and replace the value of SourceAccount with + /// the Amazon Web Services account ID making that call.

          + ///

          ///

          /// { /// "Version": "2012-10-17", @@ -7269,11 +7295,19 @@ pub struct PutResourcePolicyInput { /// "route53.amazonaws.com" /// ] /// }, - /// "Action":"logs:PutLogEvents", - /// "Resource": "logArn" + /// "Action": "logs:PutLogEvents", + /// "Resource": "logArn", + /// "Condition": { + /// "ArnLike": { + /// "aws:SourceArn": "myRoute53ResourceArn" + /// }, + /// "StringEquals": { + /// "aws:SourceAccount": "myAwsAccountId" + /// } + /// } /// } /// ] - /// } + /// } ///

          pub policy_document: std::option::Option, } @@ -7491,7 +7525,6 @@ pub struct GetLogEventsInput { /// included.

          pub end_time: std::option::Option, ///

          The token for the next set of items to return. (You received this token from a previous call.)

          - ///

          Using this token works only when you specify true for startFromHead.

          pub next_token: std::option::Option, ///

          The maximum number of log events returned. If you don't specify a value, the maximum is /// as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

          @@ -7499,7 +7532,8 @@ pub struct GetLogEventsInput { ///

          If the value is true, the earliest log events are returned first. /// If the value is false, the latest log events are returned first. /// The default value is false.

          - ///

          If you are using nextToken in this operation, you must specify true for startFromHead.

          + ///

          If you are using a previous nextForwardToken value as the nextToken in this operation, + /// you must specify true for startFromHead.

          pub start_from_head: std::option::Option, } impl std::fmt::Debug for GetLogEventsInput { @@ -7952,9 +7986,14 @@ pub struct CreateLogGroupInput { ///

          The name of the log group.

          pub log_group_name: std::option::Option, ///

          The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

          + /// For more information, see Amazon Resource Names - Key Management Service.

          pub kms_key_id: std::option::Option, ///

          The key-value pairs to use for the tags.

          + ///

          CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to + /// log groups using the aws:Resource/key-name + /// or aws:TagKeys condition keys. + /// For more information about using tags to control access, see + /// Controlling access to Amazon Web Services resources using tags.

          pub tags: std::option::Option>, } @@ -7986,7 +8025,7 @@ pub struct CreateExportTaskInput { /// after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not /// exported.

          pub to: std::option::Option, - ///

          The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

          + ///

          The name of S3 bucket for the exported log data. The bucket must be in the same Amazon Web Services region.

          pub destination: std::option::Option, ///

          The prefix used as the start of the key for every object exported. If you don't /// specify a value, the default is exportedlogs.

          @@ -8026,7 +8065,7 @@ pub struct AssociateKmsKeyInput { ///

          The name of the log group.

          pub log_group_name: std::option::Option, ///

          The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys.

          + /// For more information, see Amazon Resource Names - Key Management Service and Using Symmetric and Asymmetric Keys.

          pub kms_key_id: std::option::Option, } impl std::fmt::Debug for AssociateKmsKeyInput { diff --git a/sdk/cloudwatchlogs/src/lib.rs b/sdk/cloudwatchlogs/src/lib.rs index c09fd636a001..d3a072783b84 100644 --- a/sdk/cloudwatchlogs/src/lib.rs +++ b/sdk/cloudwatchlogs/src/lib.rs @@ -5,9 +5,9 @@ #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] //!

          You can use Amazon CloudWatch Logs to monitor, store, and access your log files from -//! EC2 instances, AWS CloudTrail, and other sources. You can then retrieve the associated +//! EC2 instances, CloudTrail, and other sources. You can then retrieve the associated //! log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the -//! AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

          +//! Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

          //!

          You can use CloudWatch Logs to:

          //!
            //!
          • @@ -25,7 +25,7 @@ //!
          • //!
          • //!

            -//! Monitor AWS CloudTrail logged events: You can +//! Monitor CloudTrail logged events: You can //! create alarms in CloudWatch and receive notifications of particular API activity as //! captured by CloudTrail. You can use the notification to perform troubleshooting.

            //!
          • diff --git a/sdk/cloudwatchlogs/src/model.rs b/sdk/cloudwatchlogs/src/model.rs index 25d460afd8b8..ea1b017f2217 100644 --- a/sdk/cloudwatchlogs/src/model.rs +++ b/sdk/cloudwatchlogs/src/model.rs @@ -377,7 +377,7 @@ pub struct MetricTransformation { ///

            You can also set up a billing alarm to alert you if your charges are higher than /// expected. For more information, /// see - /// Creating a Billing Alarm to Monitor Your Estimated AWS Charges. + /// Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges. ///

            /// pub dimensions: @@ -817,7 +817,7 @@ pub struct Destination { pub target_arn: std::option::Option, ///

            A role for impersonation, used when delivering log events to the target.

            pub role_arn: std::option::Option, - ///

            An IAM policy document that governs which AWS accounts can create subscription filters + ///

            An IAM policy document that governs which Amazon Web Services accounts can create subscription filters /// against this destination.

            pub access_policy: std::option::Option, ///

            The ARN of this destination.

            @@ -883,7 +883,7 @@ pub mod destination { self.role_arn = input; self } - ///

            An IAM policy document that governs which AWS accounts can create subscription filters + ///

            An IAM policy document that governs which Amazon Web Services accounts can create subscription filters /// against this destination.

            pub fn access_policy(mut self, input: impl Into) -> Self { self.access_policy = Some(input.into()); @@ -2196,8 +2196,9 @@ pub struct LogGroup { pub creation_time: std::option::Option, ///

            The number of days to retain the log events in the specified log group. /// Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

            - ///

            If you omit retentionInDays in a PutRetentionPolicy operation, - /// the events in the log group are always retained and never expire.

            + ///

            To set a log group to never have log events expire, use + /// DeleteRetentionPolicy. + ///

            pub retention_in_days: std::option::Option, ///

            The number of metric filters.

            pub metric_filter_count: std::option::Option, @@ -2260,8 +2261,9 @@ pub mod log_group { } ///

            The number of days to retain the log events in the specified log group. /// Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

            - ///

            If you omit retentionInDays in a PutRetentionPolicy operation, - /// the events in the log group are always retained and never expire.

            + ///

            To set a log group to never have log events expire, use + /// DeleteRetentionPolicy. + ///

            pub fn retention_in_days(mut self, input: i32) -> Self { self.retention_in_days = Some(input); self diff --git a/sdk/cloudwatchlogs/src/operation.rs b/sdk/cloudwatchlogs/src/operation.rs index 2b35d97b08cd..568dbf368e36 100644 --- a/sdk/cloudwatchlogs/src/operation.rs +++ b/sdk/cloudwatchlogs/src/operation.rs @@ -1,9 +1,9 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -///

            Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group.

            -///

            Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. +///

            Associates the specified Key Management Service customer master key (CMK) with the specified log group.

            +///

            Associating an KMS CMK with a log group overrides any existing associations between the log group and a CMK. /// After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. -/// This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. -/// This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

            +/// This association is stored as long as the data encrypted with the CMK is still within CloudWatch Logs. +/// This enables CloudWatch Logs to decrypt this data whenever it is requested.

            /// ///

            CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK /// with your log group. For more information, see Using Symmetric and Asymmetric @@ -113,7 +113,7 @@ impl smithy_http::response::ParseStrictResponse for CreateExportTask { ///

            You must use the following guidelines when naming a log group:

            ///
              ///
            • -///

              Log group names must be unique within a region for an AWS account.

              +///

              Log group names must be unique within a region for an Amazon Web Services account.

              ///
            • ///
            • ///

              Log group names can be between 1 and 512 characters long.

              @@ -126,13 +126,13 @@ impl smithy_http::response::ParseStrictResponse for CreateExportTask { ///

              When you create a log group, by default the log events in the log group never expire. To set /// a retention policy so that events expire and are deleted after a specified time, use /// PutRetentionPolicy.

              -///

              If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. -/// This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. -/// This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

              +///

              If you associate a Key Management Service customer master key (CMK) with the log group, ingested data is encrypted using the CMK. +/// This association is stored as long as the data encrypted with the CMK is still within CloudWatch Logs. +/// This enables CloudWatch Logs to decrypt this data whenever it is requested.

              ///

              If you attempt to associate a CMK with the log group but the CMK does not exist or the /// CMK is disabled, you receive an InvalidParameterException error.

              /// -///

              CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with +///

              CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with /// your log group. For more information, see Using Symmetric and Asymmetric /// Keys.

              ///
              @@ -496,6 +496,13 @@ impl smithy_http::response::ParseStrictResponse for DescribeExportTasks { ///

              Lists the specified log groups. You can list all your log groups or filter the results by prefix. /// The results are ASCII-sorted by log group name.

              +///

              CloudWatch Logs doesn’t support IAM policies that control access to the DescribeLogGroups action by using the +/// aws:ResourceTag/key-name +/// condition key. Other CloudWatch Logs actions +/// do support the use of the aws:ResourceTag/key-name +/// condition key to control access. +/// For more information about using tags to control access, see +/// Controlling access to Amazon Web Services resources using tags.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeLogGroups { _private: (), @@ -701,9 +708,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeSubscriptionFilters } } -///

              Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group.

              -///

              After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. -/// All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

              +///

              Disassociates the associated Key Management Service customer master key (CMK) from the specified log group.

              +///

              After the KMS CMK is disassociated from the log group, CloudWatch Logs stops encrypting newly ingested data for the log group. +/// All previously ingested data remains encrypted, and CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

              ///

              Note that it can take up to 5 minutes for this operation to take effect.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisassociateKmsKey { @@ -966,7 +973,7 @@ impl smithy_http::response::ParseStrictResponse for PutDestination { ///

              Creates or updates an access policy associated with an existing /// destination. An access policy is an IAM policy document that is used /// to authorize claims to register a subscription filter against a given destination.

              -///

              If multiple AWS accounts are sending logs to this destination, each sender account must be +///

              If multiple Amazon Web Services accounts are sending logs to this destination, each sender account must be /// listed separately in the policy. The policy does not support specifying * /// as the Principal or the use of the aws:PrincipalOrgId global key.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -1019,7 +1026,7 @@ impl smithy_http::response::ParseStrictResponse for PutDestinationPolicy { ///
            • ///

              The log events in the batch must be in chronological order by their timestamp. The /// timestamp is the time the event occurred, expressed as the number of milliseconds after -/// Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the +/// Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the /// timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, /// 2017-09-15T13:45:30.)

              ///
            • @@ -1033,7 +1040,7 @@ impl smithy_http::response::ParseStrictResponse for PutDestinationPolicy { ///

              There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed.

              /// ///
            -///

            If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid AWS access key ID or secret key.

            +///

            If a call to PutLogEvents returns "UnrecognizedClientException" the most likely cause is an invalid Amazon Web Services access key ID or secret key.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutLogEvents { _private: (), @@ -1079,7 +1086,7 @@ impl smithy_http::response::ParseStrictResponse for PutLogEvents { ///

            You can also set up a billing alarm to alert you if your charges are higher than /// expected. For more information, /// see -/// Creating a Billing Alarm to Monitor Your Estimated AWS Charges. +/// Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges. ///

            ///
            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -1147,8 +1154,8 @@ impl smithy_http::response::ParseStrictResponse for PutQueryDefinition { } } -///

            Creates or updates a resource policy allowing other AWS services to put log events to -/// this account, such as Amazon Route 53. An account can have up to 10 resource policies per AWS +///

            Creates or updates a resource policy allowing other Amazon Web Services services to put log events to +/// this account, such as Amazon Route 53. An account can have up to 10 resource policies per Amazon Web Services /// Region.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutResourcePolicy { @@ -1227,7 +1234,7 @@ impl smithy_http::response::ParseStrictResponse for PutRetentionPolicy { /// subscription filter, for same-account delivery.

            /// ///
          • -///

            An AWS Lambda function that belongs to the same account as the subscription filter, +///

            An Lambda function that belongs to the same account as the subscription filter, /// for same-account delivery.

            ///
          • ///
          @@ -1324,6 +1331,11 @@ impl smithy_http::response::ParseStrictResponse for StopQuery { /// To remove tags, use UntagLogGroup.

          ///

          For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs /// in the Amazon CloudWatch Logs User Guide.

          +///

          CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to +/// log groups using the aws:Resource/key-name +/// or aws:TagKeys condition keys. +/// For more information about using tags to control access, see +/// Controlling access to Amazon Web Services resources using tags.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagLogGroup { _private: (), @@ -1381,6 +1393,10 @@ impl smithy_http::response::ParseStrictResponse for TestMetricFilter { ///

          Removes the specified tags from the specified log group.

          ///

          To list the tags for a log group, use ListTagsLogGroup. /// To add tags, use TagLogGroup.

          +///

          CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to +/// log groups using the aws:Resource/key-name +/// or aws:TagKeys condition keys. +///

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagLogGroup { _private: (), diff --git a/sdk/codeartifact/Cargo.toml b/sdk/codeartifact/Cargo.toml index f316a7d1a56e..e52b00c4a879 100644 --- a/sdk/codeartifact/Cargo.toml +++ b/sdk/codeartifact/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codeartifact" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          AWS CodeArtifact is a fully managed artifact repository compatible with language-native\n package managers and build tools such as npm, Apache Maven, and pip. You can use CodeArtifact to\n share packages with development teams and pull packages. Packages can be pulled from both\n public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact\n repository and another repository, which effectively merges their contents from the point of\n view of a package manager client.

          \n \n

          \n AWS CodeArtifact Components\n

          \n

          Use the information in this guide to help you work with the following CodeArtifact components:

          \n \n
            \n
          • \n

            \n Repository: A CodeArtifact repository contains a set of package\n versions, each of which maps to a set of assets, or files. Repositories are\n polyglot, so a single repository can contain packages of any supported type. Each\n repository exposes endpoints for fetching and publishing packages using tools like the\n \n npm\n CLI, the Maven CLI (\n mvn\n ), and \n pip\n .

            \n
          • \n
          • \n

            \n Domain: Repositories are aggregated into a higher-level entity known as a\n domain. All package assets and metadata are stored in the domain,\n but are consumed through repositories. A given package asset, such as a Maven JAR file, is\n stored once per domain, no matter how many repositories it's present in. All of the assets\n and metadata in a domain are encrypted with the same customer master key (CMK) stored in\n AWS Key Management Service (AWS KMS).

            \n

            Each repository is a member of a single domain and can't be moved to a\n different domain.

            \n

            The domain allows organizational policy to be applied across multiple\n repositories, such as which accounts can access repositories in the domain, and\n which public repositories can be used as sources of packages.

            \n

            Although an organization can have multiple domains, we recommend a single production\n domain that contains all published artifacts so that teams can find and share packages\n across their organization.

            \n
          • \n
          • \n

            \n Package: A package is a bundle of software and the metadata required to\n resolve dependencies and install the software. CodeArtifact supports npm, PyPI, and Maven package formats.

            \n

            In CodeArtifact, a package consists of:

            \n
              \n
            • \n

              A name (for example, webpack is the name of a\n popular npm package)

              \n
            • \n
            • \n

              An optional namespace (for example, @types in @types/node)

              \n
            • \n
            • \n

              A set of versions (for example, 1.0.0, 1.0.1,\n 1.0.2, etc.)

              \n
            • \n
            • \n

              Package-level metadata (for example, npm tags)

              \n
            • \n
            \n
          • \n
          • \n

            \n Package version: A version of a package, such as @types/node 12.6.9. The version number\n format and semantics vary for different package formats. For example, npm package versions\n must conform to the Semantic Versioning\n specification. In CodeArtifact, a package version consists of the version identifier,\n metadata at the package version level, and a set of assets.

            \n
          • \n
          • \n

            \n Upstream repository: One repository is upstream of another when the package versions in\n it can be accessed from the repository endpoint of the downstream repository, effectively\n merging the contents of the two repositories from the point of view of a client. CodeArtifact\n allows creating an upstream relationship between two repositories.

            \n
          • \n
          • \n

            \n Asset: An individual file stored in CodeArtifact associated with a package version, such as an npm\n .tgz file or Maven POM and JAR files.

            \n
          • \n
          \n \n

          CodeArtifact supports these operations:

          \n
            \n
          • \n

            \n AssociateExternalConnection: Adds an existing external \n connection to a repository.\n

            \n
          • \n
          • \n

            \n CopyPackageVersions: Copies package versions from one \n repository to another repository in the same domain.

            \n
          • \n
          • \n

            \n CreateDomain: Creates a domain

            \n
          • \n
          • \n

            \n CreateRepository: Creates a CodeArtifact repository in a domain.

            \n
          • \n
          • \n

            \n DeleteDomain: Deletes a domain. You cannot delete a domain that contains\n repositories.

            \n
          • \n
          • \n

            \n DeleteDomainPermissionsPolicy: Deletes the resource policy that is set on a domain.

            \n
          • \n
          • \n

            \n DeletePackageVersions: Deletes versions of a package. After a package has\n been deleted, it can be republished, but its assets and metadata cannot be restored\n because they have been permanently removed from storage.

            \n
          • \n
          • \n

            \n DeleteRepository: Deletes a repository. \n

            \n
          • \n
          • \n

            \n DeleteRepositoryPermissionsPolicy: Deletes the resource policy that is set on a repository.

            \n
          • \n
          • \n

            \n DescribeDomain: Returns a DomainDescription object that\n contains information about the requested domain.

            \n
          • \n
          • \n

            \n DescribePackageVersion: Returns a PackageVersionDescription\n object that contains details about a package version.

            \n
          • \n
          • \n

            \n DescribeRepository: Returns a RepositoryDescription object\n that contains detailed information about the requested repository.

            \n
          • \n
          • \n

            \n DisposePackageVersions: Disposes versions of a package. A package version\n with the status Disposed cannot be restored because they have been\n permanently removed from storage.

            \n
          • \n
          • \n

            \n DisassociateExternalConnection: Removes an existing external connection from a repository. \n

            \n
          • \n
          • \n

            \n GetAuthorizationToken: Generates a temporary authorization token for accessing repositories in the domain. The token expires the authorization period has passed. \n The default authorization period is 12 hours and can be customized to any length with a maximum of 12 hours.

            \n
          • \n
          • \n

            \n GetDomainPermissionsPolicy: Returns the policy of a resource\n that is attached to the specified domain.

            \n
          • \n
          • \n

            \n GetPackageVersionAsset: Returns the contents of an asset that is in a package version.

            \n
          • \n
          • \n

            \n GetPackageVersionReadme: Gets the readme file or descriptive text for a package version.

            \n
          • \n
          • \n

            \n GetRepositoryEndpoint: Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each \n package format:\n

            \n
              \n
            • \n

              \n npm\n

              \n
            • \n
            • \n

              \n pypi\n

              \n
            • \n
            • \n

              \n maven\n

              \n
            • \n
            \n
          • \n
          • \n

            \n GetRepositoryPermissionsPolicy: Returns the resource policy that is set on a repository. \n

            \n
          • \n
          • \n

            \n ListDomains: Returns a list of DomainSummary objects. Each\n returned DomainSummary object contains information about a domain.

            \n
          • \n
          • \n

            \n ListPackages: Lists the packages in a repository.

            \n
          • \n
          • \n

            \n ListPackageVersionAssets: Lists the assets for a given package version.

            \n
          • \n
          • \n

            \n ListPackageVersionDependencies: Returns a list of the direct dependencies for a\n package version.

            \n
          • \n
          • \n

            \n ListPackageVersions: Returns a list of package versions for a specified\n package in a repository.

            \n
          • \n
          • \n

            \n ListRepositories: Returns a list of repositories owned by the AWS account that called this method.

            \n
          • \n
          • \n

            \n ListRepositoriesInDomain: Returns a list of the repositories in a domain.

            \n
          • \n
          • \n

            \n PutDomainPermissionsPolicy: Attaches a resource policy to a domain.

            \n
          • \n
          • \n

            \n PutRepositoryPermissionsPolicy: Sets the resource policy on a repository\n that specifies permissions to access it.

            \n
          • \n
          • \n

            \n UpdatePackageVersionsStatus: Updates the status of one or more versions of a package.

            \n
          • \n
          • \n

            \n UpdateRepository: Updates the properties of a repository.

            \n
          • \n
          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codebuild/Cargo.toml b/sdk/codebuild/Cargo.toml index 6367a0f034d0..bb5d534b8bde 100644 --- a/sdk/codebuild/Cargo.toml +++ b/sdk/codebuild/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codebuild" -version = "0.0.15-alpha" -description = "AWS CodeBuild\n

          AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code,\n runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the\n need to provision, manage, and scale your own build servers. It provides prepackaged\n build environments for the most popular programming languages and build tools, such as\n Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild\n to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests. You\n pay only for the build time you consume. For more information about AWS CodeBuild, see the \n AWS CodeBuild User\n Guide.\n

          " +version = "0.0.16-alpha" +description = "CodeBuild\n

          CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code,\n runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the\n need to provision, manage, and scale your own build servers. It provides prepackaged\n build environments for the most popular programming languages and build tools, such as\n Apache Maven, Gradle, and more. You can also fully customize build environments in CodeBuild\n to use your own build tools. CodeBuild scales automatically to meet peak build requests. You\n pay only for the build time you consume. For more information about CodeBuild, see the \n CodeBuild User\n Guide.\n

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/codebuild/src/client.rs b/sdk/codebuild/src/client.rs index 2bc34e21608d..37f0b64d41ed 100644 --- a/sdk/codebuild/src/client.rs +++ b/sdk/codebuild/src/client.rs @@ -167,6 +167,9 @@ where pub fn update_project(&self) -> fluent_builders::UpdateProject { fluent_builders::UpdateProject::new(self.handle.clone()) } + pub fn update_project_visibility(&self) -> fluent_builders::UpdateProjectVisibility { + fluent_builders::UpdateProjectVisibility::new(self.handle.clone()) + } pub fn update_report_group(&self) -> fluent_builders::UpdateReportGroup { fluent_builders::UpdateReportGroup::new(self.handle.clone()) } @@ -339,7 +342,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

          The names or ARNs of the build projects. To get information about a project shared - /// with your AWS account, its ARN must be specified. You cannot specify a shared project + /// with your Amazon Web Services account, its ARN must be specified. You cannot specify a shared project /// using its name.

          pub fn names(mut self, inp: impl Into) -> Self { self.inner = self.inner.names(inp); @@ -522,7 +525,7 @@ pub mod fluent_builders { /// version is used. If specified, it must be one of:

          ///
            ///
          • - ///

            For AWS CodeCommit: the commit ID, branch, or Git tag to use.

            + ///

            For CodeCommit: the commit ID, branch, or Git tag to use.

            ///
          • ///
          • ///

            For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -546,7 +549,7 @@ pub mod fluent_builders { ///

            If sourceVersion is specified at the build level, then that version takes /// precedence over this sourceVersion (at the project level).

            ///

            For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

            pub fn source_version(mut self, input: impl Into) -> Self { self.inner = self.inner.source_version(input); @@ -626,8 +629,8 @@ pub mod fluent_builders { self.inner = self.inner.set_environment(input); self } - ///

            The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services - /// on behalf of the AWS account.

            + ///

            The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services + /// on behalf of the Amazon Web Services account.

            pub fn service_role(mut self, input: impl Into) -> Self { self.inner = self.inner.service_role(input); self @@ -636,7 +639,7 @@ pub mod fluent_builders { self.inner = self.inner.set_service_role(input); self } - ///

            How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out + ///

            How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out /// any build that has not been marked as completed. The default is 60 minutes.

            pub fn timeout_in_minutes(mut self, input: i32) -> Self { self.inner = self.inner.timeout_in_minutes(input); @@ -655,7 +658,7 @@ pub mod fluent_builders { self.inner = self.inner.set_queued_timeout_in_minutes(input); self } - ///

            The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

            The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

            /// ///

            You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -676,7 +679,7 @@ pub mod fluent_builders { self } ///

            A list of tag key and value pairs associated with this build project.

            - ///

            These tags are available for use by AWS services that support AWS CodeBuild build project + ///

            These tags are available for use by Amazon Web Services services that support CodeBuild build project /// tags.

            pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); @@ -689,7 +692,7 @@ pub mod fluent_builders { self.inner = self.inner.set_tags(input); self } - ///

            VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

            + ///

            VpcConfig enables CodeBuild to access resources in an Amazon VPC.

            pub fn vpc_config(mut self, input: crate::model::VpcConfig) -> Self { self.inner = self.inner.vpc_config(input); self @@ -711,7 +714,7 @@ pub mod fluent_builders { self.inner = self.inner.set_badge_enabled(input); self } - ///

            Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs + ///

            Information about logs for the build project. These can be logs in CloudWatch Logs, logs /// uploaded to a specified S3 bucket, or both.

            pub fn logs_config(mut self, input: crate::model::LogsConfig) -> Self { self.inner = self.inner.logs_config(input); @@ -839,7 +842,7 @@ pub mod fluent_builders { ///

            /// A list of tag key and value pairs associated with this report group. ///

            - ///

            These tags are available for use by AWS services that support AWS CodeBuild report group + ///

            These tags are available for use by Amazon Web Services services that support CodeBuild report group /// tags.

            pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); @@ -884,7 +887,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

            The name of the AWS CodeBuild project.

            + ///

            The name of the CodeBuild project.

            pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self @@ -1236,7 +1239,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

            The name of the AWS CodeBuild project.

            + ///

            The name of the CodeBuild project.

            pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self @@ -1677,7 +1680,7 @@ pub mod fluent_builders { } ///

            The type of authentication used to connect to a GitHub, GitHub Enterprise, or /// Bitbucket repository. An OAUTH connection is not supported by the API and must be - /// created using the AWS CodeBuild console.

            + /// created using the CodeBuild console.

            pub fn auth_type(mut self, input: crate::model::AuthType) -> Self { self.inner = self.inner.auth_type(input); self @@ -1729,7 +1732,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

            The name of the AWS CodeBuild build project that the cache is reset for.

            + ///

            The name of the CodeBuild build project that the cache is reset for.

            pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self @@ -2023,7 +2026,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

            The name of the AWS CodeBuild project.

            + ///

            The name of the CodeBuild project.

            pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self @@ -2541,7 +2544,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

            The criterion to be used to list build projects shared with the current AWS account + ///

            The criterion to be used to list build projects shared with the current Amazon Web Services account /// or user. Valid values include:

            ///
              ///
            • @@ -2666,7 +2669,7 @@ pub mod fluent_builders { self.inner = self.inner.set_sort_order(input); self } - ///

              The criterion to be used to list report groups shared with the current AWS account or + ///

              The criterion to be used to list report groups shared with the current Amazon Web Services account or /// user. Valid values include:

              ///
                ///
              • @@ -2780,7 +2783,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                A JSON-formatted resource policy. For more information, see Sharing - /// a Project and Sharing a Report Group in the AWS CodeBuild User Guide. + /// a Project and Sharing a Report Group in the CodeBuild User Guide. ///

                pub fn policy(mut self, input: impl Into) -> Self { self.inner = self.inner.policy(input); @@ -2845,7 +2848,7 @@ pub mod fluent_builders { /// RetryBuild request. The token is included in the /// RetryBuild request and is valid for five minutes. If you repeat /// the RetryBuild request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                + /// CodeBuild returns a parameter mismatch error.

                pub fn idempotency_token(mut self, input: impl Into) -> Self { self.inner = self.inner.idempotency_token(input); self @@ -2902,7 +2905,7 @@ pub mod fluent_builders { /// RetryBuildBatch request. The token is included in the /// RetryBuildBatch request and is valid for five minutes. If you repeat /// the RetryBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                + /// CodeBuild returns a parameter mismatch error.

                pub fn idempotency_token(mut self, input: impl Into) -> Self { self.inner = self.inner.idempotency_token(input); self @@ -2958,7 +2961,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                The name of the AWS CodeBuild build project to start running a build.

                + ///

                The name of the CodeBuild build project to start running a build.

                pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self @@ -3002,7 +3005,7 @@ pub mod fluent_builders { /// the latest version is used. If specified, the contents depends on the source /// provider:

                ///
                - ///
                AWS CodeCommit
                + ///
                CodeCommit
                ///
                ///

                The commit ID, branch, or Git tag to use.

                ///
                @@ -3031,7 +3034,7 @@ pub mod fluent_builders { ///

                If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                ///

                For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                + /// with CodeBuild in the CodeBuild User Guide.

                pub fn source_version(mut self, input: impl Into) -> Self { self.inner = self.inner.source_version(input); self @@ -3137,7 +3140,7 @@ pub mod fluent_builders { self.inner = self.inner.set_git_clone_depth_override(input); self } - ///

                Information about the Git submodules configuration for this build of an AWS CodeBuild build + ///

                Information about the Git submodules configuration for this build of an CodeBuild build /// project.

                pub fn git_submodules_config_override( mut self, @@ -3158,7 +3161,7 @@ pub mod fluent_builders { ///

                If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -3190,7 +3193,7 @@ pub mod fluent_builders { /// completion. If you use this option with a source provider other than GitHub, GitHub /// Enterprise, or Bitbucket, an invalidInputException is thrown.

                ///

                To be able to report the build status to the source provider, the user associated with the source provider must - /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the AWS CodeBuild User Guide.

                + /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                /// ///

                The status of a build triggered by a webhook is always reported to your source /// provider.

                @@ -3333,7 +3336,7 @@ pub mod fluent_builders { self.inner = self.inner.set_queued_timeout_in_minutes_override(input); self } - ///

                The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build + ///

                The Key Management Service customer master key (CMK) that overrides the one specified in the build /// project. The CMK key encrypts the build output artifacts.

                /// ///

                You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -3355,7 +3358,7 @@ pub mod fluent_builders { ///

                A unique, case sensitive identifier you provide to ensure the idempotency of the /// StartBuild request. The token is included in the StartBuild request and is valid for 5 /// minutes. If you repeat the StartBuild request with the same token, but change a - /// parameter, AWS CodeBuild returns a parameter mismatch error.

                + /// parameter, CodeBuild returns a parameter mismatch error.

                pub fn idempotency_token(mut self, input: impl Into) -> Self { self.inner = self.inner.idempotency_token(input); self @@ -3395,21 +3398,21 @@ pub mod fluent_builders { self.inner = self.inner.set_registry_credential_override(input); self } - ///

                The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + ///

                The type of credentials CodeBuild uses to pull images in your build. There are two valid /// values:

                ///
                ///
                CODEBUILD
                ///
                - ///

                Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                + ///

                Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                ///
                ///
                SERVICE_ROLE
                ///
                - ///

                Specifies that AWS CodeBuild uses your build project's service role.

                + ///

                Specifies that CodeBuild uses your build project's service role.

                ///
                ///
                ///

                When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                pub fn image_pull_credentials_type_override( mut self, @@ -3512,7 +3515,7 @@ pub mod fluent_builders { /// the latest version is used. If specified, the contents depends on the source /// provider:

                ///
                - ///
                AWS CodeCommit
                + ///
                CodeCommit
                ///
                ///

                The commit ID, branch, or Git tag to use.

                ///
                @@ -3541,7 +3544,7 @@ pub mod fluent_builders { ///

                If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                ///

                For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                + /// with CodeBuild in the CodeBuild User Guide.

                pub fn source_version(mut self, input: impl Into) -> Self { self.inner = self.inner.source_version(input); self @@ -3669,7 +3672,7 @@ pub mod fluent_builders { ///

                If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -3825,7 +3828,7 @@ pub mod fluent_builders { self.inner = self.inner.set_queued_timeout_in_minutes_override(input); self } - ///

                The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build + ///

                The Key Management Service customer master key (CMK) that overrides the one specified in the batch build /// project. The CMK key encrypts the build output artifacts.

                /// ///

                You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -3848,7 +3851,7 @@ pub mod fluent_builders { /// StartBuildBatch request. The token is included in the /// StartBuildBatch request and is valid for five minutes. If you repeat /// the StartBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                + /// CodeBuild returns a parameter mismatch error.

                pub fn idempotency_token(mut self, input: impl Into) -> Self { self.inner = self.inner.idempotency_token(input); self @@ -3889,21 +3892,21 @@ pub mod fluent_builders { self.inner = self.inner.set_registry_credential_override(input); self } - ///

                The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid + ///

                The type of credentials CodeBuild uses to pull images in your batch build. There are two valid /// values:

                ///
                ///
                CODEBUILD
                ///
                - ///

                Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                + ///

                Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                ///
                ///
                SERVICE_ROLE
                ///
                - ///

                Specifies that AWS CodeBuild uses your build project's service role.

                + ///

                Specifies that CodeBuild uses your build project's service role.

                ///
                ///
                ///

                When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                pub fn image_pull_credentials_type_override( mut self, @@ -4109,7 +4112,7 @@ pub mod fluent_builders { /// latest version is used. If specified, it must be one of:

                ///
                  ///
                • - ///

                  For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                  + ///

                  For CodeCommit: the commit ID, branch, or Git tag to use.

                  ///
                • ///
                • ///

                  For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -4133,7 +4136,7 @@ pub mod fluent_builders { ///

                  If sourceVersion is specified at the build level, then that version /// takes precedence over this sourceVersion (at the project level).

                  ///

                  For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

                  pub fn source_version(mut self, input: impl Into) -> Self { self.inner = self.inner.source_version(input); @@ -4213,8 +4216,8 @@ pub mod fluent_builders { self.inner = self.inner.set_environment(input); self } - ///

                  The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent - /// AWS services on behalf of the AWS account.

                  + ///

                  The replacement ARN of the IAM role that enables CodeBuild to interact with dependent + /// Amazon Web Services services on behalf of the Amazon Web Services account.

                  pub fn service_role(mut self, input: impl Into) -> Self { self.inner = self.inner.service_role(input); self @@ -4223,7 +4226,7 @@ pub mod fluent_builders { self.inner = self.inner.set_service_role(input); self } - ///

                  The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before + ///

                  The replacement value in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before /// timing out any related build that did not get marked as completed.

                  pub fn timeout_in_minutes(mut self, input: i32) -> Self { self.inner = self.inner.timeout_in_minutes(input); @@ -4242,7 +4245,7 @@ pub mod fluent_builders { self.inner = self.inner.set_queued_timeout_in_minutes(input); self } - ///

                  The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                  The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                  /// ///

                  You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -4263,7 +4266,7 @@ pub mod fluent_builders { self } ///

                  An updated list of tag key and value pairs associated with this build project.

                  - ///

                  These tags are available for use by AWS services that support AWS CodeBuild build project + ///

                  These tags are available for use by Amazon Web Services services that support CodeBuild build project /// tags.

                  pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); @@ -4276,7 +4279,7 @@ pub mod fluent_builders { self.inner = self.inner.set_tags(input); self } - ///

                  VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                  + ///

                  VpcConfig enables CodeBuild to access resources in an Amazon VPC.

                  pub fn vpc_config(mut self, input: crate::model::VpcConfig) -> Self { self.inner = self.inner.vpc_config(input); self @@ -4298,7 +4301,7 @@ pub mod fluent_builders { self.inner = self.inner.set_badge_enabled(input); self } - ///

                  Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, + ///

                  Information about logs for the build project. A project can create logs in CloudWatch Logs, /// logs in an S3 bucket, or both.

                  pub fn logs_config(mut self, input: crate::model::LogsConfig) -> Self { self.inner = self.inner.logs_config(input); @@ -4356,6 +4359,82 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct UpdateProjectVisibility { + handle: std::sync::Arc>, + inner: crate::input::update_project_visibility_input::Builder, + } + impl UpdateProjectVisibility { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateProjectVisibilityOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                  The Amazon Resource Name (ARN) of the build project.

                  + pub fn project_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.project_arn(input); + self + } + pub fn set_project_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_project_arn(input); + self + } + ///

                  Specifies the visibility of the project's builds. Possible values are:

                  + ///
                  + ///
                  PUBLIC_READ
                  + ///
                  + ///

                  The project builds are visible to the public.

                  + ///
                  + ///
                  PRIVATE
                  + ///
                  + ///

                  The project builds are not visible to the public.

                  + ///
                  + ///
                  + pub fn project_visibility(mut self, input: crate::model::ProjectVisibilityType) -> Self { + self.inner = self.inner.project_visibility(input); + self + } + pub fn set_project_visibility( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_project_visibility(input); + self + } + ///

                  The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for + /// the project's builds.

                  + pub fn resource_access_role(mut self, input: impl Into) -> Self { + self.inner = self.inner.resource_access_role(input); + self + } + pub fn set_resource_access_role( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_resource_access_role(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct UpdateReportGroup { handle: std::sync::Arc>, inner: crate::input::update_report_group_input::Builder, @@ -4426,7 +4505,7 @@ pub mod fluent_builders { ///

                  /// An updated list of tag key and value pairs associated with this report group. ///

                  - ///

                  These tags are available for use by AWS services that support AWS CodeBuild report group + ///

                  These tags are available for use by Amazon Web Services services that support CodeBuild report group /// tags.

                  pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); @@ -4471,7 +4550,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                  The name of the AWS CodeBuild project.

                  + ///

                  The name of the CodeBuild project.

                  pub fn project_name(mut self, input: impl Into) -> Self { self.inner = self.inner.project_name(input); self diff --git a/sdk/codebuild/src/error.rs b/sdk/codebuild/src/error.rs index 5c57745c3090..67ff96d3b1f8 100644 --- a/sdk/codebuild/src/error.rs +++ b/sdk/codebuild/src/error.rs @@ -3620,6 +3620,96 @@ impl std::error::Error for UpdateProjectError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateProjectVisibilityError { + pub kind: UpdateProjectVisibilityErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateProjectVisibilityErrorKind { + InvalidInputException(crate::error::InvalidInputException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateProjectVisibilityError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateProjectVisibilityErrorKind::InvalidInputException(_inner) => _inner.fmt(f), + UpdateProjectVisibilityErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + UpdateProjectVisibilityErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateProjectVisibilityError { + fn code(&self) -> Option<&str> { + UpdateProjectVisibilityError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateProjectVisibilityError { + pub fn new(kind: UpdateProjectVisibilityErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateProjectVisibilityErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateProjectVisibilityErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_invalid_input_exception(&self) -> bool { + matches!( + &self.kind, + UpdateProjectVisibilityErrorKind::InvalidInputException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + UpdateProjectVisibilityErrorKind::ResourceNotFoundException(_) + ) + } +} +impl std::error::Error for UpdateProjectVisibilityError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateProjectVisibilityErrorKind::InvalidInputException(_inner) => Some(_inner), + UpdateProjectVisibilityErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + UpdateProjectVisibilityErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct UpdateReportGroupError { @@ -3806,7 +3896,7 @@ impl std::error::Error for UpdateWebhookError { } } -///

                  The specified AWS resource cannot be found.

                  +///

                  The specified Amazon Web Services resource cannot be found.

                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceNotFoundException { @@ -3986,7 +4076,7 @@ impl InvalidInputException { } } -///

                  An AWS service limit was exceeded for the calling AWS account.

                  +///

                  An Amazon Web Services service limit was exceeded for the calling Amazon Web Services account.

                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AccountLimitExceededException { @@ -4046,7 +4136,7 @@ impl AccountLimitExceededException { } } -///

                  The specified AWS resource cannot be created, because an AWS resource with the same +///

                  The specified Amazon Web Services resource cannot be created, because an Amazon Web Services resource with the same /// settings already exists.

                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/codebuild/src/error_meta.rs b/sdk/codebuild/src/error_meta.rs index e614a54c2932..350120f1467c 100644 --- a/sdk/codebuild/src/error_meta.rs +++ b/sdk/codebuild/src/error_meta.rs @@ -713,6 +713,26 @@ impl From> for E } } } +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateProjectVisibilityErrorKind::InvalidInputException(inner) => { + Error::InvalidInputException(inner) + } + crate::error::UpdateProjectVisibilityErrorKind::ResourceNotFoundException( + inner, + ) => Error::ResourceNotFoundException(inner), + crate::error::UpdateProjectVisibilityErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { diff --git a/sdk/codebuild/src/input.rs b/sdk/codebuild/src/input.rs index 6821cae769e9..923b4b47ef18 100644 --- a/sdk/codebuild/src/input.rs +++ b/sdk/codebuild/src/input.rs @@ -928,7 +928,7 @@ pub mod create_project_input { /// version is used. If specified, it must be one of:

                  ///
                    ///
                  • - ///

                    For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                    + ///

                    For CodeCommit: the commit ID, branch, or Git tag to use.

                    ///
                  • ///
                  • ///

                    For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -952,7 +952,7 @@ pub mod create_project_input { ///

                    If sourceVersion is specified at the build level, then that version takes /// precedence over this sourceVersion (at the project level).

                    ///

                    For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

                    pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); @@ -1031,8 +1031,8 @@ pub mod create_project_input { self.environment = input; self } - ///

                    The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services - /// on behalf of the AWS account.

                    + ///

                    The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services + /// on behalf of the Amazon Web Services account.

                    pub fn service_role(mut self, input: impl Into) -> Self { self.service_role = Some(input.into()); self @@ -1041,7 +1041,7 @@ pub mod create_project_input { self.service_role = input; self } - ///

                    How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out + ///

                    How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out /// any build that has not been marked as completed. The default is 60 minutes.

                    pub fn timeout_in_minutes(mut self, input: i32) -> Self { self.timeout_in_minutes = Some(input); @@ -1060,7 +1060,7 @@ pub mod create_project_input { self.queued_timeout_in_minutes = input; self } - ///

                    The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                    The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                    /// ///

                    You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -1093,7 +1093,7 @@ pub mod create_project_input { self.tags = input; self } - ///

                    VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                    + ///

                    VpcConfig enables CodeBuild to access resources in an Amazon VPC.

                    pub fn vpc_config(mut self, input: crate::model::VpcConfig) -> Self { self.vpc_config = Some(input); self @@ -1115,7 +1115,7 @@ pub mod create_project_input { self.badge_enabled = input; self } - ///

                    Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs + ///

                    Information about logs for the build project. These can be logs in CloudWatch Logs, logs /// uploaded to a specified S3 bucket, or both.

                    pub fn logs_config(mut self, input: crate::model::LogsConfig) -> Self { self.logs_config = Some(input); @@ -1506,7 +1506,7 @@ pub mod create_webhook_input { pub(crate) build_type: std::option::Option, } impl Builder { - ///

                    The name of the AWS CodeBuild project.

                    + ///

                    The name of the CodeBuild project.

                    pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -2532,7 +2532,7 @@ pub mod delete_webhook_input { pub(crate) project_name: std::option::Option, } impl Builder { - ///

                    The name of the AWS CodeBuild project.

                    + ///

                    The name of the CodeBuild project.

                    pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -3487,7 +3487,7 @@ pub mod import_source_credentials_input { } ///

                    The type of authentication used to connect to a GitHub, GitHub Enterprise, or /// Bitbucket repository. An OAUTH connection is not supported by the API and must be - /// created using the AWS CodeBuild console.

                    + /// created using the CodeBuild console.

                    pub fn auth_type(mut self, input: crate::model::AuthType) -> Self { self.auth_type = Some(input); self @@ -3642,7 +3642,7 @@ pub mod invalidate_project_cache_input { pub(crate) project_name: std::option::Option, } impl Builder { - ///

                    The name of the AWS CodeBuild build project that the cache is reset for.

                    + ///

                    The name of the CodeBuild build project that the cache is reset for.

                    pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -4346,7 +4346,7 @@ pub mod list_builds_for_project_input { pub(crate) next_token: std::option::Option, } impl Builder { - ///

                    The name of the AWS CodeBuild project.

                    + ///

                    The name of the CodeBuild project.

                    pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -5477,7 +5477,7 @@ pub mod list_shared_projects_input { pub(crate) next_token: std::option::Option, } impl Builder { - ///

                    The criterion to be used to list build projects shared with the current AWS account + ///

                    The criterion to be used to list build projects shared with the current Amazon Web Services account /// or user. Valid values include:

                    ///
                      ///
                    • @@ -5706,7 +5706,7 @@ pub mod list_shared_report_groups_input { self.sort_order = input; self } - ///

                      The criterion to be used to list report groups shared with the current AWS account or + ///

                      The criterion to be used to list report groups shared with the current Amazon Web Services account or /// user. Valid values include:

                      ///
                        ///
                      • @@ -6016,7 +6016,7 @@ pub mod put_resource_policy_input { } impl Builder { ///

                        A JSON-formatted resource policy. For more information, see Sharing - /// a Project and Sharing a Report Group in the AWS CodeBuild User Guide. + /// a Project and Sharing a Report Group in the CodeBuild User Guide. ///

                        pub fn policy(mut self, input: impl Into) -> Self { self.policy = Some(input.into()); @@ -6181,7 +6181,7 @@ pub mod retry_build_input { /// RetryBuild request. The token is included in the /// RetryBuild request and is valid for five minutes. If you repeat /// the RetryBuild request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                        + /// CodeBuild returns a parameter mismatch error.

                        pub fn idempotency_token(mut self, input: impl Into) -> Self { self.idempotency_token = Some(input.into()); self @@ -6337,7 +6337,7 @@ pub mod retry_build_batch_input { /// RetryBuildBatch request. The token is included in the /// RetryBuildBatch request and is valid for five minutes. If you repeat /// the RetryBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                        + /// CodeBuild returns a parameter mismatch error.

                        pub fn idempotency_token(mut self, input: impl Into) -> Self { self.idempotency_token = Some(input.into()); self @@ -6530,7 +6530,7 @@ pub mod start_build_input { pub(crate) debug_session_enabled: std::option::Option, } impl Builder { - ///

                        The name of the AWS CodeBuild build project to start running a build.

                        + ///

                        The name of the CodeBuild build project to start running a build.

                        pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -6575,7 +6575,7 @@ pub mod start_build_input { /// the latest version is used. If specified, the contents depends on the source /// provider:

                        ///
                        - ///
                        AWS CodeCommit
                        + ///
                        CodeCommit
                        ///
                        ///

                        The commit ID, branch, or Git tag to use.

                        ///
                        @@ -6604,7 +6604,7 @@ pub mod start_build_input { ///

                        If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                        ///

                        For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                        + /// with CodeBuild in the CodeBuild User Guide.

                        pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); self @@ -6711,7 +6711,7 @@ pub mod start_build_input { self.git_clone_depth_override = input; self } - ///

                        Information about the Git submodules configuration for this build of an AWS CodeBuild build + ///

                        Information about the Git submodules configuration for this build of an CodeBuild build /// project.

                        pub fn git_submodules_config_override( mut self, @@ -6732,7 +6732,7 @@ pub mod start_build_input { ///

                        If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -6764,7 +6764,7 @@ pub mod start_build_input { /// completion. If you use this option with a source provider other than GitHub, GitHub /// Enterprise, or Bitbucket, an invalidInputException is thrown.

                        ///

                        To be able to report the build status to the source provider, the user associated with the source provider must - /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the AWS CodeBuild User Guide.

                        + /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                        /// ///

                        The status of a build triggered by a webhook is always reported to your source /// provider.

                        @@ -6907,7 +6907,7 @@ pub mod start_build_input { self.queued_timeout_in_minutes_override = input; self } - ///

                        The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build + ///

                        The Key Management Service customer master key (CMK) that overrides the one specified in the build /// project. The CMK key encrypts the build output artifacts.

                        /// ///

                        You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -6929,7 +6929,7 @@ pub mod start_build_input { ///

                        A unique, case sensitive identifier you provide to ensure the idempotency of the /// StartBuild request. The token is included in the StartBuild request and is valid for 5 /// minutes. If you repeat the StartBuild request with the same token, but change a - /// parameter, AWS CodeBuild returns a parameter mismatch error.

                        + /// parameter, CodeBuild returns a parameter mismatch error.

                        pub fn idempotency_token(mut self, input: impl Into) -> Self { self.idempotency_token = Some(input.into()); self @@ -6969,21 +6969,21 @@ pub mod start_build_input { self.registry_credential_override = input; self } - ///

                        The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + ///

                        The type of credentials CodeBuild uses to pull images in your build. There are two valid /// values:

                        ///
                        ///
                        CODEBUILD
                        ///
                        - ///

                        Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                        + ///

                        Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                        ///
                        ///
                        SERVICE_ROLE
                        ///
                        - ///

                        Specifies that AWS CodeBuild uses your build project's service role.

                        + ///

                        Specifies that CodeBuild uses your build project's service role.

                        ///
                        ///
                        ///

                        When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                        pub fn image_pull_credentials_type_override( mut self, @@ -7250,7 +7250,7 @@ pub mod start_build_batch_input { /// the latest version is used. If specified, the contents depends on the source /// provider:

                        ///
                        - ///
                        AWS CodeCommit
                        + ///
                        CodeCommit
                        ///
                        ///

                        The commit ID, branch, or Git tag to use.

                        ///
                        @@ -7279,7 +7279,7 @@ pub mod start_build_batch_input { ///

                        If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                        ///

                        For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                        + /// with CodeBuild in the CodeBuild User Guide.

                        pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); self @@ -7407,7 +7407,7 @@ pub mod start_build_batch_input { ///

                        If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -7563,7 +7563,7 @@ pub mod start_build_batch_input { self.queued_timeout_in_minutes_override = input; self } - ///

                        The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build + ///

                        The Key Management Service customer master key (CMK) that overrides the one specified in the batch build /// project. The CMK key encrypts the build output artifacts.

                        /// ///

                        You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -7586,7 +7586,7 @@ pub mod start_build_batch_input { /// StartBuildBatch request. The token is included in the /// StartBuildBatch request and is valid for five minutes. If you repeat /// the StartBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                        + /// CodeBuild returns a parameter mismatch error.

                        pub fn idempotency_token(mut self, input: impl Into) -> Self { self.idempotency_token = Some(input.into()); self @@ -7627,21 +7627,21 @@ pub mod start_build_batch_input { self.registry_credential_override = input; self } - ///

                        The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid + ///

                        The type of credentials CodeBuild uses to pull images in your batch build. There are two valid /// values:

                        ///
                        ///
                        CODEBUILD
                        ///
                        - ///

                        Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                        + ///

                        Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                        ///
                        ///
                        SERVICE_ROLE
                        ///
                        - ///

                        Specifies that AWS CodeBuild uses your build project's service role.

                        + ///

                        Specifies that CodeBuild uses your build project's service role.

                        ///
                        ///
                        ///

                        When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                        pub fn image_pull_credentials_type_override( mut self, @@ -8186,7 +8186,7 @@ pub mod update_project_input { /// latest version is used. If specified, it must be one of:

                        ///
                          ///
                        • - ///

                          For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                          + ///

                          For CodeCommit: the commit ID, branch, or Git tag to use.

                          ///
                        • ///
                        • ///

                          For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -8210,7 +8210,7 @@ pub mod update_project_input { ///

                          If sourceVersion is specified at the build level, then that version /// takes precedence over this sourceVersion (at the project level).

                          ///

                          For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

                          pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); @@ -8290,8 +8290,8 @@ pub mod update_project_input { self.environment = input; self } - ///

                          The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent - /// AWS services on behalf of the AWS account.

                          + ///

                          The replacement ARN of the IAM role that enables CodeBuild to interact with dependent + /// Amazon Web Services services on behalf of the Amazon Web Services account.

                          pub fn service_role(mut self, input: impl Into) -> Self { self.service_role = Some(input.into()); self @@ -8300,7 +8300,7 @@ pub mod update_project_input { self.service_role = input; self } - ///

                          The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before + ///

                          The replacement value in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before /// timing out any related build that did not get marked as completed.

                          pub fn timeout_in_minutes(mut self, input: i32) -> Self { self.timeout_in_minutes = Some(input); @@ -8319,7 +8319,7 @@ pub mod update_project_input { self.queued_timeout_in_minutes = input; self } - ///

                          The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                          The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                          /// ///

                          You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -8352,7 +8352,7 @@ pub mod update_project_input { self.tags = input; self } - ///

                          VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                          + ///

                          VpcConfig enables CodeBuild to access resources in an Amazon VPC.

                          pub fn vpc_config(mut self, input: crate::model::VpcConfig) -> Self { self.vpc_config = Some(input); self @@ -8374,7 +8374,7 @@ pub mod update_project_input { self.badge_enabled = input; self } - ///

                          Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, + ///

                          Information about logs for the build project. A project can create logs in CloudWatch Logs, /// logs in an S3 bucket, or both.

                          pub fn logs_config(mut self, input: crate::model::LogsConfig) -> Self { self.logs_config = Some(input); @@ -8566,6 +8566,185 @@ impl UpdateProjectInput { } } +/// See [`UpdateProjectVisibilityInput`](crate::input::UpdateProjectVisibilityInput) +pub mod update_project_visibility_input { + /// A builder for [`UpdateProjectVisibilityInput`](crate::input::UpdateProjectVisibilityInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) project_arn: std::option::Option, + pub(crate) project_visibility: std::option::Option, + pub(crate) resource_access_role: std::option::Option, + } + impl Builder { + ///

                          The Amazon Resource Name (ARN) of the build project.

                          + pub fn project_arn(mut self, input: impl Into) -> Self { + self.project_arn = Some(input.into()); + self + } + pub fn set_project_arn(mut self, input: std::option::Option) -> Self { + self.project_arn = input; + self + } + ///

                          Specifies the visibility of the project's builds. Possible values are:

                          + ///
                          + ///
                          PUBLIC_READ
                          + ///
                          + ///

                          The project builds are visible to the public.

                          + ///
                          + ///
                          PRIVATE
                          + ///
                          + ///

                          The project builds are not visible to the public.

                          + ///
                          + ///
                          + pub fn project_visibility(mut self, input: crate::model::ProjectVisibilityType) -> Self { + self.project_visibility = Some(input); + self + } + pub fn set_project_visibility( + mut self, + input: std::option::Option, + ) -> Self { + self.project_visibility = input; + self + } + ///

                          The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for + /// the project's builds.

                          + pub fn resource_access_role(mut self, input: impl Into) -> Self { + self.resource_access_role = Some(input.into()); + self + } + pub fn set_resource_access_role( + mut self, + input: std::option::Option, + ) -> Self { + self.resource_access_role = input; + self + } + /// Consumes the builder and constructs a [`UpdateProjectVisibilityInput`](crate::input::UpdateProjectVisibilityInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateProjectVisibilityInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateProjectVisibilityInput { + project_arn: self.project_arn, + project_visibility: self.project_visibility, + resource_access_role: self.resource_access_role, + }) + } + } +} +#[doc(hidden)] +pub type UpdateProjectVisibilityInputOperationOutputAlias = + crate::operation::UpdateProjectVisibility; +#[doc(hidden)] +pub type UpdateProjectVisibilityInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateProjectVisibilityInput { + /// Consumes the builder and constructs an Operation<[`UpdateProjectVisibility`](crate::operation::UpdateProjectVisibility)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateProjectVisibility, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_project_visibility(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateProjectVisibility::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateProjectVisibility", + "codebuild", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "CodeBuild_20161006.UpdateProjectVisibility", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateProjectVisibilityInput`](crate::input::UpdateProjectVisibilityInput) + pub fn builder() -> crate::input::update_project_visibility_input::Builder { + crate::input::update_project_visibility_input::Builder::default() + } +} + /// See [`UpdateReportGroupInput`](crate::input::UpdateReportGroupInput) pub mod update_report_group_input { /// A builder for [`UpdateReportGroupInput`](crate::input::UpdateReportGroupInput) @@ -8764,7 +8943,7 @@ pub mod update_webhook_input { pub(crate) build_type: std::option::Option, } impl Builder { - ///

                          The name of the AWS CodeBuild project.

                          + ///

                          The name of the CodeBuild project.

                          pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -8956,7 +9135,7 @@ impl UpdateWebhookInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateWebhookInput { - ///

                          The name of the AWS CodeBuild project.

                          + ///

                          The name of the CodeBuild project.

                          pub project_name: std::option::Option, ///

                          A regular expression used to determine which repository branches are built when a /// webhook is triggered. If the name of a branch matches the regular expression, then it is @@ -9017,7 +9196,7 @@ pub struct UpdateReportGroupInput { ///

                          /// An updated list of tag key and value pairs associated with this report group. ///

                          - ///

                          These tags are available for use by AWS services that support AWS CodeBuild report group + ///

                          These tags are available for use by Amazon Web Services services that support CodeBuild report group /// tags.

                          pub tags: std::option::Option>, } @@ -9031,6 +9210,37 @@ impl std::fmt::Debug for UpdateReportGroupInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateProjectVisibilityInput { + ///

                          The Amazon Resource Name (ARN) of the build project.

                          + pub project_arn: std::option::Option, + ///

                          Specifies the visibility of the project's builds. Possible values are:

                          + ///
                          + ///
                          PUBLIC_READ
                          + ///
                          + ///

                          The project builds are visible to the public.

                          + ///
                          + ///
                          PRIVATE
                          + ///
                          + ///

                          The project builds are not visible to the public.

                          + ///
                          + ///
                          + pub project_visibility: std::option::Option, + ///

                          The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for + /// the project's builds.

                          + pub resource_access_role: std::option::Option, +} +impl std::fmt::Debug for UpdateProjectVisibilityInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateProjectVisibilityInput"); + formatter.field("project_arn", &self.project_arn); + formatter.field("project_visibility", &self.project_visibility); + formatter.field("resource_access_role", &self.resource_access_role); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateProjectInput { @@ -9050,7 +9260,7 @@ pub struct UpdateProjectInput { /// latest version is used. If specified, it must be one of:

                          ///
                            ///
                          • - ///

                            For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                            + ///

                            For CodeCommit: the commit ID, branch, or Git tag to use.

                            ///
                          • ///
                          • ///

                            For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -9074,7 +9284,7 @@ pub struct UpdateProjectInput { ///

                            If sourceVersion is specified at the build level, then that version /// takes precedence over this sourceVersion (at the project level).

                            ///

                            For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

                            pub source_version: std::option::Option, ///

                            An array of ProjectSourceVersion objects. If @@ -9092,15 +9302,15 @@ pub struct UpdateProjectInput { pub cache: std::option::Option, ///

                            Information to be changed about the build environment for the build project.

                            pub environment: std::option::Option, - ///

                            The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent - /// AWS services on behalf of the AWS account.

                            + ///

                            The replacement ARN of the IAM role that enables CodeBuild to interact with dependent + /// Amazon Web Services services on behalf of the Amazon Web Services account.

                            pub service_role: std::option::Option, - ///

                            The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before + ///

                            The replacement value in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before /// timing out any related build that did not get marked as completed.

                            pub timeout_in_minutes: std::option::Option, ///

                            The number of minutes a build is allowed to be queued before it times out.

                            pub queued_timeout_in_minutes: std::option::Option, - ///

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                            The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                            /// ///

                            You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -9111,15 +9321,15 @@ pub struct UpdateProjectInput { ///

                            pub encryption_key: std::option::Option, ///

                            An updated list of tag key and value pairs associated with this build project.

                            - ///

                            These tags are available for use by AWS services that support AWS CodeBuild build project + ///

                            These tags are available for use by Amazon Web Services services that support CodeBuild build project /// tags.

                            pub tags: std::option::Option>, - ///

                            VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                            + ///

                            VpcConfig enables CodeBuild to access resources in an Amazon VPC.

                            pub vpc_config: std::option::Option, ///

                            Set this to true to generate a publicly accessible URL for your project's build /// badge.

                            pub badge_enabled: std::option::Option, - ///

                            Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, + ///

                            Information about logs for the build project. A project can create logs in CloudWatch Logs, /// logs in an S3 bucket, or both.

                            pub logs_config: std::option::Option, ///

                            @@ -9209,7 +9419,7 @@ pub struct StartBuildBatchInput { /// the latest version is used. If specified, the contents depends on the source /// provider:

                            ///
                            - ///
                            AWS CodeCommit
                            + ///
                            CodeCommit
                            ///
                            ///

                            The commit ID, branch, or Git tag to use.

                            ///
                            @@ -9238,7 +9448,7 @@ pub struct StartBuildBatchInput { ///

                            If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                            ///

                            For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                            + /// with CodeBuild in the CodeBuild User Guide.

                            pub source_version: std::option::Option, ///

                            An array of ProjectArtifacts objects that contains information about the /// build output artifact overrides for the build project.

                            @@ -9272,7 +9482,7 @@ pub struct StartBuildBatchInput { ///

                            If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -9314,7 +9524,7 @@ pub struct StartBuildBatchInput { pub build_timeout_in_minutes_override: std::option::Option, ///

                            The number of minutes a batch build is allowed to be queued before it times out.

                            pub queued_timeout_in_minutes_override: std::option::Option, - ///

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build + ///

                            The Key Management Service customer master key (CMK) that overrides the one specified in the batch build /// project. The CMK key encrypts the build output artifacts.

                            /// ///

                            You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -9327,7 +9537,7 @@ pub struct StartBuildBatchInput { /// StartBuildBatch request. The token is included in the /// StartBuildBatch request and is valid for five minutes. If you repeat /// the StartBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                            + /// CodeBuild returns a parameter mismatch error.

                            pub idempotency_token: std::option::Option, ///

                            A LogsConfig object that override the log settings defined in the batch build /// project.

                            @@ -9335,21 +9545,21 @@ pub struct StartBuildBatchInput { ///

                            A RegistryCredential object that overrides credentials for access to a /// private registry.

                            pub registry_credential_override: std::option::Option, - ///

                            The type of credentials AWS CodeBuild uses to pull images in your batch build. There are two valid + ///

                            The type of credentials CodeBuild uses to pull images in your batch build. There are two valid /// values:

                            ///
                            ///
                            CODEBUILD
                            ///
                            - ///

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            + ///

                            Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                            ///
                            ///
                            SERVICE_ROLE
                            ///
                            - ///

                            Specifies that AWS CodeBuild uses your build project's service role.

                            + ///

                            Specifies that CodeBuild uses your build project's service role.

                            ///
                            ///
                            ///

                            When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                            pub image_pull_credentials_type_override: std::option::Option, @@ -9434,7 +9644,7 @@ impl std::fmt::Debug for StartBuildBatchInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartBuildInput { - ///

                            The name of the AWS CodeBuild build project to start running a build.

                            + ///

                            The name of the CodeBuild build project to start running a build.

                            pub project_name: std::option::Option, ///

                            An array of ProjectSource objects.

                            pub secondary_sources_override: std::option::Option>, @@ -9446,7 +9656,7 @@ pub struct StartBuildInput { /// the latest version is used. If specified, the contents depends on the source /// provider:

                            ///
                            - ///
                            AWS CodeCommit
                            + ///
                            CodeCommit
                            ///
                            ///

                            The commit ID, branch, or Git tag to use.

                            ///
                            @@ -9475,7 +9685,7 @@ pub struct StartBuildInput { ///

                            If sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                            ///

                            For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                            + /// with CodeBuild in the CodeBuild User Guide.

                            pub source_version: std::option::Option, ///

                            Build output artifact settings that override, for this build only, the latest ones /// already defined in the build project.

                            @@ -9500,7 +9710,7 @@ pub struct StartBuildInput { ///

                            The user-defined depth of history, with a minimum value of 0, that overrides, for this /// build only, any previous depth of history defined in the build project.

                            pub git_clone_depth_override: std::option::Option, - ///

                            Information about the Git submodules configuration for this build of an AWS CodeBuild build + ///

                            Information about the Git submodules configuration for this build of an CodeBuild build /// project.

                            pub git_submodules_config_override: std::option::Option, ///

                            A buildspec file declaration that overrides, for this build only, the latest one @@ -9508,7 +9718,7 @@ pub struct StartBuildInput { ///

                            If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -9523,7 +9733,7 @@ pub struct StartBuildInput { /// completion. If you use this option with a source provider other than GitHub, GitHub /// Enterprise, or Bitbucket, an invalidInputException is thrown.

                            ///

                            To be able to report the build status to the source provider, the user associated with the source provider must - /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the AWS CodeBuild User Guide.

                            + /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                            /// ///

                            The status of a build triggered by a webhook is always reported to your source /// provider.

                            @@ -9559,7 +9769,7 @@ pub struct StartBuildInput { pub timeout_in_minutes_override: std::option::Option, ///

                            The number of minutes a build is allowed to be queued before it times out.

                            pub queued_timeout_in_minutes_override: std::option::Option, - ///

                            The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build + ///

                            The Key Management Service customer master key (CMK) that overrides the one specified in the build /// project. The CMK key encrypts the build output artifacts.

                            /// ///

                            You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -9571,28 +9781,28 @@ pub struct StartBuildInput { ///

                            A unique, case sensitive identifier you provide to ensure the idempotency of the /// StartBuild request. The token is included in the StartBuild request and is valid for 5 /// minutes. If you repeat the StartBuild request with the same token, but change a - /// parameter, AWS CodeBuild returns a parameter mismatch error.

                            + /// parameter, CodeBuild returns a parameter mismatch error.

                            pub idempotency_token: std::option::Option, ///

                            Log settings for this build that override the log settings defined in the build /// project.

                            pub logs_config_override: std::option::Option, ///

                            The credentials for access to a private registry.

                            pub registry_credential_override: std::option::Option, - ///

                            The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + ///

                            The type of credentials CodeBuild uses to pull images in your build. There are two valid /// values:

                            ///
                            ///
                            CODEBUILD
                            ///
                            - ///

                            Specifies that AWS CodeBuild uses its own credentials. This requires that you - /// modify your ECR repository policy to trust AWS CodeBuild's service principal.

                            + ///

                            Specifies that CodeBuild uses its own credentials. This requires that you + /// modify your ECR repository policy to trust CodeBuild's service principal.

                            ///
                            ///
                            SERVICE_ROLE
                            ///
                            - ///

                            Specifies that AWS CodeBuild uses your build project's service role.

                            + ///

                            Specifies that CodeBuild uses your build project's service role.

                            ///
                            ///
                            ///

                            When using a cross-account or private registry image, you must use - /// SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, + /// SERVICE_ROLE credentials. When using an CodeBuild curated image, /// you must use CODEBUILD credentials.

                            pub image_pull_credentials_type_override: std::option::Option, @@ -9680,7 +9890,7 @@ pub struct RetryBuildBatchInput { /// RetryBuildBatch request. The token is included in the /// RetryBuildBatch request and is valid for five minutes. If you repeat /// the RetryBuildBatch request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                            + /// CodeBuild returns a parameter mismatch error.

                            pub idempotency_token: std::option::Option, ///

                            Specifies the type of retry to perform.

                            pub retry_type: std::option::Option, @@ -9704,7 +9914,7 @@ pub struct RetryBuildInput { /// RetryBuild request. The token is included in the /// RetryBuild request and is valid for five minutes. If you repeat /// the RetryBuild request with the same token, but change a parameter, - /// AWS CodeBuild returns a parameter mismatch error.

                            + /// CodeBuild returns a parameter mismatch error.

                            pub idempotency_token: std::option::Option, } impl std::fmt::Debug for RetryBuildInput { @@ -9720,7 +9930,7 @@ impl std::fmt::Debug for RetryBuildInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutResourcePolicyInput { ///

                            A JSON-formatted resource policy. For more information, see Sharing - /// a Project and Sharing a Report Group in the AWS CodeBuild User Guide. + /// a Project and Sharing a Report Group in the CodeBuild User Guide. ///

                            pub policy: std::option::Option, ///

                            The ARN of the Project or ReportGroup resource you want to @@ -9761,7 +9971,7 @@ pub struct ListSharedReportGroupsInput { ///

                          • ///
                          pub sort_order: std::option::Option, - ///

                          The criterion to be used to list report groups shared with the current AWS account or + ///

                          The criterion to be used to list report groups shared with the current Amazon Web Services account or /// user. Valid values include:

                          ///
                            ///
                          • @@ -9801,7 +10011,7 @@ impl std::fmt::Debug for ListSharedReportGroupsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListSharedProjectsInput { - ///

                            The criterion to be used to list build projects shared with the current AWS account + ///

                            The criterion to be used to list build projects shared with the current Amazon Web Services account /// or user. Valid values include:

                            ///
                              ///
                            • @@ -10059,7 +10269,7 @@ impl std::fmt::Debug for ListCuratedEnvironmentImagesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListBuildsForProjectInput { - ///

                              The name of the AWS CodeBuild project.

                              + ///

                              The name of the CodeBuild project.

                              pub project_name: std::option::Option, ///

                              The order to list results in. The results are sorted by build number, not the build /// identifier.

                              @@ -10209,7 +10419,7 @@ impl std::fmt::Debug for ListBuildBatchesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidateProjectCacheInput { - ///

                              The name of the AWS CodeBuild build project that the cache is reset for.

                              + ///

                              The name of the CodeBuild build project that the cache is reset for.

                              pub project_name: std::option::Option, } impl std::fmt::Debug for InvalidateProjectCacheInput { @@ -10233,7 +10443,7 @@ pub struct ImportSourceCredentialsInput { pub server_type: std::option::Option, ///

                              The type of authentication used to connect to a GitHub, GitHub Enterprise, or /// Bitbucket repository. An OAUTH connection is not supported by the API and must be - /// created using the AWS CodeBuild console.

                              + /// created using the CodeBuild console.

                              pub auth_type: std::option::Option, ///

                              Set to false to prevent overwriting the repository source credentials. /// Set to true to overwrite the repository source credentials. The default @@ -10438,7 +10648,7 @@ impl std::fmt::Debug for DescribeCodeCoveragesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteWebhookInput { - ///

                              The name of the AWS CodeBuild project.

                              + ///

                              The name of the CodeBuild project.

                              pub project_name: std::option::Option, } impl std::fmt::Debug for DeleteWebhookInput { @@ -10545,7 +10755,7 @@ impl std::fmt::Debug for DeleteBuildBatchInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateWebhookInput { - ///

                              The name of the AWS CodeBuild project.

                              + ///

                              The name of the CodeBuild project.

                              pub project_name: std::option::Option, ///

                              A regular expression used to determine which repository branches are built when a /// webhook is triggered. If the name of a branch matches the regular expression, then it is @@ -10595,7 +10805,7 @@ pub struct CreateReportGroupInput { ///

                              /// A list of tag key and value pairs associated with this report group. ///

                              - ///

                              These tags are available for use by AWS services that support AWS CodeBuild report group + ///

                              These tags are available for use by Amazon Web Services services that support CodeBuild report group /// tags.

                              pub tags: std::option::Option>, } @@ -10625,7 +10835,7 @@ pub struct CreateProjectInput { /// version is used. If specified, it must be one of:

                              ///
                                ///
                              • - ///

                                For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                                + ///

                                For CodeCommit: the commit ID, branch, or Git tag to use.

                                ///
                              • ///
                              • ///

                                For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -10649,7 +10859,7 @@ pub struct CreateProjectInput { ///

                                If sourceVersion is specified at the build level, then that version takes /// precedence over this sourceVersion (at the project level).

                                ///

                                For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide. + /// with CodeBuild in the CodeBuild User Guide. ///

                                pub source_version: std::option::Option, ///

                                An array of ProjectSourceVersion objects. If @@ -10667,15 +10877,15 @@ pub struct CreateProjectInput { pub cache: std::option::Option, ///

                                Information about the build environment for the build project.

                                pub environment: std::option::Option, - ///

                                The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services - /// on behalf of the AWS account.

                                + ///

                                The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services + /// on behalf of the Amazon Web Services account.

                                pub service_role: std::option::Option, - ///

                                How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out + ///

                                How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before it times out /// any build that has not been marked as completed. The default is 60 minutes.

                                pub timeout_in_minutes: std::option::Option, ///

                                The number of minutes a build is allowed to be queued before it times out.

                                pub queued_timeout_in_minutes: std::option::Option, - ///

                                The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                                The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                                /// ///

                                You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -10686,15 +10896,15 @@ pub struct CreateProjectInput { ///

                                pub encryption_key: std::option::Option, ///

                                A list of tag key and value pairs associated with this build project.

                                - ///

                                These tags are available for use by AWS services that support AWS CodeBuild build project + ///

                                These tags are available for use by Amazon Web Services services that support CodeBuild build project /// tags.

                                pub tags: std::option::Option>, - ///

                                VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

                                + ///

                                VpcConfig enables CodeBuild to access resources in an Amazon VPC.

                                pub vpc_config: std::option::Option, ///

                                Set this to true to generate a publicly accessible URL for your project's build /// badge.

                                pub badge_enabled: std::option::Option, - ///

                                Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs + ///

                                Information about logs for the build project. These can be logs in CloudWatch Logs, logs /// uploaded to a specified S3 bucket, or both.

                                pub logs_config: std::option::Option, ///

                                @@ -10777,7 +10987,7 @@ impl std::fmt::Debug for BatchGetReportGroupsInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchGetProjectsInput { ///

                                The names or ARNs of the build projects. To get information about a project shared - /// with your AWS account, its ARN must be specified. You cannot specify a shared project + /// with your Amazon Web Services account, its ARN must be specified. You cannot specify a shared project /// using its name.

                                pub names: std::option::Option>, } diff --git a/sdk/codebuild/src/json_deser.rs b/sdk/codebuild/src/json_deser.rs index 0e0b0385b251..fb834188764e 100644 --- a/sdk/codebuild/src/json_deser.rs +++ b/sdk/codebuild/src/json_deser.rs @@ -1667,6 +1667,64 @@ pub fn deser_operation_update_project( Ok(builder) } +pub fn deser_operation_update_project_visibility( + input: &[u8], + mut builder: crate::output::update_project_visibility_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "projectArn" => { + builder = builder.set_project_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "publicProjectAlias" => { + builder = builder.set_public_project_alias( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "projectVisibility" => { + builder = builder.set_project_visibility( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ProjectVisibilityType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_update_report_group( input: &[u8], mut builder: crate::output::update_report_group_output::Builder, @@ -2333,6 +2391,37 @@ where .map(|v| v.to_i32()), ); } + "projectVisibility" => { + builder = builder.set_project_visibility( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ProjectVisibilityType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "publicProjectAlias" => { + builder = builder.set_public_project_alias( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "resourceAccessRole" => { + builder = builder.set_resource_access_role( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/codebuild/src/json_ser.rs b/sdk/codebuild/src/json_ser.rs index 9e81dbcbe684..d987ee5d196a 100644 --- a/sdk/codebuild/src/json_ser.rs +++ b/sdk/codebuild/src/json_ser.rs @@ -1200,28 +1200,43 @@ pub fn serialize_structure_update_project_input( } } +pub fn serialize_structure_update_project_visibility_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateProjectVisibilityInput, +) { + if let Some(var_302) = &input.project_arn { + object.key("projectArn").string(var_302); + } + if let Some(var_303) = &input.project_visibility { + object.key("projectVisibility").string(var_303.as_str()); + } + if let Some(var_304) = &input.resource_access_role { + object.key("resourceAccessRole").string(var_304); + } +} + pub fn serialize_structure_update_report_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateReportGroupInput, ) { - if let Some(var_302) = &input.arn { - object.key("arn").string(var_302); + if let Some(var_305) = &input.arn { + object.key("arn").string(var_305); } - if let Some(var_303) = &input.export_config { - let mut object_304 = object.key("exportConfig").start_object(); - crate::json_ser::serialize_structure_report_export_config(&mut object_304, var_303); - object_304.finish(); + if let Some(var_306) = &input.export_config { + let mut object_307 = object.key("exportConfig").start_object(); + crate::json_ser::serialize_structure_report_export_config(&mut object_307, var_306); + object_307.finish(); } - if let Some(var_305) = &input.tags { - let mut array_306 = object.key("tags").start_array(); - for item_307 in var_305 { + if let Some(var_308) = &input.tags { + let mut array_309 = object.key("tags").start_array(); + for item_310 in var_308 { { - let mut object_308 = array_306.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_308, item_307); - object_308.finish(); + let mut object_311 = array_309.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_311, item_310); + object_311.finish(); } } - array_306.finish(); + array_309.finish(); } } @@ -1229,37 +1244,37 @@ pub fn serialize_structure_update_webhook_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateWebhookInput, ) { - if let Some(var_309) = &input.project_name { - object.key("projectName").string(var_309); + if let Some(var_312) = &input.project_name { + object.key("projectName").string(var_312); } - if let Some(var_310) = &input.branch_filter { - object.key("branchFilter").string(var_310); + if let Some(var_313) = &input.branch_filter { + object.key("branchFilter").string(var_313); } if input.rotate_secret { object.key("rotateSecret").boolean(input.rotate_secret); } - if let Some(var_311) = &input.filter_groups { - let mut array_312 = object.key("filterGroups").start_array(); - for item_313 in var_311 { + if let Some(var_314) = &input.filter_groups { + let mut array_315 = object.key("filterGroups").start_array(); + for item_316 in var_314 { { - let mut array_314 = array_312.value().start_array(); - for item_315 in item_313 { + let mut array_317 = array_315.value().start_array(); + for item_318 in item_316 { { - let mut object_316 = array_314.value().start_object(); + let mut object_319 = array_317.value().start_object(); crate::json_ser::serialize_structure_webhook_filter( - &mut object_316, - item_315, + &mut object_319, + item_318, ); - object_316.finish(); + object_319.finish(); } } - array_314.finish(); + array_317.finish(); } } - array_312.finish(); + array_315.finish(); } - if let Some(var_317) = &input.build_type { - object.key("buildType").string(var_317.as_str()); + if let Some(var_320) = &input.build_type { + object.key("buildType").string(var_320.as_str()); } } @@ -1267,44 +1282,44 @@ pub fn serialize_structure_project_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectSource, ) { - if let Some(var_318) = &input.r#type { - object.key("type").string(var_318.as_str()); + if let Some(var_321) = &input.r#type { + object.key("type").string(var_321.as_str()); } - if let Some(var_319) = &input.location { - object.key("location").string(var_319); + if let Some(var_322) = &input.location { + object.key("location").string(var_322); } - if let Some(var_320) = &input.git_clone_depth { + if let Some(var_323) = &input.git_clone_depth { object.key("gitCloneDepth").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_320).into()), + smithy_types::Number::NegInt((*var_323).into()), ); } - if let Some(var_321) = &input.git_submodules_config { - let mut object_322 = object.key("gitSubmodulesConfig").start_object(); - crate::json_ser::serialize_structure_git_submodules_config(&mut object_322, var_321); - object_322.finish(); - } - if let Some(var_323) = &input.buildspec { - object.key("buildspec").string(var_323); - } - if let Some(var_324) = &input.auth { - let mut object_325 = object.key("auth").start_object(); - crate::json_ser::serialize_structure_source_auth(&mut object_325, var_324); + if let Some(var_324) = &input.git_submodules_config { + let mut object_325 = object.key("gitSubmodulesConfig").start_object(); + crate::json_ser::serialize_structure_git_submodules_config(&mut object_325, var_324); object_325.finish(); } - if let Some(var_326) = &input.report_build_status { - object.key("reportBuildStatus").boolean(*var_326); + if let Some(var_326) = &input.buildspec { + object.key("buildspec").string(var_326); } - if let Some(var_327) = &input.build_status_config { - let mut object_328 = object.key("buildStatusConfig").start_object(); - crate::json_ser::serialize_structure_build_status_config(&mut object_328, var_327); + if let Some(var_327) = &input.auth { + let mut object_328 = object.key("auth").start_object(); + crate::json_ser::serialize_structure_source_auth(&mut object_328, var_327); object_328.finish(); } - if let Some(var_329) = &input.insecure_ssl { - object.key("insecureSsl").boolean(*var_329); + if let Some(var_329) = &input.report_build_status { + object.key("reportBuildStatus").boolean(*var_329); } - if let Some(var_330) = &input.source_identifier { - object.key("sourceIdentifier").string(var_330); + if let Some(var_330) = &input.build_status_config { + let mut object_331 = object.key("buildStatusConfig").start_object(); + crate::json_ser::serialize_structure_build_status_config(&mut object_331, var_330); + object_331.finish(); + } + if let Some(var_332) = &input.insecure_ssl { + object.key("insecureSsl").boolean(*var_332); + } + if let Some(var_333) = &input.source_identifier { + object.key("sourceIdentifier").string(var_333); } } @@ -1312,11 +1327,11 @@ pub fn serialize_structure_project_source_version( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectSourceVersion, ) { - if let Some(var_331) = &input.source_identifier { - object.key("sourceIdentifier").string(var_331); + if let Some(var_334) = &input.source_identifier { + object.key("sourceIdentifier").string(var_334); } - if let Some(var_332) = &input.source_version { - object.key("sourceVersion").string(var_332); + if let Some(var_335) = &input.source_version { + object.key("sourceVersion").string(var_335); } } @@ -1324,35 +1339,35 @@ pub fn serialize_structure_project_artifacts( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectArtifacts, ) { - if let Some(var_333) = &input.r#type { - object.key("type").string(var_333.as_str()); + if let Some(var_336) = &input.r#type { + object.key("type").string(var_336.as_str()); } - if let Some(var_334) = &input.location { - object.key("location").string(var_334); + if let Some(var_337) = &input.location { + object.key("location").string(var_337); } - if let Some(var_335) = &input.path { - object.key("path").string(var_335); + if let Some(var_338) = &input.path { + object.key("path").string(var_338); } - if let Some(var_336) = &input.namespace_type { - object.key("namespaceType").string(var_336.as_str()); + if let Some(var_339) = &input.namespace_type { + object.key("namespaceType").string(var_339.as_str()); } - if let Some(var_337) = &input.name { - object.key("name").string(var_337); + if let Some(var_340) = &input.name { + object.key("name").string(var_340); } - if let Some(var_338) = &input.packaging { - object.key("packaging").string(var_338.as_str()); + if let Some(var_341) = &input.packaging { + object.key("packaging").string(var_341.as_str()); } - if let Some(var_339) = &input.override_artifact_name { - object.key("overrideArtifactName").boolean(*var_339); + if let Some(var_342) = &input.override_artifact_name { + object.key("overrideArtifactName").boolean(*var_342); } - if let Some(var_340) = &input.encryption_disabled { - object.key("encryptionDisabled").boolean(*var_340); + if let Some(var_343) = &input.encryption_disabled { + object.key("encryptionDisabled").boolean(*var_343); } - if let Some(var_341) = &input.artifact_identifier { - object.key("artifactIdentifier").string(var_341); + if let Some(var_344) = &input.artifact_identifier { + object.key("artifactIdentifier").string(var_344); } - if let Some(var_342) = &input.bucket_owner_access { - object.key("bucketOwnerAccess").string(var_342.as_str()); + if let Some(var_345) = &input.bucket_owner_access { + object.key("bucketOwnerAccess").string(var_345.as_str()); } } @@ -1360,20 +1375,20 @@ pub fn serialize_structure_project_cache( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectCache, ) { - if let Some(var_343) = &input.r#type { - object.key("type").string(var_343.as_str()); + if let Some(var_346) = &input.r#type { + object.key("type").string(var_346.as_str()); } - if let Some(var_344) = &input.location { - object.key("location").string(var_344); + if let Some(var_347) = &input.location { + object.key("location").string(var_347); } - if let Some(var_345) = &input.modes { - let mut array_346 = object.key("modes").start_array(); - for item_347 in var_345 { + if let Some(var_348) = &input.modes { + let mut array_349 = object.key("modes").start_array(); + for item_350 in var_348 { { - array_346.value().string(item_347.as_str()); + array_349.value().string(item_350.as_str()); } } - array_346.finish(); + array_349.finish(); } } @@ -1381,44 +1396,44 @@ pub fn serialize_structure_project_environment( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectEnvironment, ) { - if let Some(var_348) = &input.r#type { - object.key("type").string(var_348.as_str()); + if let Some(var_351) = &input.r#type { + object.key("type").string(var_351.as_str()); } - if let Some(var_349) = &input.image { - object.key("image").string(var_349); + if let Some(var_352) = &input.image { + object.key("image").string(var_352); } - if let Some(var_350) = &input.compute_type { - object.key("computeType").string(var_350.as_str()); + if let Some(var_353) = &input.compute_type { + object.key("computeType").string(var_353.as_str()); } - if let Some(var_351) = &input.environment_variables { - let mut array_352 = object.key("environmentVariables").start_array(); - for item_353 in var_351 { + if let Some(var_354) = &input.environment_variables { + let mut array_355 = object.key("environmentVariables").start_array(); + for item_356 in var_354 { { - let mut object_354 = array_352.value().start_object(); + let mut object_357 = array_355.value().start_object(); crate::json_ser::serialize_structure_environment_variable( - &mut object_354, - item_353, + &mut object_357, + item_356, ); - object_354.finish(); + object_357.finish(); } } - array_352.finish(); + array_355.finish(); } - if let Some(var_355) = &input.privileged_mode { - object.key("privilegedMode").boolean(*var_355); + if let Some(var_358) = &input.privileged_mode { + object.key("privilegedMode").boolean(*var_358); } - if let Some(var_356) = &input.certificate { - object.key("certificate").string(var_356); + if let Some(var_359) = &input.certificate { + object.key("certificate").string(var_359); } - if let Some(var_357) = &input.registry_credential { - let mut object_358 = object.key("registryCredential").start_object(); - crate::json_ser::serialize_structure_registry_credential(&mut object_358, var_357); - object_358.finish(); + if let Some(var_360) = &input.registry_credential { + let mut object_361 = object.key("registryCredential").start_object(); + crate::json_ser::serialize_structure_registry_credential(&mut object_361, var_360); + object_361.finish(); } - if let Some(var_359) = &input.image_pull_credentials_type { + if let Some(var_362) = &input.image_pull_credentials_type { object .key("imagePullCredentialsType") - .string(var_359.as_str()); + .string(var_362.as_str()); } } @@ -1426,11 +1441,11 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_360) = &input.key { - object.key("key").string(var_360); + if let Some(var_363) = &input.key { + object.key("key").string(var_363); } - if let Some(var_361) = &input.value { - object.key("value").string(var_361); + if let Some(var_364) = &input.value { + object.key("value").string(var_364); } } @@ -1438,26 +1453,26 @@ pub fn serialize_structure_vpc_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::VpcConfig, ) { - if let Some(var_362) = &input.vpc_id { - object.key("vpcId").string(var_362); + if let Some(var_365) = &input.vpc_id { + object.key("vpcId").string(var_365); } - if let Some(var_363) = &input.subnets { - let mut array_364 = object.key("subnets").start_array(); - for item_365 in var_363 { + if let Some(var_366) = &input.subnets { + let mut array_367 = object.key("subnets").start_array(); + for item_368 in var_366 { { - array_364.value().string(item_365); + array_367.value().string(item_368); } } - array_364.finish(); + array_367.finish(); } - if let Some(var_366) = &input.security_group_ids { - let mut array_367 = object.key("securityGroupIds").start_array(); - for item_368 in var_366 { + if let Some(var_369) = &input.security_group_ids { + let mut array_370 = object.key("securityGroupIds").start_array(); + for item_371 in var_369 { { - array_367.value().string(item_368); + array_370.value().string(item_371); } } - array_367.finish(); + array_370.finish(); } } @@ -1465,15 +1480,15 @@ pub fn serialize_structure_logs_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LogsConfig, ) { - if let Some(var_369) = &input.cloud_watch_logs { - let mut object_370 = object.key("cloudWatchLogs").start_object(); - crate::json_ser::serialize_structure_cloud_watch_logs_config(&mut object_370, var_369); - object_370.finish(); + if let Some(var_372) = &input.cloud_watch_logs { + let mut object_373 = object.key("cloudWatchLogs").start_object(); + crate::json_ser::serialize_structure_cloud_watch_logs_config(&mut object_373, var_372); + object_373.finish(); } - if let Some(var_371) = &input.s3_logs { - let mut object_372 = object.key("s3Logs").start_object(); - crate::json_ser::serialize_structure_s3_logs_config(&mut object_372, var_371); - object_372.finish(); + if let Some(var_374) = &input.s3_logs { + let mut object_375 = object.key("s3Logs").start_object(); + crate::json_ser::serialize_structure_s3_logs_config(&mut object_375, var_374); + object_375.finish(); } } @@ -1481,20 +1496,20 @@ pub fn serialize_structure_project_file_system_location( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectFileSystemLocation, ) { - if let Some(var_373) = &input.r#type { - object.key("type").string(var_373.as_str()); + if let Some(var_376) = &input.r#type { + object.key("type").string(var_376.as_str()); } - if let Some(var_374) = &input.location { - object.key("location").string(var_374); + if let Some(var_377) = &input.location { + object.key("location").string(var_377); } - if let Some(var_375) = &input.mount_point { - object.key("mountPoint").string(var_375); + if let Some(var_378) = &input.mount_point { + object.key("mountPoint").string(var_378); } - if let Some(var_376) = &input.identifier { - object.key("identifier").string(var_376); + if let Some(var_379) = &input.identifier { + object.key("identifier").string(var_379); } - if let Some(var_377) = &input.mount_options { - object.key("mountOptions").string(var_377); + if let Some(var_380) = &input.mount_options { + object.key("mountOptions").string(var_380); } } @@ -1502,21 +1517,21 @@ pub fn serialize_structure_project_build_batch_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProjectBuildBatchConfig, ) { - if let Some(var_378) = &input.service_role { - object.key("serviceRole").string(var_378); + if let Some(var_381) = &input.service_role { + object.key("serviceRole").string(var_381); } - if let Some(var_379) = &input.combine_artifacts { - object.key("combineArtifacts").boolean(*var_379); + if let Some(var_382) = &input.combine_artifacts { + object.key("combineArtifacts").boolean(*var_382); } - if let Some(var_380) = &input.restrictions { - let mut object_381 = object.key("restrictions").start_object(); - crate::json_ser::serialize_structure_batch_restrictions(&mut object_381, var_380); - object_381.finish(); + if let Some(var_383) = &input.restrictions { + let mut object_384 = object.key("restrictions").start_object(); + crate::json_ser::serialize_structure_batch_restrictions(&mut object_384, var_383); + object_384.finish(); } - if let Some(var_382) = &input.timeout_in_mins { + if let Some(var_385) = &input.timeout_in_mins { object.key("timeoutInMins").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_382).into()), + smithy_types::Number::NegInt((*var_385).into()), ); } } @@ -1525,13 +1540,13 @@ pub fn serialize_structure_report_export_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ReportExportConfig, ) { - if let Some(var_383) = &input.export_config_type { - object.key("exportConfigType").string(var_383.as_str()); + if let Some(var_386) = &input.export_config_type { + object.key("exportConfigType").string(var_386.as_str()); } - if let Some(var_384) = &input.s3_destination { - let mut object_385 = object.key("s3Destination").start_object(); - crate::json_ser::serialize_structure_s3_report_export_config(&mut object_385, var_384); - object_385.finish(); + if let Some(var_387) = &input.s3_destination { + let mut object_388 = object.key("s3Destination").start_object(); + crate::json_ser::serialize_structure_s3_report_export_config(&mut object_388, var_387); + object_388.finish(); } } @@ -1539,14 +1554,14 @@ pub fn serialize_structure_webhook_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::WebhookFilter, ) { - if let Some(var_386) = &input.r#type { - object.key("type").string(var_386.as_str()); + if let Some(var_389) = &input.r#type { + object.key("type").string(var_389.as_str()); } - if let Some(var_387) = &input.pattern { - object.key("pattern").string(var_387); + if let Some(var_390) = &input.pattern { + object.key("pattern").string(var_390); } - if let Some(var_388) = &input.exclude_matched_pattern { - object.key("excludeMatchedPattern").boolean(*var_388); + if let Some(var_391) = &input.exclude_matched_pattern { + object.key("excludeMatchedPattern").boolean(*var_391); } } @@ -1554,11 +1569,11 @@ pub fn serialize_structure_test_case_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TestCaseFilter, ) { - if let Some(var_389) = &input.status { - object.key("status").string(var_389); + if let Some(var_392) = &input.status { + object.key("status").string(var_392); } - if let Some(var_390) = &input.keyword { - object.key("keyword").string(var_390); + if let Some(var_393) = &input.keyword { + object.key("keyword").string(var_393); } } @@ -1566,8 +1581,8 @@ pub fn serialize_structure_build_batch_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BuildBatchFilter, ) { - if let Some(var_391) = &input.status { - object.key("status").string(var_391.as_str()); + if let Some(var_394) = &input.status { + object.key("status").string(var_394.as_str()); } } @@ -1575,8 +1590,8 @@ pub fn serialize_structure_report_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ReportFilter, ) { - if let Some(var_392) = &input.status { - object.key("status").string(var_392.as_str()); + if let Some(var_395) = &input.status { + object.key("status").string(var_395.as_str()); } } @@ -1584,14 +1599,14 @@ pub fn serialize_structure_environment_variable( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EnvironmentVariable, ) { - if let Some(var_393) = &input.name { - object.key("name").string(var_393); + if let Some(var_396) = &input.name { + object.key("name").string(var_396); } - if let Some(var_394) = &input.value { - object.key("value").string(var_394); + if let Some(var_397) = &input.value { + object.key("value").string(var_397); } - if let Some(var_395) = &input.r#type { - object.key("type").string(var_395.as_str()); + if let Some(var_398) = &input.r#type { + object.key("type").string(var_398.as_str()); } } @@ -1599,11 +1614,11 @@ pub fn serialize_structure_source_auth( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceAuth, ) { - if let Some(var_396) = &input.r#type { - object.key("type").string(var_396.as_str()); + if let Some(var_399) = &input.r#type { + object.key("type").string(var_399.as_str()); } - if let Some(var_397) = &input.resource { - object.key("resource").string(var_397); + if let Some(var_400) = &input.resource { + object.key("resource").string(var_400); } } @@ -1611,8 +1626,8 @@ pub fn serialize_structure_git_submodules_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GitSubmodulesConfig, ) { - if let Some(var_398) = &input.fetch_submodules { - object.key("fetchSubmodules").boolean(*var_398); + if let Some(var_401) = &input.fetch_submodules { + object.key("fetchSubmodules").boolean(*var_401); } } @@ -1620,11 +1635,11 @@ pub fn serialize_structure_build_status_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BuildStatusConfig, ) { - if let Some(var_399) = &input.context { - object.key("context").string(var_399); + if let Some(var_402) = &input.context { + object.key("context").string(var_402); } - if let Some(var_400) = &input.target_url { - object.key("targetUrl").string(var_400); + if let Some(var_403) = &input.target_url { + object.key("targetUrl").string(var_403); } } @@ -1632,11 +1647,11 @@ pub fn serialize_structure_registry_credential( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RegistryCredential, ) { - if let Some(var_401) = &input.credential { - object.key("credential").string(var_401); + if let Some(var_404) = &input.credential { + object.key("credential").string(var_404); } - if let Some(var_402) = &input.credential_provider { - object.key("credentialProvider").string(var_402.as_str()); + if let Some(var_405) = &input.credential_provider { + object.key("credentialProvider").string(var_405.as_str()); } } @@ -1644,14 +1659,14 @@ pub fn serialize_structure_cloud_watch_logs_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CloudWatchLogsConfig, ) { - if let Some(var_403) = &input.status { - object.key("status").string(var_403.as_str()); + if let Some(var_406) = &input.status { + object.key("status").string(var_406.as_str()); } - if let Some(var_404) = &input.group_name { - object.key("groupName").string(var_404); + if let Some(var_407) = &input.group_name { + object.key("groupName").string(var_407); } - if let Some(var_405) = &input.stream_name { - object.key("streamName").string(var_405); + if let Some(var_408) = &input.stream_name { + object.key("streamName").string(var_408); } } @@ -1659,17 +1674,17 @@ pub fn serialize_structure_s3_logs_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3LogsConfig, ) { - if let Some(var_406) = &input.status { - object.key("status").string(var_406.as_str()); + if let Some(var_409) = &input.status { + object.key("status").string(var_409.as_str()); } - if let Some(var_407) = &input.location { - object.key("location").string(var_407); + if let Some(var_410) = &input.location { + object.key("location").string(var_410); } - if let Some(var_408) = &input.encryption_disabled { - object.key("encryptionDisabled").boolean(*var_408); + if let Some(var_411) = &input.encryption_disabled { + object.key("encryptionDisabled").boolean(*var_411); } - if let Some(var_409) = &input.bucket_owner_access { - object.key("bucketOwnerAccess").string(var_409.as_str()); + if let Some(var_412) = &input.bucket_owner_access { + object.key("bucketOwnerAccess").string(var_412.as_str()); } } @@ -1677,20 +1692,20 @@ pub fn serialize_structure_batch_restrictions( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BatchRestrictions, ) { - if let Some(var_410) = &input.maximum_builds_allowed { + if let Some(var_413) = &input.maximum_builds_allowed { object.key("maximumBuildsAllowed").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_410).into()), + smithy_types::Number::NegInt((*var_413).into()), ); } - if let Some(var_411) = &input.compute_types_allowed { - let mut array_412 = object.key("computeTypesAllowed").start_array(); - for item_413 in var_411 { + if let Some(var_414) = &input.compute_types_allowed { + let mut array_415 = object.key("computeTypesAllowed").start_array(); + for item_416 in var_414 { { - array_412.value().string(item_413); + array_415.value().string(item_416); } } - array_412.finish(); + array_415.finish(); } } @@ -1698,22 +1713,22 @@ pub fn serialize_structure_s3_report_export_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3ReportExportConfig, ) { - if let Some(var_414) = &input.bucket { - object.key("bucket").string(var_414); + if let Some(var_417) = &input.bucket { + object.key("bucket").string(var_417); } - if let Some(var_415) = &input.bucket_owner { - object.key("bucketOwner").string(var_415); + if let Some(var_418) = &input.bucket_owner { + object.key("bucketOwner").string(var_418); } - if let Some(var_416) = &input.path { - object.key("path").string(var_416); + if let Some(var_419) = &input.path { + object.key("path").string(var_419); } - if let Some(var_417) = &input.packaging { - object.key("packaging").string(var_417.as_str()); + if let Some(var_420) = &input.packaging { + object.key("packaging").string(var_420.as_str()); } - if let Some(var_418) = &input.encryption_key { - object.key("encryptionKey").string(var_418); + if let Some(var_421) = &input.encryption_key { + object.key("encryptionKey").string(var_421); } - if let Some(var_419) = &input.encryption_disabled { - object.key("encryptionDisabled").boolean(*var_419); + if let Some(var_422) = &input.encryption_disabled { + object.key("encryptionDisabled").boolean(*var_422); } } diff --git a/sdk/codebuild/src/lib.rs b/sdk/codebuild/src/lib.rs index 9cd267956a70..7702a15b84da 100644 --- a/sdk/codebuild/src/lib.rs +++ b/sdk/codebuild/src/lib.rs @@ -4,15 +4,15 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//! AWS CodeBuild -//!

                                AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, -//! runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the +//! CodeBuild +//!

                                CodeBuild is a fully managed build service in the cloud. CodeBuild compiles your source code, +//! runs unit tests, and produces artifacts that are ready to deploy. CodeBuild eliminates the //! need to provision, manage, and scale your own build servers. It provides prepackaged //! build environments for the most popular programming languages and build tools, such as -//! Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild -//! to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests. You -//! pay only for the build time you consume. For more information about AWS CodeBuild, see the -//! AWS CodeBuild User +//! Apache Maven, Gradle, and more. You can also fully customize build environments in CodeBuild +//! to use your own build tools. CodeBuild scales automatically to meet peak build requests. You +//! pay only for the build time you consume. For more information about CodeBuild, see the +//! CodeBuild User //! Guide. //!

                                diff --git a/sdk/codebuild/src/model.rs b/sdk/codebuild/src/model.rs index a576c15fe701..d16fd624229f 100644 --- a/sdk/codebuild/src/model.rs +++ b/sdk/codebuild/src/model.rs @@ -1,12 +1,12 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

                                Information about a webhook that connects repository events to a build project in -/// AWS CodeBuild.

                                +/// CodeBuild.

                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Webhook { ///

                                The URL to the webhook.

                                pub url: std::option::Option, - ///

                                The AWS CodeBuild endpoint where webhook events are sent.

                                + ///

                                The CodeBuild endpoint where webhook events are sent.

                                pub payload_url: std::option::Option, ///

                                The secret token of the associated repository.

                                /// @@ -73,7 +73,7 @@ pub mod webhook { self.url = input; self } - ///

                                The AWS CodeBuild endpoint where webhook events are sent.

                                + ///

                                The CodeBuild endpoint where webhook events are sent.

                                pub fn payload_url(mut self, input: impl Into) -> Self { self.payload_url = Some(input.into()); self @@ -572,7 +572,7 @@ pub struct ReportGroup { ///

                                The date and time this ReportGroup was last modified.

                                pub last_modified: std::option::Option, ///

                                A list of tag key and value pairs associated with this report group.

                                - ///

                                These tags are available for use by AWS services that support AWS CodeBuild report group + ///

                                These tags are available for use by Amazon Web Services services that support CodeBuild report group /// tags.

                                pub tags: std::option::Option>, ///

                                The status of the report group. This property is read-only.

                                @@ -802,7 +802,7 @@ impl AsRef for ReportGroupStatusType { } ///

                                A tag, consisting of a key and a value.

                                -///

                                This tag is available for use by AWS services that support tags in AWS CodeBuild.

                                +///

                                This tag is available for use by Amazon Web Services services that support tags in CodeBuild.

                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { @@ -958,7 +958,7 @@ impl ReportExportConfig { pub struct S3ReportExportConfig { ///

                                The name of the S3 bucket where the raw data of a report are exported.

                                pub bucket: std::option::Option, - ///

                                The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket + ///

                                The Amazon Web Services account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket /// that is owned by an account other than the account running the build.

                                pub bucket_owner: std::option::Option, ///

                                The path to the exported report's raw data results.

                                @@ -967,12 +967,12 @@ pub struct S3ReportExportConfig { ///
                                  ///
                                • ///

                                  - /// NONE: AWS CodeBuild creates the raw data in the output bucket. This + /// NONE: CodeBuild creates the raw data in the output bucket. This /// is the default if packaging is not specified.

                                  ///
                                • ///
                                • ///

                                  - /// ZIP: AWS CodeBuild creates a ZIP file with the raw data in the + /// ZIP: CodeBuild creates a ZIP file with the raw data in the /// output bucket.

                                  ///
                                • ///
                                @@ -1017,7 +1017,7 @@ pub mod s3_report_export_config { self.bucket = input; self } - ///

                                The AWS account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket + ///

                                The Amazon Web Services account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket /// that is owned by an account other than the account running the build.

                                pub fn bucket_owner(mut self, input: impl Into) -> Self { self.bucket_owner = Some(input.into()); @@ -1040,12 +1040,12 @@ pub mod s3_report_export_config { ///
                                  ///
                                • ///

                                  - /// NONE: AWS CodeBuild creates the raw data in the output bucket. This + /// NONE: CodeBuild creates the raw data in the output bucket. This /// is the default if packaging is not specified.

                                  ///
                                • ///
                                • ///

                                  - /// ZIP: AWS CodeBuild creates a ZIP file with the raw data in the + /// ZIP: CodeBuild creates a ZIP file with the raw data in the /// output bucket.

                                  ///
                                • ///
                                @@ -1251,6 +1251,67 @@ impl AsRef for ReportType { } } +///

                                Specifies the visibility of the project's builds. Possible values are:

                                +///
                                +///
                                PUBLIC_READ
                                +///
                                +///

                                The project builds are visible to the public.

                                +///
                                +///
                                PRIVATE
                                +///
                                +///

                                The project builds are not visible to the public.

                                +///
                                +///
                                +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ProjectVisibilityType { + Private, + PublicRead, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ProjectVisibilityType { + fn from(s: &str) -> Self { + match s { + "PRIVATE" => ProjectVisibilityType::Private, + "PUBLIC_READ" => ProjectVisibilityType::PublicRead, + other => ProjectVisibilityType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ProjectVisibilityType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ProjectVisibilityType::from(s)) + } +} +impl ProjectVisibilityType { + pub fn as_str(&self) -> &str { + match self { + ProjectVisibilityType::Private => "PRIVATE", + ProjectVisibilityType::PublicRead => "PUBLIC_READ", + ProjectVisibilityType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["PRIVATE", "PUBLIC_READ"] + } +} +impl AsRef for ProjectVisibilityType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

                                Information about a build project.

                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -1269,7 +1330,7 @@ pub struct Project { /// latest version is used. If specified, it must be one of:

                                /// + ///

                                For more information, see Docker images provided by CodeBuild in the CodeBuild user + /// guide.

                                pub image: std::option::Option, ///

                                Information about the compute resources the build project uses. Available values /// include:

                                @@ -2902,8 +3065,8 @@ pub struct ProjectEnvironment { /// memory and 8 vCPUs on ARM-based processors for builds.

                                ///
                              • ///
                              - ///

                              For more information, see Build Environment - /// Compute Types in the AWS CodeBuild User Guide. + ///

                              For more information, see Build Environment + /// Compute Types in the CodeBuild User Guide. ///

                              pub compute_type: std::option::Option, ///

                              A set of environment variables to make available to builds for this build @@ -2934,27 +3097,26 @@ pub struct ProjectEnvironment { pub privileged_mode: std::option::Option, ///

                              The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded /// certificate for the build project. For more information, see certificate in the - /// AWS CodeBuild User Guide.

                              + /// CodeBuild User Guide.

                              pub certificate: std::option::Option, ///

                              The credentials for access to a private registry.

                              pub registry_credential: std::option::Option, - ///

                              The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + ///

                              The type of credentials CodeBuild uses to pull images in your build. There are two valid /// values:

                              ///
                                ///
                              • ///

                                - /// CODEBUILD specifies that AWS CodeBuild uses its own credentials. - /// This requires that you modify your ECR repository policy to trust AWS - /// CodeBuild's service principal.

                                + /// CODEBUILD specifies that CodeBuild uses its own credentials. + /// This requires that you modify your ECR repository policy to trust CodeBuild service principal.

                                ///
                              • ///
                              • ///

                                - /// SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service + /// SERVICE_ROLE specifies that CodeBuild uses your build project's service /// role.

                                ///
                              • ///
                              ///

                              When you use a cross-account or private registry image, you must use SERVICE_ROLE - /// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials. + /// credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. ///

                              pub image_pull_credentials_type: std::option::Option, } @@ -3019,6 +3181,16 @@ pub mod project_environment { /// China (Ningxia).

                              ///
                            • ///
                            + ///
                              + ///
                            • + ///

                              The environment types WINDOWS_CONTAINER and + /// WINDOWS_SERVER_2019_CONTAINER are available only in regions + /// US East (N. Virginia), US East (Ohio), US West (Oregon), and + /// EU (Ireland).

                              + ///
                            • + ///
                            + ///

                            For more information, see Build environment compute types in the CodeBuild + /// user guide.

                            pub fn r#type(mut self, input: crate::model::EnvironmentType) -> Self { self.r#type = Some(input); self @@ -3045,6 +3217,8 @@ pub mod project_environment { /// /@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.

                            ///
                          • ///
                          + ///

                          For more information, see Docker images provided by CodeBuild in the CodeBuild user + /// guide.

                          pub fn image(mut self, input: impl Into) -> Self { self.image = Some(input.into()); self @@ -3093,8 +3267,8 @@ pub mod project_environment { /// memory and 8 vCPUs on ARM-based processors for builds.

                          ///
                        • ///
                        - ///

                        For more information, see Build Environment - /// Compute Types in the AWS CodeBuild User Guide. + ///

                        For more information, see Build Environment + /// Compute Types in the CodeBuild User Guide. ///

                        pub fn compute_type(mut self, input: crate::model::ComputeType) -> Self { self.compute_type = Some(input); @@ -3154,7 +3328,7 @@ pub mod project_environment { } ///

                        The ARN of the Amazon S3 bucket, path prefix, and object key that contains the PEM-encoded /// certificate for the build project. For more information, see certificate in the - /// AWS CodeBuild User Guide.

                        + /// CodeBuild User Guide.

                        pub fn certificate(mut self, input: impl Into) -> Self { self.certificate = Some(input.into()); self @@ -3175,23 +3349,22 @@ pub mod project_environment { self.registry_credential = input; self } - ///

                        The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid + ///

                        The type of credentials CodeBuild uses to pull images in your build. There are two valid /// values:

                        ///
                          ///
                        • ///

                          - /// CODEBUILD specifies that AWS CodeBuild uses its own credentials. - /// This requires that you modify your ECR repository policy to trust AWS - /// CodeBuild's service principal.

                          + /// CODEBUILD specifies that CodeBuild uses its own credentials. + /// This requires that you modify your ECR repository policy to trust CodeBuild service principal.

                          ///
                        • ///
                        • ///

                          - /// SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service + /// SERVICE_ROLE specifies that CodeBuild uses your build project's service /// role.

                          ///
                        • ///
                        ///

                        When you use a cross-account or private registry image, you must use SERVICE_ROLE - /// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials. + /// credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. ///

                        pub fn image_pull_credentials_type( mut self, @@ -3292,18 +3465,18 @@ impl AsRef for ImagePullCredentialsType { ///
                      • ///
                      ///

                      For more information, see Private Registry with -/// AWS Secrets Manager Sample for AWS CodeBuild.

                      +/// Secrets Manager Sample for CodeBuild.

                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegistryCredential { - ///

                      The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

                      + ///

                      The Amazon Resource Name (ARN) or name of credentials created using Secrets Manager.

                      /// ///

                      The credential can use the name of the credentials only if they - /// exist in your current AWS Region.

                      + /// exist in your current Amazon Web Services Region.

                      ///
                      pub credential: std::option::Option, ///

                      The service that created the credentials to access a private Docker registry. The - /// valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

                      + /// valid value, SECRETS_MANAGER, is for Secrets Manager.

                      pub credential_provider: std::option::Option, } impl std::fmt::Debug for RegistryCredential { @@ -3324,10 +3497,10 @@ pub mod registry_credential { pub(crate) credential_provider: std::option::Option, } impl Builder { - ///

                      The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

                      + ///

                      The Amazon Resource Name (ARN) or name of credentials created using Secrets Manager.

                      /// ///

                      The credential can use the name of the credentials only if they - /// exist in your current AWS Region.

                      + /// exist in your current Amazon Web Services Region.

                      ///
                      pub fn credential(mut self, input: impl Into) -> Self { self.credential = Some(input.into()); @@ -3338,7 +3511,7 @@ pub mod registry_credential { self } ///

                      The service that created the credentials to access a private Docker registry. The - /// valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

                      + /// valid value, SECRETS_MANAGER, is for Secrets Manager.

                      pub fn credential_provider(mut self, input: crate::model::CredentialProviderType) -> Self { self.credential_provider = Some(input); self @@ -3422,9 +3595,9 @@ pub struct EnvironmentVariable { ///

                      The value of the environment variable.

                      /// ///

                      We strongly discourage the use of PLAINTEXT environment variables to - /// store sensitive values, especially AWS secret key IDs and secret access keys. + /// store sensitive values, especially Amazon Web Services secret key IDs and secret access keys. /// PLAINTEXT environment variables can be displayed in plain text - /// using the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI). For sensitive values, we recommend you use an + /// using the CodeBuild console and the CLI. For sensitive values, we recommend you use an /// environment variable of type PARAMETER_STORE or /// SECRETS_MANAGER.

                      ///
                      @@ -3433,10 +3606,10 @@ pub struct EnvironmentVariable { ///
                        ///
                      • ///

                        - /// PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems Manager + /// PARAMETER_STORE: An environment variable stored in Systems Manager /// Parameter Store. To learn how to specify a parameter store environment variable, /// see env/parameter-store in the - /// AWS CodeBuild User Guide.

                        + /// CodeBuild User Guide.

                        ///
                      • ///
                      • ///

                        @@ -3445,10 +3618,9 @@ pub struct EnvironmentVariable { ///

                      • ///
                      • ///

                        - /// SECRETS_MANAGER: An environment variable stored in AWS Secrets - /// Manager. To learn how to specify a secrets manager environment variable, see + /// SECRETS_MANAGER: An environment variable stored in Secrets Manager. To learn how to specify a secrets manager environment variable, see /// env/secrets-manager in the - /// AWS CodeBuild User Guide.

                        + /// CodeBuild User Guide.

                        ///
                      • ///
                      pub r#type: std::option::Option, @@ -3485,9 +3657,9 @@ pub mod environment_variable { ///

                      The value of the environment variable.

                      /// ///

                      We strongly discourage the use of PLAINTEXT environment variables to - /// store sensitive values, especially AWS secret key IDs and secret access keys. + /// store sensitive values, especially Amazon Web Services secret key IDs and secret access keys. /// PLAINTEXT environment variables can be displayed in plain text - /// using the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI). For sensitive values, we recommend you use an + /// using the CodeBuild console and the CLI. For sensitive values, we recommend you use an /// environment variable of type PARAMETER_STORE or /// SECRETS_MANAGER.

                      ///
                      @@ -3503,10 +3675,10 @@ pub mod environment_variable { ///
                        ///
                      • ///

                        - /// PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems Manager + /// PARAMETER_STORE: An environment variable stored in Systems Manager /// Parameter Store. To learn how to specify a parameter store environment variable, /// see env/parameter-store in the - /// AWS CodeBuild User Guide.

                        + /// CodeBuild User Guide.

                        ///
                      • ///
                      • ///

                        @@ -3515,10 +3687,9 @@ pub mod environment_variable { ///

                      • ///
                      • ///

                        - /// SECRETS_MANAGER: An environment variable stored in AWS Secrets - /// Manager. To learn how to specify a secrets manager environment variable, see + /// SECRETS_MANAGER: An environment variable stored in Secrets Manager. To learn how to specify a secrets manager environment variable, see /// env/secrets-manager in the - /// AWS CodeBuild User Guide.

                        + /// CodeBuild User Guide.

                        ///
                      • ///
                      pub fn r#type(mut self, input: crate::model::EnvironmentVariableType) -> Self { @@ -4033,7 +4204,7 @@ pub struct ProjectArtifacts { ///
                    • ///

                      /// CODEPIPELINE: The build project has build output generated - /// through AWS CodePipeline.

                      + /// through CodePipeline.

                      /// ///

                      The CODEPIPELINE type is not supported for /// secondaryArtifacts.

                      @@ -4053,9 +4224,9 @@ pub struct ProjectArtifacts { ///

                      Information about the build output artifact location:

                      ///
                        ///
                      • - ///

                        If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output locations - /// instead of AWS CodeBuild.

                        + ///

                        If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output locations + /// instead of CodeBuild.

                        ///
                      • ///
                      • ///

                        If type is set to NO_ARTIFACTS, this value is @@ -4067,13 +4238,13 @@ pub struct ProjectArtifacts { ///

                      • ///
                      pub location: std::option::Option, - ///

                      Along with namespaceType and name, the pattern that AWS CodeBuild + ///

                      Along with namespaceType and name, the pattern that CodeBuild /// uses to name and store the output artifact:

                      ///
                        ///
                      • - ///

                        If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                        + ///

                        If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                        ///
                      • ///
                      • ///

                        If type is set to NO_ARTIFACTS, this value is @@ -4090,13 +4261,13 @@ pub struct ProjectArtifacts { /// to MyArtifact.zip, the output artifact is stored in the output bucket at /// MyArtifacts/MyArtifact.zip.

                        pub path: std::option::Option, - ///

                        Along with path and name, the pattern that AWS CodeBuild uses to + ///

                        Along with path and name, the pattern that CodeBuild uses to /// determine the name and location to store the output artifact:

                        ///
                          ///
                        • - ///

                          If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                          + ///

                          If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                          ///
                        • ///
                        • ///

                          If type is set to NO_ARTIFACTS, this value is @@ -4123,13 +4294,13 @@ pub struct ProjectArtifacts { /// set to MyArtifact.zip, the output artifact is stored in /// MyArtifacts//MyArtifact.zip.

                          pub namespace_type: std::option::Option, - ///

                          Along with path and namespaceType, the pattern that AWS CodeBuild + ///

                          Along with path and namespaceType, the pattern that CodeBuild /// uses to name and store the output artifact:

                          ///
                            ///
                          • - ///

                            If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                            + ///

                            If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                            ///
                          • ///
                          • ///

                            If type is set to NO_ARTIFACTS, this value is @@ -4165,9 +4336,9 @@ pub struct ProjectArtifacts { ///

                            The type of build output artifact to create:

                            ///
                              ///
                            • - ///

                              If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output artifacts - /// instead of AWS CodeBuild.

                              + ///

                              If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output artifacts + /// instead of CodeBuild.

                              ///
                            • ///
                            • ///

                              If type is set to NO_ARTIFACTS, this value is @@ -4178,13 +4349,13 @@ pub struct ProjectArtifacts { ///

                                ///
                              • ///

                                - /// NONE: AWS CodeBuild creates in the output bucket a folder that + /// NONE: CodeBuild creates in the output bucket a folder that /// contains the build output. This is the default if packaging /// is not specified.

                                ///
                              • ///
                              • ///

                                - /// ZIP: AWS CodeBuild creates in the output bucket a ZIP file that + /// ZIP: CodeBuild creates in the output bucket a ZIP file that /// contains the build output.

                                ///
                              • ///
                              @@ -4202,11 +4373,16 @@ pub struct ProjectArtifacts { pub encryption_disabled: std::option::Option, ///

                              An identifier for this artifact definition.

                              pub artifact_identifier: std::option::Option, - ///

                              Specifies the access for objects that are uploaded to an Amazon S3 bucket that is owned by - /// another account.

                              - ///

                              By default, only the account that uploads the objects to the bucket has access to - /// these objects. This property allows you to give the bucket owner access to these - /// objects.

                              + ///

                              Specifies the bucket owner's access for objects that another account uploads to their + /// Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has + /// access to these objects. This property allows you to give the bucket owner access to + /// these objects.

                              + /// + ///

                              To use this property, your CodeBuild service role must have the + /// s3:PutBucketAcl permission. This permission allows CodeBuild to modify + /// the access control list for the bucket.

                              + ///
                              + ///

                              This property can be one of the following values:

                              ///
                              ///
                              NONE
                              ///
                              @@ -4215,7 +4391,7 @@ pub struct ProjectArtifacts { ///
                              ///
                              READ_ONLY
                              ///
                              - ///

                              The bucket owner has read only access to the objects. The uploading account + ///

                              The bucket owner has read-only access to the objects. The uploading account /// retains ownership of the objects.

                              ///
                              ///
                              FULL
                              @@ -4280,7 +4456,7 @@ pub mod project_artifacts { ///
                            • ///

                              /// CODEPIPELINE: The build project has build output generated - /// through AWS CodePipeline.

                              + /// through CodePipeline.

                              /// ///

                              The CODEPIPELINE type is not supported for /// secondaryArtifacts.

                              @@ -4307,9 +4483,9 @@ pub mod project_artifacts { ///

                              Information about the build output artifact location:

                              ///
                                ///
                              • - ///

                                If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output locations - /// instead of AWS CodeBuild.

                                + ///

                                If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output locations + /// instead of CodeBuild.

                                ///
                              • ///
                              • ///

                                If type is set to NO_ARTIFACTS, this value is @@ -4328,13 +4504,13 @@ pub mod project_artifacts { self.location = input; self } - ///

                                Along with namespaceType and name, the pattern that AWS CodeBuild + ///

                                Along with namespaceType and name, the pattern that CodeBuild /// uses to name and store the output artifact:

                                ///
                                  ///
                                • - ///

                                  If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                                  + ///

                                  If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                                  ///
                                • ///
                                • ///

                                  If type is set to NO_ARTIFACTS, this value is @@ -4358,13 +4534,13 @@ pub mod project_artifacts { self.path = input; self } - ///

                                  Along with path and name, the pattern that AWS CodeBuild uses to + ///

                                  Along with path and name, the pattern that CodeBuild uses to /// determine the name and location to store the output artifact:

                                  ///
                                    ///
                                  • - ///

                                    If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                                    + ///

                                    If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                                    ///
                                  • ///
                                  • ///

                                    If type is set to NO_ARTIFACTS, this value is @@ -4401,13 +4577,13 @@ pub mod project_artifacts { self.namespace_type = input; self } - ///

                                    Along with path and namespaceType, the pattern that AWS CodeBuild + ///

                                    Along with path and namespaceType, the pattern that CodeBuild /// uses to name and store the output artifact:

                                    ///
                                      ///
                                    • - ///

                                      If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output names instead - /// of AWS CodeBuild.

                                      + ///

                                      If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output names instead + /// of CodeBuild.

                                      ///
                                    • ///
                                    • ///

                                      If type is set to NO_ARTIFACTS, this value is @@ -4450,9 +4626,9 @@ pub mod project_artifacts { ///

                                      The type of build output artifact to create:

                                      ///
                                        ///
                                      • - ///

                                        If type is set to CODEPIPELINE, AWS CodePipeline ignores this - /// value if specified. This is because AWS CodePipeline manages its build output artifacts - /// instead of AWS CodeBuild.

                                        + ///

                                        If type is set to CODEPIPELINE, CodePipeline ignores this + /// value if specified. This is because CodePipeline manages its build output artifacts + /// instead of CodeBuild.

                                        ///
                                      • ///
                                      • ///

                                        If type is set to NO_ARTIFACTS, this value is @@ -4463,13 +4639,13 @@ pub mod project_artifacts { ///

                                          ///
                                        • ///

                                          - /// NONE: AWS CodeBuild creates in the output bucket a folder that + /// NONE: CodeBuild creates in the output bucket a folder that /// contains the build output. This is the default if packaging /// is not specified.

                                          ///
                                        • ///
                                        • ///

                                          - /// ZIP: AWS CodeBuild creates in the output bucket a ZIP file that + /// ZIP: CodeBuild creates in the output bucket a ZIP file that /// contains the build output.

                                          ///
                                        • ///
                                        @@ -4521,11 +4697,16 @@ pub mod project_artifacts { self.artifact_identifier = input; self } - ///

                                        Specifies the access for objects that are uploaded to an Amazon S3 bucket that is owned by - /// another account.

                                        - ///

                                        By default, only the account that uploads the objects to the bucket has access to - /// these objects. This property allows you to give the bucket owner access to these - /// objects.

                                        + ///

                                        Specifies the bucket owner's access for objects that another account uploads to their + /// Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has + /// access to these objects. This property allows you to give the bucket owner access to + /// these objects.

                                        + /// + ///

                                        To use this property, your CodeBuild service role must have the + /// s3:PutBucketAcl permission. This permission allows CodeBuild to modify + /// the access control list for the bucket.

                                        + ///
                                        + ///

                                        This property can be one of the following values:

                                        ///
                                        ///
                                        NONE
                                        ///
                                        @@ -4534,7 +4715,7 @@ pub mod project_artifacts { ///
                                        ///
                                        READ_ONLY
                                        ///
                                        - ///

                                        The bucket owner has read only access to the objects. The uploading account + ///

                                        The bucket owner has read-only access to the objects. The uploading account /// retains ownership of the objects.

                                        ///
                                        ///
                                        FULL
                                        @@ -4757,7 +4938,7 @@ pub struct ProjectSourceVersion { /// of:

                                        ///
                                          ///
                                        • - ///

                                          For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                                          + ///

                                          For CodeCommit: the commit ID, branch, or Git tag to use.

                                          ///
                                        • ///
                                        • ///

                                          For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -4779,7 +4960,7 @@ pub struct ProjectSourceVersion { ///

                                        • ///
                                        ///

                                        For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                                        + /// with CodeBuild in the CodeBuild User Guide.

                                        pub source_version: std::option::Option, } impl std::fmt::Debug for ProjectSourceVersion { @@ -4817,7 +4998,7 @@ pub mod project_source_version { /// of:

                                        ///
                                          ///
                                        • - ///

                                          For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                                          + ///

                                          For CodeCommit: the commit ID, branch, or Git tag to use.

                                          ///
                                        • ///
                                        • ///

                                          For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -4839,7 +5020,7 @@ pub mod project_source_version { ///

                                        • ///
                                        ///

                                        For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                                        + /// with CodeBuild in the CodeBuild User Guide.

                                        pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); self @@ -4880,12 +5061,12 @@ pub struct ProjectSource { ///
                                      • ///
                                      • ///

                                        - /// CODECOMMIT: The source code is in an AWS CodeCommit repository.

                                        + /// CODECOMMIT: The source code is in an CodeCommit repository.

                                        ///
                                      • ///
                                      • ///

                                        /// CODEPIPELINE: The source code settings are specified in the - /// source action of a pipeline in AWS CodePipeline.

                                        + /// source action of a pipeline in CodePipeline.

                                        ///
                                      • ///
                                      • ///

                                        @@ -4912,12 +5093,12 @@ pub struct ProjectSource { ///

                                          ///
                                        • ///

                                          For source code settings that are specified in the source action of a pipeline - /// in AWS CodePipeline, location should not be specified. If it is specified, - /// AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source + /// in CodePipeline, location should not be specified. If it is specified, + /// CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source /// action instead of this value.

                                          ///
                                        • ///
                                        • - ///

                                          For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository + ///

                                          For source code in an CodeCommit repository, the HTTPS clone URL to the repository /// that contains the source code and the buildspec file (for example, /// https://git-codecommit..amazonaws.com/v1/repos/).

                                          ///
                                        • @@ -4936,32 +5117,36 @@ pub struct ProjectSource { /// ///
                                        • ///

                                          For source code in a GitHub repository, the HTTPS clone URL to the repository - /// that contains the source and the buildspec file. You must connect your AWS - /// account to your GitHub account. Use the AWS CodeBuild console to start creating a build + /// that contains the source and the buildspec file. You must connect your Amazon Web Services account + /// to your GitHub account. Use the CodeBuild console to start creating a build /// project. When you use the console to connect (or reconnect) with GitHub, on the /// GitHub Authorize application page, for /// Organization access, choose Request access next to each repository you want to - /// allow AWS CodeBuild to have access to, and then choose Authorize + /// allow CodeBuild to have access to, and then choose Authorize /// application. (After you have connected to your GitHub account, - /// you do not need to finish creating the build project. You can leave the AWS CodeBuild - /// console.) To instruct AWS CodeBuild to use this connection, in the source + /// you do not need to finish creating the build project. You can leave the CodeBuild + /// console.) To instruct CodeBuild to use this connection, in the source /// object, set the auth object's type value to /// OAUTH.

                                          ///
                                        • ///
                                        • ///

                                          For source code in a Bitbucket repository, the HTTPS clone URL to the /// repository that contains the source and the buildspec file. You must connect - /// your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start + /// your Amazon Web Services account to your Bitbucket account. Use the CodeBuild console to start /// creating a build project. When you use the console to connect (or reconnect) /// with Bitbucket, on the Bitbucket Confirm access to your /// account page, choose Grant /// access. (After you have connected to your Bitbucket account, you - /// do not need to finish creating the build project. You can leave the AWS CodeBuild - /// console.) To instruct AWS CodeBuild to use this connection, in the source + /// do not need to finish creating the build project. You can leave the CodeBuild + /// console.) To instruct CodeBuild to use this connection, in the source /// object, set the auth object's type value to /// OAUTH.

                                          ///
                                        • ///
                                        + ///

                                        + /// If you specify CODEPIPELINE for the Type property, don't specify this + /// property. For all of the other types, you must specify Location. + ///

                                        pub location: std::option::Option, ///

                                        Information about the Git clone depth for the build project.

                                        pub git_clone_depth: std::option::Option, @@ -4971,15 +5156,15 @@ pub struct ProjectSource { ///

                                        If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in /// its root directory. For more information, see Buildspec File Name and Storage Location.

                                        pub buildspec: std::option::Option, - ///

                                        Information about the authorization settings for AWS CodeBuild to access the source code to be + ///

                                        Information about the authorization settings for CodeBuild to access the source code to be /// built.

                                        - ///

                                        This information is for the AWS CodeBuild console's use only. Your code should not get or set + ///

                                        This information is for the CodeBuild console's use only. Your code should not get or set /// this information directly.

                                        pub auth: std::option::Option, ///

                                        Set to true to report the status of a build's start and finish to your source @@ -4987,11 +5172,12 @@ pub struct ProjectSource { /// Enterprise, or Bitbucket. If this is set and you use a different source provider, an /// invalidInputException is thrown.

                                        ///

                                        To be able to report the build status to the source provider, the user associated with the source provider must - /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the AWS CodeBuild User Guide.

                                        - /// - ///

                                        The status of a build triggered by a webhook is always reported to your source + /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                                        + ///

                                        The status of a build triggered by a webhook is always reported to your source /// provider.

                                        - ///
                                        + ///

                                        If your project's builds are triggered by a webhook, you must push a + /// new commit to the repo for a change to this property to take + /// effect.

                                        pub report_build_status: std::option::Option, ///

                                        Contains information that defines how the build project reports the build status to /// the source provider. This option is only used when the source provider is @@ -5048,12 +5234,12 @@ pub mod project_source { ///

                                      • ///
                                      • ///

                                        - /// CODECOMMIT: The source code is in an AWS CodeCommit repository.

                                        + /// CODECOMMIT: The source code is in an CodeCommit repository.

                                        ///
                                      • ///
                                      • ///

                                        /// CODEPIPELINE: The source code settings are specified in the - /// source action of a pipeline in AWS CodePipeline.

                                        + /// source action of a pipeline in CodePipeline.

                                        ///
                                      • ///
                                      • ///

                                        @@ -5087,12 +5273,12 @@ pub mod project_source { ///

                                          ///
                                        • ///

                                          For source code settings that are specified in the source action of a pipeline - /// in AWS CodePipeline, location should not be specified. If it is specified, - /// AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source + /// in CodePipeline, location should not be specified. If it is specified, + /// CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source /// action instead of this value.

                                          ///
                                        • ///
                                        • - ///

                                          For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository + ///

                                          For source code in an CodeCommit repository, the HTTPS clone URL to the repository /// that contains the source code and the buildspec file (for example, /// https://git-codecommit..amazonaws.com/v1/repos/).

                                          ///
                                        • @@ -5111,32 +5297,36 @@ pub mod project_source { /// ///
                                        • ///

                                          For source code in a GitHub repository, the HTTPS clone URL to the repository - /// that contains the source and the buildspec file. You must connect your AWS - /// account to your GitHub account. Use the AWS CodeBuild console to start creating a build + /// that contains the source and the buildspec file. You must connect your Amazon Web Services account + /// to your GitHub account. Use the CodeBuild console to start creating a build /// project. When you use the console to connect (or reconnect) with GitHub, on the /// GitHub Authorize application page, for /// Organization access, choose Request access next to each repository you want to - /// allow AWS CodeBuild to have access to, and then choose Authorize + /// allow CodeBuild to have access to, and then choose Authorize /// application. (After you have connected to your GitHub account, - /// you do not need to finish creating the build project. You can leave the AWS CodeBuild - /// console.) To instruct AWS CodeBuild to use this connection, in the source + /// you do not need to finish creating the build project. You can leave the CodeBuild + /// console.) To instruct CodeBuild to use this connection, in the source /// object, set the auth object's type value to /// OAUTH.

                                          ///
                                        • ///
                                        • ///

                                          For source code in a Bitbucket repository, the HTTPS clone URL to the /// repository that contains the source and the buildspec file. You must connect - /// your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start + /// your Amazon Web Services account to your Bitbucket account. Use the CodeBuild console to start /// creating a build project. When you use the console to connect (or reconnect) /// with Bitbucket, on the Bitbucket Confirm access to your /// account page, choose Grant /// access. (After you have connected to your Bitbucket account, you - /// do not need to finish creating the build project. You can leave the AWS CodeBuild - /// console.) To instruct AWS CodeBuild to use this connection, in the source + /// do not need to finish creating the build project. You can leave the CodeBuild + /// console.) To instruct CodeBuild to use this connection, in the source /// object, set the auth object's type value to /// OAUTH.

                                          ///
                                        • ///
                                        + ///

                                        + /// If you specify CODEPIPELINE for the Type property, don't specify this + /// property. For all of the other types, you must specify Location. + ///

                                        pub fn location(mut self, input: impl Into) -> Self { self.location = Some(input.into()); self @@ -5170,7 +5360,7 @@ pub mod project_source { ///

                                        If this value is set, it can be either an inline buildspec definition, the path to an /// alternate buildspec file relative to the value of the built-in /// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. - /// The bucket must be in the same AWS Region as the build project. Specify the buildspec + /// The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec /// file using its ARN (for example, /// arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not /// provided or is set to an empty string, the source code must contain a buildspec file in @@ -5183,9 +5373,9 @@ pub mod project_source { self.buildspec = input; self } - ///

                                        Information about the authorization settings for AWS CodeBuild to access the source code to be + ///

                                        Information about the authorization settings for CodeBuild to access the source code to be /// built.

                                        - ///

                                        This information is for the AWS CodeBuild console's use only. Your code should not get or set + ///

                                        This information is for the CodeBuild console's use only. Your code should not get or set /// this information directly.

                                        pub fn auth(mut self, input: crate::model::SourceAuth) -> Self { self.auth = Some(input); @@ -5200,11 +5390,12 @@ pub mod project_source { /// Enterprise, or Bitbucket. If this is set and you use a different source provider, an /// invalidInputException is thrown.

                                        ///

                                        To be able to report the build status to the source provider, the user associated with the source provider must - /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the AWS CodeBuild User Guide.

                                        - /// - ///

                                        The status of a build triggered by a webhook is always reported to your source + /// have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

                                        + ///

                                        The status of a build triggered by a webhook is always reported to your source /// provider.

                                        - ///
                                        + ///

                                        If your project's builds are triggered by a webhook, you must push a + /// new commit to the repo for a change to this property to take + /// effect.

                                        pub fn report_build_status(mut self, input: bool) -> Self { self.report_build_status = Some(input); self @@ -5275,7 +5466,7 @@ impl ProjectSource { } } -///

                                        Contains information that defines how the AWS CodeBuild build project reports the build status +///

                                        Contains information that defines how the CodeBuild build project reports the build status /// to the source provider.

                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -5389,9 +5580,9 @@ impl BuildStatusConfig { } } -///

                                        Information about the authorization settings for AWS CodeBuild to access the source code to be +///

                                        Information about the authorization settings for CodeBuild to access the source code to be /// built.

                                        -///

                                        This information is for the AWS CodeBuild console's use only. Your code should not get or set +///

                                        This information is for the CodeBuild console's use only. Your code should not get or set /// this information directly.

                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -5511,12 +5702,12 @@ impl AsRef for SourceAuthType { } } -///

                                        Information about the Git submodules configuration for an AWS CodeBuild build project. +///

                                        Information about the Git submodules configuration for an CodeBuild build project. ///

                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GitSubmodulesConfig { - ///

                                        Set to true to fetch Git submodules for your AWS CodeBuild build project.

                                        + ///

                                        Set to true to fetch Git submodules for your CodeBuild build project.

                                        pub fetch_submodules: std::option::Option, } impl std::fmt::Debug for GitSubmodulesConfig { @@ -5535,7 +5726,7 @@ pub mod git_submodules_config { pub(crate) fetch_submodules: std::option::Option, } impl Builder { - ///

                                        Set to true to fetch Git submodules for your AWS CodeBuild build project.

                                        + ///

                                        Set to true to fetch Git submodules for your CodeBuild build project.

                                        pub fn fetch_submodules(mut self, input: bool) -> Self { self.fetch_submodules = Some(input); self @@ -5653,10 +5844,10 @@ pub struct BuildBatch { ///

                                        The identifier of the resolved version of this batch build's source code.

                                        ///
                                          ///
                                        • - ///

                                          For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                          + ///

                                          For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                          ///
                                        • ///
                                        • - ///

                                          For AWS CodePipeline, the source revision provided by AWS CodePipeline.

                                          + ///

                                          For CodePipeline, the source revision provided by CodePipeline.

                                          ///
                                        • ///
                                        • ///

                                          For Amazon S3, this does not apply.

                                          @@ -5677,7 +5868,7 @@ pub struct BuildBatch { /// ProjectSourceVersion must be one of:

                                          ///
                                            ///
                                          • - ///

                                            For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                                            + ///

                                            For CodeCommit: the commit ID, branch, or Git tag to use.

                                            ///
                                          • ///
                                          • ///

                                            For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -5711,7 +5902,7 @@ pub struct BuildBatch { pub environment: std::option::Option, ///

                                            The name of a service role used for builds in the batch.

                                            pub service_role: std::option::Option, - ///

                                            Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a + ///

                                            Information about logs for a build project. These can be logs in CloudWatch Logs, built in a /// specified S3 bucket, or both.

                                            pub log_config: std::option::Option, ///

                                            Specifies the maximum amount of time, in minutes, that the build in a batch must be @@ -5725,21 +5916,21 @@ pub struct BuildBatch { ///

                                            The entity that started the batch build. Valid values include:

                                            ///
                                              ///
                                            • - ///

                                              If AWS CodePipeline started the build, the pipeline's name (for example, + ///

                                              If CodePipeline started the build, the pipeline's name (for example, /// codepipeline/my-demo-pipeline).

                                              ///
                                            • ///
                                            • - ///

                                              If an AWS Identity and Access Management (IAM) user started the build, the user's name.

                                              + ///

                                              If an IAM user started the build, the user's name.

                                              ///
                                            • ///
                                            • - ///

                                              If the Jenkins plugin for AWS CodeBuild started the build, the string + ///

                                              If the Jenkins plugin for CodeBuild started the build, the string /// CodeBuild-Jenkins-Plugin.

                                              ///
                                            • ///
                                            pub initiator: std::option::Option, - ///

                                            Information about the VPC configuration that AWS CodeBuild accesses.

                                            + ///

                                            Information about the VPC configuration that CodeBuild accesses.

                                            pub vpc_config: std::option::Option, - ///

                                            The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output + ///

                                            The Key Management Service customer master key (CMK) to be used for encrypting the batch build output /// artifacts.

                                            /// ///

                                            You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -5922,10 +6113,10 @@ pub mod build_batch { ///

                                            The identifier of the resolved version of this batch build's source code.

                                            ///
                                              ///
                                            • - ///

                                              For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                              + ///

                                              For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                              ///
                                            • ///
                                            • - ///

                                              For AWS CodePipeline, the source revision provided by AWS CodePipeline.

                                              + ///

                                              For CodePipeline, the source revision provided by CodePipeline.

                                              ///
                                            • ///
                                            • ///

                                              For Amazon S3, this does not apply.

                                              @@ -6063,7 +6254,7 @@ pub mod build_batch { self.service_role = input; self } - ///

                                              Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a + ///

                                              Information about logs for a build project. These can be logs in CloudWatch Logs, built in a /// specified S3 bucket, or both.

                                              pub fn log_config(mut self, input: crate::model::LogsConfig) -> Self { self.log_config = Some(input); @@ -6108,14 +6299,14 @@ pub mod build_batch { ///

                                              The entity that started the batch build. Valid values include:

                                              ///
                                                ///
                                              • - ///

                                                If AWS CodePipeline started the build, the pipeline's name (for example, + ///

                                                If CodePipeline started the build, the pipeline's name (for example, /// codepipeline/my-demo-pipeline).

                                                ///
                                              • ///
                                              • - ///

                                                If an AWS Identity and Access Management (IAM) user started the build, the user's name.

                                                + ///

                                                If an IAM user started the build, the user's name.

                                                ///
                                              • ///
                                              • - ///

                                                If the Jenkins plugin for AWS CodeBuild started the build, the string + ///

                                                If the Jenkins plugin for CodeBuild started the build, the string /// CodeBuild-Jenkins-Plugin.

                                                ///
                                              • ///
                                              @@ -6127,7 +6318,7 @@ pub mod build_batch { self.initiator = input; self } - ///

                                              Information about the VPC configuration that AWS CodeBuild accesses.

                                              + ///

                                              Information about the VPC configuration that CodeBuild accesses.

                                              pub fn vpc_config(mut self, input: crate::model::VpcConfig) -> Self { self.vpc_config = Some(input); self @@ -6139,7 +6330,7 @@ pub mod build_batch { self.vpc_config = input; self } - ///

                                              The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output + ///

                                              The Key Management Service customer master key (CMK) to be used for encrypting the batch build output /// artifacts.

                                              /// ///

                                              You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -6564,7 +6755,7 @@ impl BuildSummary { } } -///

                                              Represents a resolved build artifact. A resolve artifact is an artifact that is built and +///

                                              Represents a resolved build artifact. A resolved artifact is an artifact that is built and /// deployed to the destination, such as Amazon S3.

                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -6740,11 +6931,16 @@ pub struct BuildArtifacts { pub encryption_disabled: std::option::Option, ///

                                              An identifier for this artifact definition.

                                              pub artifact_identifier: std::option::Option, - ///

                                              Specifies the access for objects that are uploaded to an Amazon S3 bucket that is owned by - /// another account.

                                              - ///

                                              By default, only the account that uploads the objects to the bucket has access to - /// these objects. This property allows you to give the bucket owner access to these - /// objects.

                                              + ///

                                              Specifies the bucket owner's access for objects that another account uploads to their + /// Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has + /// access to these objects. This property allows you to give the bucket owner access to + /// these objects.

                                              + /// + ///

                                              To use this property, your CodeBuild service role must have the + /// s3:PutBucketAcl permission. This permission allows CodeBuild to modify + /// the access control list for the bucket.

                                              + ///
                                              + ///

                                              This property can be one of the following values:

                                              ///
                                              ///
                                              NONE
                                              ///
                                              @@ -6753,7 +6949,7 @@ pub struct BuildArtifacts { ///
                                              ///
                                              READ_ONLY
                                              ///
                                              - ///

                                              The bucket owner has read only access to the objects. The uploading account + ///

                                              The bucket owner has read-only access to the objects. The uploading account /// retains ownership of the objects.

                                              ///
                                              ///
                                              FULL
                                              @@ -6879,11 +7075,16 @@ pub mod build_artifacts { self.artifact_identifier = input; self } - ///

                                              Specifies the access for objects that are uploaded to an Amazon S3 bucket that is owned by - /// another account.

                                              - ///

                                              By default, only the account that uploads the objects to the bucket has access to - /// these objects. This property allows you to give the bucket owner access to these - /// objects.

                                              + ///

                                              Specifies the bucket owner's access for objects that another account uploads to their + /// Amazon S3 bucket. By default, only the account that uploads the objects to the bucket has + /// access to these objects. This property allows you to give the bucket owner access to + /// these objects.

                                              + /// + ///

                                              To use this property, your CodeBuild service role must have the + /// s3:PutBucketAcl permission. This permission allows CodeBuild to modify + /// the access control list for the bucket.

                                              + ///
                                              + ///

                                              This property can be one of the following values:

                                              ///
                                              ///
                                              NONE
                                              ///
                                              @@ -6892,7 +7093,7 @@ pub mod build_artifacts { ///
                                              ///
                                              READ_ONLY
                                              ///
                                              - ///

                                              The bucket owner has read only access to the objects. The uploading account + ///

                                              The bucket owner has read-only access to the objects. The uploading account /// retains ownership of the objects.

                                              ///
                                              ///
                                              FULL
                                              @@ -7390,22 +7591,22 @@ pub struct Build { /// sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                                              ///

                                              For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                                              + /// with CodeBuild in the CodeBuild User Guide.

                                              pub source_version: std::option::Option, ///

                                              An identifier for the version of this build's source code.

                                              ///
                                                ///
                                              • - ///

                                                For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                                + ///

                                                For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                                ///
                                              • ///
                                              • - ///

                                                For AWS CodePipeline, the source revision provided by AWS CodePipeline.

                                                + ///

                                                For CodePipeline, the source revision provided by CodePipeline.

                                                ///
                                              • ///
                                              • ///

                                                For Amazon S3, this does not apply.

                                                ///
                                              • ///
                                              pub resolved_source_version: std::option::Option, - ///

                                              The name of the AWS CodeBuild project.

                                              + ///

                                              The name of the CodeBuild project.

                                              pub project_name: std::option::Option, ///

                                              Information about all previous build phases that are complete and information about /// any current build phase that is not yet complete.

                                              @@ -7418,7 +7619,7 @@ pub struct Build { /// ProjectSourceVersion must be one of:

                                              ///
                                                ///
                                              • - ///

                                                For AWS CodeCommit: the commit ID, branch, or Git tag to use.

                                                + ///

                                                For CodeCommit: the commit ID, branch, or Git tag to use.

                                                ///
                                              • ///
                                              • ///

                                                For GitHub: the commit ID, pull request ID, branch name, or tag name that @@ -7451,9 +7652,9 @@ pub struct Build { pub environment: std::option::Option, ///

                                                The name of a service role used for this build.

                                                pub service_role: std::option::Option, - ///

                                                Information about the build's logs in Amazon CloudWatch Logs.

                                                + ///

                                                Information about the build's logs in CloudWatch Logs.

                                                pub logs: std::option::Option, - ///

                                                How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not + ///

                                                How long, in minutes, for CodeBuild to wait before timing out this build if it does not /// get marked as completed.

                                                pub timeout_in_minutes: std::option::Option, ///

                                                The number of minutes a build is allowed to be queued before it times out.

                                                @@ -7463,27 +7664,27 @@ pub struct Build { ///

                                                The entity that started the build. Valid values include:

                                                ///
                                                  ///
                                                • - ///

                                                  If AWS CodePipeline started the build, the pipeline's name (for example, + ///

                                                  If CodePipeline started the build, the pipeline's name (for example, /// codepipeline/my-demo-pipeline).

                                                  ///
                                                • ///
                                                • - ///

                                                  If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example, + ///

                                                  If an IAM user started the build, the user's name (for example, /// MyUserName).

                                                  ///
                                                • ///
                                                • - ///

                                                  If the Jenkins plugin for AWS CodeBuild started the build, the string + ///

                                                  If the Jenkins plugin for CodeBuild started the build, the string /// CodeBuild-Jenkins-Plugin.

                                                  ///
                                                • ///
                                                pub initiator: std::option::Option, - ///

                                                If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter + ///

                                                If your CodeBuild project accesses resources in an Amazon VPC, you provide this parameter /// that identifies the VPC ID and the list of security group IDs and subnet IDs. The /// security groups and subnets must belong to the same VPC. You must provide at least one /// security group and one subnet ID.

                                                pub vpc_config: std::option::Option, ///

                                                Describes a network interface.

                                                pub network_interface: std::option::Option, - ///

                                                The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                                                The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                                                /// ///

                                                You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -7493,9 +7694,9 @@ pub struct Build { /// the format alias/).

                                                pub encryption_key: std::option::Option, ///

                                                A list of exported environment variables for this build.

                                                - ///

                                                Exported environment variables are used in conjunction with AWS CodePipeline to export + ///

                                                Exported environment variables are used in conjunction with CodePipeline to export /// environment variables from the current build stage to subsequent stages in the pipeline. - /// For more information, see Working with variables in the AWS CodePipeline User Guide.

                                                + /// For more information, see Working with variables in the CodePipeline User Guide.

                                                pub exported_environment_variables: std::option::Option>, ///

                                                An array of the ARNs associated with this build's reports.

                                                @@ -7700,7 +7901,7 @@ pub mod build { /// sourceVersion is specified at the project level, then this /// sourceVersion (at the build level) takes precedence.

                                                ///

                                                For more information, see Source Version Sample - /// with CodeBuild in the AWS CodeBuild User Guide.

                                                + /// with CodeBuild in the CodeBuild User Guide.

                                                pub fn source_version(mut self, input: impl Into) -> Self { self.source_version = Some(input.into()); self @@ -7715,10 +7916,10 @@ pub mod build { ///

                                                An identifier for the version of this build's source code.

                                                ///
                                                  ///
                                                • - ///

                                                  For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                                  + ///

                                                  For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

                                                  ///
                                                • ///
                                                • - ///

                                                  For AWS CodePipeline, the source revision provided by AWS CodePipeline.

                                                  + ///

                                                  For CodePipeline, the source revision provided by CodePipeline.

                                                  ///
                                                • ///
                                                • ///

                                                  For Amazon S3, this does not apply.

                                                  @@ -7735,7 +7936,7 @@ pub mod build { self.resolved_source_version = input; self } - ///

                                                  The name of the AWS CodeBuild project.

                                                  + ///

                                                  The name of the CodeBuild project.

                                                  pub fn project_name(mut self, input: impl Into) -> Self { self.project_name = Some(input.into()); self @@ -7856,7 +8057,7 @@ pub mod build { self.service_role = input; self } - ///

                                                  Information about the build's logs in Amazon CloudWatch Logs.

                                                  + ///

                                                  Information about the build's logs in CloudWatch Logs.

                                                  pub fn logs(mut self, input: crate::model::LogsLocation) -> Self { self.logs = Some(input); self @@ -7865,7 +8066,7 @@ pub mod build { self.logs = input; self } - ///

                                                  How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not + ///

                                                  How long, in minutes, for CodeBuild to wait before timing out this build if it does not /// get marked as completed.

                                                  pub fn timeout_in_minutes(mut self, input: i32) -> Self { self.timeout_in_minutes = Some(input); @@ -7896,15 +8097,15 @@ pub mod build { ///

                                                  The entity that started the build. Valid values include:

                                                  ///
                                                    ///
                                                  • - ///

                                                    If AWS CodePipeline started the build, the pipeline's name (for example, + ///

                                                    If CodePipeline started the build, the pipeline's name (for example, /// codepipeline/my-demo-pipeline).

                                                    ///
                                                  • ///
                                                  • - ///

                                                    If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example, + ///

                                                    If an IAM user started the build, the user's name (for example, /// MyUserName).

                                                    ///
                                                  • ///
                                                  • - ///

                                                    If the Jenkins plugin for AWS CodeBuild started the build, the string + ///

                                                    If the Jenkins plugin for CodeBuild started the build, the string /// CodeBuild-Jenkins-Plugin.

                                                    ///
                                                  • ///
                                                  @@ -7916,7 +8117,7 @@ pub mod build { self.initiator = input; self } - ///

                                                  If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter + ///

                                                  If your CodeBuild project accesses resources in an Amazon VPC, you provide this parameter /// that identifies the VPC ID and the list of security group IDs and subnet IDs. The /// security groups and subnets must belong to the same VPC. You must provide at least one /// security group and one subnet ID.

                                                  @@ -7943,7 +8144,7 @@ pub mod build { self.network_interface = input; self } - ///

                                                  The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output + ///

                                                  The Key Management Service customer master key (CMK) to be used for encrypting the build output /// artifacts.

                                                  /// ///

                                                  You can use a cross-account KMS key to encrypt the build output artifacts if your @@ -8147,9 +8348,9 @@ impl DebugSession { } ///

                                                  Contains information about an exported environment variable.

                                                  -///

                                                  Exported environment variables are used in conjunction with AWS CodePipeline to export +///

                                                  Exported environment variables are used in conjunction with CodePipeline to export /// environment variables from the current build stage to subsequent stages in the pipeline. -/// For more information, see Working with variables in the AWS CodePipeline User Guide.

                                                  +/// For more information, see Working with variables in the CodePipeline User Guide.

                                                  /// ///

                                                  During a build, the value of a variable is available starting with the /// install phase. It can be updated between the start of the @@ -8281,27 +8482,27 @@ impl NetworkInterface { } } -///

                                                  Information about build logs in Amazon CloudWatch Logs.

                                                  +///

                                                  Information about build logs in CloudWatch Logs.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LogsLocation { - ///

                                                  The name of the Amazon CloudWatch Logs group for the build logs.

                                                  + ///

                                                  The name of the CloudWatch Logs group for the build logs.

                                                  pub group_name: std::option::Option, - ///

                                                  The name of the Amazon CloudWatch Logs stream for the build logs.

                                                  + ///

                                                  The name of the CloudWatch Logs stream for the build logs.

                                                  pub stream_name: std::option::Option, - ///

                                                  The URL to an individual build log in Amazon CloudWatch Logs.

                                                  + ///

                                                  The URL to an individual build log in CloudWatch Logs.

                                                  pub deep_link: std::option::Option, ///

                                                  The URL to a build log in an S3 bucket.

                                                  pub s3_deep_link: std::option::Option, - ///

                                                  The ARN of Amazon CloudWatch Logs for a build project. Its format is + ///

                                                  The ARN of CloudWatch Logs for a build project. Its format is /// arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. - /// For more information, see Resources Defined by Amazon CloudWatch Logs.

                                                  + /// For more information, see Resources Defined by CloudWatch Logs.

                                                  pub cloud_watch_logs_arn: std::option::Option, ///

                                                  The ARN of S3 logs for a build project. Its format is /// arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more /// information, see Resources Defined by Amazon S3.

                                                  pub s3_logs_arn: std::option::Option, - ///

                                                  Information about Amazon CloudWatch Logs for a build project.

                                                  + ///

                                                  Information about CloudWatch Logs for a build project.

                                                  pub cloud_watch_logs: std::option::Option, ///

                                                  Information about S3 logs for a build project.

                                                  pub s3_logs: std::option::Option, @@ -8336,7 +8537,7 @@ pub mod logs_location { pub(crate) s3_logs: std::option::Option, } impl Builder { - ///

                                                  The name of the Amazon CloudWatch Logs group for the build logs.

                                                  + ///

                                                  The name of the CloudWatch Logs group for the build logs.

                                                  pub fn group_name(mut self, input: impl Into) -> Self { self.group_name = Some(input.into()); self @@ -8345,7 +8546,7 @@ pub mod logs_location { self.group_name = input; self } - ///

                                                  The name of the Amazon CloudWatch Logs stream for the build logs.

                                                  + ///

                                                  The name of the CloudWatch Logs stream for the build logs.

                                                  pub fn stream_name(mut self, input: impl Into) -> Self { self.stream_name = Some(input.into()); self @@ -8354,7 +8555,7 @@ pub mod logs_location { self.stream_name = input; self } - ///

                                                  The URL to an individual build log in Amazon CloudWatch Logs.

                                                  + ///

                                                  The URL to an individual build log in CloudWatch Logs.

                                                  pub fn deep_link(mut self, input: impl Into) -> Self { self.deep_link = Some(input.into()); self @@ -8372,9 +8573,9 @@ pub mod logs_location { self.s3_deep_link = input; self } - ///

                                                  The ARN of Amazon CloudWatch Logs for a build project. Its format is + ///

                                                  The ARN of CloudWatch Logs for a build project. Its format is /// arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. - /// For more information, see Resources Defined by Amazon CloudWatch Logs.

                                                  + /// For more information, see Resources Defined by CloudWatch Logs.

                                                  pub fn cloud_watch_logs_arn(mut self, input: impl Into) -> Self { self.cloud_watch_logs_arn = Some(input.into()); self @@ -8397,7 +8598,7 @@ pub mod logs_location { self.s3_logs_arn = input; self } - ///

                                                  Information about Amazon CloudWatch Logs for a build project.

                                                  + ///

                                                  Information about CloudWatch Logs for a build project.

                                                  pub fn cloud_watch_logs(mut self, input: crate::model::CloudWatchLogsConfig) -> Self { self.cloud_watch_logs = Some(input); self @@ -9393,7 +9594,7 @@ impl AsRef for ProjectSortByType { } } -///

                                                  A set of Docker images that are related by platform and are managed by AWS CodeBuild.

                                                  +///

                                                  A set of Docker images that are related by platform and are managed by CodeBuild.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnvironmentPlatform { @@ -9463,7 +9664,7 @@ impl EnvironmentPlatform { } ///

                                                  A set of Docker images that are related by programming language and are managed by -/// AWS CodeBuild.

                                                  +/// CodeBuild.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnvironmentLanguage { @@ -9532,7 +9733,7 @@ impl EnvironmentLanguage { } } -///

                                                  Information about a Docker image that is managed by AWS CodeBuild.

                                                  +///

                                                  Information about a Docker image that is managed by CodeBuild.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EnvironmentImage { diff --git a/sdk/codebuild/src/operation.rs b/sdk/codebuild/src/operation.rs index 36f4abca294f..2d47b944bb5a 100644 --- a/sdk/codebuild/src/operation.rs +++ b/sdk/codebuild/src/operation.rs @@ -225,15 +225,15 @@ impl smithy_http::response::ParseStrictResponse for CreateReportGroup { } } -///

                                                  For an existing AWS CodeBuild build project that has its source code stored in a GitHub or -/// Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a +///

                                                  For an existing CodeBuild build project that has its source code stored in a GitHub or +/// Bitbucket repository, enables CodeBuild to start rebuilding the source code every time a /// code change is pushed to the repository.

                                                  /// -///

                                                  If you enable webhooks for an AWS CodeBuild project, and the project is used as a build -/// step in AWS CodePipeline, then two identical builds are created for each commit. One build is -/// triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build -/// basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we -/// recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the +///

                                                  If you enable webhooks for an CodeBuild project, and the project is used as a build +/// step in CodePipeline, then two identical builds are created for each commit. One build is +/// triggered through webhooks, and one through CodePipeline. Because billing is on a per-build +/// basis, you are billed for both builds. Therefore, if you are using CodePipeline, we +/// recommend that you disable webhooks in CodeBuild. In the CodeBuild console, clear the /// Webhook box. For more information, see step 5 in Change a Build Project's Settings.

                                                  ///
                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -428,8 +428,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteSourceCredentials { } } -///

                                                  For an existing AWS CodeBuild build project that has its source code stored in a GitHub or -/// Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code +///

                                                  For an existing CodeBuild build project that has its source code stored in a GitHub or +/// Bitbucket repository, stops CodeBuild from rebuilding the source code every time a code /// change is pushed to the repository.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteWebhook { @@ -570,7 +570,7 @@ impl smithy_http::response::ParseStrictResponse for GetResourcePolicy { } } -///

                                                  Imports the source repository credentials for an AWS CodeBuild project that has its +///

                                                  Imports the source repository credentials for an CodeBuild project that has its /// source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportSourceCredentials { @@ -738,7 +738,7 @@ impl smithy_http::response::ParseStrictResponse for ListBuildsForProject { } } -///

                                                  Gets information about Docker images that are managed by AWS CodeBuild.

                                                  +///

                                                  Gets information about Docker images that are managed by CodeBuild.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListCuratedEnvironmentImages { _private: (), @@ -794,7 +794,7 @@ impl smithy_http::response::ParseStrictResponse for ListProjects { } ///

                                                  -/// Gets a list ARNs for the report groups in the current AWS account. +/// Gets a list ARNs for the report groups in the current Amazon Web Services account. ///

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListReportGroups { @@ -824,7 +824,7 @@ impl smithy_http::response::ParseStrictResponse for ListReportGroups { } ///

                                                  -/// Returns a list of ARNs for the reports in the current AWS account. +/// Returns a list of ARNs for the reports in the current Amazon Web Services account. ///

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListReports { @@ -881,7 +881,7 @@ impl smithy_http::response::ParseStrictResponse for ListReportsForReportGroup { } } -///

                                                  Gets a list of projects that are shared with other AWS accounts or users.

                                                  +///

                                                  Gets a list of projects that are shared with other Amazon Web Services accounts or users.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListSharedProjects { _private: (), @@ -909,7 +909,7 @@ impl smithy_http::response::ParseStrictResponse for ListSharedProjects { } } -///

                                                  Gets a list of report groups that are shared with other AWS accounts or users. +///

                                                  Gets a list of report groups that are shared with other Amazon Web Services accounts or users. ///

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListSharedReportGroups { @@ -1180,6 +1180,71 @@ impl smithy_http::response::ParseStrictResponse for UpdateProject { } } +///

                                                  Changes the public visibility for a project. The project's build results, logs, and +/// artifacts are available to the general public. For more information, see Public build +/// projects in the CodeBuild User Guide.

                                                  +/// +///

                                                  The following should be kept in mind when making your projects public:

                                                  +///
                                                    +///
                                                  • +///

                                                    All of a project's build results, logs, and artifacts, including builds that were run +/// when the project was private, are available to the general public.

                                                    +///
                                                  • +///
                                                  • +///

                                                    All build logs and artifacts are available to the public. Environment variables, source +/// code, and other sensitive information may have been output to the build logs and artifacts. +/// You must be careful about what information is output to the build logs. Some best practice +/// are:

                                                    +///
                                                      +///
                                                    • +///

                                                      Do not store sensitive values, especially Amazon Web Services access key IDs and secret access +/// keys, in environment variables. We recommend that you use an Amazon EC2 Systems Manager Parameter Store +/// or Secrets Manager to store sensitive values.

                                                      +///
                                                    • +///
                                                    • +///

                                                      Follow Best +/// practices for using webhooks in the CodeBuild User +/// Guide to limit which entities can trigger a build, and do +/// not store the buildspec in the project itself, to ensure that your webhooks are as +/// secure as possible.

                                                      +///
                                                    • +///
                                                    +///
                                                  • +///
                                                  • +///

                                                    A malicious user can use public builds to distribute malicious artifacts. We recommend +/// that you review all pull requests to verify that the pull request is a legitimate change. We +/// also recommend that you validate any artifacts with their checksums to make sure that the +/// correct artifacts are being downloaded.

                                                    +///
                                                  • +///
                                                  +///
                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateProjectVisibility { + _private: (), +} +impl UpdateProjectVisibility { + /// Creates a new builder-style object to manufacture [`UpdateProjectVisibilityInput`](crate::input::UpdateProjectVisibilityInput) + pub fn builder() -> crate::input::update_project_visibility_input::Builder { + crate::input::update_project_visibility_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateProjectVisibility { + type Output = std::result::Result< + crate::output::UpdateProjectVisibilityOutput, + crate::error::UpdateProjectVisibilityError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_project_visibility_error(response) + } else { + crate::operation_deser::parse_update_project_visibility_response(response) + } + } +} + ///

                                                  /// Updates a report group. ///

                                                  @@ -1210,7 +1275,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateReportGroup { } } -///

                                                  Updates the webhook associated with an AWS CodeBuild build project.

                                                  +///

                                                  Updates the webhook associated with an CodeBuild build project.

                                                  /// ///

                                                  If you use Bitbucket for your repository, rotateSecret is ignored. ///

                                                  diff --git a/sdk/codebuild/src/operation_deser.rs b/sdk/codebuild/src/operation_deser.rs index bcfa7168a746..b94c044a5f71 100644 --- a/sdk/codebuild/src/operation_deser.rs +++ b/sdk/codebuild/src/operation_deser.rs @@ -2912,6 +2912,91 @@ pub fn parse_update_project_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_project_visibility_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateProjectVisibilityOutput, + crate::error::UpdateProjectVisibilityError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateProjectVisibilityError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateProjectVisibilityError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InvalidInputException" => crate::error::UpdateProjectVisibilityError { + meta: generic, + kind: crate::error::UpdateProjectVisibilityErrorKind::InvalidInputException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_input_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_input_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateProjectVisibilityError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::UpdateProjectVisibilityError { + meta: generic, + kind: crate::error::UpdateProjectVisibilityErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateProjectVisibilityError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::UpdateProjectVisibilityError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_project_visibility_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateProjectVisibilityOutput, + crate::error::UpdateProjectVisibilityError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_project_visibility_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_project_visibility( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateProjectVisibilityError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_update_report_group_error( response: &http::Response, diff --git a/sdk/codebuild/src/operation_ser.rs b/sdk/codebuild/src/operation_ser.rs index 6885bf79cc87..3d2b1b39d579 100644 --- a/sdk/codebuild/src/operation_ser.rs +++ b/sdk/codebuild/src/operation_ser.rs @@ -411,6 +411,16 @@ pub fn serialize_operation_update_project( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_update_project_visibility( + input: &crate::input::UpdateProjectVisibilityInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_project_visibility_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_update_report_group( input: &crate::input::UpdateReportGroupInput, ) -> Result { diff --git a/sdk/codebuild/src/output.rs b/sdk/codebuild/src/output.rs index 4f6849772b12..9f1faa738d6a 100644 --- a/sdk/codebuild/src/output.rs +++ b/sdk/codebuild/src/output.rs @@ -2,7 +2,7 @@ #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateWebhookOutput { - ///

                                                  Information about a repository's webhook that is associated with a project in AWS CodeBuild. + ///

                                                  Information about a repository's webhook that is associated with a project in CodeBuild. ///

                                                  pub webhook: std::option::Option, } @@ -22,7 +22,7 @@ pub mod update_webhook_output { pub(crate) webhook: std::option::Option, } impl Builder { - ///

                                                  Information about a repository's webhook that is associated with a project in AWS CodeBuild. + ///

                                                  Information about a repository's webhook that is associated with a project in CodeBuild. ///

                                                  pub fn webhook(mut self, input: crate::model::Webhook) -> Self { self.webhook = Some(input); @@ -100,6 +100,106 @@ impl UpdateReportGroupOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateProjectVisibilityOutput { + ///

                                                  The Amazon Resource Name (ARN) of the build project.

                                                  + pub project_arn: std::option::Option, + ///

                                                  Contains the project identifier used with the public build APIs.

                                                  + pub public_project_alias: std::option::Option, + ///

                                                  Specifies the visibility of the project's builds. Possible values are:

                                                  + ///
                                                  + ///
                                                  PUBLIC_READ
                                                  + ///
                                                  + ///

                                                  The project builds are visible to the public.

                                                  + ///
                                                  + ///
                                                  PRIVATE
                                                  + ///
                                                  + ///

                                                  The project builds are not visible to the public.

                                                  + ///
                                                  + ///
                                                  + pub project_visibility: std::option::Option, +} +impl std::fmt::Debug for UpdateProjectVisibilityOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateProjectVisibilityOutput"); + formatter.field("project_arn", &self.project_arn); + formatter.field("public_project_alias", &self.public_project_alias); + formatter.field("project_visibility", &self.project_visibility); + formatter.finish() + } +} +/// See [`UpdateProjectVisibilityOutput`](crate::output::UpdateProjectVisibilityOutput) +pub mod update_project_visibility_output { + /// A builder for [`UpdateProjectVisibilityOutput`](crate::output::UpdateProjectVisibilityOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) project_arn: std::option::Option, + pub(crate) public_project_alias: std::option::Option, + pub(crate) project_visibility: std::option::Option, + } + impl Builder { + ///

                                                  The Amazon Resource Name (ARN) of the build project.

                                                  + pub fn project_arn(mut self, input: impl Into) -> Self { + self.project_arn = Some(input.into()); + self + } + pub fn set_project_arn(mut self, input: std::option::Option) -> Self { + self.project_arn = input; + self + } + ///

                                                  Contains the project identifier used with the public build APIs.

                                                  + pub fn public_project_alias(mut self, input: impl Into) -> Self { + self.public_project_alias = Some(input.into()); + self + } + pub fn set_public_project_alias( + mut self, + input: std::option::Option, + ) -> Self { + self.public_project_alias = input; + self + } + ///

                                                  Specifies the visibility of the project's builds. Possible values are:

                                                  + ///
                                                  + ///
                                                  PUBLIC_READ
                                                  + ///
                                                  + ///

                                                  The project builds are visible to the public.

                                                  + ///
                                                  + ///
                                                  PRIVATE
                                                  + ///
                                                  + ///

                                                  The project builds are not visible to the public.

                                                  + ///
                                                  + ///
                                                  + pub fn project_visibility(mut self, input: crate::model::ProjectVisibilityType) -> Self { + self.project_visibility = Some(input); + self + } + pub fn set_project_visibility( + mut self, + input: std::option::Option, + ) -> Self { + self.project_visibility = input; + self + } + /// Consumes the builder and constructs a [`UpdateProjectVisibilityOutput`](crate::output::UpdateProjectVisibilityOutput) + pub fn build(self) -> crate::output::UpdateProjectVisibilityOutput { + crate::output::UpdateProjectVisibilityOutput { + project_arn: self.project_arn, + public_project_alias: self.public_project_alias, + project_visibility: self.project_visibility, + } + } + } +} +impl UpdateProjectVisibilityOutput { + /// Creates a new builder-style object to manufacture [`UpdateProjectVisibilityOutput`](crate::output::UpdateProjectVisibilityOutput) + pub fn builder() -> crate::output::update_project_visibility_output::Builder { + crate::output::update_project_visibility_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateProjectOutput { @@ -546,7 +646,7 @@ pub struct ListSharedReportGroupsOutput { /// all of the items in the list, keep calling this operation with each subsequent next /// token that is returned, until no more next tokens are returned.

                                                  pub next_token: std::option::Option, - ///

                                                  The list of ARNs for the report groups shared with the current AWS account or user. + ///

                                                  The list of ARNs for the report groups shared with the current Amazon Web Services account or user. ///

                                                  pub report_groups: std::option::Option>, } @@ -621,7 +721,7 @@ pub struct ListSharedProjectsOutput { /// all of the items in the list, keep calling this operation with each subsequent next /// token that is returned, until no more next tokens are returned.

                                                  pub next_token: std::option::Option, - ///

                                                  The list of ARNs for the build projects shared with the current AWS account or user. + ///

                                                  The list of ARNs for the build projects shared with the current Amazon Web Services account or user. ///

                                                  pub projects: std::option::Option>, } @@ -776,7 +876,7 @@ pub struct ListReportsOutput { ///

                                                  pub next_token: std::option::Option, ///

                                                  - /// The list of returned ARNs for the reports in the current AWS account. + /// The list of returned ARNs for the reports in the current Amazon Web Services account. ///

                                                  pub reports: std::option::Option>, } @@ -854,7 +954,7 @@ pub struct ListReportGroupsOutput { ///

                                                  pub next_token: std::option::Option, ///

                                                  - /// The list of ARNs for the report groups in the current AWS account. + /// The list of ARNs for the report groups in the current Amazon Web Services account. ///

                                                  pub report_groups: std::option::Option>, } @@ -995,7 +1095,7 @@ impl ListProjectsOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListCuratedEnvironmentImagesOutput { ///

                                                  Information about supported platforms for Docker images that are managed by - /// AWS CodeBuild.

                                                  + /// CodeBuild.

                                                  pub platforms: std::option::Option>, } impl std::fmt::Debug for ListCuratedEnvironmentImagesOutput { @@ -1927,7 +2027,7 @@ impl DeleteBuildBatchOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateWebhookOutput { ///

                                                  Information about a webhook that connects repository events to a build project in - /// AWS CodeBuild.

                                                  + /// CodeBuild.

                                                  pub webhook: std::option::Option, } impl std::fmt::Debug for CreateWebhookOutput { @@ -1947,7 +2047,7 @@ pub mod create_webhook_output { } impl Builder { ///

                                                  Information about a webhook that connects repository events to a build project in - /// AWS CodeBuild.

                                                  + /// CodeBuild.

                                                  pub fn webhook(mut self, input: crate::model::Webhook) -> Self { self.webhook = Some(input); self diff --git a/sdk/codecommit/Cargo.toml b/sdk/codecommit/Cargo.toml index d747a58aea66..5549a7df8be9 100644 --- a/sdk/codecommit/Cargo.toml +++ b/sdk/codecommit/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codecommit" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CodeCommit\n

                                                  This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for \n AWS CodeCommit API along with usage examples.

                                                  \n

                                                  You can use the AWS CodeCommit API to work with the following objects:

                                                  \n \n

                                                  Repositories, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n BatchGetRepositories, which returns information about one or more repositories associated with your AWS account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n CreateRepository, which creates an AWS CodeCommit repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeleteRepository, which deletes an AWS CodeCommit repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetRepository, which returns information about a specified repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateRepositoryDescription, which sets or updates the description of the repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateRepositoryName, which changes the name of the\n repository. If you change the name of a repository, no other users of that\n repository can access it until you send them the new HTTPS or SSH URL to\n use.

                                                    \n
                                                  • \n
                                                  \n \n

                                                  Branches, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n CreateBranch, which creates a branch in a specified\n repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetBranch, which returns information about a specified branch.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListBranches, which lists all branches for a specified repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateDefaultBranch, which changes the default branch for a repository.

                                                    \n
                                                  • \n
                                                  \n \n

                                                  Files, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n DeleteFile, which deletes the content of a specified file from a specified branch.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetBlob, which returns the base-64 encoded content of an\n individual Git blob object in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetFile, which returns the base-64 encoded content of a specified file.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetFolder, which returns the contents of a specified folder or directory.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PutFile, which adds or modifies a single file in a specified repository and branch.

                                                    \n
                                                  • \n
                                                  \n \n \n

                                                  Commits, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n BatchGetCommits, which returns information about one or more commits in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n CreateCommit, which creates a commit for changes to a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetCommit, which returns information about a commit, including commit \n messages and author and committer information.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetDifferences, which returns information about the\n differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID,\n or other fully qualified reference).

                                                    \n
                                                  • \n
                                                  \n \n\n

                                                  Merges, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n BatchDescribeMergeConflicts, which returns information about conflicts in a merge between commits in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n CreateUnreferencedMergeCommit, which creates an unreferenced commit between two branches or commits for the\n purpose of comparing them and identifying any potential conflicts.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DescribeMergeConflicts, which returns information about merge conflicts between the base, source, and destination versions\n of a file in a potential merge.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetMergeCommit, which returns information about the merge between a source and destination commit.

                                                    \n\n
                                                  • \n
                                                  • \n

                                                    \n GetMergeConflicts, which returns information about merge conflicts\n between the source and destination branch in a pull request.

                                                    \n
                                                  • \n
                                                  • \n\n

                                                    \n GetMergeOptions, which returns information about the available merge options between two branches or commit specifiers.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n MergeBranchesByFastForward, which merges two branches using the fast-forward merge option.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n MergeBranchesBySquash, which merges two branches using the squash merge option.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n MergeBranchesByThreeWay, which merges two branches using the three-way merge option.

                                                    \n
                                                  • \n
                                                  \n \n \n

                                                  Pull requests, by calling the following:

                                                  \n \n \n

                                                  Approval rule templates, by calling the following:

                                                  \n \n \n

                                                  Comments in a repository, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n DeleteCommentContent, which deletes the content of a comment on a commit in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetComment, which returns information about a comment on a commit.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetCommentReactions, which returns information about emoji reactions to comments.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetCommentsForComparedCommit, which returns information about comments on the comparison between two commit specifiers \n in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PostCommentForComparedCommit, which creates a comment on the comparison between two commit specifiers in a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PostCommentReply, which creates a reply to a comment.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PutCommentReaction, which creates or updates an emoji reaction to a comment.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateComment, which updates the content of a comment on a commit in a repository.

                                                    \n
                                                  • \n
                                                  \n \n

                                                  Tags used to tag resources in AWS CodeCommit (not Git tags), by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n TagResource, which adds or updates tags for a resource in AWS CodeCommit.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UntagResource, which removes tags for a resource in AWS CodeCommit.

                                                    \n
                                                  • \n
                                                  \n \n

                                                  Triggers, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n GetRepositoryTriggers, which returns information about triggers configured \n for a repository.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PutRepositoryTriggers, which replaces all triggers for a repository and can \n be used to create or delete triggers.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n TestRepositoryTriggers, which tests the functionality of a repository trigger \n by sending data to the trigger target.

                                                    \n
                                                  • \n
                                                  \n \n \n \n \n

                                                  For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codedeploy/Cargo.toml b/sdk/codedeploy/Cargo.toml index 72b6fadcdab0..1fa067c07022 100644 --- a/sdk/codedeploy/Cargo.toml +++ b/sdk/codedeploy/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codedeploy" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CodeDeploy\n

                                                  AWS CodeDeploy is a deployment service that automates application deployments to\n Amazon EC2 instances, on-premises instances running in your own facility, serverless AWS\n Lambda functions, or applications in an Amazon ECS service.

                                                  \n

                                                  You can deploy a nearly unlimited variety of application content, such as an updated\n Lambda function, updated applications in an Amazon ECS service, code, web and\n configuration files, executables, packages, scripts, multimedia files, and so on. AWS\n CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub\n repositories, or Bitbucket repositories. You do not need to make changes to your\n existing code before you can use AWS CodeDeploy.

                                                  \n

                                                  AWS CodeDeploy makes it easier for you to rapidly release new features, helps you\n avoid downtime during application deployment, and handles the complexity of updating\n your applications, without many of the risks associated with error-prone manual\n deployments.

                                                  \n

                                                  \n AWS CodeDeploy Components\n

                                                  \n

                                                  Use the information in this guide to help you work with the following AWS CodeDeploy\n components:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n Application: A name that uniquely identifies\n the application you want to deploy. AWS CodeDeploy uses this name, which\n functions as a container, to ensure the correct combination of revision,\n deployment configuration, and deployment group are referenced during a\n deployment.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n Deployment group: A set of individual\n instances, CodeDeploy Lambda deployment configuration settings, or an Amazon ECS\n service and network details. A Lambda deployment group specifies how to route\n traffic to a new version of a Lambda function. An Amazon ECS deployment group\n specifies the service created in Amazon ECS to deploy, a load balancer, and a\n listener to reroute production traffic to an updated containerized application.\n An EC2/On-premises deployment group contains individually tagged instances,\n Amazon EC2 instances in Amazon EC2 Auto Scaling groups, or both. All deployment\n groups can specify optional trigger, alarm, and rollback settings.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n Deployment configuration: A set of deployment\n rules and deployment success and failure conditions used by AWS CodeDeploy\n during a deployment.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n Deployment: The process and the components used\n when updating a Lambda function, a containerized application in an Amazon ECS\n service, or of installing content on one or more instances.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n Application revisions: For an AWS Lambda\n deployment, this is an AppSpec file that specifies the Lambda function to be\n updated and one or more functions to validate deployment lifecycle events. For\n an Amazon ECS deployment, this is an AppSpec file that specifies the Amazon ECS\n task definition, container, and port where production traffic is rerouted. For\n an EC2/On-premises deployment, this is an archive file that contains source\n content—source code, webpages, executable files, and deployment scripts—along\n with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub\n repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3\n object key and its ETag, version, or both. For GitHub, a revision is uniquely\n identified by its commit ID.

                                                    \n
                                                  • \n
                                                  \n

                                                  This guide also contains information to help you get details about the instances in\n your deployments, to make on-premises instances available for AWS CodeDeploy\n deployments, to get details about a Lambda function deployment, and to get details about\n Amazon ECS service deployments.

                                                  \n

                                                  \n AWS CodeDeploy Information Resources\n

                                                  \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codeguruprofiler/Cargo.toml b/sdk/codeguruprofiler/Cargo.toml index 6107c9ac8f7d..79517308755b 100644 --- a/sdk/codeguruprofiler/Cargo.toml +++ b/sdk/codeguruprofiler/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codeguruprofiler" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  \n This section provides documentation for the Amazon CodeGuru Profiler API operations.\n

                                                  \n

                                                  \n Amazon CodeGuru Profiler collects runtime performance data from your live applications, and provides\n recommendations that can help you fine-tune your application performance. Using machine learning\n algorithms, CodeGuru Profiler can help you find your most expensive lines of code and suggest ways you can\n improve efficiency and remove CPU bottlenecks.\n

                                                  \n

                                                  \n Amazon CodeGuru Profiler provides different visualizations of profiling data to help you identify what code is\n running on the CPU, see how much time is consumed, and suggest ways to reduce CPU utilization.\n

                                                  \n \n

                                                  Amazon CodeGuru Profiler currently supports applications written in all Java virtual machine (JVM)\n languages and Python. While CodeGuru Profiler supports both visualizations and recommendations for applications\n written in Java, it can also generate visualizations and a subset of recommendations for\n applications written in other JVM languages and Python.

                                                  \n
                                                  \n

                                                  \n For more information, see What is Amazon CodeGuru Profiler in \n the Amazon CodeGuru Profiler User Guide.\n

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codegurureviewer/Cargo.toml b/sdk/codegurureviewer/Cargo.toml index 5e19f52cc304..712e06b36a17 100644 --- a/sdk/codegurureviewer/Cargo.toml +++ b/sdk/codegurureviewer/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codegurureviewer" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  This section provides documentation for the Amazon CodeGuru Reviewer API operations. CodeGuru Reviewer is a service\n that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends\n fixes in your Java and Python code.

                                                  \n \n

                                                  By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer\n improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the \n \n Amazon CodeGuru Reviewer User Guide.\n

                                                  \n \n

                                                  \n To improve the security of your CodeGuru Reviewer API calls, you can establish a private connection between your VPC and CodeGuru Reviewer by \n creating an interface VPC endpoint. For more information, see \n CodeGuru Reviewer and interface \n VPC endpoints (AWS PrivateLink) in the Amazon CodeGuru Reviewer User Guide.\n

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codepipeline/Cargo.toml b/sdk/codepipeline/Cargo.toml index 47cf23e867b7..90afc0b95831 100644 --- a/sdk/codepipeline/Cargo.toml +++ b/sdk/codepipeline/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codepipeline" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CodePipeline\n

                                                  \n Overview\n

                                                  \n

                                                  This is the AWS CodePipeline API Reference. This guide provides descriptions of the\n actions and data types for AWS CodePipeline. Some functionality for your pipeline can\n only be configured through the API. For more information, see the AWS\n CodePipeline User Guide.

                                                  \n

                                                  You can use the AWS CodePipeline API to work with pipelines, stages, actions, and\n transitions.

                                                  \n

                                                  \n Pipelines are models of automated release processes. Each pipeline\n is uniquely named, and consists of stages, actions, and transitions.

                                                  \n

                                                  You can work with pipelines by calling:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n CreatePipeline, which creates a uniquely named\n pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeletePipeline, which deletes the specified\n pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetPipeline, which returns information about the pipeline\n structure and pipeline metadata, including the pipeline Amazon Resource Name\n (ARN).

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetPipelineExecution, which returns information about a\n specific execution of a pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetPipelineState, which returns information about the current\n state of the stages and actions of a pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListActionExecutions, which returns action-level details\n for past executions. The details include full stage and action-level details,\n including individual action duration, status, any errors that occurred during\n the execution, and input and output artifact location details.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListPipelines, which gets a summary of all of the pipelines\n associated with your account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListPipelineExecutions, which gets a summary of the most\n recent executions for a pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n StartPipelineExecution, which runs the most recent revision of\n an artifact through the pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n StopPipelineExecution, which stops the specified pipeline\n execution from continuing through the pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdatePipeline, which updates a pipeline with edits or changes\n to the structure of the pipeline.

                                                    \n
                                                  • \n
                                                  \n

                                                  Pipelines include stages. Each stage contains one or more\n actions that must complete before the next stage begins. A stage results in success or\n failure. If a stage fails, the pipeline stops at that stage and remains stopped until\n either a new version of an artifact appears in the source location, or a user takes\n action to rerun the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the\n status of stages in the pipeline, or GetPipeline, which returns the\n entire structure of the pipeline, including the stages of that pipeline. For more\n information about the structure of stages and actions, see AWS CodePipeline\n Pipeline Structure Reference.

                                                  \n

                                                  Pipeline stages include actions that are categorized into\n categories such as source or build actions performed in a stage of a pipeline. For\n example, you can use a source action to import artifacts into a pipeline from a source\n such as Amazon S3. Like stages, you do not work with actions directly in most cases, but\n you do define and interact with actions when working with pipeline operations such as\n CreatePipeline and GetPipelineState. Valid\n action categories are:

                                                  \n
                                                    \n
                                                  • \n

                                                    Source

                                                    \n
                                                  • \n
                                                  • \n

                                                    Build

                                                    \n
                                                  • \n
                                                  • \n

                                                    Test

                                                    \n
                                                  • \n
                                                  • \n

                                                    Deploy

                                                    \n
                                                  • \n
                                                  • \n

                                                    Approval

                                                    \n
                                                  • \n
                                                  • \n

                                                    Invoke

                                                    \n
                                                  • \n
                                                  \n

                                                  Pipelines also include transitions, which allow the transition\n of artifacts from one stage to the next in a pipeline after the actions in one stage\n complete.

                                                  \n

                                                  You can work with transitions by calling:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n DisableStageTransition, which prevents artifacts from\n transitioning to the next stage in a pipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n EnableStageTransition, which enables transition of artifacts\n between stages in a pipeline.

                                                    \n
                                                  • \n
                                                  \n

                                                  \n Using the API to integrate with AWS CodePipeline\n

                                                  \n

                                                  For third-party integrators or developers who want to create their own integrations\n with AWS CodePipeline, the expected sequence varies from the standard API user. To\n integrate with AWS CodePipeline, developers need to work with the following\n items:

                                                  \n

                                                  \n Jobs, which are instances of an action. For\n example, a job for a source action might import a revision of an artifact from a source.

                                                  \n

                                                  You can work with jobs by calling:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n AcknowledgeJob, which confirms whether a job worker has\n received the specified job.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetJobDetails, which returns the details of a job.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PollForJobs, which determines whether there are any jobs to\n act on.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PutJobFailureResult, which provides details of a job failure.\n

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n PutJobSuccessResult, which provides details of a job\n success.

                                                    \n
                                                  • \n
                                                  \n

                                                  \n Third party jobs, which are instances of an action\n created by a partner action and integrated into AWS CodePipeline. Partner actions are\n created by members of the AWS Partner Network.

                                                  \n

                                                  You can work with third party jobs by calling:

                                                  \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codestar/Cargo.toml b/sdk/codestar/Cargo.toml index 2702d211effb..853add8a6fdd 100644 --- a/sdk/codestar/Cargo.toml +++ b/sdk/codestar/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codestar" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CodeStar\n

                                                  This is the API reference for AWS CodeStar. This reference provides descriptions of the\n operations and data types for the AWS CodeStar API along with usage examples.

                                                  \n

                                                  You can use the AWS CodeStar API to work with:

                                                  \n

                                                  Projects and their resources, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n DeleteProject, which deletes a project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DescribeProject, which lists the attributes of a project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListProjects, which lists all projects associated with your AWS\n account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListResources, which lists the resources associated with a\n project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListTagsForProject, which lists the tags associated with a\n project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n TagProject, which adds tags to a project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UntagProject, which removes tags from a project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateProject, which updates the attributes of a project.

                                                    \n
                                                  • \n
                                                  \n

                                                  Teams and team members, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n AssociateTeamMember, which adds an IAM user to the team for a\n project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DisassociateTeamMember, which removes an IAM user from the team for a\n project.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListTeamMembers, which lists all the IAM users in the team for a\n project, including their roles and attributes.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateTeamMember, which updates a team member's attributes in a\n project.

                                                    \n
                                                  • \n
                                                  \n

                                                  Users, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n CreateUserProfile, which creates a user profile that contains data\n associated with the user across all projects.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeleteUserProfile, which deletes all user profile information across\n all projects.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DescribeUserProfile, which describes the profile of a user.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListUserProfiles, which lists all user profiles.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UpdateUserProfile, which updates the profile for a user.

                                                    \n
                                                  • \n
                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codestarconnections/Cargo.toml b/sdk/codestarconnections/Cargo.toml index 3e2bbcfc5733..6035660f0fd4 100644 --- a/sdk/codestarconnections/Cargo.toml +++ b/sdk/codestarconnections/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codestarconnections" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CodeStar Connections\n

                                                  This AWS CodeStar Connections API Reference provides descriptions and usage examples of\n the operations and data types for the AWS CodeStar Connections API. You can use the\n connections API to work with connections and installations.

                                                  \n

                                                  \n Connections are configurations that you use to connect AWS\n resources to external code repositories. Each connection is a resource that can be given to\n services such as CodePipeline to connect to a third-party repository such as Bitbucket. For\n example, you can add the connection in CodePipeline so that it triggers your pipeline when a\n code change is made to your third-party code repository. Each connection is named and\n associated with a unique ARN that is used to reference the connection.

                                                  \n

                                                  When you create a connection, the console initiates a third-party connection handshake.\n Installations are the apps that are used to conduct this handshake. For\n example, the installation for the Bitbucket provider type is the Bitbucket app. When you\n create a connection, you can choose an existing installation or create one.

                                                  \n

                                                  When you want to create a connection to an installed provider type such as GitHub\n Enterprise Server, you create a host for your connections.

                                                  \n

                                                  You can work with connections by calling:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n CreateConnection, which creates a uniquely named connection that can be\n referenced by services such as CodePipeline.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeleteConnection, which deletes the specified connection.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetConnection, which returns information about the connection, including\n the connection status.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListConnections, which lists the connections associated with your\n account.

                                                    \n
                                                  • \n
                                                  \n

                                                  You can work with hosts by calling:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n CreateHost, which creates a host that represents the infrastructure where your provider is installed.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n DeleteHost, which deletes the specified host.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n GetHost, which returns information about the host, including\n the setup status.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListHosts, which lists the hosts associated with your\n account.

                                                    \n
                                                  • \n
                                                  \n

                                                  You can work with tags in AWS CodeStar Connections by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n ListTagsForResource, which gets information about AWS tags for a\n specified Amazon Resource Name (ARN) in AWS CodeStar Connections.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n TagResource, which adds or updates tags for a resource in AWS CodeStar\n Connections.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UntagResource, which removes tags for a resource in AWS CodeStar\n Connections.

                                                    \n
                                                  • \n
                                                  \n

                                                  For information about how to use AWS CodeStar Connections, see the Developer Tools User\n Guide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/codestarnotifications/Cargo.toml b/sdk/codestarnotifications/Cargo.toml index c818c9307cf0..1591b5131116 100644 --- a/sdk/codestarnotifications/Cargo.toml +++ b/sdk/codestarnotifications/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-codestarnotifications" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the\n operations and data types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API\n to work with the following objects:

                                                  \n \n

                                                  Notification rules, by calling the following:

                                                  \n \n \n

                                                  Targets, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n DeleteTarget, which removes a notification rule target (SNS topic) from a\n notification rule.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n ListTargets, which lists the targets associated with a\n notification rule.

                                                    \n
                                                  • \n
                                                  \n \n

                                                  Events, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n ListEventTypes, which lists the event types you can include in\n a notification rule.

                                                    \n
                                                  • \n
                                                  \n

                                                  Tags, by calling the following:

                                                  \n
                                                    \n
                                                  • \n

                                                    \n ListTagsForResource, which lists the tags already associated\n with a notification rule in your account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n TagResource, which associates a tag you provide with a\n notification rule in your account.

                                                    \n
                                                  • \n
                                                  • \n

                                                    \n UntagResource, which removes a tag from a notification rule in\n your account.

                                                    \n
                                                  • \n
                                                  \n \n\n \n

                                                  For information about how to use AWS CodeStar Notifications, see link in the CodeStarNotifications User Guide.\n

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cognitoidentity/Cargo.toml b/sdk/cognitoidentity/Cargo.toml index eac7ea85993c..e1ec9a7236c3 100644 --- a/sdk/cognitoidentity/Cargo.toml +++ b/sdk/cognitoidentity/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cognitoidentity" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Cognito Federated Identities\n

                                                  Amazon Cognito Federated Identities is a web service that delivers scoped temporary\n credentials to mobile devices and other untrusted environments. It uniquely identifies a\n device and supplies the user with a consistent identity over the lifetime of an\n application.

                                                  \n

                                                  Using Amazon Cognito Federated Identities, you can enable authentication with one or\n more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon\n Cognito user pool, and you can also choose to support unauthenticated access from your app.\n Cognito delivers a unique identifier for each user and acts as an OpenID token provider\n trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS\n credentials.

                                                  \n

                                                  For a description of the authentication flow from the Amazon Cognito Developer Guide\n see Authentication Flow.

                                                  \n

                                                  For more information see Amazon Cognito Federated Identities.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cognitoidentity/src/input.rs b/sdk/cognitoidentity/src/input.rs index e5397855b184..4ad9efbb9ccf 100644 --- a/sdk/cognitoidentity/src/input.rs +++ b/sdk/cognitoidentity/src/input.rs @@ -960,6 +960,8 @@ impl GetCredentialsForIdentityInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -1130,6 +1132,8 @@ impl GetIdInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -1431,6 +1435,8 @@ impl GetOpenIdTokenInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -3566,6 +3572,8 @@ impl UnlinkIdentityInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/cognitoidentityprovider/Cargo.toml b/sdk/cognitoidentityprovider/Cargo.toml index 145afcc6badd..ccdea0f856a8 100644 --- a/sdk/cognitoidentityprovider/Cargo.toml +++ b/sdk/cognitoidentityprovider/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cognitoidentityprovider" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Using the Amazon Cognito User Pools API, you can create a user pool to manage\n directories and users. You can authenticate a user to obtain tokens related to user\n identity and access policies.

                                                  \n

                                                  This API reference provides information about user pools in Amazon Cognito User\n Pools.

                                                  \n

                                                  For more information, see the Amazon Cognito\n Documentation.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cognitoidentityprovider/src/input.rs b/sdk/cognitoidentityprovider/src/input.rs index 4aaffb0749f8..7a57c85bdaf4 100644 --- a/sdk/cognitoidentityprovider/src/input.rs +++ b/sdk/cognitoidentityprovider/src/input.rs @@ -5092,6 +5092,8 @@ impl ChangePasswordInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -5512,6 +5514,8 @@ impl ConfirmForgotPasswordInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -5755,6 +5759,8 @@ impl ConfirmSignUpInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -8236,6 +8242,8 @@ impl DeleteUserInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -8390,6 +8398,8 @@ impl DeleteUserAttributesInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -10225,6 +10235,8 @@ impl ForgotPasswordInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -11235,6 +11247,8 @@ impl GetUserInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -11415,6 +11429,8 @@ impl GetUserAttributeVerificationCodeInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -11971,6 +11987,8 @@ impl InitiateAuthInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -13886,6 +13904,8 @@ impl ResendConfirmationCodeInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -14133,6 +14153,8 @@ impl RespondToAuthChallengeInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -15204,6 +15226,8 @@ impl SetUserSettingsInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -15455,6 +15479,8 @@ impl SignUpInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -17175,6 +17201,8 @@ impl UpdateUserAttributesInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -18573,6 +18601,8 @@ impl VerifyUserAttributeInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/cognitosync/Cargo.toml b/sdk/cognitosync/Cargo.toml index 1ac21eeb8b8f..b68a4c6c8f05 100644 --- a/sdk/cognitosync/Cargo.toml +++ b/sdk/cognitosync/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cognitosync" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Cognito Sync\n

                                                  Amazon Cognito Sync provides an AWS service and client library that enable cross-device syncing of\n application-related user data. High-level client libraries are available for both iOS and\n Android. You can use these libraries to persist data locally so that it's available even if\n the device is offline. Developer credentials don't need to be stored on the mobile device\n to access the service. You can use Amazon Cognito to obtain a normalized user ID and\n credentials. User data is persisted in a dataset that can store up to 1 MB of key-value\n pairs, and you can have up to 20 datasets per user identity.

                                                  \n

                                                  With Amazon Cognito Sync, the data stored for each identity is accessible only to\n credentials assigned to that identity. In order to use the Cognito Sync service, you need\n to make API calls using credentials retrieved with Amazon Cognito Identity service.

                                                  \n

                                                  If you want to use Cognito Sync in an Android or iOS application, you will probably want to\n make API calls via the AWS Mobile SDK. To learn more, see the Developer Guide for Android and the Developer Guide for iOS.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/comprehend/Cargo.toml b/sdk/comprehend/Cargo.toml index 519cb790e6d5..715498a4103e 100644 --- a/sdk/comprehend/Cargo.toml +++ b/sdk/comprehend/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-comprehend" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon Comprehend is an AWS service for gaining insight into the content of documents.\n Use these actions to determine the topics contained in your documents, the topics they\n discuss, the predominant sentiment expressed in them, the predominant language used, and\n more.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/comprehendmedical/Cargo.toml b/sdk/comprehendmedical/Cargo.toml index 330daa2abe39..18e590af5fc0 100644 --- a/sdk/comprehendmedical/Cargo.toml +++ b/sdk/comprehendmedical/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-comprehendmedical" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions\n to gain insight in your documents.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/computeoptimizer/Cargo.toml b/sdk/computeoptimizer/Cargo.toml index 6b4d5405b544..c2b815d53beb 100644 --- a/sdk/computeoptimizer/Cargo.toml +++ b/sdk/computeoptimizer/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-computeoptimizer" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  AWS Compute Optimizer is a service that analyzes the configuration and utilization\n metrics of your AWS compute resources, such as EC2 instances, Auto Scaling groups, AWS Lambda\n functions, and Amazon EBS volumes. It reports whether your resources are optimal, and\n generates optimization recommendations to reduce the cost and improve the performance of\n your workloads. Compute Optimizer also provides recent utilization metric data, as well as projected\n utilization metric data for the recommendations, which you can use to evaluate which\n recommendation provides the best price-performance trade-off. The analysis of your usage\n patterns can help you decide when to move or resize your running resources, and still\n meet your performance and capacity requirements. For more information about Compute Optimizer,\n including the required permissions to use the service, see the AWS Compute Optimizer User\n Guide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/config/Cargo.toml b/sdk/config/Cargo.toml index e4ff1d5eb8bb..6f413c66a1cb 100644 --- a/sdk/config/Cargo.toml +++ b/sdk/config/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-config" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Config\n\n\t\t

                                                  AWS Config provides a way to keep track of the configurations\n\t\t\tof all the AWS resources associated with your AWS account. You can\n\t\t\tuse AWS Config to get the current and historical configurations of\n\t\t\teach AWS resource and also to get information about the relationship\n\t\t\tbetween the resources. An AWS resource can be an Amazon Compute\n\t\t\tCloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an\n\t\t\telastic network Interface (ENI), or a security group. For a complete\n\t\t\tlist of resources currently supported by AWS Config, see Supported AWS Resources.

                                                  \n\n\t\t

                                                  You can access and manage AWS Config through the AWS Management\n\t\t\tConsole, the AWS Command Line Interface (AWS CLI), the AWS Config\n\t\t\tAPI, or the AWS SDKs for AWS Config. This reference guide contains\n\t\t\tdocumentation for the AWS Config API and the AWS CLI commands that\n\t\t\tyou can use to manage AWS Config. The AWS Config API uses the\n\t\t\tSignature Version 4 protocol for signing requests. For more\n\t\t\tinformation about how to sign a request with this protocol, see\n\t\t\t\tSignature\n\t\t\t\tVersion 4 Signing Process. For detailed information\n\t\t\tabout AWS Config features and their associated actions or commands,\n\t\t\tas well as how to work with AWS Management Console, see What Is AWS\n\t\t\t\tConfig in the AWS Config Developer\n\t\t\t\tGuide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/config/src/model.rs b/sdk/config/src/model.rs index a13a331c5554..32f90902bee3 100644 --- a/sdk/config/src/model.rs +++ b/sdk/config/src/model.rs @@ -147,6 +147,10 @@ pub enum ResourceType { LaunchConfiguration, ScalingPolicy, ScheduledAction, + BackupPlan, + BackupSelection, + BackupVault, + BackupRecoveryPoint, Stack, Distribution, StreamingDistribution, @@ -178,6 +182,13 @@ pub enum ResourceType { VpnConnection, VpnGateway, Volume, + EcrRepository, + EcsCluster, + EcsService, + EcsTaskDefinition, + EfsAccessPoint, + EfsFileSystem, + EksCluster, Application, ApplicationVersion, Environment, @@ -250,6 +261,10 @@ impl std::convert::From<&str> for ResourceType { "AWS::AutoScaling::LaunchConfiguration" => ResourceType::LaunchConfiguration, "AWS::AutoScaling::ScalingPolicy" => ResourceType::ScalingPolicy, "AWS::AutoScaling::ScheduledAction" => ResourceType::ScheduledAction, + "AWS::Backup::BackupPlan" => ResourceType::BackupPlan, + "AWS::Backup::BackupSelection" => ResourceType::BackupSelection, + "AWS::Backup::BackupVault" => ResourceType::BackupVault, + "AWS::Backup::RecoveryPoint" => ResourceType::BackupRecoveryPoint, "AWS::CloudFormation::Stack" => ResourceType::Stack, "AWS::CloudFront::Distribution" => ResourceType::Distribution, "AWS::CloudFront::StreamingDistribution" => ResourceType::StreamingDistribution, @@ -281,6 +296,13 @@ impl std::convert::From<&str> for ResourceType { "AWS::EC2::VPNConnection" => ResourceType::VpnConnection, "AWS::EC2::VPNGateway" => ResourceType::VpnGateway, "AWS::EC2::Volume" => ResourceType::Volume, + "AWS::ECR::Repository" => ResourceType::EcrRepository, + "AWS::ECS::Cluster" => ResourceType::EcsCluster, + "AWS::ECS::Service" => ResourceType::EcsService, + "AWS::ECS::TaskDefinition" => ResourceType::EcsTaskDefinition, + "AWS::EFS::AccessPoint" => ResourceType::EfsAccessPoint, + "AWS::EFS::FileSystem" => ResourceType::EfsFileSystem, + "AWS::EKS::Cluster" => ResourceType::EksCluster, "AWS::ElasticBeanstalk::Application" => ResourceType::Application, "AWS::ElasticBeanstalk::ApplicationVersion" => ResourceType::ApplicationVersion, "AWS::ElasticBeanstalk::Environment" => ResourceType::Environment, @@ -363,6 +385,10 @@ impl ResourceType { ResourceType::LaunchConfiguration => "AWS::AutoScaling::LaunchConfiguration", ResourceType::ScalingPolicy => "AWS::AutoScaling::ScalingPolicy", ResourceType::ScheduledAction => "AWS::AutoScaling::ScheduledAction", + ResourceType::BackupPlan => "AWS::Backup::BackupPlan", + ResourceType::BackupSelection => "AWS::Backup::BackupSelection", + ResourceType::BackupVault => "AWS::Backup::BackupVault", + ResourceType::BackupRecoveryPoint => "AWS::Backup::RecoveryPoint", ResourceType::Stack => "AWS::CloudFormation::Stack", ResourceType::Distribution => "AWS::CloudFront::Distribution", ResourceType::StreamingDistribution => "AWS::CloudFront::StreamingDistribution", @@ -394,6 +420,13 @@ impl ResourceType { ResourceType::VpnConnection => "AWS::EC2::VPNConnection", ResourceType::VpnGateway => "AWS::EC2::VPNGateway", ResourceType::Volume => "AWS::EC2::Volume", + ResourceType::EcrRepository => "AWS::ECR::Repository", + ResourceType::EcsCluster => "AWS::ECS::Cluster", + ResourceType::EcsService => "AWS::ECS::Service", + ResourceType::EcsTaskDefinition => "AWS::ECS::TaskDefinition", + ResourceType::EfsAccessPoint => "AWS::EFS::AccessPoint", + ResourceType::EfsFileSystem => "AWS::EFS::FileSystem", + ResourceType::EksCluster => "AWS::EKS::Cluster", ResourceType::Application => "AWS::ElasticBeanstalk::Application", ResourceType::ApplicationVersion => "AWS::ElasticBeanstalk::ApplicationVersion", ResourceType::Environment => "AWS::ElasticBeanstalk::Environment", @@ -467,6 +500,10 @@ impl ResourceType { "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", + "AWS::Backup::BackupPlan", + "AWS::Backup::BackupSelection", + "AWS::Backup::BackupVault", + "AWS::Backup::RecoveryPoint", "AWS::CloudFormation::Stack", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", @@ -498,6 +535,13 @@ impl ResourceType { "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::EC2::Volume", + "AWS::ECR::Repository", + "AWS::ECS::Cluster", + "AWS::ECS::Service", + "AWS::ECS::TaskDefinition", + "AWS::EFS::AccessPoint", + "AWS::EFS::FileSystem", + "AWS::EKS::Cluster", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", diff --git a/sdk/connect/Cargo.toml b/sdk/connect/Cargo.toml index bfd22f9fbe38..d40c69287899 100644 --- a/sdk/connect/Cargo.toml +++ b/sdk/connect/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-connect" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer\n contact center and provide reliable customer engagement at any scale.

                                                  \n

                                                  Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing.\n You can also resolve customer issues more efficiently by getting customers in touch with the\n appropriate agents.

                                                  \n

                                                  There are limits to the number of Amazon Connect resources that you can create. There are also limits\n to the number of requests that you can make per second. For more information, see Amazon Connect\n Service Quotas in the Amazon Connect Administrator Guide.

                                                  \n

                                                  You can\n connect\n programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see\n Amazon Connect\n Endpoints.

                                                  \n \n

                                                  Working with contact flows? Check out the Amazon Connect Flow language.

                                                  \n
                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/connect/src/client.rs b/sdk/connect/src/client.rs index a84e2ea52214..9adbe973635a 100644 --- a/sdk/connect/src/client.rs +++ b/sdk/connect/src/client.rs @@ -69,9 +69,15 @@ where pub fn associate_security_key(&self) -> fluent_builders::AssociateSecurityKey { fluent_builders::AssociateSecurityKey::new(self.handle.clone()) } + pub fn create_agent_status(&self) -> fluent_builders::CreateAgentStatus { + fluent_builders::CreateAgentStatus::new(self.handle.clone()) + } pub fn create_contact_flow(&self) -> fluent_builders::CreateContactFlow { fluent_builders::CreateContactFlow::new(self.handle.clone()) } + pub fn create_hours_of_operation(&self) -> fluent_builders::CreateHoursOfOperation { + fluent_builders::CreateHoursOfOperation::new(self.handle.clone()) + } pub fn create_instance(&self) -> fluent_builders::CreateInstance { fluent_builders::CreateInstance::new(self.handle.clone()) } @@ -98,6 +104,9 @@ where pub fn create_user_hierarchy_group(&self) -> fluent_builders::CreateUserHierarchyGroup { fluent_builders::CreateUserHierarchyGroup::new(self.handle.clone()) } + pub fn delete_hours_of_operation(&self) -> fluent_builders::DeleteHoursOfOperation { + fluent_builders::DeleteHoursOfOperation::new(self.handle.clone()) + } pub fn delete_instance(&self) -> fluent_builders::DeleteInstance { fluent_builders::DeleteInstance::new(self.handle.clone()) } @@ -118,6 +127,9 @@ where pub fn delete_user_hierarchy_group(&self) -> fluent_builders::DeleteUserHierarchyGroup { fluent_builders::DeleteUserHierarchyGroup::new(self.handle.clone()) } + pub fn describe_agent_status(&self) -> fluent_builders::DescribeAgentStatus { + fluent_builders::DescribeAgentStatus::new(self.handle.clone()) + } pub fn describe_contact_flow(&self) -> fluent_builders::DescribeContactFlow { fluent_builders::DescribeContactFlow::new(self.handle.clone()) } @@ -197,6 +209,9 @@ where pub fn get_metric_data(&self) -> fluent_builders::GetMetricData { fluent_builders::GetMetricData::new(self.handle.clone()) } + pub fn list_agent_statuses(&self) -> fluent_builders::ListAgentStatuses { + fluent_builders::ListAgentStatuses::new(self.handle.clone()) + } pub fn list_approved_origins(&self) -> fluent_builders::ListApprovedOrigins { fluent_builders::ListApprovedOrigins::new(self.handle.clone()) } @@ -296,6 +311,9 @@ where pub fn untag_resource(&self) -> fluent_builders::UntagResource { fluent_builders::UntagResource::new(self.handle.clone()) } + pub fn update_agent_status(&self) -> fluent_builders::UpdateAgentStatus { + fluent_builders::UpdateAgentStatus::new(self.handle.clone()) + } pub fn update_contact_attributes(&self) -> fluent_builders::UpdateContactAttributes { fluent_builders::UpdateContactAttributes::new(self.handle.clone()) } @@ -305,6 +323,9 @@ where pub fn update_contact_flow_name(&self) -> fluent_builders::UpdateContactFlowName { fluent_builders::UpdateContactFlowName::new(self.handle.clone()) } + pub fn update_hours_of_operation(&self) -> fluent_builders::UpdateHoursOfOperation { + fluent_builders::UpdateHoursOfOperation::new(self.handle.clone()) + } pub fn update_instance_attribute(&self) -> fluent_builders::UpdateInstanceAttribute { fluent_builders::UpdateInstanceAttribute::new(self.handle.clone()) } @@ -840,6 +861,104 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct CreateAgentStatus { + handle: std::sync::Arc>, + inner: crate::input::create_agent_status_input::Builder, + } + impl CreateAgentStatus { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateAgentStatusOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The name of the status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                  The description of the status.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.inner = self.inner.description(input); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_description(input); + self + } + ///

                                                  The state of the status.

                                                  + pub fn state(mut self, input: crate::model::AgentStatusState) -> Self { + self.inner = self.inner.state(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_state(input); + self + } + ///

                                                  The display order of the status.

                                                  + pub fn display_order(mut self, input: i32) -> Self { + self.inner = self.inner.display_order(input); + self + } + pub fn set_display_order(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_display_order(input); + self + } + ///

                                                  One or more tags.

                                                  + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.tags(k, v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct CreateContactFlow { handle: std::sync::Arc>, inner: crate::input::create_contact_flow_input::Builder, @@ -939,6 +1058,104 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct CreateHoursOfOperation { + handle: std::sync::Arc>, + inner: crate::input::create_hours_of_operation_input::Builder, + } + impl CreateHoursOfOperation { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateHoursOfOperationOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The name of the hours of operation.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                  The description of the hours of operation.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.inner = self.inner.description(input); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_description(input); + self + } + ///

                                                  The time zone of the hours of operation.

                                                  + pub fn time_zone(mut self, input: impl Into) -> Self { + self.inner = self.inner.time_zone(input); + self + } + pub fn set_time_zone(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_time_zone(input); + self + } + ///

                                                  Configuration information for the hours of operation: day, start time, and end time.

                                                  + pub fn config(mut self, inp: impl Into) -> Self { + self.inner = self.inner.config(inp); + self + } + pub fn set_config( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_config(input); + self + } + ///

                                                  One or more tags.

                                                  + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.tags(k, v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct CreateInstance { handle: std::sync::Arc>, inner: crate::input::create_instance_input::Builder, @@ -1787,6 +2004,59 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct DeleteHoursOfOperation { + handle: std::sync::Arc>, + inner: crate::input::delete_hours_of_operation_input::Builder, + } + impl DeleteHoursOfOperation { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteHoursOfOperationOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The identifier for the hours of operation.

                                                  + pub fn hours_of_operation_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.hours_of_operation_id(input); + self + } + pub fn set_hours_of_operation_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_hours_of_operation_id(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct DeleteInstance { handle: std::sync::Arc>, inner: crate::input::delete_instance_input::Builder, @@ -2099,6 +2369,59 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct DescribeAgentStatus { + handle: std::sync::Arc>, + inner: crate::input::describe_agent_status_input::Builder, + } + impl DescribeAgentStatus { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeAgentStatusOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The identifier for the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.agent_status_id(input); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_agent_status_id(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct DescribeContactFlow { handle: std::sync::Arc>, inner: crate::input::describe_contact_flow_input::Builder, @@ -3687,6 +4010,78 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct ListAgentStatuses { + handle: std::sync::Arc>, + inner: crate::input::list_agent_statuses_input::Builder, + } + impl ListAgentStatuses { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListAgentStatusesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The token for the next set of results. Use the value returned in the previous + /// response in the next request to retrieve the next set of results.

                                                  + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

                                                  The maximum number of results to return per page.

                                                  + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

                                                  Available agent status types.

                                                  + pub fn agent_status_types(mut self, inp: impl Into) -> Self { + self.inner = self.inner.agent_status_types(inp); + self + } + pub fn set_agent_status_types( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_agent_status_types(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct ListApprovedOrigins { handle: std::sync::Arc>, inner: crate::input::list_approved_origins_input::Builder, @@ -5975,6 +6370,107 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct UpdateAgentStatus { + handle: std::sync::Arc>, + inner: crate::input::update_agent_status_input::Builder, + } + impl UpdateAgentStatus { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateAgentStatusOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The identifier of the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.agent_status_id(input); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_agent_status_id(input); + self + } + ///

                                                  The name of the agent status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                  The description of the agent status.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.inner = self.inner.description(input); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_description(input); + self + } + ///

                                                  The state of the agent status.

                                                  + pub fn state(mut self, input: crate::model::AgentStatusState) -> Self { + self.inner = self.inner.state(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_state(input); + self + } + ///

                                                  The display order of the agent status.

                                                  + pub fn display_order(mut self, input: i32) -> Self { + self.inner = self.inner.display_order(input); + self + } + pub fn set_display_order(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_display_order(input); + self + } + ///

                                                  A number indicating the reset order of the agent status.

                                                  + pub fn reset_order_number(mut self, input: bool) -> Self { + self.inner = self.inner.reset_order_number(input); + self + } + pub fn set_reset_order_number(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_reset_order_number(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct UpdateContactAttributes { handle: std::sync::Arc>, inner: crate::input::update_contact_attributes_input::Builder, @@ -6185,6 +6681,98 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct UpdateHoursOfOperation { + handle: std::sync::Arc>, + inner: crate::input::update_hours_of_operation_input::Builder, + } + impl UpdateHoursOfOperation { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateHoursOfOperationOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.instance_id(input); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

                                                  The identifier of the hours of operation.

                                                  + pub fn hours_of_operation_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.hours_of_operation_id(input); + self + } + pub fn set_hours_of_operation_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_hours_of_operation_id(input); + self + } + ///

                                                  The name of the hours of operation.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                  The description of the hours of operation.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.inner = self.inner.description(input); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_description(input); + self + } + ///

                                                  The time zone of the hours of operation.

                                                  + pub fn time_zone(mut self, input: impl Into) -> Self { + self.inner = self.inner.time_zone(input); + self + } + pub fn set_time_zone(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_time_zone(input); + self + } + ///

                                                  Configuration information of the hours of operation.

                                                  + pub fn config(mut self, inp: impl Into) -> Self { + self.inner = self.inner.config(inp); + self + } + pub fn set_config( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_config(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct UpdateInstanceAttribute { handle: std::sync::Arc>, inner: crate::input::update_instance_attribute_input::Builder, diff --git a/sdk/connect/src/error.rs b/sdk/connect/src/error.rs index f470bde476cc..d640650e0f0f 100644 --- a/sdk/connect/src/error.rs +++ b/sdk/connect/src/error.rs @@ -1076,6 +1076,141 @@ impl std::error::Error for AssociateSecurityKeyError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateAgentStatusError { + pub kind: CreateAgentStatusErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateAgentStatusErrorKind { + DuplicateResourceException(crate::error::DuplicateResourceException), + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + LimitExceededException(crate::error::LimitExceededException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateAgentStatusError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateAgentStatusErrorKind::DuplicateResourceException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + CreateAgentStatusErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateAgentStatusError { + fn code(&self) -> Option<&str> { + CreateAgentStatusError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateAgentStatusError { + pub fn new(kind: CreateAgentStatusErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateAgentStatusErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateAgentStatusErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_duplicate_resource_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::DuplicateResourceException(_) + ) + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::InvalidRequestException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::LimitExceededException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + CreateAgentStatusErrorKind::ThrottlingException(_) + ) + } +} +impl std::error::Error for CreateAgentStatusError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateAgentStatusErrorKind::DuplicateResourceException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::InternalServiceException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::InvalidParameterException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::InvalidRequestException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::LimitExceededException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::ThrottlingException(_inner) => Some(_inner), + CreateAgentStatusErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct CreateContactFlowError { @@ -1220,6 +1355,141 @@ impl std::error::Error for CreateContactFlowError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateHoursOfOperationError { + pub kind: CreateHoursOfOperationErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateHoursOfOperationErrorKind { + DuplicateResourceException(crate::error::DuplicateResourceException), + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + LimitExceededException(crate::error::LimitExceededException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateHoursOfOperationError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateHoursOfOperationErrorKind::DuplicateResourceException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + CreateHoursOfOperationErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateHoursOfOperationError { + fn code(&self) -> Option<&str> { + CreateHoursOfOperationError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateHoursOfOperationError { + pub fn new(kind: CreateHoursOfOperationErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateHoursOfOperationErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateHoursOfOperationErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_duplicate_resource_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::DuplicateResourceException(_) + ) + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::InvalidRequestException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::LimitExceededException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + CreateHoursOfOperationErrorKind::ThrottlingException(_) + ) + } +} +impl std::error::Error for CreateHoursOfOperationError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateHoursOfOperationErrorKind::DuplicateResourceException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::InternalServiceException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::InvalidParameterException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::InvalidRequestException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::LimitExceededException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::ThrottlingException(_inner) => Some(_inner), + CreateHoursOfOperationErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct CreateInstanceError { @@ -2229,6 +2499,123 @@ impl std::error::Error for CreateUserHierarchyGroupError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteHoursOfOperationError { + pub kind: DeleteHoursOfOperationErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteHoursOfOperationErrorKind { + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteHoursOfOperationError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteHoursOfOperationErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + DeleteHoursOfOperationErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + DeleteHoursOfOperationErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + DeleteHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DeleteHoursOfOperationErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DeleteHoursOfOperationErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteHoursOfOperationError { + fn code(&self) -> Option<&str> { + DeleteHoursOfOperationError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteHoursOfOperationError { + pub fn new(kind: DeleteHoursOfOperationErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteHoursOfOperationErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteHoursOfOperationErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + DeleteHoursOfOperationErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + DeleteHoursOfOperationErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteHoursOfOperationErrorKind::InvalidRequestException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DeleteHoursOfOperationErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + DeleteHoursOfOperationErrorKind::ThrottlingException(_) + ) + } +} +impl std::error::Error for DeleteHoursOfOperationError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteHoursOfOperationErrorKind::InternalServiceException(_inner) => Some(_inner), + DeleteHoursOfOperationErrorKind::InvalidParameterException(_inner) => Some(_inner), + DeleteHoursOfOperationErrorKind::InvalidRequestException(_inner) => Some(_inner), + DeleteHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DeleteHoursOfOperationErrorKind::ThrottlingException(_inner) => Some(_inner), + DeleteHoursOfOperationErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct DeleteInstanceError { @@ -2740,85 +3127,209 @@ impl DeleteUserError { pub fn is_internal_service_exception(&self) -> bool { matches!(&self.kind, DeleteUserErrorKind::InternalServiceException(_)) } - pub fn is_invalid_parameter_exception(&self) -> bool { + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + DeleteUserErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!(&self.kind, DeleteUserErrorKind::InvalidRequestException(_)) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DeleteUserErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, DeleteUserErrorKind::ThrottlingException(_)) + } +} +impl std::error::Error for DeleteUserError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteUserErrorKind::InternalServiceException(_inner) => Some(_inner), + DeleteUserErrorKind::InvalidParameterException(_inner) => Some(_inner), + DeleteUserErrorKind::InvalidRequestException(_inner) => Some(_inner), + DeleteUserErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DeleteUserErrorKind::ThrottlingException(_inner) => Some(_inner), + DeleteUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteUserHierarchyGroupError { + pub kind: DeleteUserHierarchyGroupErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteUserHierarchyGroupErrorKind { + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + ResourceInUseException(crate::error::ResourceInUseException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteUserHierarchyGroupError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteUserHierarchyGroupErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DeleteUserHierarchyGroupErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteUserHierarchyGroupError { + fn code(&self) -> Option<&str> { + DeleteUserHierarchyGroupError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteUserHierarchyGroupError { + pub fn new(kind: DeleteUserHierarchyGroupErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteUserHierarchyGroupErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteUserHierarchyGroupErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + DeleteUserHierarchyGroupErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_) + ) + } + pub fn is_resource_in_use_exception(&self) -> bool { matches!( &self.kind, - DeleteUserErrorKind::InvalidParameterException(_) + DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_) ) } - pub fn is_invalid_request_exception(&self) -> bool { - matches!(&self.kind, DeleteUserErrorKind::InvalidRequestException(_)) - } pub fn is_resource_not_found_exception(&self) -> bool { matches!( &self.kind, - DeleteUserErrorKind::ResourceNotFoundException(_) + DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_) ) } pub fn is_throttling_exception(&self) -> bool { - matches!(&self.kind, DeleteUserErrorKind::ThrottlingException(_)) + matches!( + &self.kind, + DeleteUserHierarchyGroupErrorKind::ThrottlingException(_) + ) } } -impl std::error::Error for DeleteUserError { +impl std::error::Error for DeleteUserHierarchyGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { - DeleteUserErrorKind::InternalServiceException(_inner) => Some(_inner), - DeleteUserErrorKind::InvalidParameterException(_inner) => Some(_inner), - DeleteUserErrorKind::InvalidRequestException(_inner) => Some(_inner), - DeleteUserErrorKind::ResourceNotFoundException(_inner) => Some(_inner), - DeleteUserErrorKind::ThrottlingException(_inner) => Some(_inner), - DeleteUserErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + DeleteUserHierarchyGroupErrorKind::InternalServiceException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::ThrottlingException(_inner) => Some(_inner), + DeleteUserHierarchyGroupErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), } } } #[non_exhaustive] #[derive(std::fmt::Debug)] -pub struct DeleteUserHierarchyGroupError { - pub kind: DeleteUserHierarchyGroupErrorKind, +pub struct DescribeAgentStatusError { + pub kind: DescribeAgentStatusErrorKind, pub(crate) meta: smithy_types::Error, } #[non_exhaustive] #[derive(std::fmt::Debug)] -pub enum DeleteUserHierarchyGroupErrorKind { +pub enum DescribeAgentStatusErrorKind { InternalServiceException(crate::error::InternalServiceException), InvalidParameterException(crate::error::InvalidParameterException), InvalidRequestException(crate::error::InvalidRequestException), - ResourceInUseException(crate::error::ResourceInUseException), ResourceNotFoundException(crate::error::ResourceNotFoundException), ThrottlingException(crate::error::ThrottlingException), /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } -impl std::fmt::Display for DeleteUserHierarchyGroupError { +impl std::fmt::Display for DescribeAgentStatusError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self.kind { - DeleteUserHierarchyGroupErrorKind::InternalServiceException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::ThrottlingException(_inner) => _inner.fmt(f), - DeleteUserHierarchyGroupErrorKind::Unhandled(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DescribeAgentStatusErrorKind::Unhandled(_inner) => _inner.fmt(f), } } } -impl smithy_types::retry::ProvideErrorKind for DeleteUserHierarchyGroupError { +impl smithy_types::retry::ProvideErrorKind for DescribeAgentStatusError { fn code(&self) -> Option<&str> { - DeleteUserHierarchyGroupError::code(self) + DescribeAgentStatusError::code(self) } fn retryable_error_kind(&self) -> Option { None } } -impl DeleteUserHierarchyGroupError { - pub fn new(kind: DeleteUserHierarchyGroupErrorKind, meta: smithy_types::Error) -> Self { +impl DescribeAgentStatusError { + pub fn new(kind: DescribeAgentStatusErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } } pub fn unhandled(err: impl Into>) -> Self { Self { - kind: DeleteUserHierarchyGroupErrorKind::Unhandled(err.into()), + kind: DescribeAgentStatusErrorKind::Unhandled(err.into()), meta: Default::default(), } } @@ -2826,7 +3337,7 @@ impl DeleteUserHierarchyGroupError { pub fn generic(err: smithy_types::Error) -> Self { Self { meta: err.clone(), - kind: DeleteUserHierarchyGroupErrorKind::Unhandled(err.into()), + kind: DescribeAgentStatusErrorKind::Unhandled(err.into()), } } @@ -2850,50 +3361,43 @@ impl DeleteUserHierarchyGroupError { pub fn is_internal_service_exception(&self) -> bool { matches!( &self.kind, - DeleteUserHierarchyGroupErrorKind::InternalServiceException(_) + DescribeAgentStatusErrorKind::InternalServiceException(_) ) } pub fn is_invalid_parameter_exception(&self) -> bool { matches!( &self.kind, - DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_) + DescribeAgentStatusErrorKind::InvalidParameterException(_) ) } pub fn is_invalid_request_exception(&self) -> bool { matches!( &self.kind, - DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_) - ) - } - pub fn is_resource_in_use_exception(&self) -> bool { - matches!( - &self.kind, - DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_) + DescribeAgentStatusErrorKind::InvalidRequestException(_) ) } pub fn is_resource_not_found_exception(&self) -> bool { matches!( &self.kind, - DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_) + DescribeAgentStatusErrorKind::ResourceNotFoundException(_) ) } pub fn is_throttling_exception(&self) -> bool { matches!( &self.kind, - DeleteUserHierarchyGroupErrorKind::ThrottlingException(_) + DescribeAgentStatusErrorKind::ThrottlingException(_) ) } } -impl std::error::Error for DeleteUserHierarchyGroupError { +impl std::error::Error for DescribeAgentStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { - DeleteUserHierarchyGroupErrorKind::InternalServiceException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::InvalidParameterException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::InvalidRequestException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::ResourceInUseException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::ResourceNotFoundException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::ThrottlingException(_inner) => Some(_inner), - DeleteUserHierarchyGroupErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + DescribeAgentStatusErrorKind::InternalServiceException(_inner) => Some(_inner), + DescribeAgentStatusErrorKind::InvalidParameterException(_inner) => Some(_inner), + DescribeAgentStatusErrorKind::InvalidRequestException(_inner) => Some(_inner), + DescribeAgentStatusErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DescribeAgentStatusErrorKind::ThrottlingException(_inner) => Some(_inner), + DescribeAgentStatusErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), } } } @@ -5633,6 +6137,123 @@ impl std::error::Error for GetMetricDataError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAgentStatusesError { + pub kind: ListAgentStatusesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAgentStatusesErrorKind { + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAgentStatusesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAgentStatusesErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + ListAgentStatusesErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + ListAgentStatusesErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + ListAgentStatusesErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + ListAgentStatusesErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + ListAgentStatusesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAgentStatusesError { + fn code(&self) -> Option<&str> { + ListAgentStatusesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAgentStatusesError { + pub fn new(kind: ListAgentStatusesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAgentStatusesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAgentStatusesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + ListAgentStatusesErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + ListAgentStatusesErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + ListAgentStatusesErrorKind::InvalidRequestException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + ListAgentStatusesErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + ListAgentStatusesErrorKind::ThrottlingException(_) + ) + } +} +impl std::error::Error for ListAgentStatusesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAgentStatusesErrorKind::InternalServiceException(_inner) => Some(_inner), + ListAgentStatusesErrorKind::InvalidParameterException(_inner) => Some(_inner), + ListAgentStatusesErrorKind::InvalidRequestException(_inner) => Some(_inner), + ListAgentStatusesErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + ListAgentStatusesErrorKind::ThrottlingException(_inner) => Some(_inner), + ListAgentStatusesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct ListApprovedOriginsError { @@ -9313,40 +9934,175 @@ impl UntagResourceError { pub fn is_internal_service_exception(&self) -> bool { matches!( &self.kind, - UntagResourceErrorKind::InternalServiceException(_) + UntagResourceErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + UntagResourceErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + UntagResourceErrorKind::InvalidRequestException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + UntagResourceErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, UntagResourceErrorKind::ThrottlingException(_)) + } +} +impl std::error::Error for UntagResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UntagResourceErrorKind::InternalServiceException(_inner) => Some(_inner), + UntagResourceErrorKind::InvalidParameterException(_inner) => Some(_inner), + UntagResourceErrorKind::InvalidRequestException(_inner) => Some(_inner), + UntagResourceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + UntagResourceErrorKind::ThrottlingException(_inner) => Some(_inner), + UntagResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateAgentStatusError { + pub kind: UpdateAgentStatusErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateAgentStatusErrorKind { + DuplicateResourceException(crate::error::DuplicateResourceException), + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + LimitExceededException(crate::error::LimitExceededException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateAgentStatusError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateAgentStatusErrorKind::DuplicateResourceException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + UpdateAgentStatusErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateAgentStatusError { + fn code(&self) -> Option<&str> { + UpdateAgentStatusError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateAgentStatusError { + pub fn new(kind: UpdateAgentStatusErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateAgentStatusErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateAgentStatusErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_duplicate_resource_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAgentStatusErrorKind::DuplicateResourceException(_) + ) + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAgentStatusErrorKind::InternalServiceException(_) ) } pub fn is_invalid_parameter_exception(&self) -> bool { matches!( &self.kind, - UntagResourceErrorKind::InvalidParameterException(_) + UpdateAgentStatusErrorKind::InvalidParameterException(_) ) } pub fn is_invalid_request_exception(&self) -> bool { matches!( &self.kind, - UntagResourceErrorKind::InvalidRequestException(_) + UpdateAgentStatusErrorKind::InvalidRequestException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + UpdateAgentStatusErrorKind::LimitExceededException(_) ) } pub fn is_resource_not_found_exception(&self) -> bool { matches!( &self.kind, - UntagResourceErrorKind::ResourceNotFoundException(_) + UpdateAgentStatusErrorKind::ResourceNotFoundException(_) ) } pub fn is_throttling_exception(&self) -> bool { - matches!(&self.kind, UntagResourceErrorKind::ThrottlingException(_)) + matches!( + &self.kind, + UpdateAgentStatusErrorKind::ThrottlingException(_) + ) } } -impl std::error::Error for UntagResourceError { +impl std::error::Error for UpdateAgentStatusError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { - UntagResourceErrorKind::InternalServiceException(_inner) => Some(_inner), - UntagResourceErrorKind::InvalidParameterException(_inner) => Some(_inner), - UntagResourceErrorKind::InvalidRequestException(_inner) => Some(_inner), - UntagResourceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), - UntagResourceErrorKind::ThrottlingException(_inner) => Some(_inner), - UntagResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + UpdateAgentStatusErrorKind::DuplicateResourceException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::InternalServiceException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::InvalidParameterException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::InvalidRequestException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::LimitExceededException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::ThrottlingException(_inner) => Some(_inner), + UpdateAgentStatusErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), } } } @@ -9711,6 +10467,132 @@ impl std::error::Error for UpdateContactFlowNameError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateHoursOfOperationError { + pub kind: UpdateHoursOfOperationErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateHoursOfOperationErrorKind { + DuplicateResourceException(crate::error::DuplicateResourceException), + InternalServiceException(crate::error::InternalServiceException), + InvalidParameterException(crate::error::InvalidParameterException), + InvalidRequestException(crate::error::InvalidRequestException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateHoursOfOperationError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateHoursOfOperationErrorKind::DuplicateResourceException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::InternalServiceException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::InvalidParameterException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::InvalidRequestException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + UpdateHoursOfOperationErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateHoursOfOperationError { + fn code(&self) -> Option<&str> { + UpdateHoursOfOperationError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateHoursOfOperationError { + pub fn new(kind: UpdateHoursOfOperationErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateHoursOfOperationErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateHoursOfOperationErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_duplicate_resource_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::DuplicateResourceException(_) + ) + } + pub fn is_internal_service_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::InternalServiceException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::InvalidParameterException(_) + ) + } + pub fn is_invalid_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::InvalidRequestException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + UpdateHoursOfOperationErrorKind::ThrottlingException(_) + ) + } +} +impl std::error::Error for UpdateHoursOfOperationError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateHoursOfOperationErrorKind::DuplicateResourceException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::InternalServiceException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::InvalidParameterException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::InvalidRequestException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::ThrottlingException(_inner) => Some(_inner), + UpdateHoursOfOperationErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct UpdateInstanceAttributeError { @@ -12710,6 +13592,68 @@ impl InvalidContactFlowException { } } +///

                                                  The allowed limit for the resource has been exceeded.

                                                  +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct LimitExceededException { + ///

                                                  The message about the limit.

                                                  + pub message: std::option::Option, +} +impl std::fmt::Debug for LimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("LimitExceededException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl LimitExceededException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for LimitExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "LimitExceededException")?; + if let Some(inner_9) = &self.message { + write!(f, ": {}", inner_9)?; + } + Ok(()) + } +} +impl std::error::Error for LimitExceededException {} +/// See [`LimitExceededException`](crate::error::LimitExceededException) +pub mod limit_exceeded_exception { + /// A builder for [`LimitExceededException`](crate::error::LimitExceededException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + ///

                                                  The message about the limit.

                                                  + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`LimitExceededException`](crate::error::LimitExceededException) + pub fn build(self) -> crate::error::LimitExceededException { + crate::error::LimitExceededException { + message: self.message, + } + } + } +} +impl LimitExceededException { + /// Creates a new builder-style object to manufacture [`LimitExceededException`](crate::error::LimitExceededException) + pub fn builder() -> crate::error::limit_exceeded_exception::Builder { + crate::error::limit_exceeded_exception::Builder::default() + } +} + ///

                                                  The contact with the specified ID is not active or does not exist.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -12732,8 +13676,8 @@ impl ContactNotFoundException { impl std::fmt::Display for ContactNotFoundException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "ContactNotFoundException")?; - if let Some(inner_9) = &self.message { - write!(f, ": {}", inner_9)?; + if let Some(inner_10) = &self.message { + write!(f, ": {}", inner_10)?; } Ok(()) } @@ -12793,8 +13737,8 @@ impl ServiceQuotaExceededException { impl std::fmt::Display for ServiceQuotaExceededException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "ServiceQuotaExceededException")?; - if let Some(inner_10) = &self.message { - write!(f, ": {}", inner_10)?; + if let Some(inner_11) = &self.message { + write!(f, ": {}", inner_11)?; } Ok(()) } @@ -12854,8 +13798,8 @@ impl OutboundContactNotPermittedException { impl std::fmt::Display for OutboundContactNotPermittedException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "OutboundContactNotPermittedException")?; - if let Some(inner_11) = &self.message { - write!(f, ": {}", inner_11)?; + if let Some(inner_12) = &self.message { + write!(f, ": {}", inner_12)?; } Ok(()) } @@ -12894,68 +13838,6 @@ impl OutboundContactNotPermittedException { } } -///

                                                  The allowed limit for the resource has been exceeded.

                                                  -#[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct LimitExceededException { - ///

                                                  The message about the limit.

                                                  - pub message: std::option::Option, -} -impl std::fmt::Debug for LimitExceededException { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("LimitExceededException"); - formatter.field("message", &self.message); - formatter.finish() - } -} -impl LimitExceededException { - pub fn message(&self) -> Option<&str> { - self.message.as_deref() - } -} -impl std::fmt::Display for LimitExceededException { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "LimitExceededException")?; - if let Some(inner_12) = &self.message { - write!(f, ": {}", inner_12)?; - } - Ok(()) - } -} -impl std::error::Error for LimitExceededException {} -/// See [`LimitExceededException`](crate::error::LimitExceededException) -pub mod limit_exceeded_exception { - /// A builder for [`LimitExceededException`](crate::error::LimitExceededException) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) message: std::option::Option, - } - impl Builder { - ///

                                                  The message about the limit.

                                                  - pub fn message(mut self, input: impl Into) -> Self { - self.message = Some(input.into()); - self - } - pub fn set_message(mut self, input: std::option::Option) -> Self { - self.message = input; - self - } - /// Consumes the builder and constructs a [`LimitExceededException`](crate::error::LimitExceededException) - pub fn build(self) -> crate::error::LimitExceededException { - crate::error::LimitExceededException { - message: self.message, - } - } - } -} -impl LimitExceededException { - /// Creates a new builder-style object to manufacture [`LimitExceededException`](crate::error::LimitExceededException) - pub fn builder() -> crate::error::limit_exceeded_exception::Builder { - crate::error::limit_exceeded_exception::Builder::default() - } -} - ///

                                                  Outbound calls to the destination number are not allowed.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/connect/src/error_meta.rs b/sdk/connect/src/error_meta.rs index 973abdf0fb56..a843ca1b3674 100644 --- a/sdk/connect/src/error_meta.rs +++ b/sdk/connect/src/error_meta.rs @@ -291,6 +291,39 @@ impl From } } } +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateAgentStatusErrorKind::DuplicateResourceException(inner) => { + Error::DuplicateResourceException(inner) + } + crate::error::CreateAgentStatusErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::CreateAgentStatusErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::CreateAgentStatusErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::CreateAgentStatusErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::CreateAgentStatusErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::CreateAgentStatusErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::CreateAgentStatusErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -327,6 +360,39 @@ impl From> f } } } +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateHoursOfOperationErrorKind::DuplicateResourceException( + inner, + ) => Error::DuplicateResourceException(inner), + crate::error::CreateHoursOfOperationErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::CreateHoursOfOperationErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -571,6 +637,33 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteHoursOfOperationErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::DeleteHoursOfOperationErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::DeleteHoursOfOperationErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::DeleteHoursOfOperationErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::DeleteHoursOfOperationErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DeleteHoursOfOperationErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -724,6 +817,33 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeAgentStatusErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::DescribeAgentStatusErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::DescribeAgentStatusErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::DescribeAgentStatusErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::DescribeAgentStatusErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DescribeAgentStatusErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -1312,6 +1432,33 @@ impl From> for E } } } +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListAgentStatusesErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::ListAgentStatusesErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::ListAgentStatusesErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::ListAgentStatusesErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::ListAgentStatusesErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::ListAgentStatusesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -2149,6 +2296,39 @@ impl From> for E } } } +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateAgentStatusErrorKind::DuplicateResourceException(inner) => { + Error::DuplicateResourceException(inner) + } + crate::error::UpdateAgentStatusErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::UpdateAgentStatusErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::UpdateAgentStatusErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::UpdateAgentStatusErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::UpdateAgentStatusErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::UpdateAgentStatusErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::UpdateAgentStatusErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from( err: smithy_http::result::SdkError, @@ -2237,6 +2417,36 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateHoursOfOperationErrorKind::DuplicateResourceException( + inner, + ) => Error::DuplicateResourceException(inner), + crate::error::UpdateHoursOfOperationErrorKind::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::error::UpdateHoursOfOperationErrorKind::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::error::UpdateHoursOfOperationErrorKind::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::error::UpdateHoursOfOperationErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::UpdateHoursOfOperationErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::UpdateHoursOfOperationErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from( err: smithy_http::result::SdkError, diff --git a/sdk/connect/src/input.rs b/sdk/connect/src/input.rs index 76fc26caf079..b8c038e1729b 100644 --- a/sdk/connect/src/input.rs +++ b/sdk/connect/src/input.rs @@ -1393,6 +1393,227 @@ impl AssociateSecurityKeyInput { } } +/// See [`CreateAgentStatusInput`](crate::input::CreateAgentStatusInput) +pub mod create_agent_status_input { + /// A builder for [`CreateAgentStatusInput`](crate::input::CreateAgentStatusInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) display_order: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The name of the status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The description of the status.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                  The state of the status.

                                                  + pub fn state(mut self, input: crate::model::AgentStatusState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + ///

                                                  The display order of the status.

                                                  + pub fn display_order(mut self, input: i32) -> Self { + self.display_order = Some(input); + self + } + pub fn set_display_order(mut self, input: std::option::Option) -> Self { + self.display_order = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`CreateAgentStatusInput`](crate::input::CreateAgentStatusInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateAgentStatusInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateAgentStatusInput { + instance_id: self.instance_id, + name: self.name, + description: self.description, + state: self.state, + display_order: self.display_order, + tags: self.tags, + }) + } + } +} +#[doc(hidden)] +pub type CreateAgentStatusInputOperationOutputAlias = crate::operation::CreateAgentStatus; +#[doc(hidden)] +pub type CreateAgentStatusInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateAgentStatusInput { + /// Consumes the builder and constructs an Operation<[`CreateAgentStatus`](crate::operation::CreateAgentStatus)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateAgentStatus, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_agent_status(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateAgentStatus::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateAgentStatus", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_11 = &self.instance_id; + let input_11 = + input_11 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_11, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/agent-status/{InstanceId}", + InstanceId = instance_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateAgentStatusInput`](crate::input::CreateAgentStatusInput) + pub fn builder() -> crate::input::create_agent_status_input::Builder { + crate::input::create_agent_status_input::Builder::default() + } +} + /// See [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) pub mod create_contact_flow_input { /// A builder for [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) @@ -1440,7 +1661,216 @@ pub mod create_contact_flow_input { self.r#type = input; self } - ///

                                                  The description of the contact flow.

                                                  + ///

                                                  The description of the contact flow.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                  The content of the contact flow.

                                                  + pub fn content(mut self, input: impl Into) -> Self { + self.content = Some(input.into()); + self + } + pub fn set_content(mut self, input: std::option::Option) -> Self { + self.content = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateContactFlowInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateContactFlowInput { + instance_id: self.instance_id, + name: self.name, + r#type: self.r#type, + description: self.description, + content: self.content, + tags: self.tags, + }) + } + } +} +#[doc(hidden)] +pub type CreateContactFlowInputOperationOutputAlias = crate::operation::CreateContactFlow; +#[doc(hidden)] +pub type CreateContactFlowInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateContactFlowInput { + /// Consumes the builder and constructs an Operation<[`CreateContactFlow`](crate::operation::CreateContactFlow)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateContactFlow, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_contact_flow(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateContactFlow::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateContactFlow", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_12 = &self.instance_id; + let input_12 = + input_12 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_12, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/contact-flows/{InstanceId}", + InstanceId = instance_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) + pub fn builder() -> crate::input::create_contact_flow_input::Builder { + crate::input::create_contact_flow_input::Builder::default() + } +} + +/// See [`CreateHoursOfOperationInput`](crate::input::CreateHoursOfOperationInput) +pub mod create_hours_of_operation_input { + /// A builder for [`CreateHoursOfOperationInput`](crate::input::CreateHoursOfOperationInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) time_zone: std::option::Option, + pub(crate) config: std::option::Option>, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The name of the hours of operation.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The description of the hours of operation.

                                                  pub fn description(mut self, input: impl Into) -> Self { self.description = Some(input.into()); self @@ -1449,13 +1879,26 @@ pub mod create_contact_flow_input { self.description = input; self } - ///

                                                  The content of the contact flow.

                                                  - pub fn content(mut self, input: impl Into) -> Self { - self.content = Some(input.into()); + ///

                                                  The time zone of the hours of operation.

                                                  + pub fn time_zone(mut self, input: impl Into) -> Self { + self.time_zone = Some(input.into()); self } - pub fn set_content(mut self, input: std::option::Option) -> Self { - self.content = input; + pub fn set_time_zone(mut self, input: std::option::Option) -> Self { + self.time_zone = input; + self + } + pub fn config(mut self, input: impl Into) -> Self { + let mut v = self.config.unwrap_or_default(); + v.push(input.into()); + self.config = Some(v); + self + } + pub fn set_config( + mut self, + input: std::option::Option>, + ) -> Self { + self.config = input; self } pub fn tags( @@ -1477,47 +1920,47 @@ pub mod create_contact_flow_input { self.tags = input; self } - /// Consumes the builder and constructs a [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) + /// Consumes the builder and constructs a [`CreateHoursOfOperationInput`](crate::input::CreateHoursOfOperationInput) pub fn build( self, ) -> std::result::Result< - crate::input::CreateContactFlowInput, + crate::input::CreateHoursOfOperationInput, smithy_http::operation::BuildError, > { - Ok(crate::input::CreateContactFlowInput { + Ok(crate::input::CreateHoursOfOperationInput { instance_id: self.instance_id, name: self.name, - r#type: self.r#type, description: self.description, - content: self.content, + time_zone: self.time_zone, + config: self.config, tags: self.tags, }) } } } #[doc(hidden)] -pub type CreateContactFlowInputOperationOutputAlias = crate::operation::CreateContactFlow; +pub type CreateHoursOfOperationInputOperationOutputAlias = crate::operation::CreateHoursOfOperation; #[doc(hidden)] -pub type CreateContactFlowInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl CreateContactFlowInput { - /// Consumes the builder and constructs an Operation<[`CreateContactFlow`](crate::operation::CreateContactFlow)> +pub type CreateHoursOfOperationInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateHoursOfOperationInput { + /// Consumes the builder and constructs an Operation<[`CreateHoursOfOperation`](crate::operation::CreateHoursOfOperation)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::CreateContactFlow, + crate::operation::CreateHoursOfOperation, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_contact_flow(&self) + let body = crate::operation_ser::serialize_operation_create_hours_of_operation(&self) .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -1548,10 +1991,10 @@ impl CreateContactFlowInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::CreateContactFlow::new(), + crate::operation::CreateHoursOfOperation::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "CreateContactFlow", + "CreateHoursOfOperation", "connect", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1559,15 +2002,15 @@ impl CreateContactFlowInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_11 = &self.instance_id; - let input_11 = - input_11 + let input_13 = &self.instance_id; + let input_13 = + input_13 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_11, false); + let instance_id = smithy_http::label::fmt_string(input_13, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -1576,7 +2019,7 @@ impl CreateContactFlowInput { } write!( output, - "/contact-flows/{InstanceId}", + "/hours-of-operations/{InstanceId}", InstanceId = instance_id ) .expect("formatting should succeed"); @@ -1609,9 +2052,9 @@ impl CreateContactFlowInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`CreateContactFlowInput`](crate::input::CreateContactFlowInput) - pub fn builder() -> crate::input::create_contact_flow_input::Builder { - crate::input::create_contact_flow_input::Builder::default() + /// Creates a new builder-style object to manufacture [`CreateHoursOfOperationInput`](crate::input::CreateHoursOfOperationInput) + pub fn builder() -> crate::input::create_hours_of_operation_input::Builder { + crate::input::create_hours_of_operation_input::Builder::default() } } @@ -1996,15 +2439,15 @@ impl CreateIntegrationAssociationInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_12 = &self.instance_id; - let input_12 = - input_12 + let input_14 = &self.instance_id; + let input_14 = + input_14 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_12, false); + let instance_id = smithy_http::label::fmt_string(input_14, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -2244,15 +2687,15 @@ impl CreateQueueInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_13 = &self.instance_id; - let input_13 = - input_13 + let input_15 = &self.instance_id; + let input_15 = + input_15 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_13, false); + let instance_id = smithy_http::label::fmt_string(input_15, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -2450,15 +2893,15 @@ impl CreateQuickConnectInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_14 = &self.instance_id; - let input_14 = - input_14 + let input_16 = &self.instance_id; + let input_16 = + input_16 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_14, false); + let instance_id = smithy_http::label::fmt_string(input_16, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -2698,15 +3141,15 @@ impl CreateRoutingProfileInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_15 = &self.instance_id; - let input_15 = - input_15 + let input_17 = &self.instance_id; + let input_17 = + input_17 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_15, false); + let instance_id = smithy_http::label::fmt_string(input_17, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -2898,30 +3341,30 @@ impl CreateUseCaseInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_16 = &self.instance_id; - let input_16 = - input_16 + let input_18 = &self.instance_id; + let input_18 = + input_18 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_16, false); + let instance_id = smithy_http::label::fmt_string(input_18, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_17 = &self.integration_association_id; - let input_17 = - input_17 + let input_19 = &self.integration_association_id; + let input_19 = + input_19 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", details: "cannot be empty or unset", })?; - let integration_association_id = smithy_http::label::fmt_string(input_17, false); + let integration_association_id = smithy_http::label::fmt_string(input_19, false); if integration_association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", @@ -3202,15 +3645,15 @@ impl CreateUserInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_18 = &self.instance_id; - let input_18 = - input_18 + let input_20 = &self.instance_id; + let input_20 = + input_20 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_18, false); + let instance_id = smithy_http::label::fmt_string(input_20, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -3315,26 +3758,188 @@ pub mod create_user_hierarchy_group_input { pub type CreateUserHierarchyGroupInputOperationOutputAlias = crate::operation::CreateUserHierarchyGroup; #[doc(hidden)] -pub type CreateUserHierarchyGroupInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl CreateUserHierarchyGroupInput { - /// Consumes the builder and constructs an Operation<[`CreateUserHierarchyGroup`](crate::operation::CreateUserHierarchyGroup)> +pub type CreateUserHierarchyGroupInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateUserHierarchyGroupInput { + /// Consumes the builder and constructs an Operation<[`CreateUserHierarchyGroup`](crate::operation::CreateUserHierarchyGroup)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateUserHierarchyGroup, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_create_user_hierarchy_group(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateUserHierarchyGroup::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateUserHierarchyGroup", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_21 = &self.instance_id; + let input_21 = + input_21 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_21, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/user-hierarchy-groups/{InstanceId}", + InstanceId = instance_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("PUT").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateUserHierarchyGroupInput`](crate::input::CreateUserHierarchyGroupInput) + pub fn builder() -> crate::input::create_user_hierarchy_group_input::Builder { + crate::input::create_user_hierarchy_group_input::Builder::default() + } +} + +/// See [`DeleteHoursOfOperationInput`](crate::input::DeleteHoursOfOperationInput) +pub mod delete_hours_of_operation_input { + /// A builder for [`DeleteHoursOfOperationInput`](crate::input::DeleteHoursOfOperationInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) hours_of_operation_id: std::option::Option, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The identifier for the hours of operation.

                                                  + pub fn hours_of_operation_id(mut self, input: impl Into) -> Self { + self.hours_of_operation_id = Some(input.into()); + self + } + pub fn set_hours_of_operation_id( + mut self, + input: std::option::Option, + ) -> Self { + self.hours_of_operation_id = input; + self + } + /// Consumes the builder and constructs a [`DeleteHoursOfOperationInput`](crate::input::DeleteHoursOfOperationInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DeleteHoursOfOperationInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteHoursOfOperationInput { + instance_id: self.instance_id, + hours_of_operation_id: self.hours_of_operation_id, + }) + } + } +} +#[doc(hidden)] +pub type DeleteHoursOfOperationInputOperationOutputAlias = crate::operation::DeleteHoursOfOperation; +#[doc(hidden)] +pub type DeleteHoursOfOperationInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteHoursOfOperationInput { + /// Consumes the builder and constructs an Operation<[`DeleteHoursOfOperation`](crate::operation::DeleteHoursOfOperation)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::CreateUserHierarchyGroup, + crate::operation::DeleteHoursOfOperation, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_create_user_hierarchy_group(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = smithy_http::body::SdkBody::from(""); let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -3365,10 +3970,10 @@ impl CreateUserHierarchyGroupInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::CreateUserHierarchyGroup::new(), + crate::operation::DeleteHoursOfOperation::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "CreateUserHierarchyGroup", + "DeleteHoursOfOperation", "connect", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -3376,25 +3981,41 @@ impl CreateUserHierarchyGroupInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_19 = &self.instance_id; - let input_19 = - input_19 + let input_22 = &self.instance_id; + let input_22 = + input_22 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_19, false); + let instance_id = smithy_http::label::fmt_string(input_22, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } + let input_23 = &self.hours_of_operation_id; + let input_23 = + input_23 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "hours_of_operation_id", + details: "cannot be empty or unset", + })?; + let hours_of_operation_id = smithy_http::label::fmt_string(input_23, false); + if hours_of_operation_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "hours_of_operation_id", + details: "cannot be empty or unset", + }); + } write!( output, - "/user-hierarchy-groups/{InstanceId}", - InstanceId = instance_id + "/hours-of-operations/{InstanceId}/{HoursOfOperationId}", + InstanceId = instance_id, + HoursOfOperationId = hours_of_operation_id ) .expect("formatting should succeed"); Ok(()) @@ -3406,7 +4027,7 @@ impl CreateUserHierarchyGroupInput { ) -> std::result::Result { let mut uri = String::new(); self.uri_base(&mut uri)?; - Ok(builder.method("PUT").uri(uri)) + Ok(builder.method("DELETE").uri(uri)) } #[allow(clippy::unnecessary_wraps)] fn request_builder_base( @@ -3426,9 +4047,9 @@ impl CreateUserHierarchyGroupInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`CreateUserHierarchyGroupInput`](crate::input::CreateUserHierarchyGroupInput) - pub fn builder() -> crate::input::create_user_hierarchy_group_input::Builder { - crate::input::create_user_hierarchy_group_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteHoursOfOperationInput`](crate::input::DeleteHoursOfOperationInput) + pub fn builder() -> crate::input::delete_hours_of_operation_input::Builder { + crate::input::delete_hours_of_operation_input::Builder::default() } } @@ -3524,15 +4145,15 @@ impl DeleteInstanceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_20 = &self.instance_id; - let input_20 = - input_20 + let input_24 = &self.instance_id; + let input_24 = + input_24 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_20, false); + let instance_id = smithy_http::label::fmt_string(input_24, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -3683,30 +4304,30 @@ impl DeleteIntegrationAssociationInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_21 = &self.instance_id; - let input_21 = - input_21 + let input_25 = &self.instance_id; + let input_25 = + input_25 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_21, false); + let instance_id = smithy_http::label::fmt_string(input_25, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_22 = &self.integration_association_id; - let input_22 = - input_22 + let input_26 = &self.integration_association_id; + let input_26 = + input_26 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", details: "cannot be empty or unset", })?; - let integration_association_id = smithy_http::label::fmt_string(input_22, false); + let integration_association_id = smithy_http::label::fmt_string(input_26, false); if integration_association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", @@ -3861,30 +4482,30 @@ impl DeleteQuickConnectInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_23 = &self.instance_id; - let input_23 = - input_23 + let input_27 = &self.instance_id; + let input_27 = + input_27 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_23, false); + let instance_id = smithy_http::label::fmt_string(input_27, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_24 = &self.quick_connect_id; - let input_24 = - input_24 + let input_28 = &self.quick_connect_id; + let input_28 = + input_28 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", details: "cannot be empty or unset", })?; - let quick_connect_id = smithy_http::label::fmt_string(input_24, false); + let quick_connect_id = smithy_http::label::fmt_string(input_28, false); if quick_connect_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", @@ -4048,45 +4669,45 @@ impl DeleteUseCaseInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_25 = &self.instance_id; - let input_25 = - input_25 + let input_29 = &self.instance_id; + let input_29 = + input_29 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_25, false); + let instance_id = smithy_http::label::fmt_string(input_29, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_26 = &self.integration_association_id; - let input_26 = - input_26 + let input_30 = &self.integration_association_id; + let input_30 = + input_30 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", details: "cannot be empty or unset", })?; - let integration_association_id = smithy_http::label::fmt_string(input_26, false); + let integration_association_id = smithy_http::label::fmt_string(input_30, false); if integration_association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", details: "cannot be empty or unset", }); } - let input_27 = &self.use_case_id; - let input_27 = - input_27 + let input_31 = &self.use_case_id; + let input_31 = + input_31 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "use_case_id", details: "cannot be empty or unset", })?; - let use_case_id = smithy_http::label::fmt_string(input_27, false); + let use_case_id = smithy_http::label::fmt_string(input_31, false); if use_case_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "use_case_id", @@ -4148,40 +4769,219 @@ pub mod delete_user_input { self.instance_id = input; self } - ///

                                                  The identifier of the user.

                                                  - pub fn user_id(mut self, input: impl Into) -> Self { - self.user_id = Some(input.into()); - self - } - pub fn set_user_id(mut self, input: std::option::Option) -> Self { - self.user_id = input; - self - } - /// Consumes the builder and constructs a [`DeleteUserInput`](crate::input::DeleteUserInput) + ///

                                                  The identifier of the user.

                                                  + pub fn user_id(mut self, input: impl Into) -> Self { + self.user_id = Some(input.into()); + self + } + pub fn set_user_id(mut self, input: std::option::Option) -> Self { + self.user_id = input; + self + } + /// Consumes the builder and constructs a [`DeleteUserInput`](crate::input::DeleteUserInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::DeleteUserInput { + instance_id: self.instance_id, + user_id: self.user_id, + }) + } + } +} +#[doc(hidden)] +pub type DeleteUserInputOperationOutputAlias = crate::operation::DeleteUser; +#[doc(hidden)] +pub type DeleteUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteUserInput { + /// Consumes the builder and constructs an Operation<[`DeleteUser`](crate::operation::DeleteUser)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DeleteUser, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteUser::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteUser", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_32 = &self.instance_id; + let input_32 = + input_32 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_32, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + let input_33 = &self.user_id; + let input_33 = + input_33 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "user_id", + details: "cannot be empty or unset", + })?; + let user_id = smithy_http::label::fmt_string(input_33, false); + if user_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "user_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/users/{InstanceId}/{UserId}", + InstanceId = instance_id, + UserId = user_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteUserInput`](crate::input::DeleteUserInput) + pub fn builder() -> crate::input::delete_user_input::Builder { + crate::input::delete_user_input::Builder::default() + } +} + +/// See [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) +pub mod delete_user_hierarchy_group_input { + /// A builder for [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) hierarchy_group_id: std::option::Option, + pub(crate) instance_id: std::option::Option, + } + impl Builder { + ///

                                                  The identifier of the hierarchy group.

                                                  + pub fn hierarchy_group_id(mut self, input: impl Into) -> Self { + self.hierarchy_group_id = Some(input.into()); + self + } + pub fn set_hierarchy_group_id( + mut self, + input: std::option::Option, + ) -> Self { + self.hierarchy_group_id = input; + self + } + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + /// Consumes the builder and constructs a [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) pub fn build( self, - ) -> std::result::Result - { - Ok(crate::input::DeleteUserInput { + ) -> std::result::Result< + crate::input::DeleteUserHierarchyGroupInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DeleteUserHierarchyGroupInput { + hierarchy_group_id: self.hierarchy_group_id, instance_id: self.instance_id, - user_id: self.user_id, }) } } } #[doc(hidden)] -pub type DeleteUserInputOperationOutputAlias = crate::operation::DeleteUser; +pub type DeleteUserHierarchyGroupInputOperationOutputAlias = + crate::operation::DeleteUserHierarchyGroup; #[doc(hidden)] -pub type DeleteUserInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteUserInput { - /// Consumes the builder and constructs an Operation<[`DeleteUser`](crate::operation::DeleteUser)> +pub type DeleteUserHierarchyGroupInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteUserHierarchyGroupInput { + /// Consumes the builder and constructs an Operation<[`DeleteUserHierarchyGroup`](crate::operation::DeleteUserHierarchyGroup)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteUser, + crate::operation::DeleteUserHierarchyGroup, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -4219,10 +5019,10 @@ impl DeleteUserInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteUser::new(), + crate::operation::DeleteUserHierarchyGroup::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteUser", + "DeleteUserHierarchyGroup", "connect", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -4230,41 +5030,41 @@ impl DeleteUserInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_28 = &self.instance_id; - let input_28 = - input_28 + let input_34 = &self.instance_id; + let input_34 = + input_34 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_28, false); + let instance_id = smithy_http::label::fmt_string(input_34, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_29 = &self.user_id; - let input_29 = - input_29 + let input_35 = &self.hierarchy_group_id; + let input_35 = + input_35 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { - field: "user_id", + field: "hierarchy_group_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_29, false); - if user_id.is_empty() { + let hierarchy_group_id = smithy_http::label::fmt_string(input_35, false); + if hierarchy_group_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { - field: "user_id", + field: "hierarchy_group_id", details: "cannot be empty or unset", }); } write!( output, - "/users/{InstanceId}/{UserId}", + "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}", InstanceId = instance_id, - UserId = user_id + HierarchyGroupId = hierarchy_group_id ) .expect("formatting should succeed"); Ok(()) @@ -4296,34 +5096,22 @@ impl DeleteUserInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteUserInput`](crate::input::DeleteUserInput) - pub fn builder() -> crate::input::delete_user_input::Builder { - crate::input::delete_user_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) + pub fn builder() -> crate::input::delete_user_hierarchy_group_input::Builder { + crate::input::delete_user_hierarchy_group_input::Builder::default() } } -/// See [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) -pub mod delete_user_hierarchy_group_input { - /// A builder for [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) +/// See [`DescribeAgentStatusInput`](crate::input::DescribeAgentStatusInput) +pub mod describe_agent_status_input { + /// A builder for [`DescribeAgentStatusInput`](crate::input::DescribeAgentStatusInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) hierarchy_group_id: std::option::Option, pub(crate) instance_id: std::option::Option, + pub(crate) agent_status_id: std::option::Option, } impl Builder { - ///

                                                  The identifier of the hierarchy group.

                                                  - pub fn hierarchy_group_id(mut self, input: impl Into) -> Self { - self.hierarchy_group_id = Some(input.into()); - self - } - pub fn set_hierarchy_group_id( - mut self, - input: std::option::Option, - ) -> Self { - self.hierarchy_group_id = input; - self - } ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); @@ -4333,34 +5121,45 @@ pub mod delete_user_hierarchy_group_input { self.instance_id = input; self } - /// Consumes the builder and constructs a [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) + ///

                                                  The identifier for the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.agent_status_id = Some(input.into()); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_id = input; + self + } + /// Consumes the builder and constructs a [`DescribeAgentStatusInput`](crate::input::DescribeAgentStatusInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteUserHierarchyGroupInput, + crate::input::DescribeAgentStatusInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteUserHierarchyGroupInput { - hierarchy_group_id: self.hierarchy_group_id, + Ok(crate::input::DescribeAgentStatusInput { instance_id: self.instance_id, + agent_status_id: self.agent_status_id, }) } } } #[doc(hidden)] -pub type DeleteUserHierarchyGroupInputOperationOutputAlias = - crate::operation::DeleteUserHierarchyGroup; +pub type DescribeAgentStatusInputOperationOutputAlias = crate::operation::DescribeAgentStatus; #[doc(hidden)] -pub type DeleteUserHierarchyGroupInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteUserHierarchyGroupInput { - /// Consumes the builder and constructs an Operation<[`DeleteUserHierarchyGroup`](crate::operation::DeleteUserHierarchyGroup)> +pub type DescribeAgentStatusInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeAgentStatusInput { + /// Consumes the builder and constructs an Operation<[`DescribeAgentStatus`](crate::operation::DescribeAgentStatus)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteUserHierarchyGroup, + crate::operation::DescribeAgentStatus, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -4398,10 +5197,10 @@ impl DeleteUserHierarchyGroupInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteUserHierarchyGroup::new(), + crate::operation::DescribeAgentStatus::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteUserHierarchyGroup", + "DescribeAgentStatus", "connect", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -4409,41 +5208,41 @@ impl DeleteUserHierarchyGroupInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_30 = &self.instance_id; - let input_30 = - input_30 + let input_36 = &self.instance_id; + let input_36 = + input_36 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_30, false); + let instance_id = smithy_http::label::fmt_string(input_36, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_31 = &self.hierarchy_group_id; - let input_31 = - input_31 + let input_37 = &self.agent_status_id; + let input_37 = + input_37 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { - field: "hierarchy_group_id", + field: "agent_status_id", details: "cannot be empty or unset", })?; - let hierarchy_group_id = smithy_http::label::fmt_string(input_31, false); - if hierarchy_group_id.is_empty() { + let agent_status_id = smithy_http::label::fmt_string(input_37, false); + if agent_status_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { - field: "hierarchy_group_id", + field: "agent_status_id", details: "cannot be empty or unset", }); } write!( output, - "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}", + "/agent-status/{InstanceId}/{AgentStatusId}", InstanceId = instance_id, - HierarchyGroupId = hierarchy_group_id + AgentStatusId = agent_status_id ) .expect("formatting should succeed"); Ok(()) @@ -4455,7 +5254,7 @@ impl DeleteUserHierarchyGroupInput { ) -> std::result::Result { let mut uri = String::new(); self.uri_base(&mut uri)?; - Ok(builder.method("DELETE").uri(uri)) + Ok(builder.method("GET").uri(uri)) } #[allow(clippy::unnecessary_wraps)] fn request_builder_base( @@ -4475,9 +5274,9 @@ impl DeleteUserHierarchyGroupInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteUserHierarchyGroupInput`](crate::input::DeleteUserHierarchyGroupInput) - pub fn builder() -> crate::input::delete_user_hierarchy_group_input::Builder { - crate::input::delete_user_hierarchy_group_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DescribeAgentStatusInput`](crate::input::DescribeAgentStatusInput) + pub fn builder() -> crate::input::describe_agent_status_input::Builder { + crate::input::describe_agent_status_input::Builder::default() } } @@ -4587,30 +5386,30 @@ impl DescribeContactFlowInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_32 = &self.instance_id; - let input_32 = - input_32 + let input_38 = &self.instance_id; + let input_38 = + input_38 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_32, false); + let instance_id = smithy_http::label::fmt_string(input_38, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_33 = &self.contact_flow_id; - let input_33 = - input_33 + let input_39 = &self.contact_flow_id; + let input_39 = + input_39 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", details: "cannot be empty or unset", })?; - let contact_flow_id = smithy_http::label::fmt_string(input_33, false); + let contact_flow_id = smithy_http::label::fmt_string(input_39, false); if contact_flow_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", @@ -4766,30 +5565,30 @@ impl DescribeHoursOfOperationInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_34 = &self.instance_id; - let input_34 = - input_34 + let input_40 = &self.instance_id; + let input_40 = + input_40 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_34, false); + let instance_id = smithy_http::label::fmt_string(input_40, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_35 = &self.hours_of_operation_id; - let input_35 = - input_35 + let input_41 = &self.hours_of_operation_id; + let input_41 = + input_41 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "hours_of_operation_id", details: "cannot be empty or unset", })?; - let hours_of_operation_id = smithy_http::label::fmt_string(input_35, false); + let hours_of_operation_id = smithy_http::label::fmt_string(input_41, false); if hours_of_operation_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "hours_of_operation_id", @@ -4930,15 +5729,15 @@ impl DescribeInstanceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_36 = &self.instance_id; - let input_36 = - input_36 + let input_42 = &self.instance_id; + let input_42 = + input_42 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_36, false); + let instance_id = smithy_http::label::fmt_string(input_42, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -5089,30 +5888,30 @@ impl DescribeInstanceAttributeInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_37 = &self.instance_id; - let input_37 = - input_37 + let input_43 = &self.instance_id; + let input_43 = + input_43 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_37, false); + let instance_id = smithy_http::label::fmt_string(input_43, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_38 = &self.attribute_type; - let input_38 = - input_38 + let input_44 = &self.attribute_type; + let input_44 = + input_44 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "attribute_type", details: "cannot be empty or unset", })?; - let attribute_type = smithy_http::label::fmt_string(input_38, false); + let attribute_type = smithy_http::label::fmt_string(input_44, false); if attribute_type.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "attribute_type", @@ -5282,30 +6081,30 @@ impl DescribeInstanceStorageConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_39 = &self.instance_id; - let input_39 = - input_39 + let input_45 = &self.instance_id; + let input_45 = + input_45 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_39, false); + let instance_id = smithy_http::label::fmt_string(input_45, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_40 = &self.association_id; - let input_40 = - input_40 + let input_46 = &self.association_id; + let input_46 = + input_46 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "association_id", details: "cannot be empty or unset", })?; - let association_id = smithy_http::label::fmt_string(input_40, false); + let association_id = smithy_http::label::fmt_string(input_46, false); if association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "association_id", @@ -5323,8 +6122,8 @@ impl DescribeInstanceStorageConfigInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_41) = &self.resource_type { - query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_41)); + if let Some(inner_47) = &self.resource_type { + query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_47)); } } #[allow(clippy::unnecessary_wraps)] @@ -5462,30 +6261,30 @@ impl DescribeQueueInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_42 = &self.instance_id; - let input_42 = - input_42 + let input_48 = &self.instance_id; + let input_48 = + input_48 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_42, false); + let instance_id = smithy_http::label::fmt_string(input_48, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_43 = &self.queue_id; - let input_43 = - input_43 + let input_49 = &self.queue_id; + let input_49 = + input_49 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_43, false); + let queue_id = smithy_http::label::fmt_string(input_49, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -5640,30 +6439,30 @@ impl DescribeQuickConnectInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_44 = &self.instance_id; - let input_44 = - input_44 + let input_50 = &self.instance_id; + let input_50 = + input_50 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_44, false); + let instance_id = smithy_http::label::fmt_string(input_50, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_45 = &self.quick_connect_id; - let input_45 = - input_45 + let input_51 = &self.quick_connect_id; + let input_51 = + input_51 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", details: "cannot be empty or unset", })?; - let quick_connect_id = smithy_http::label::fmt_string(input_45, false); + let quick_connect_id = smithy_http::label::fmt_string(input_51, false); if quick_connect_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", @@ -5818,30 +6617,30 @@ impl DescribeRoutingProfileInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_46 = &self.instance_id; - let input_46 = - input_46 + let input_52 = &self.instance_id; + let input_52 = + input_52 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_46, false); + let instance_id = smithy_http::label::fmt_string(input_52, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_47 = &self.routing_profile_id; - let input_47 = - input_47 + let input_53 = &self.routing_profile_id; + let input_53 = + input_53 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_47, false); + let routing_profile_id = smithy_http::label::fmt_string(input_53, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -5991,30 +6790,30 @@ impl DescribeUserInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_48 = &self.instance_id; - let input_48 = - input_48 + let input_54 = &self.instance_id; + let input_54 = + input_54 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_48, false); + let instance_id = smithy_http::label::fmt_string(input_54, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_49 = &self.user_id; - let input_49 = - input_49 + let input_55 = &self.user_id; + let input_55 = + input_55 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_49, false); + let user_id = smithy_http::label::fmt_string(input_55, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -6170,30 +6969,30 @@ impl DescribeUserHierarchyGroupInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_50 = &self.instance_id; - let input_50 = - input_50 + let input_56 = &self.instance_id; + let input_56 = + input_56 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_50, false); + let instance_id = smithy_http::label::fmt_string(input_56, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_51 = &self.hierarchy_group_id; - let input_51 = - input_51 + let input_57 = &self.hierarchy_group_id; + let input_57 = + input_57 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "hierarchy_group_id", details: "cannot be empty or unset", })?; - let hierarchy_group_id = smithy_http::label::fmt_string(input_51, false); + let hierarchy_group_id = smithy_http::label::fmt_string(input_57, false); if hierarchy_group_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "hierarchy_group_id", @@ -6335,15 +7134,15 @@ impl DescribeUserHierarchyStructureInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_52 = &self.instance_id; - let input_52 = - input_52 + let input_58 = &self.instance_id; + let input_58 = + input_58 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_52, false); + let instance_id = smithy_http::label::fmt_string(input_58, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -6495,15 +7294,15 @@ impl DisassociateApprovedOriginInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_53 = &self.instance_id; - let input_53 = - input_53 + let input_59 = &self.instance_id; + let input_59 = + input_59 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_53, false); + let instance_id = smithy_http::label::fmt_string(input_59, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -6520,8 +7319,8 @@ impl DisassociateApprovedOriginInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_54) = &self.origin { - query.push_kv("origin", &smithy_http::query::fmt_string(&inner_54)); + if let Some(inner_60) = &self.origin { + query.push_kv("origin", &smithy_http::query::fmt_string(&inner_60)); } } #[allow(clippy::unnecessary_wraps)] @@ -6677,15 +7476,15 @@ impl DisassociateBotInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_55 = &self.instance_id; - let input_55 = - input_55 + let input_61 = &self.instance_id; + let input_61 = + input_61 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_55, false); + let instance_id = smithy_http::label::fmt_string(input_61, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -6854,30 +7653,30 @@ impl DisassociateInstanceStorageConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_56 = &self.instance_id; - let input_56 = - input_56 + let input_62 = &self.instance_id; + let input_62 = + input_62 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_56, false); + let instance_id = smithy_http::label::fmt_string(input_62, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_57 = &self.association_id; - let input_57 = - input_57 + let input_63 = &self.association_id; + let input_63 = + input_63 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "association_id", details: "cannot be empty or unset", })?; - let association_id = smithy_http::label::fmt_string(input_57, false); + let association_id = smithy_http::label::fmt_string(input_63, false); if association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "association_id", @@ -6895,8 +7694,8 @@ impl DisassociateInstanceStorageConfigInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_58) = &self.resource_type { - query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_58)); + if let Some(inner_64) = &self.resource_type { + query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_64)); } } #[allow(clippy::unnecessary_wraps)] @@ -7037,15 +7836,15 @@ impl DisassociateLambdaFunctionInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_59 = &self.instance_id; - let input_59 = - input_59 + let input_65 = &self.instance_id; + let input_65 = + input_65 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_59, false); + let instance_id = smithy_http::label::fmt_string(input_65, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -7062,8 +7861,8 @@ impl DisassociateLambdaFunctionInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_60) = &self.function_arn { - query.push_kv("functionArn", &smithy_http::query::fmt_string(&inner_60)); + if let Some(inner_66) = &self.function_arn { + query.push_kv("functionArn", &smithy_http::query::fmt_string(&inner_66)); } } #[allow(clippy::unnecessary_wraps)] @@ -7214,15 +8013,15 @@ impl DisassociateLexBotInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_61 = &self.instance_id; - let input_61 = - input_61 + let input_67 = &self.instance_id; + let input_67 = + input_67 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_61, false); + let instance_id = smithy_http::label::fmt_string(input_67, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -7239,11 +8038,11 @@ impl DisassociateLexBotInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_62) = &self.bot_name { - query.push_kv("botName", &smithy_http::query::fmt_string(&inner_62)); + if let Some(inner_68) = &self.bot_name { + query.push_kv("botName", &smithy_http::query::fmt_string(&inner_68)); } - if let Some(inner_63) = &self.lex_region { - query.push_kv("lexRegion", &smithy_http::query::fmt_string(&inner_63)); + if let Some(inner_69) = &self.lex_region { + query.push_kv("lexRegion", &smithy_http::query::fmt_string(&inner_69)); } } #[allow(clippy::unnecessary_wraps)] @@ -7403,30 +8202,30 @@ impl DisassociateQueueQuickConnectsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_64 = &self.instance_id; - let input_64 = - input_64 + let input_70 = &self.instance_id; + let input_70 = + input_70 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_64, false); + let instance_id = smithy_http::label::fmt_string(input_70, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_65 = &self.queue_id; - let input_65 = - input_65 + let input_71 = &self.queue_id; + let input_71 = + input_71 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_65, false); + let queue_id = smithy_http::label::fmt_string(input_71, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -7607,30 +8406,30 @@ impl DisassociateRoutingProfileQueuesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_66 = &self.instance_id; - let input_66 = - input_66 + let input_72 = &self.instance_id; + let input_72 = + input_72 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_66, false); + let instance_id = smithy_http::label::fmt_string(input_72, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_67 = &self.routing_profile_id; - let input_67 = - input_67 + let input_73 = &self.routing_profile_id; + let input_73 = + input_73 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_67, false); + let routing_profile_id = smithy_http::label::fmt_string(input_73, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -7786,30 +8585,30 @@ impl DisassociateSecurityKeyInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_68 = &self.instance_id; - let input_68 = - input_68 + let input_74 = &self.instance_id; + let input_74 = + input_74 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_68, false); + let instance_id = smithy_http::label::fmt_string(input_74, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_69 = &self.association_id; - let input_69 = - input_69 + let input_75 = &self.association_id; + let input_75 = + input_75 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "association_id", details: "cannot be empty or unset", })?; - let association_id = smithy_http::label::fmt_string(input_69, false); + let association_id = smithy_http::label::fmt_string(input_75, false); if association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "association_id", @@ -7964,30 +8763,30 @@ impl GetContactAttributesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_70 = &self.instance_id; - let input_70 = - input_70 + let input_76 = &self.instance_id; + let input_76 = + input_76 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_70, false); + let instance_id = smithy_http::label::fmt_string(input_76, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_71 = &self.initial_contact_id; - let input_71 = - input_71 + let input_77 = &self.initial_contact_id; + let input_77 = + input_77 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "initial_contact_id", details: "cannot be empty or unset", })?; - let initial_contact_id = smithy_http::label::fmt_string(input_71, false); + let initial_contact_id = smithy_http::label::fmt_string(input_77, false); if initial_contact_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "initial_contact_id", @@ -8199,15 +8998,15 @@ impl GetCurrentMetricDataInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_72 = &self.instance_id; - let input_72 = - input_72 + let input_78 = &self.instance_id; + let input_78 = + input_78 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_72, false); + let instance_id = smithy_http::label::fmt_string(input_78, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -8347,15 +9146,15 @@ impl GetFederationTokenInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_73 = &self.instance_id; - let input_73 = - input_73 + let input_79 = &self.instance_id; + let input_79 = + input_79 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_73, false); + let instance_id = smithy_http::label::fmt_string(input_79, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -8598,15 +9397,15 @@ impl GetMetricDataInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_74 = &self.instance_id; - let input_74 = - input_74 + let input_80 = &self.instance_id; + let input_80 = + input_80 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_74, false); + let instance_id = smithy_http::label::fmt_string(input_80, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -8654,6 +9453,217 @@ impl GetMetricDataInput { } } +/// See [`ListAgentStatusesInput`](crate::input::ListAgentStatusesInput) +pub mod list_agent_statuses_input { + /// A builder for [`ListAgentStatusesInput`](crate::input::ListAgentStatusesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) agent_status_types: + std::option::Option>, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The token for the next set of results. Use the value returned in the previous + /// response in the next request to retrieve the next set of results.

                                                  + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

                                                  The maximum number of results to return per page.

                                                  + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + pub fn agent_status_types( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.agent_status_types.unwrap_or_default(); + v.push(input.into()); + self.agent_status_types = Some(v); + self + } + pub fn set_agent_status_types( + mut self, + input: std::option::Option>, + ) -> Self { + self.agent_status_types = input; + self + } + /// Consumes the builder and constructs a [`ListAgentStatusesInput`](crate::input::ListAgentStatusesInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListAgentStatusesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListAgentStatusesInput { + instance_id: self.instance_id, + next_token: self.next_token, + max_results: self.max_results, + agent_status_types: self.agent_status_types, + }) + } + } +} +#[doc(hidden)] +pub type ListAgentStatusesInputOperationOutputAlias = crate::operation::ListAgentStatuses; +#[doc(hidden)] +pub type ListAgentStatusesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListAgentStatusesInput { + /// Consumes the builder and constructs an Operation<[`ListAgentStatuses`](crate::operation::ListAgentStatuses)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListAgentStatuses, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListAgentStatuses::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListAgentStatuses", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_81 = &self.instance_id; + let input_81 = + input_81 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_81, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/agent-status/{InstanceId}", + InstanceId = instance_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_82) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_82)); + } + if let Some(inner_83) = &self.max_results { + query.push_kv( + "maxResults", + &smithy_types::primitive::Encoder::from(*inner_83).encode(), + ); + } + if let Some(inner_84) = &self.agent_status_types { + for inner_85 in inner_84 { + query.push_kv( + "AgentStatusTypes", + &smithy_http::query::fmt_string(&inner_85), + ); + } + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListAgentStatusesInput`](crate::input::ListAgentStatusesInput) + pub fn builder() -> crate::input::list_agent_statuses_input::Builder { + crate::input::list_agent_statuses_input::Builder::default() + } +} + /// See [`ListApprovedOriginsInput`](crate::input::ListApprovedOriginsInput) pub mod list_approved_origins_input { /// A builder for [`ListApprovedOriginsInput`](crate::input::ListApprovedOriginsInput) @@ -8769,15 +9779,15 @@ impl ListApprovedOriginsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_75 = &self.instance_id; - let input_75 = - input_75 + let input_86 = &self.instance_id; + let input_86 = + input_86 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_75, false); + let instance_id = smithy_http::label::fmt_string(input_86, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -8794,13 +9804,13 @@ impl ListApprovedOriginsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_76) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_76)); + if let Some(inner_87) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_87)); } - if let Some(inner_77) = &self.max_results { + if let Some(inner_88) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_77).encode(), + &smithy_types::primitive::Encoder::from(*inner_88).encode(), ); } } @@ -8960,15 +9970,15 @@ impl ListBotsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_78 = &self.instance_id; - let input_78 = - input_78 + let input_89 = &self.instance_id; + let input_89 = + input_89 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_78, false); + let instance_id = smithy_http::label::fmt_string(input_89, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -8985,17 +9995,17 @@ impl ListBotsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_79) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_79)); + if let Some(inner_90) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_90)); } - if let Some(inner_80) = &self.max_results { + if let Some(inner_91) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_80).encode(), + &smithy_types::primitive::Encoder::from(*inner_91).encode(), ); } - if let Some(inner_81) = &self.lex_version { - query.push_kv("lexVersion", &smithy_http::query::fmt_string(&inner_81)); + if let Some(inner_92) = &self.lex_version { + query.push_kv("lexVersion", &smithy_http::query::fmt_string(&inner_92)); } } #[allow(clippy::unnecessary_wraps)] @@ -9166,15 +10176,15 @@ impl ListContactFlowsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_82 = &self.instance_id; - let input_82 = - input_82 + let input_93 = &self.instance_id; + let input_93 = + input_93 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_82, false); + let instance_id = smithy_http::label::fmt_string(input_93, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -9191,16 +10201,16 @@ impl ListContactFlowsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_83) = &self.contact_flow_types { - for inner_84 in inner_83 { + if let Some(inner_94) = &self.contact_flow_types { + for inner_95 in inner_94 { query.push_kv( "contactFlowTypes", - &smithy_http::query::fmt_string(&inner_84), + &smithy_http::query::fmt_string(&inner_95), ); } } - if let Some(inner_85) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_85)); + if let Some(inner_96) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_96)); } if self.max_results != 0 { query.push_kv( @@ -9358,15 +10368,15 @@ impl ListHoursOfOperationsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_86 = &self.instance_id; - let input_86 = - input_86 + let input_97 = &self.instance_id; + let input_97 = + input_97 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_86, false); + let instance_id = smithy_http::label::fmt_string(input_97, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -9383,8 +10393,8 @@ impl ListHoursOfOperationsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_87) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_87)); + if let Some(inner_98) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_98)); } if self.max_results != 0 { query.push_kv( @@ -9542,15 +10552,15 @@ impl ListInstanceAttributesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_88 = &self.instance_id; - let input_88 = - input_88 + let input_99 = &self.instance_id; + let input_99 = + input_99 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_88, false); + let instance_id = smithy_http::label::fmt_string(input_99, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -9567,13 +10577,13 @@ impl ListInstanceAttributesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_89) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_89)); + if let Some(inner_100) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_100)); } - if let Some(inner_90) = &self.max_results { + if let Some(inner_101) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_90).encode(), + &smithy_types::primitive::Encoder::from(*inner_101).encode(), ); } } @@ -9718,13 +10728,13 @@ impl ListInstancesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_91) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_91)); + if let Some(inner_102) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_102)); } - if let Some(inner_92) = &self.max_results { + if let Some(inner_103) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_92).encode(), + &smithy_types::primitive::Encoder::from(*inner_103).encode(), ); } } @@ -9892,15 +10902,15 @@ impl ListInstanceStorageConfigsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_93 = &self.instance_id; - let input_93 = - input_93 + let input_104 = &self.instance_id; + let input_104 = + input_104 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_93, false); + let instance_id = smithy_http::label::fmt_string(input_104, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -9917,16 +10927,16 @@ impl ListInstanceStorageConfigsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_94) = &self.resource_type { - query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_94)); + if let Some(inner_105) = &self.resource_type { + query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_105)); } - if let Some(inner_95) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_95)); + if let Some(inner_106) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_106)); } - if let Some(inner_96) = &self.max_results { + if let Some(inner_107) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_96).encode(), + &smithy_types::primitive::Encoder::from(*inner_107).encode(), ); } } @@ -10080,15 +11090,15 @@ impl ListIntegrationAssociationsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_97 = &self.instance_id; - let input_97 = - input_97 + let input_108 = &self.instance_id; + let input_108 = + input_108 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_97, false); + let instance_id = smithy_http::label::fmt_string(input_108, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -10105,13 +11115,13 @@ impl ListIntegrationAssociationsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_98) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_98)); + if let Some(inner_109) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_109)); } - if let Some(inner_99) = &self.max_results { + if let Some(inner_110) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_99).encode(), + &smithy_types::primitive::Encoder::from(*inner_110).encode(), ); } } @@ -10264,15 +11274,15 @@ impl ListLambdaFunctionsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_100 = &self.instance_id; - let input_100 = - input_100 + let input_111 = &self.instance_id; + let input_111 = + input_111 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_100, false); + let instance_id = smithy_http::label::fmt_string(input_111, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -10289,13 +11299,13 @@ impl ListLambdaFunctionsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_101) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_101)); + if let Some(inner_112) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_112)); } - if let Some(inner_102) = &self.max_results { + if let Some(inner_113) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_102).encode(), + &smithy_types::primitive::Encoder::from(*inner_113).encode(), ); } } @@ -10446,15 +11456,15 @@ impl ListLexBotsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_103 = &self.instance_id; - let input_103 = - input_103 + let input_114 = &self.instance_id; + let input_114 = + input_114 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_103, false); + let instance_id = smithy_http::label::fmt_string(input_114, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -10471,13 +11481,13 @@ impl ListLexBotsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_104) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_104)); + if let Some(inner_115) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_115)); } - if let Some(inner_105) = &self.max_results { + if let Some(inner_116) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_105).encode(), + &smithy_types::primitive::Encoder::from(*inner_116).encode(), ); } } @@ -10668,15 +11678,15 @@ impl ListPhoneNumbersInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_106 = &self.instance_id; - let input_106 = - input_106 + let input_117 = &self.instance_id; + let input_117 = + input_117 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_106, false); + let instance_id = smithy_http::label::fmt_string(input_117, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -10693,24 +11703,24 @@ impl ListPhoneNumbersInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_107) = &self.phone_number_types { - for inner_108 in inner_107 { + if let Some(inner_118) = &self.phone_number_types { + for inner_119 in inner_118 { query.push_kv( "phoneNumberTypes", - &smithy_http::query::fmt_string(&inner_108), + &smithy_http::query::fmt_string(&inner_119), ); } } - if let Some(inner_109) = &self.phone_number_country_codes { - for inner_110 in inner_109 { + if let Some(inner_120) = &self.phone_number_country_codes { + for inner_121 in inner_120 { query.push_kv( "phoneNumberCountryCodes", - &smithy_http::query::fmt_string(&inner_110), + &smithy_http::query::fmt_string(&inner_121), ); } } - if let Some(inner_111) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_111)); + if let Some(inner_122) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_122)); } if self.max_results != 0 { query.push_kv( @@ -10866,15 +11876,15 @@ impl ListPromptsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_112 = &self.instance_id; - let input_112 = - input_112 + let input_123 = &self.instance_id; + let input_123 = + input_123 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_112, false); + let instance_id = smithy_http::label::fmt_string(input_123, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -10891,13 +11901,13 @@ impl ListPromptsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_113) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_113)); + if let Some(inner_124) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_124)); } - if let Some(inner_114) = &self.max_results { + if let Some(inner_125) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_114).encode(), + &smithy_types::primitive::Encoder::from(*inner_125).encode(), ); } } @@ -11061,30 +12071,30 @@ impl ListQueueQuickConnectsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_115 = &self.instance_id; - let input_115 = - input_115 + let input_126 = &self.instance_id; + let input_126 = + input_126 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_115, false); + let instance_id = smithy_http::label::fmt_string(input_126, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_116 = &self.queue_id; - let input_116 = - input_116 + let input_127 = &self.queue_id; + let input_127 = + input_127 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_116, false); + let queue_id = smithy_http::label::fmt_string(input_127, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -11102,13 +12112,13 @@ impl ListQueueQuickConnectsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_117) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_117)); + if let Some(inner_128) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_128)); } - if let Some(inner_118) = &self.max_results { + if let Some(inner_129) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_118).encode(), + &smithy_types::primitive::Encoder::from(*inner_129).encode(), ); } } @@ -11274,15 +12284,15 @@ impl ListQueuesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_119 = &self.instance_id; - let input_119 = - input_119 + let input_130 = &self.instance_id; + let input_130 = + input_130 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_119, false); + let instance_id = smithy_http::label::fmt_string(input_130, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -11299,13 +12309,13 @@ impl ListQueuesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_120) = &self.queue_types { - for inner_121 in inner_120 { - query.push_kv("queueTypes", &smithy_http::query::fmt_string(&inner_121)); + if let Some(inner_131) = &self.queue_types { + for inner_132 in inner_131 { + query.push_kv("queueTypes", &smithy_http::query::fmt_string(&inner_132)); } } - if let Some(inner_122) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_122)); + if let Some(inner_133) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_133)); } if self.max_results != 0 { query.push_kv( @@ -11482,15 +12492,15 @@ impl ListQuickConnectsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_123 = &self.instance_id; - let input_123 = - input_123 + let input_134 = &self.instance_id; + let input_134 = + input_134 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_123, false); + let instance_id = smithy_http::label::fmt_string(input_134, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -11507,20 +12517,20 @@ impl ListQuickConnectsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_124) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_124)); + if let Some(inner_135) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_135)); } - if let Some(inner_125) = &self.max_results { + if let Some(inner_136) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_125).encode(), + &smithy_types::primitive::Encoder::from(*inner_136).encode(), ); } - if let Some(inner_126) = &self.quick_connect_types { - for inner_127 in inner_126 { + if let Some(inner_137) = &self.quick_connect_types { + for inner_138 in inner_137 { query.push_kv( "QuickConnectTypes", - &smithy_http::query::fmt_string(&inner_127), + &smithy_http::query::fmt_string(&inner_138), ); } } @@ -11689,30 +12699,30 @@ impl ListRoutingProfileQueuesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_128 = &self.instance_id; - let input_128 = - input_128 + let input_139 = &self.instance_id; + let input_139 = + input_139 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_128, false); + let instance_id = smithy_http::label::fmt_string(input_139, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_129 = &self.routing_profile_id; - let input_129 = - input_129 + let input_140 = &self.routing_profile_id; + let input_140 = + input_140 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_129, false); + let routing_profile_id = smithy_http::label::fmt_string(input_140, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -11730,13 +12740,13 @@ impl ListRoutingProfileQueuesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_130) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_130)); + if let Some(inner_141) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_141)); } - if let Some(inner_131) = &self.max_results { + if let Some(inner_142) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_131).encode(), + &smithy_types::primitive::Encoder::from(*inner_142).encode(), ); } } @@ -11889,15 +12899,15 @@ impl ListRoutingProfilesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_132 = &self.instance_id; - let input_132 = - input_132 + let input_143 = &self.instance_id; + let input_143 = + input_143 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_132, false); + let instance_id = smithy_http::label::fmt_string(input_143, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -11914,13 +12924,13 @@ impl ListRoutingProfilesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_133) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_133)); + if let Some(inner_144) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_144)); } - if let Some(inner_134) = &self.max_results { + if let Some(inner_145) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_134).encode(), + &smithy_types::primitive::Encoder::from(*inner_145).encode(), ); } } @@ -12073,15 +13083,15 @@ impl ListSecurityKeysInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_135 = &self.instance_id; - let input_135 = - input_135 + let input_146 = &self.instance_id; + let input_146 = + input_146 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_135, false); + let instance_id = smithy_http::label::fmt_string(input_146, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -12098,13 +13108,13 @@ impl ListSecurityKeysInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_136) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_136)); + if let Some(inner_147) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_147)); } - if let Some(inner_137) = &self.max_results { + if let Some(inner_148) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_137).encode(), + &smithy_types::primitive::Encoder::from(*inner_148).encode(), ); } } @@ -12257,15 +13267,15 @@ impl ListSecurityProfilesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_138 = &self.instance_id; - let input_138 = - input_138 + let input_149 = &self.instance_id; + let input_149 = + input_149 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_138, false); + let instance_id = smithy_http::label::fmt_string(input_149, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -12282,13 +13292,13 @@ impl ListSecurityProfilesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_139) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_139)); + if let Some(inner_150) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_150)); } - if let Some(inner_140) = &self.max_results { + if let Some(inner_151) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_140).encode(), + &smithy_types::primitive::Encoder::from(*inner_151).encode(), ); } } @@ -12418,15 +13428,15 @@ impl ListTagsForResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_141 = &self.resource_arn; - let input_141 = - input_141 + let input_152 = &self.resource_arn; + let input_152 = + input_152 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "resource_arn", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_141, false); + let resource_arn = smithy_http::label::fmt_string(input_152, false); if resource_arn.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "resource_arn", @@ -12597,30 +13607,30 @@ impl ListUseCasesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_142 = &self.instance_id; - let input_142 = - input_142 + let input_153 = &self.instance_id; + let input_153 = + input_153 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_142, false); + let instance_id = smithy_http::label::fmt_string(input_153, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_143 = &self.integration_association_id; - let input_143 = - input_143 + let input_154 = &self.integration_association_id; + let input_154 = + input_154 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", details: "cannot be empty or unset", })?; - let integration_association_id = smithy_http::label::fmt_string(input_143, false); + let integration_association_id = smithy_http::label::fmt_string(input_154, false); if integration_association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "integration_association_id", @@ -12638,13 +13648,13 @@ impl ListUseCasesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_144) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_144)); + if let Some(inner_155) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_155)); } - if let Some(inner_145) = &self.max_results { + if let Some(inner_156) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_145).encode(), + &smithy_types::primitive::Encoder::from(*inner_156).encode(), ); } } @@ -12798,15 +13808,15 @@ impl ListUserHierarchyGroupsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_146 = &self.instance_id; - let input_146 = - input_146 + let input_157 = &self.instance_id; + let input_157 = + input_157 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_146, false); + let instance_id = smithy_http::label::fmt_string(input_157, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -12823,13 +13833,13 @@ impl ListUserHierarchyGroupsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_147) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_147)); + if let Some(inner_158) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_158)); } - if let Some(inner_148) = &self.max_results { + if let Some(inner_159) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_148).encode(), + &smithy_types::primitive::Encoder::from(*inner_159).encode(), ); } } @@ -12978,15 +13988,15 @@ impl ListUsersInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_149 = &self.instance_id; - let input_149 = - input_149 + let input_160 = &self.instance_id; + let input_160 = + input_160 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_149, false); + let instance_id = smithy_http::label::fmt_string(input_160, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -13003,13 +14013,13 @@ impl ListUsersInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_150) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_150)); + if let Some(inner_161) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_161)); } - if let Some(inner_151) = &self.max_results { + if let Some(inner_162) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_151).encode(), + &smithy_types::primitive::Encoder::from(*inner_162).encode(), ); } } @@ -14653,15 +15663,15 @@ impl TagResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_152 = &self.resource_arn; - let input_152 = - input_152 + let input_163 = &self.resource_arn; + let input_163 = + input_163 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "resource_arn", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_152, false); + let resource_arn = smithy_http::label::fmt_string(input_163, false); if resource_arn.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "resource_arn", @@ -14799,10 +15809,238 @@ impl UntagResourceInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::UntagResource::new(), + crate::operation::UntagResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UntagResource", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_164 = &self.resource_arn; + let input_164 = + input_164 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + })?; + let resource_arn = smithy_http::label::fmt_string(input_164, false); + if resource_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/tags/{resourceArn}", resourceArn = resource_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_165) = &self.tag_keys { + for inner_166 in inner_165 { + query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_166)); + } + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn builder() -> crate::input::untag_resource_input::Builder { + crate::input::untag_resource_input::Builder::default() + } +} + +/// See [`UpdateAgentStatusInput`](crate::input::UpdateAgentStatusInput) +pub mod update_agent_status_input { + /// A builder for [`UpdateAgentStatusInput`](crate::input::UpdateAgentStatusInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) agent_status_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) display_order: std::option::Option, + pub(crate) reset_order_number: std::option::Option, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The identifier of the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.agent_status_id = Some(input.into()); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_id = input; + self + } + ///

                                                  The name of the agent status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The description of the agent status.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                  The state of the agent status.

                                                  + pub fn state(mut self, input: crate::model::AgentStatusState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + ///

                                                  The display order of the agent status.

                                                  + pub fn display_order(mut self, input: i32) -> Self { + self.display_order = Some(input); + self + } + pub fn set_display_order(mut self, input: std::option::Option) -> Self { + self.display_order = input; + self + } + ///

                                                  A number indicating the reset order of the agent status.

                                                  + pub fn reset_order_number(mut self, input: bool) -> Self { + self.reset_order_number = Some(input); + self + } + pub fn set_reset_order_number(mut self, input: std::option::Option) -> Self { + self.reset_order_number = input; + self + } + /// Consumes the builder and constructs a [`UpdateAgentStatusInput`](crate::input::UpdateAgentStatusInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateAgentStatusInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateAgentStatusInput { + instance_id: self.instance_id, + agent_status_id: self.agent_status_id, + name: self.name, + description: self.description, + state: self.state, + display_order: self.display_order, + reset_order_number: self.reset_order_number.unwrap_or_default(), + }) + } + } +} +#[doc(hidden)] +pub type UpdateAgentStatusInputOperationOutputAlias = crate::operation::UpdateAgentStatus; +#[doc(hidden)] +pub type UpdateAgentStatusInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateAgentStatusInput { + /// Consumes the builder and constructs an Operation<[`UpdateAgentStatus`](crate::operation::UpdateAgentStatus)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateAgentStatus, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_agent_status(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateAgentStatus::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "UntagResource", + "UpdateAgentStatus", "connect", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -14810,32 +16048,44 @@ impl UntagResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_153 = &self.resource_arn; - let input_153 = - input_153 + let input_167 = &self.instance_id; + let input_167 = + input_167 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { - field: "resource_arn", + field: "instance_id", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_153, false); - if resource_arn.is_empty() { + let instance_id = smithy_http::label::fmt_string(input_167, false); + if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { - field: "resource_arn", + field: "instance_id", details: "cannot be empty or unset", }); } - write!(output, "/tags/{resourceArn}", resourceArn = resource_arn) - .expect("formatting should succeed"); - Ok(()) - } - fn uri_query(&self, mut output: &mut String) { - let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_154) = &self.tag_keys { - for inner_155 in inner_154 { - query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_155)); - } + let input_168 = &self.agent_status_id; + let input_168 = + input_168 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "agent_status_id", + details: "cannot be empty or unset", + })?; + let agent_status_id = smithy_http::label::fmt_string(input_168, false); + if agent_status_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "agent_status_id", + details: "cannot be empty or unset", + }); } + write!( + output, + "/agent-status/{InstanceId}/{AgentStatusId}", + InstanceId = instance_id, + AgentStatusId = agent_status_id + ) + .expect("formatting should succeed"); + Ok(()) } #[allow(clippy::unnecessary_wraps)] fn update_http_builder( @@ -14844,8 +16094,7 @@ impl UntagResourceInput { ) -> std::result::Result { let mut uri = String::new(); self.uri_base(&mut uri)?; - self.uri_query(&mut uri); - Ok(builder.method("DELETE").uri(uri)) + Ok(builder.method("POST").uri(uri)) } #[allow(clippy::unnecessary_wraps)] fn request_builder_base( @@ -14865,9 +16114,9 @@ impl UntagResourceInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) - pub fn builder() -> crate::input::untag_resource_input::Builder { - crate::input::untag_resource_input::Builder::default() + /// Creates a new builder-style object to manufacture [`UpdateAgentStatusInput`](crate::input::UpdateAgentStatusInput) + pub fn builder() -> crate::input::update_agent_status_input::Builder { + crate::input::update_agent_status_input::Builder::default() } } @@ -15164,30 +16413,30 @@ impl UpdateContactFlowContentInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_156 = &self.instance_id; - let input_156 = - input_156 + let input_169 = &self.instance_id; + let input_169 = + input_169 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_156, false); + let instance_id = smithy_http::label::fmt_string(input_169, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_157 = &self.contact_flow_id; - let input_157 = - input_157 + let input_170 = &self.contact_flow_id; + let input_170 = + input_170 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", details: "cannot be empty or unset", })?; - let contact_flow_id = smithy_http::label::fmt_string(input_157, false); + let contact_flow_id = smithy_http::label::fmt_string(input_170, false); if contact_flow_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", @@ -15367,30 +16616,30 @@ impl UpdateContactFlowNameInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_158 = &self.instance_id; - let input_158 = - input_158 + let input_171 = &self.instance_id; + let input_171 = + input_171 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_158, false); + let instance_id = smithy_http::label::fmt_string(input_171, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_159 = &self.contact_flow_id; - let input_159 = - input_159 + let input_172 = &self.contact_flow_id; + let input_172 = + input_172 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", details: "cannot be empty or unset", })?; - let contact_flow_id = smithy_http::label::fmt_string(input_159, false); + let contact_flow_id = smithy_http::label::fmt_string(input_172, false); if contact_flow_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "contact_flow_id", @@ -15439,6 +16688,235 @@ impl UpdateContactFlowNameInput { } } +/// See [`UpdateHoursOfOperationInput`](crate::input::UpdateHoursOfOperationInput) +pub mod update_hours_of_operation_input { + /// A builder for [`UpdateHoursOfOperationInput`](crate::input::UpdateHoursOfOperationInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance_id: std::option::Option, + pub(crate) hours_of_operation_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) time_zone: std::option::Option, + pub(crate) config: std::option::Option>, + } + impl Builder { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                  The identifier of the hours of operation.

                                                  + pub fn hours_of_operation_id(mut self, input: impl Into) -> Self { + self.hours_of_operation_id = Some(input.into()); + self + } + pub fn set_hours_of_operation_id( + mut self, + input: std::option::Option, + ) -> Self { + self.hours_of_operation_id = input; + self + } + ///

                                                  The name of the hours of operation.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The description of the hours of operation.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                  The time zone of the hours of operation.

                                                  + pub fn time_zone(mut self, input: impl Into) -> Self { + self.time_zone = Some(input.into()); + self + } + pub fn set_time_zone(mut self, input: std::option::Option) -> Self { + self.time_zone = input; + self + } + pub fn config(mut self, input: impl Into) -> Self { + let mut v = self.config.unwrap_or_default(); + v.push(input.into()); + self.config = Some(v); + self + } + pub fn set_config( + mut self, + input: std::option::Option>, + ) -> Self { + self.config = input; + self + } + /// Consumes the builder and constructs a [`UpdateHoursOfOperationInput`](crate::input::UpdateHoursOfOperationInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateHoursOfOperationInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateHoursOfOperationInput { + instance_id: self.instance_id, + hours_of_operation_id: self.hours_of_operation_id, + name: self.name, + description: self.description, + time_zone: self.time_zone, + config: self.config, + }) + } + } +} +#[doc(hidden)] +pub type UpdateHoursOfOperationInputOperationOutputAlias = crate::operation::UpdateHoursOfOperation; +#[doc(hidden)] +pub type UpdateHoursOfOperationInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateHoursOfOperationInput { + /// Consumes the builder and constructs an Operation<[`UpdateHoursOfOperation`](crate::operation::UpdateHoursOfOperation)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateHoursOfOperation, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_update_hours_of_operation(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateHoursOfOperation::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateHoursOfOperation", + "connect", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_173 = &self.instance_id; + let input_173 = + input_173 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + })?; + let instance_id = smithy_http::label::fmt_string(input_173, false); + if instance_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "instance_id", + details: "cannot be empty or unset", + }); + } + let input_174 = &self.hours_of_operation_id; + let input_174 = + input_174 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "hours_of_operation_id", + details: "cannot be empty or unset", + })?; + let hours_of_operation_id = smithy_http::label::fmt_string(input_174, false); + if hours_of_operation_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "hours_of_operation_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/hours-of-operations/{InstanceId}/{HoursOfOperationId}", + InstanceId = instance_id, + HoursOfOperationId = hours_of_operation_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateHoursOfOperationInput`](crate::input::UpdateHoursOfOperationInput) + pub fn builder() -> crate::input::update_hours_of_operation_input::Builder { + crate::input::update_hours_of_operation_input::Builder::default() + } +} + /// See [`UpdateInstanceAttributeInput`](crate::input::UpdateInstanceAttributeInput) pub mod update_instance_attribute_input { /// A builder for [`UpdateInstanceAttributeInput`](crate::input::UpdateInstanceAttributeInput) @@ -15560,30 +17038,30 @@ impl UpdateInstanceAttributeInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_160 = &self.instance_id; - let input_160 = - input_160 + let input_175 = &self.instance_id; + let input_175 = + input_175 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_160, false); + let instance_id = smithy_http::label::fmt_string(input_175, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_161 = &self.attribute_type; - let input_161 = - input_161 + let input_176 = &self.attribute_type; + let input_176 = + input_176 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "attribute_type", details: "cannot be empty or unset", })?; - let attribute_type = smithy_http::label::fmt_string(input_161, false); + let attribute_type = smithy_http::label::fmt_string(input_176, false); if attribute_type.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "attribute_type", @@ -15771,30 +17249,30 @@ impl UpdateInstanceStorageConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_162 = &self.instance_id; - let input_162 = - input_162 + let input_177 = &self.instance_id; + let input_177 = + input_177 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_162, false); + let instance_id = smithy_http::label::fmt_string(input_177, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_163 = &self.association_id; - let input_163 = - input_163 + let input_178 = &self.association_id; + let input_178 = + input_178 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "association_id", details: "cannot be empty or unset", })?; - let association_id = smithy_http::label::fmt_string(input_163, false); + let association_id = smithy_http::label::fmt_string(input_178, false); if association_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "association_id", @@ -15812,8 +17290,8 @@ impl UpdateInstanceStorageConfigInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_164) = &self.resource_type { - query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_164)); + if let Some(inner_179) = &self.resource_type { + query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_179)); } } #[allow(clippy::unnecessary_wraps)] @@ -15972,30 +17450,30 @@ impl UpdateQueueHoursOfOperationInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_165 = &self.instance_id; - let input_165 = - input_165 + let input_180 = &self.instance_id; + let input_180 = + input_180 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_165, false); + let instance_id = smithy_http::label::fmt_string(input_180, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_166 = &self.queue_id; - let input_166 = - input_166 + let input_181 = &self.queue_id; + let input_181 = + input_181 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_166, false); + let queue_id = smithy_http::label::fmt_string(input_181, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -16161,30 +17639,30 @@ impl UpdateQueueMaxContactsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_167 = &self.instance_id; - let input_167 = - input_167 + let input_182 = &self.instance_id; + let input_182 = + input_182 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_167, false); + let instance_id = smithy_http::label::fmt_string(input_182, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_168 = &self.queue_id; - let input_168 = - input_168 + let input_183 = &self.queue_id; + let input_183 = + input_183 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_168, false); + let queue_id = smithy_http::label::fmt_string(input_183, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -16360,30 +17838,30 @@ impl UpdateQueueNameInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_169 = &self.instance_id; - let input_169 = - input_169 + let input_184 = &self.instance_id; + let input_184 = + input_184 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_169, false); + let instance_id = smithy_http::label::fmt_string(input_184, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_170 = &self.queue_id; - let input_170 = - input_170 + let input_185 = &self.queue_id; + let input_185 = + input_185 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_170, false); + let queue_id = smithy_http::label::fmt_string(input_185, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -16556,30 +18034,30 @@ impl UpdateQueueOutboundCallerConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_171 = &self.instance_id; - let input_171 = - input_171 + let input_186 = &self.instance_id; + let input_186 = + input_186 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_171, false); + let instance_id = smithy_http::label::fmt_string(input_186, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_172 = &self.queue_id; - let input_172 = - input_172 + let input_187 = &self.queue_id; + let input_187 = + input_187 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_172, false); + let queue_id = smithy_http::label::fmt_string(input_187, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -16745,30 +18223,30 @@ impl UpdateQueueStatusInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_173 = &self.instance_id; - let input_173 = - input_173 + let input_188 = &self.instance_id; + let input_188 = + input_188 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_173, false); + let instance_id = smithy_http::label::fmt_string(input_188, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_174 = &self.queue_id; - let input_174 = - input_174 + let input_189 = &self.queue_id; + let input_189 = + input_189 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "queue_id", details: "cannot be empty or unset", })?; - let queue_id = smithy_http::label::fmt_string(input_174, false); + let queue_id = smithy_http::label::fmt_string(input_189, false); if queue_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "queue_id", @@ -16941,30 +18419,30 @@ impl UpdateQuickConnectConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_175 = &self.instance_id; - let input_175 = - input_175 + let input_190 = &self.instance_id; + let input_190 = + input_190 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_175, false); + let instance_id = smithy_http::label::fmt_string(input_190, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_176 = &self.quick_connect_id; - let input_176 = - input_176 + let input_191 = &self.quick_connect_id; + let input_191 = + input_191 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", details: "cannot be empty or unset", })?; - let quick_connect_id = smithy_http::label::fmt_string(input_176, false); + let quick_connect_id = smithy_http::label::fmt_string(input_191, false); if quick_connect_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", @@ -17144,30 +18622,30 @@ impl UpdateQuickConnectNameInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_177 = &self.instance_id; - let input_177 = - input_177 + let input_192 = &self.instance_id; + let input_192 = + input_192 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_177, false); + let instance_id = smithy_http::label::fmt_string(input_192, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_178 = &self.quick_connect_id; - let input_178 = - input_178 + let input_193 = &self.quick_connect_id; + let input_193 = + input_193 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", details: "cannot be empty or unset", })?; - let quick_connect_id = smithy_http::label::fmt_string(input_178, false); + let quick_connect_id = smithy_http::label::fmt_string(input_193, false); if quick_connect_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "quick_connect_id", @@ -17346,30 +18824,30 @@ impl UpdateRoutingProfileConcurrencyInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_179 = &self.instance_id; - let input_179 = - input_179 + let input_194 = &self.instance_id; + let input_194 = + input_194 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_179, false); + let instance_id = smithy_http::label::fmt_string(input_194, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_180 = &self.routing_profile_id; - let input_180 = - input_180 + let input_195 = &self.routing_profile_id; + let input_195 = + input_195 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_180, false); + let routing_profile_id = smithy_http::label::fmt_string(input_195, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -17544,30 +19022,30 @@ impl UpdateRoutingProfileDefaultOutboundQueueInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_181 = &self.instance_id; - let input_181 = - input_181 + let input_196 = &self.instance_id; + let input_196 = + input_196 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_181, false); + let instance_id = smithy_http::label::fmt_string(input_196, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_182 = &self.routing_profile_id; - let input_182 = - input_182 + let input_197 = &self.routing_profile_id; + let input_197 = + input_197 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_182, false); + let routing_profile_id = smithy_http::label::fmt_string(input_197, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -17748,30 +19226,30 @@ impl UpdateRoutingProfileNameInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_183 = &self.instance_id; - let input_183 = - input_183 + let input_198 = &self.instance_id; + let input_198 = + input_198 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_183, false); + let instance_id = smithy_http::label::fmt_string(input_198, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_184 = &self.routing_profile_id; - let input_184 = - input_184 + let input_199 = &self.routing_profile_id; + let input_199 = + input_199 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_184, false); + let routing_profile_id = smithy_http::label::fmt_string(input_199, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -17950,30 +19428,30 @@ impl UpdateRoutingProfileQueuesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_185 = &self.instance_id; - let input_185 = - input_185 + let input_200 = &self.instance_id; + let input_200 = + input_200 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_185, false); + let instance_id = smithy_http::label::fmt_string(input_200, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_186 = &self.routing_profile_id; - let input_186 = - input_186 + let input_201 = &self.routing_profile_id; + let input_201 = + input_201 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", details: "cannot be empty or unset", })?; - let routing_profile_id = smithy_http::label::fmt_string(input_186, false); + let routing_profile_id = smithy_http::label::fmt_string(input_201, false); if routing_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "routing_profile_id", @@ -18142,30 +19620,30 @@ impl UpdateUserHierarchyInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_187 = &self.instance_id; - let input_187 = - input_187 + let input_202 = &self.instance_id; + let input_202 = + input_202 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_187, false); + let instance_id = smithy_http::label::fmt_string(input_202, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_188 = &self.user_id; - let input_188 = - input_188 + let input_203 = &self.user_id; + let input_203 = + input_203 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_188, false); + let user_id = smithy_http::label::fmt_string(input_203, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -18336,30 +19814,30 @@ impl UpdateUserHierarchyGroupNameInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_189 = &self.instance_id; - let input_189 = - input_189 + let input_204 = &self.instance_id; + let input_204 = + input_204 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_189, false); + let instance_id = smithy_http::label::fmt_string(input_204, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_190 = &self.hierarchy_group_id; - let input_190 = - input_190 + let input_205 = &self.hierarchy_group_id; + let input_205 = + input_205 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "hierarchy_group_id", details: "cannot be empty or unset", })?; - let hierarchy_group_id = smithy_http::label::fmt_string(input_190, false); + let hierarchy_group_id = smithy_http::label::fmt_string(input_205, false); if hierarchy_group_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "hierarchy_group_id", @@ -18522,15 +20000,15 @@ impl UpdateUserHierarchyStructureInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_191 = &self.instance_id; - let input_191 = - input_191 + let input_206 = &self.instance_id; + let input_206 = + input_206 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_191, false); + let instance_id = smithy_http::label::fmt_string(input_206, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", @@ -18698,30 +20176,30 @@ impl UpdateUserIdentityInfoInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_192 = &self.instance_id; - let input_192 = - input_192 + let input_207 = &self.instance_id; + let input_207 = + input_207 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_192, false); + let instance_id = smithy_http::label::fmt_string(input_207, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_193 = &self.user_id; - let input_193 = - input_193 + let input_208 = &self.user_id; + let input_208 = + input_208 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_193, false); + let user_id = smithy_http::label::fmt_string(input_208, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -18890,30 +20368,30 @@ impl UpdateUserPhoneConfigInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_194 = &self.instance_id; - let input_194 = - input_194 + let input_209 = &self.instance_id; + let input_209 = + input_209 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_194, false); + let instance_id = smithy_http::label::fmt_string(input_209, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_195 = &self.user_id; - let input_195 = - input_195 + let input_210 = &self.user_id; + let input_210 = + input_210 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_195, false); + let user_id = smithy_http::label::fmt_string(input_210, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -19083,30 +20561,30 @@ impl UpdateUserRoutingProfileInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_196 = &self.instance_id; - let input_196 = - input_196 + let input_211 = &self.instance_id; + let input_211 = + input_211 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_196, false); + let instance_id = smithy_http::label::fmt_string(input_211, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_197 = &self.user_id; - let input_197 = - input_197 + let input_212 = &self.user_id; + let input_212 = + input_212 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_197, false); + let user_id = smithy_http::label::fmt_string(input_212, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -19278,30 +20756,30 @@ impl UpdateUserSecurityProfilesInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_198 = &self.instance_id; - let input_198 = - input_198 + let input_213 = &self.instance_id; + let input_213 = + input_213 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", })?; - let instance_id = smithy_http::label::fmt_string(input_198, false); + let instance_id = smithy_http::label::fmt_string(input_213, false); if instance_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "instance_id", details: "cannot be empty or unset", }); } - let input_199 = &self.user_id; - let input_199 = - input_199 + let input_214 = &self.user_id; + let input_214 = + input_214 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "user_id", details: "cannot be empty or unset", })?; - let user_id = smithy_http::label::fmt_string(input_199, false); + let user_id = smithy_http::label::fmt_string(input_214, false); if user_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "user_id", @@ -19761,6 +21239,35 @@ impl std::fmt::Debug for UpdateInstanceAttributeInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateHoursOfOperationInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The identifier of the hours of operation.

                                                  + pub hours_of_operation_id: std::option::Option, + ///

                                                  The name of the hours of operation.

                                                  + pub name: std::option::Option, + ///

                                                  The description of the hours of operation.

                                                  + pub description: std::option::Option, + ///

                                                  The time zone of the hours of operation.

                                                  + pub time_zone: std::option::Option, + ///

                                                  Configuration information of the hours of operation.

                                                  + pub config: std::option::Option>, +} +impl std::fmt::Debug for UpdateHoursOfOperationInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateHoursOfOperationInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("hours_of_operation_id", &self.hours_of_operation_id); + formatter.field("name", &self.name); + formatter.field("description", &self.description); + formatter.field("time_zone", &self.time_zone); + formatter.field("config", &self.config); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateContactFlowNameInput { @@ -19831,6 +21338,38 @@ impl std::fmt::Debug for UpdateContactAttributesInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAgentStatusInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The identifier of the agent status.

                                                  + pub agent_status_id: std::option::Option, + ///

                                                  The name of the agent status.

                                                  + pub name: std::option::Option, + ///

                                                  The description of the agent status.

                                                  + pub description: std::option::Option, + ///

                                                  The state of the agent status.

                                                  + pub state: std::option::Option, + ///

                                                  The display order of the agent status.

                                                  + pub display_order: std::option::Option, + ///

                                                  A number indicating the reset order of the agent status.

                                                  + pub reset_order_number: bool, +} +impl std::fmt::Debug for UpdateAgentStatusInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAgentStatusInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("agent_status_id", &self.agent_status_id); + formatter.field("name", &self.name); + formatter.field("description", &self.description); + formatter.field("state", &self.state); + formatter.field("display_order", &self.display_order); + formatter.field("reset_order_number", &self.reset_order_number); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UntagResourceInput { @@ -20626,6 +22165,30 @@ impl std::fmt::Debug for ListApprovedOriginsInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAgentStatusesInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The token for the next set of results. Use the value returned in the previous + /// response in the next request to retrieve the next set of results.

                                                  + pub next_token: std::option::Option, + ///

                                                  The maximum number of results to return per page.

                                                  + pub max_results: std::option::Option, + ///

                                                  Available agent status types.

                                                  + pub agent_status_types: std::option::Option>, +} +impl std::fmt::Debug for ListAgentStatusesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAgentStatusesInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.field("agent_status_types", &self.agent_status_types); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMetricDataInput { @@ -21312,6 +22875,23 @@ impl std::fmt::Debug for DescribeContactFlowInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAgentStatusInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The identifier for the agent status.

                                                  + pub agent_status_id: std::option::Option, +} +impl std::fmt::Debug for DescribeAgentStatusInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAgentStatusInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("agent_status_id", &self.agent_status_id); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteUserHierarchyGroupInput { @@ -21420,6 +23000,23 @@ impl std::fmt::Debug for DeleteInstanceInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteHoursOfOperationInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The identifier for the hours of operation.

                                                  + pub hours_of_operation_id: std::option::Option, +} +impl std::fmt::Debug for DeleteHoursOfOperationInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteHoursOfOperationInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("hours_of_operation_id", &self.hours_of_operation_id); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateUserHierarchyGroupInput { @@ -21680,6 +23277,36 @@ impl std::fmt::Debug for CreateInstanceInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateHoursOfOperationInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The name of the hours of operation.

                                                  + pub name: std::option::Option, + ///

                                                  The description of the hours of operation.

                                                  + pub description: std::option::Option, + ///

                                                  The time zone of the hours of operation.

                                                  + pub time_zone: std::option::Option, + ///

                                                  Configuration information for the hours of operation: day, start time, and end time.

                                                  + pub config: std::option::Option>, + ///

                                                  One or more tags.

                                                  + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for CreateHoursOfOperationInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateHoursOfOperationInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("name", &self.name); + formatter.field("description", &self.description); + formatter.field("time_zone", &self.time_zone); + formatter.field("config", &self.config); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateContactFlowInput { @@ -21711,6 +23338,36 @@ impl std::fmt::Debug for CreateContactFlowInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAgentStatusInput { + ///

                                                  The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

                                                  + pub instance_id: std::option::Option, + ///

                                                  The name of the status.

                                                  + pub name: std::option::Option, + ///

                                                  The description of the status.

                                                  + pub description: std::option::Option, + ///

                                                  The state of the status.

                                                  + pub state: std::option::Option, + ///

                                                  The display order of the status.

                                                  + pub display_order: std::option::Option, + ///

                                                  One or more tags.

                                                  + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for CreateAgentStatusInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAgentStatusInput"); + formatter.field("instance_id", &self.instance_id); + formatter.field("name", &self.name); + formatter.field("description", &self.description); + formatter.field("state", &self.state); + formatter.field("display_order", &self.display_order); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AssociateSecurityKeyInput { diff --git a/sdk/connect/src/json_deser.rs b/sdk/connect/src/json_deser.rs index c4df55634665..5ba12ccb27ab 100644 --- a/sdk/connect/src/json_deser.rs +++ b/sdk/connect/src/json_deser.rs @@ -439,6 +439,52 @@ pub fn deser_structure_duplicate_resource_exceptionjson_err( Ok(builder) } +pub fn deser_operation_create_agent_status( + input: &[u8], + mut builder: crate::output::create_agent_status_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AgentStatusARN" => { + builder = builder.set_agent_status_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "AgentStatusId" => { + builder = builder.set_agent_status_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_structure_invalid_contact_flow_exceptionjson_err( input: &[u8], mut builder: crate::error::invalid_contact_flow_exception::Builder, @@ -529,6 +575,53 @@ pub fn deser_operation_create_contact_flow( Ok(builder) } +pub fn deser_operation_create_hours_of_operation( + input: &[u8], + mut builder: crate::output::create_hours_of_operation_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "HoursOfOperationArn" => { + builder = builder.set_hours_of_operation_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "HoursOfOperationId" => { + builder = builder.set_hours_of_operation_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_create_instance( input: &[u8], mut builder: crate::output::create_instance_output::Builder, @@ -960,6 +1053,43 @@ pub fn deser_structure_resource_in_use_exceptionjson_err( Ok(builder) } +pub fn deser_operation_describe_agent_status( + input: &[u8], + mut builder: crate::output::describe_agent_status_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AgentStatus" => { + builder = builder.set_agent_status( + crate::json_deser::deser_structure_agent_status(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_structure_contact_flow_not_published_exceptionjson_err( input: &[u8], mut builder: crate::error::contact_flow_not_published_exception::Builder, @@ -1632,6 +1762,50 @@ pub fn deser_operation_get_metric_data( Ok(builder) } +pub fn deser_operation_list_agent_statuses( + input: &[u8], + mut builder: crate::output::list_agent_statuses_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AgentStatusSummaryList" => { + builder = builder.set_agent_status_summary_list( + crate::json_deser::deser_list_agent_status_summary_list(tokens)?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_list_approved_origins( input: &[u8], mut builder: crate::output::list_approved_origins_output::Builder, @@ -2949,6 +3123,116 @@ where } } +pub fn deser_structure_agent_status<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AgentStatus::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AgentStatusARN" => { + builder = builder.set_agent_status_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "AgentStatusId" => { + builder = builder.set_agent_status_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Description" => { + builder = builder.set_description( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::AgentStatusType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "DisplayOrder" => { + builder = builder.set_display_order( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "State" => { + builder = builder.set_state( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::AgentStatusState::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Tags" => { + builder = + builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_contact_flow<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -4135,6 +4419,42 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_agent_status_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_agent_status_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_origins_list<'a, I>( tokens: &mut std::iter::Peekable, @@ -5857,6 +6177,82 @@ where } } +pub fn deser_structure_agent_status_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AgentStatusSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Id" => { + builder = builder.set_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Arn" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::AgentStatusType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_lex_bot_config<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> diff --git a/sdk/connect/src/json_ser.rs b/sdk/connect/src/json_ser.rs index da2679e52f0e..65122ed40a85 100644 --- a/sdk/connect/src/json_ser.rs +++ b/sdk/connect/src/json_ser.rs @@ -102,30 +102,98 @@ pub fn serialize_structure_associate_security_key_input( } } -pub fn serialize_structure_create_contact_flow_input( +pub fn serialize_structure_create_agent_status_input( object: &mut smithy_json::serialize::JsonObjectWriter, - input: &crate::input::CreateContactFlowInput, + input: &crate::input::CreateAgentStatusInput, ) { - if let Some(var_20) = &input.content { - object.key("Content").string(var_20); + if let Some(var_20) = &input.description { + object.key("Description").string(var_20); } - if let Some(var_21) = &input.description { - object.key("Description").string(var_21); + if let Some(var_21) = &input.display_order { + object.key("DisplayOrder").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_21).into()), + ); } if let Some(var_22) = &input.name { object.key("Name").string(var_22); } - if let Some(var_23) = &input.tags { - let mut object_24 = object.key("Tags").start_object(); - for (key_25, value_26) in var_23 { + if let Some(var_23) = &input.state { + object.key("State").string(var_23.as_str()); + } + if let Some(var_24) = &input.tags { + let mut object_25 = object.key("Tags").start_object(); + for (key_26, value_27) in var_24 { + { + object_25.key(key_26).string(value_27); + } + } + object_25.finish(); + } +} + +pub fn serialize_structure_create_contact_flow_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateContactFlowInput, +) { + if let Some(var_28) = &input.content { + object.key("Content").string(var_28); + } + if let Some(var_29) = &input.description { + object.key("Description").string(var_29); + } + if let Some(var_30) = &input.name { + object.key("Name").string(var_30); + } + if let Some(var_31) = &input.tags { + let mut object_32 = object.key("Tags").start_object(); + for (key_33, value_34) in var_31 { { - object_24.key(key_25).string(value_26); + object_32.key(key_33).string(value_34); } } - object_24.finish(); + object_32.finish(); } - if let Some(var_27) = &input.r#type { - object.key("Type").string(var_27.as_str()); + if let Some(var_35) = &input.r#type { + object.key("Type").string(var_35.as_str()); + } +} + +pub fn serialize_structure_create_hours_of_operation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateHoursOfOperationInput, +) { + if let Some(var_36) = &input.config { + let mut array_37 = object.key("Config").start_array(); + for item_38 in var_36 { + { + let mut object_39 = array_37.value().start_object(); + crate::json_ser::serialize_structure_hours_of_operation_config( + &mut object_39, + item_38, + ); + object_39.finish(); + } + } + array_37.finish(); + } + if let Some(var_40) = &input.description { + object.key("Description").string(var_40); + } + if let Some(var_41) = &input.name { + object.key("Name").string(var_41); + } + if let Some(var_42) = &input.tags { + let mut object_43 = object.key("Tags").start_object(); + for (key_44, value_45) in var_42 { + { + object_43.key(key_44).string(value_45); + } + } + object_43.finish(); + } + if let Some(var_46) = &input.time_zone { + object.key("TimeZone").string(var_46); } } @@ -133,23 +201,23 @@ pub fn serialize_structure_create_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateInstanceInput, ) { - if let Some(var_28) = &input.client_token { - object.key("ClientToken").string(var_28); + if let Some(var_47) = &input.client_token { + object.key("ClientToken").string(var_47); } - if let Some(var_29) = &input.directory_id { - object.key("DirectoryId").string(var_29); + if let Some(var_48) = &input.directory_id { + object.key("DirectoryId").string(var_48); } - if let Some(var_30) = &input.identity_management_type { - object.key("IdentityManagementType").string(var_30.as_str()); + if let Some(var_49) = &input.identity_management_type { + object.key("IdentityManagementType").string(var_49.as_str()); } - if let Some(var_31) = &input.inbound_calls_enabled { - object.key("InboundCallsEnabled").boolean(*var_31); + if let Some(var_50) = &input.inbound_calls_enabled { + object.key("InboundCallsEnabled").boolean(*var_50); } - if let Some(var_32) = &input.instance_alias { - object.key("InstanceAlias").string(var_32); + if let Some(var_51) = &input.instance_alias { + object.key("InstanceAlias").string(var_51); } - if let Some(var_33) = &input.outbound_calls_enabled { - object.key("OutboundCallsEnabled").boolean(*var_33); + if let Some(var_52) = &input.outbound_calls_enabled { + object.key("OutboundCallsEnabled").boolean(*var_52); } } @@ -157,29 +225,29 @@ pub fn serialize_structure_create_integration_association_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateIntegrationAssociationInput, ) { - if let Some(var_34) = &input.integration_arn { - object.key("IntegrationArn").string(var_34); + if let Some(var_53) = &input.integration_arn { + object.key("IntegrationArn").string(var_53); } - if let Some(var_35) = &input.integration_type { - object.key("IntegrationType").string(var_35.as_str()); + if let Some(var_54) = &input.integration_type { + object.key("IntegrationType").string(var_54.as_str()); } - if let Some(var_36) = &input.source_application_name { - object.key("SourceApplicationName").string(var_36); + if let Some(var_55) = &input.source_application_name { + object.key("SourceApplicationName").string(var_55); } - if let Some(var_37) = &input.source_application_url { - object.key("SourceApplicationUrl").string(var_37); + if let Some(var_56) = &input.source_application_url { + object.key("SourceApplicationUrl").string(var_56); } - if let Some(var_38) = &input.source_type { - object.key("SourceType").string(var_38.as_str()); + if let Some(var_57) = &input.source_type { + object.key("SourceType").string(var_57.as_str()); } - if let Some(var_39) = &input.tags { - let mut object_40 = object.key("Tags").start_object(); - for (key_41, value_42) in var_39 { + if let Some(var_58) = &input.tags { + let mut object_59 = object.key("Tags").start_object(); + for (key_60, value_61) in var_58 { { - object_40.key(key_41).string(value_42); + object_59.key(key_60).string(value_61); } } - object_40.finish(); + object_59.finish(); } } @@ -187,43 +255,43 @@ pub fn serialize_structure_create_queue_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateQueueInput, ) { - if let Some(var_43) = &input.description { - object.key("Description").string(var_43); + if let Some(var_62) = &input.description { + object.key("Description").string(var_62); } - if let Some(var_44) = &input.hours_of_operation_id { - object.key("HoursOfOperationId").string(var_44); + if let Some(var_63) = &input.hours_of_operation_id { + object.key("HoursOfOperationId").string(var_63); } - if let Some(var_45) = &input.max_contacts { + if let Some(var_64) = &input.max_contacts { object.key("MaxContacts").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_45).into()), + smithy_types::Number::NegInt((*var_64).into()), ); } - if let Some(var_46) = &input.name { - object.key("Name").string(var_46); + if let Some(var_65) = &input.name { + object.key("Name").string(var_65); } - if let Some(var_47) = &input.outbound_caller_config { - let mut object_48 = object.key("OutboundCallerConfig").start_object(); - crate::json_ser::serialize_structure_outbound_caller_config(&mut object_48, var_47); - object_48.finish(); + if let Some(var_66) = &input.outbound_caller_config { + let mut object_67 = object.key("OutboundCallerConfig").start_object(); + crate::json_ser::serialize_structure_outbound_caller_config(&mut object_67, var_66); + object_67.finish(); } - if let Some(var_49) = &input.quick_connect_ids { - let mut array_50 = object.key("QuickConnectIds").start_array(); - for item_51 in var_49 { + if let Some(var_68) = &input.quick_connect_ids { + let mut array_69 = object.key("QuickConnectIds").start_array(); + for item_70 in var_68 { { - array_50.value().string(item_51); + array_69.value().string(item_70); } } - array_50.finish(); + array_69.finish(); } - if let Some(var_52) = &input.tags { - let mut object_53 = object.key("Tags").start_object(); - for (key_54, value_55) in var_52 { + if let Some(var_71) = &input.tags { + let mut object_72 = object.key("Tags").start_object(); + for (key_73, value_74) in var_71 { { - object_53.key(key_54).string(value_55); + object_72.key(key_73).string(value_74); } } - object_53.finish(); + object_72.finish(); } } @@ -231,25 +299,25 @@ pub fn serialize_structure_create_quick_connect_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateQuickConnectInput, ) { - if let Some(var_56) = &input.description { - object.key("Description").string(var_56); + if let Some(var_75) = &input.description { + object.key("Description").string(var_75); } - if let Some(var_57) = &input.name { - object.key("Name").string(var_57); + if let Some(var_76) = &input.name { + object.key("Name").string(var_76); } - if let Some(var_58) = &input.quick_connect_config { - let mut object_59 = object.key("QuickConnectConfig").start_object(); - crate::json_ser::serialize_structure_quick_connect_config(&mut object_59, var_58); - object_59.finish(); + if let Some(var_77) = &input.quick_connect_config { + let mut object_78 = object.key("QuickConnectConfig").start_object(); + crate::json_ser::serialize_structure_quick_connect_config(&mut object_78, var_77); + object_78.finish(); } - if let Some(var_60) = &input.tags { - let mut object_61 = object.key("Tags").start_object(); - for (key_62, value_63) in var_60 { + if let Some(var_79) = &input.tags { + let mut object_80 = object.key("Tags").start_object(); + for (key_81, value_82) in var_79 { { - object_61.key(key_62).string(value_63); + object_80.key(key_81).string(value_82); } } - object_61.finish(); + object_80.finish(); } } @@ -257,48 +325,48 @@ pub fn serialize_structure_create_routing_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateRoutingProfileInput, ) { - if let Some(var_64) = &input.default_outbound_queue_id { - object.key("DefaultOutboundQueueId").string(var_64); + if let Some(var_83) = &input.default_outbound_queue_id { + object.key("DefaultOutboundQueueId").string(var_83); } - if let Some(var_65) = &input.description { - object.key("Description").string(var_65); + if let Some(var_84) = &input.description { + object.key("Description").string(var_84); } - if let Some(var_66) = &input.media_concurrencies { - let mut array_67 = object.key("MediaConcurrencies").start_array(); - for item_68 in var_66 { + if let Some(var_85) = &input.media_concurrencies { + let mut array_86 = object.key("MediaConcurrencies").start_array(); + for item_87 in var_85 { { - let mut object_69 = array_67.value().start_object(); - crate::json_ser::serialize_structure_media_concurrency(&mut object_69, item_68); - object_69.finish(); + let mut object_88 = array_86.value().start_object(); + crate::json_ser::serialize_structure_media_concurrency(&mut object_88, item_87); + object_88.finish(); } } - array_67.finish(); + array_86.finish(); } - if let Some(var_70) = &input.name { - object.key("Name").string(var_70); + if let Some(var_89) = &input.name { + object.key("Name").string(var_89); } - if let Some(var_71) = &input.queue_configs { - let mut array_72 = object.key("QueueConfigs").start_array(); - for item_73 in var_71 { + if let Some(var_90) = &input.queue_configs { + let mut array_91 = object.key("QueueConfigs").start_array(); + for item_92 in var_90 { { - let mut object_74 = array_72.value().start_object(); + let mut object_93 = array_91.value().start_object(); crate::json_ser::serialize_structure_routing_profile_queue_config( - &mut object_74, - item_73, + &mut object_93, + item_92, ); - object_74.finish(); + object_93.finish(); } } - array_72.finish(); + array_91.finish(); } - if let Some(var_75) = &input.tags { - let mut object_76 = object.key("Tags").start_object(); - for (key_77, value_78) in var_75 { + if let Some(var_94) = &input.tags { + let mut object_95 = object.key("Tags").start_object(); + for (key_96, value_97) in var_94 { { - object_76.key(key_77).string(value_78); + object_95.key(key_96).string(value_97); } } - object_76.finish(); + object_95.finish(); } } @@ -306,17 +374,17 @@ pub fn serialize_structure_create_use_case_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUseCaseInput, ) { - if let Some(var_79) = &input.tags { - let mut object_80 = object.key("Tags").start_object(); - for (key_81, value_82) in var_79 { + if let Some(var_98) = &input.tags { + let mut object_99 = object.key("Tags").start_object(); + for (key_100, value_101) in var_98 { { - object_80.key(key_81).string(value_82); + object_99.key(key_100).string(value_101); } } - object_80.finish(); + object_99.finish(); } - if let Some(var_83) = &input.use_case_type { - object.key("UseCaseType").string(var_83.as_str()); + if let Some(var_102) = &input.use_case_type { + object.key("UseCaseType").string(var_102.as_str()); } } @@ -324,48 +392,48 @@ pub fn serialize_structure_create_user_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUserInput, ) { - if let Some(var_84) = &input.directory_user_id { - object.key("DirectoryUserId").string(var_84); + if let Some(var_103) = &input.directory_user_id { + object.key("DirectoryUserId").string(var_103); } - if let Some(var_85) = &input.hierarchy_group_id { - object.key("HierarchyGroupId").string(var_85); + if let Some(var_104) = &input.hierarchy_group_id { + object.key("HierarchyGroupId").string(var_104); } - if let Some(var_86) = &input.identity_info { - let mut object_87 = object.key("IdentityInfo").start_object(); - crate::json_ser::serialize_structure_user_identity_info(&mut object_87, var_86); - object_87.finish(); + if let Some(var_105) = &input.identity_info { + let mut object_106 = object.key("IdentityInfo").start_object(); + crate::json_ser::serialize_structure_user_identity_info(&mut object_106, var_105); + object_106.finish(); } - if let Some(var_88) = &input.password { - object.key("Password").string(var_88); + if let Some(var_107) = &input.password { + object.key("Password").string(var_107); } - if let Some(var_89) = &input.phone_config { - let mut object_90 = object.key("PhoneConfig").start_object(); - crate::json_ser::serialize_structure_user_phone_config(&mut object_90, var_89); - object_90.finish(); + if let Some(var_108) = &input.phone_config { + let mut object_109 = object.key("PhoneConfig").start_object(); + crate::json_ser::serialize_structure_user_phone_config(&mut object_109, var_108); + object_109.finish(); } - if let Some(var_91) = &input.routing_profile_id { - object.key("RoutingProfileId").string(var_91); + if let Some(var_110) = &input.routing_profile_id { + object.key("RoutingProfileId").string(var_110); } - if let Some(var_92) = &input.security_profile_ids { - let mut array_93 = object.key("SecurityProfileIds").start_array(); - for item_94 in var_92 { + if let Some(var_111) = &input.security_profile_ids { + let mut array_112 = object.key("SecurityProfileIds").start_array(); + for item_113 in var_111 { { - array_93.value().string(item_94); + array_112.value().string(item_113); } } - array_93.finish(); + array_112.finish(); } - if let Some(var_95) = &input.tags { - let mut object_96 = object.key("Tags").start_object(); - for (key_97, value_98) in var_95 { + if let Some(var_114) = &input.tags { + let mut object_115 = object.key("Tags").start_object(); + for (key_116, value_117) in var_114 { { - object_96.key(key_97).string(value_98); + object_115.key(key_116).string(value_117); } } - object_96.finish(); + object_115.finish(); } - if let Some(var_99) = &input.username { - object.key("Username").string(var_99); + if let Some(var_118) = &input.username { + object.key("Username").string(var_118); } } @@ -373,11 +441,11 @@ pub fn serialize_structure_create_user_hierarchy_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUserHierarchyGroupInput, ) { - if let Some(var_100) = &input.name { - object.key("Name").string(var_100); + if let Some(var_119) = &input.name { + object.key("Name").string(var_119); } - if let Some(var_101) = &input.parent_group_id { - object.key("ParentGroupId").string(var_101); + if let Some(var_120) = &input.parent_group_id { + object.key("ParentGroupId").string(var_120); } } @@ -385,15 +453,15 @@ pub fn serialize_structure_disassociate_bot_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisassociateBotInput, ) { - if let Some(var_102) = &input.lex_bot { - let mut object_103 = object.key("LexBot").start_object(); - crate::json_ser::serialize_structure_lex_bot(&mut object_103, var_102); - object_103.finish(); + if let Some(var_121) = &input.lex_bot { + let mut object_122 = object.key("LexBot").start_object(); + crate::json_ser::serialize_structure_lex_bot(&mut object_122, var_121); + object_122.finish(); } - if let Some(var_104) = &input.lex_v2_bot { - let mut object_105 = object.key("LexV2Bot").start_object(); - crate::json_ser::serialize_structure_lex_v2_bot(&mut object_105, var_104); - object_105.finish(); + if let Some(var_123) = &input.lex_v2_bot { + let mut object_124 = object.key("LexV2Bot").start_object(); + crate::json_ser::serialize_structure_lex_v2_bot(&mut object_124, var_123); + object_124.finish(); } } @@ -401,14 +469,14 @@ pub fn serialize_structure_disassociate_queue_quick_connects_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisassociateQueueQuickConnectsInput, ) { - if let Some(var_106) = &input.quick_connect_ids { - let mut array_107 = object.key("QuickConnectIds").start_array(); - for item_108 in var_106 { + if let Some(var_125) = &input.quick_connect_ids { + let mut array_126 = object.key("QuickConnectIds").start_array(); + for item_127 in var_125 { { - array_107.value().string(item_108); + array_126.value().string(item_127); } } - array_107.finish(); + array_126.finish(); } } @@ -416,19 +484,19 @@ pub fn serialize_structure_disassociate_routing_profile_queues_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisassociateRoutingProfileQueuesInput, ) { - if let Some(var_109) = &input.queue_references { - let mut array_110 = object.key("QueueReferences").start_array(); - for item_111 in var_109 { + if let Some(var_128) = &input.queue_references { + let mut array_129 = object.key("QueueReferences").start_array(); + for item_130 in var_128 { { - let mut object_112 = array_110.value().start_object(); + let mut object_131 = array_129.value().start_object(); crate::json_ser::serialize_structure_routing_profile_queue_reference( - &mut object_112, - item_111, + &mut object_131, + item_130, ); - object_112.finish(); + object_131.finish(); } } - array_110.finish(); + array_129.finish(); } } @@ -436,39 +504,39 @@ pub fn serialize_structure_get_current_metric_data_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetCurrentMetricDataInput, ) { - if let Some(var_113) = &input.current_metrics { - let mut array_114 = object.key("CurrentMetrics").start_array(); - for item_115 in var_113 { + if let Some(var_132) = &input.current_metrics { + let mut array_133 = object.key("CurrentMetrics").start_array(); + for item_134 in var_132 { { - let mut object_116 = array_114.value().start_object(); - crate::json_ser::serialize_structure_current_metric(&mut object_116, item_115); - object_116.finish(); + let mut object_135 = array_133.value().start_object(); + crate::json_ser::serialize_structure_current_metric(&mut object_135, item_134); + object_135.finish(); } } - array_114.finish(); + array_133.finish(); } - if let Some(var_117) = &input.filters { - let mut object_118 = object.key("Filters").start_object(); - crate::json_ser::serialize_structure_filters(&mut object_118, var_117); - object_118.finish(); + if let Some(var_136) = &input.filters { + let mut object_137 = object.key("Filters").start_object(); + crate::json_ser::serialize_structure_filters(&mut object_137, var_136); + object_137.finish(); } - if let Some(var_119) = &input.groupings { - let mut array_120 = object.key("Groupings").start_array(); - for item_121 in var_119 { + if let Some(var_138) = &input.groupings { + let mut array_139 = object.key("Groupings").start_array(); + for item_140 in var_138 { { - array_120.value().string(item_121.as_str()); + array_139.value().string(item_140.as_str()); } } - array_120.finish(); + array_139.finish(); } - if let Some(var_122) = &input.max_results { + if let Some(var_141) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_122).into()), + smithy_types::Number::NegInt((*var_141).into()), ); } - if let Some(var_123) = &input.next_token { - object.key("NextToken").string(var_123); + if let Some(var_142) = &input.next_token { + object.key("NextToken").string(var_142); } } @@ -476,49 +544,49 @@ pub fn serialize_structure_get_metric_data_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetMetricDataInput, ) { - if let Some(var_124) = &input.end_time { + if let Some(var_143) = &input.end_time { object .key("EndTime") - .instant(var_124, smithy_types::instant::Format::EpochSeconds); + .instant(var_143, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_125) = &input.filters { - let mut object_126 = object.key("Filters").start_object(); - crate::json_ser::serialize_structure_filters(&mut object_126, var_125); - object_126.finish(); + if let Some(var_144) = &input.filters { + let mut object_145 = object.key("Filters").start_object(); + crate::json_ser::serialize_structure_filters(&mut object_145, var_144); + object_145.finish(); } - if let Some(var_127) = &input.groupings { - let mut array_128 = object.key("Groupings").start_array(); - for item_129 in var_127 { + if let Some(var_146) = &input.groupings { + let mut array_147 = object.key("Groupings").start_array(); + for item_148 in var_146 { { - array_128.value().string(item_129.as_str()); + array_147.value().string(item_148.as_str()); } } - array_128.finish(); + array_147.finish(); } - if let Some(var_130) = &input.historical_metrics { - let mut array_131 = object.key("HistoricalMetrics").start_array(); - for item_132 in var_130 { + if let Some(var_149) = &input.historical_metrics { + let mut array_150 = object.key("HistoricalMetrics").start_array(); + for item_151 in var_149 { { - let mut object_133 = array_131.value().start_object(); - crate::json_ser::serialize_structure_historical_metric(&mut object_133, item_132); - object_133.finish(); + let mut object_152 = array_150.value().start_object(); + crate::json_ser::serialize_structure_historical_metric(&mut object_152, item_151); + object_152.finish(); } } - array_131.finish(); + array_150.finish(); } - if let Some(var_134) = &input.max_results { + if let Some(var_153) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_134).into()), + smithy_types::Number::NegInt((*var_153).into()), ); } - if let Some(var_135) = &input.next_token { - object.key("NextToken").string(var_135); + if let Some(var_154) = &input.next_token { + object.key("NextToken").string(var_154); } - if let Some(var_136) = &input.start_time { + if let Some(var_155) = &input.start_time { object .key("StartTime") - .instant(var_136, smithy_types::instant::Format::EpochSeconds); + .instant(var_155, smithy_types::instant::Format::EpochSeconds); } } @@ -526,14 +594,14 @@ pub fn serialize_structure_resume_contact_recording_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ResumeContactRecordingInput, ) { - if let Some(var_137) = &input.contact_id { - object.key("ContactId").string(var_137); + if let Some(var_156) = &input.contact_id { + object.key("ContactId").string(var_156); } - if let Some(var_138) = &input.initial_contact_id { - object.key("InitialContactId").string(var_138); + if let Some(var_157) = &input.initial_contact_id { + object.key("InitialContactId").string(var_157); } - if let Some(var_139) = &input.instance_id { - object.key("InstanceId").string(var_139); + if let Some(var_158) = &input.instance_id { + object.key("InstanceId").string(var_158); } } @@ -541,33 +609,33 @@ pub fn serialize_structure_start_chat_contact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartChatContactInput, ) { - if let Some(var_140) = &input.attributes { - let mut object_141 = object.key("Attributes").start_object(); - for (key_142, value_143) in var_140 { + if let Some(var_159) = &input.attributes { + let mut object_160 = object.key("Attributes").start_object(); + for (key_161, value_162) in var_159 { { - object_141.key(key_142).string(value_143); + object_160.key(key_161).string(value_162); } } - object_141.finish(); + object_160.finish(); } - if let Some(var_144) = &input.client_token { - object.key("ClientToken").string(var_144); + if let Some(var_163) = &input.client_token { + object.key("ClientToken").string(var_163); } - if let Some(var_145) = &input.contact_flow_id { - object.key("ContactFlowId").string(var_145); + if let Some(var_164) = &input.contact_flow_id { + object.key("ContactFlowId").string(var_164); } - if let Some(var_146) = &input.initial_message { - let mut object_147 = object.key("InitialMessage").start_object(); - crate::json_ser::serialize_structure_chat_message(&mut object_147, var_146); - object_147.finish(); + if let Some(var_165) = &input.initial_message { + let mut object_166 = object.key("InitialMessage").start_object(); + crate::json_ser::serialize_structure_chat_message(&mut object_166, var_165); + object_166.finish(); } - if let Some(var_148) = &input.instance_id { - object.key("InstanceId").string(var_148); + if let Some(var_167) = &input.instance_id { + object.key("InstanceId").string(var_167); } - if let Some(var_149) = &input.participant_details { - let mut object_150 = object.key("ParticipantDetails").start_object(); - crate::json_ser::serialize_structure_participant_details(&mut object_150, var_149); - object_150.finish(); + if let Some(var_168) = &input.participant_details { + let mut object_169 = object.key("ParticipantDetails").start_object(); + crate::json_ser::serialize_structure_participant_details(&mut object_169, var_168); + object_169.finish(); } } @@ -575,22 +643,22 @@ pub fn serialize_structure_start_contact_recording_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartContactRecordingInput, ) { - if let Some(var_151) = &input.contact_id { - object.key("ContactId").string(var_151); + if let Some(var_170) = &input.contact_id { + object.key("ContactId").string(var_170); } - if let Some(var_152) = &input.initial_contact_id { - object.key("InitialContactId").string(var_152); + if let Some(var_171) = &input.initial_contact_id { + object.key("InitialContactId").string(var_171); } - if let Some(var_153) = &input.instance_id { - object.key("InstanceId").string(var_153); + if let Some(var_172) = &input.instance_id { + object.key("InstanceId").string(var_172); } - if let Some(var_154) = &input.voice_recording_configuration { - let mut object_155 = object.key("VoiceRecordingConfiguration").start_object(); + if let Some(var_173) = &input.voice_recording_configuration { + let mut object_174 = object.key("VoiceRecordingConfiguration").start_object(); crate::json_ser::serialize_structure_voice_recording_configuration( - &mut object_155, - var_154, + &mut object_174, + var_173, ); - object_155.finish(); + object_174.finish(); } } @@ -598,32 +666,32 @@ pub fn serialize_structure_start_outbound_voice_contact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartOutboundVoiceContactInput, ) { - if let Some(var_156) = &input.attributes { - let mut object_157 = object.key("Attributes").start_object(); - for (key_158, value_159) in var_156 { + if let Some(var_175) = &input.attributes { + let mut object_176 = object.key("Attributes").start_object(); + for (key_177, value_178) in var_175 { { - object_157.key(key_158).string(value_159); + object_176.key(key_177).string(value_178); } } - object_157.finish(); + object_176.finish(); } - if let Some(var_160) = &input.client_token { - object.key("ClientToken").string(var_160); + if let Some(var_179) = &input.client_token { + object.key("ClientToken").string(var_179); } - if let Some(var_161) = &input.contact_flow_id { - object.key("ContactFlowId").string(var_161); + if let Some(var_180) = &input.contact_flow_id { + object.key("ContactFlowId").string(var_180); } - if let Some(var_162) = &input.destination_phone_number { - object.key("DestinationPhoneNumber").string(var_162); + if let Some(var_181) = &input.destination_phone_number { + object.key("DestinationPhoneNumber").string(var_181); } - if let Some(var_163) = &input.instance_id { - object.key("InstanceId").string(var_163); + if let Some(var_182) = &input.instance_id { + object.key("InstanceId").string(var_182); } - if let Some(var_164) = &input.queue_id { - object.key("QueueId").string(var_164); + if let Some(var_183) = &input.queue_id { + object.key("QueueId").string(var_183); } - if let Some(var_165) = &input.source_phone_number { - object.key("SourcePhoneNumber").string(var_165); + if let Some(var_184) = &input.source_phone_number { + object.key("SourcePhoneNumber").string(var_184); } } @@ -631,43 +699,43 @@ pub fn serialize_structure_start_task_contact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartTaskContactInput, ) { - if let Some(var_166) = &input.attributes { - let mut object_167 = object.key("Attributes").start_object(); - for (key_168, value_169) in var_166 { + if let Some(var_185) = &input.attributes { + let mut object_186 = object.key("Attributes").start_object(); + for (key_187, value_188) in var_185 { { - object_167.key(key_168).string(value_169); + object_186.key(key_187).string(value_188); } } - object_167.finish(); + object_186.finish(); } - if let Some(var_170) = &input.client_token { - object.key("ClientToken").string(var_170); + if let Some(var_189) = &input.client_token { + object.key("ClientToken").string(var_189); } - if let Some(var_171) = &input.contact_flow_id { - object.key("ContactFlowId").string(var_171); + if let Some(var_190) = &input.contact_flow_id { + object.key("ContactFlowId").string(var_190); } - if let Some(var_172) = &input.description { - object.key("Description").string(var_172); + if let Some(var_191) = &input.description { + object.key("Description").string(var_191); } - if let Some(var_173) = &input.instance_id { - object.key("InstanceId").string(var_173); + if let Some(var_192) = &input.instance_id { + object.key("InstanceId").string(var_192); } - if let Some(var_174) = &input.name { - object.key("Name").string(var_174); + if let Some(var_193) = &input.name { + object.key("Name").string(var_193); } - if let Some(var_175) = &input.previous_contact_id { - object.key("PreviousContactId").string(var_175); + if let Some(var_194) = &input.previous_contact_id { + object.key("PreviousContactId").string(var_194); } - if let Some(var_176) = &input.references { - let mut object_177 = object.key("References").start_object(); - for (key_178, value_179) in var_176 { + if let Some(var_195) = &input.references { + let mut object_196 = object.key("References").start_object(); + for (key_197, value_198) in var_195 { { - let mut object_180 = object_177.key(key_178).start_object(); - crate::json_ser::serialize_structure_reference(&mut object_180, value_179); - object_180.finish(); + let mut object_199 = object_196.key(key_197).start_object(); + crate::json_ser::serialize_structure_reference(&mut object_199, value_198); + object_199.finish(); } } - object_177.finish(); + object_196.finish(); } } @@ -675,11 +743,11 @@ pub fn serialize_structure_stop_contact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopContactInput, ) { - if let Some(var_181) = &input.contact_id { - object.key("ContactId").string(var_181); + if let Some(var_200) = &input.contact_id { + object.key("ContactId").string(var_200); } - if let Some(var_182) = &input.instance_id { - object.key("InstanceId").string(var_182); + if let Some(var_201) = &input.instance_id { + object.key("InstanceId").string(var_201); } } @@ -687,14 +755,14 @@ pub fn serialize_structure_stop_contact_recording_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopContactRecordingInput, ) { - if let Some(var_183) = &input.contact_id { - object.key("ContactId").string(var_183); + if let Some(var_202) = &input.contact_id { + object.key("ContactId").string(var_202); } - if let Some(var_184) = &input.initial_contact_id { - object.key("InitialContactId").string(var_184); + if let Some(var_203) = &input.initial_contact_id { + object.key("InitialContactId").string(var_203); } - if let Some(var_185) = &input.instance_id { - object.key("InstanceId").string(var_185); + if let Some(var_204) = &input.instance_id { + object.key("InstanceId").string(var_204); } } @@ -702,14 +770,14 @@ pub fn serialize_structure_suspend_contact_recording_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::SuspendContactRecordingInput, ) { - if let Some(var_186) = &input.contact_id { - object.key("ContactId").string(var_186); + if let Some(var_205) = &input.contact_id { + object.key("ContactId").string(var_205); } - if let Some(var_187) = &input.initial_contact_id { - object.key("InitialContactId").string(var_187); + if let Some(var_206) = &input.initial_contact_id { + object.key("InitialContactId").string(var_206); } - if let Some(var_188) = &input.instance_id { - object.key("InstanceId").string(var_188); + if let Some(var_207) = &input.instance_id { + object.key("InstanceId").string(var_207); } } @@ -717,14 +785,40 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_189) = &input.tags { - let mut object_190 = object.key("tags").start_object(); - for (key_191, value_192) in var_189 { + if let Some(var_208) = &input.tags { + let mut object_209 = object.key("tags").start_object(); + for (key_210, value_211) in var_208 { { - object_190.key(key_191).string(value_192); + object_209.key(key_210).string(value_211); } } - object_190.finish(); + object_209.finish(); + } +} + +pub fn serialize_structure_update_agent_status_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateAgentStatusInput, +) { + if let Some(var_212) = &input.description { + object.key("Description").string(var_212); + } + if let Some(var_213) = &input.display_order { + object.key("DisplayOrder").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_213).into()), + ); + } + if let Some(var_214) = &input.name { + object.key("Name").string(var_214); + } + if input.reset_order_number { + object + .key("ResetOrderNumber") + .boolean(input.reset_order_number); + } + if let Some(var_215) = &input.state { + object.key("State").string(var_215.as_str()); } } @@ -732,20 +826,20 @@ pub fn serialize_structure_update_contact_attributes_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateContactAttributesInput, ) { - if let Some(var_193) = &input.attributes { - let mut object_194 = object.key("Attributes").start_object(); - for (key_195, value_196) in var_193 { + if let Some(var_216) = &input.attributes { + let mut object_217 = object.key("Attributes").start_object(); + for (key_218, value_219) in var_216 { { - object_194.key(key_195).string(value_196); + object_217.key(key_218).string(value_219); } } - object_194.finish(); + object_217.finish(); } - if let Some(var_197) = &input.initial_contact_id { - object.key("InitialContactId").string(var_197); + if let Some(var_220) = &input.initial_contact_id { + object.key("InitialContactId").string(var_220); } - if let Some(var_198) = &input.instance_id { - object.key("InstanceId").string(var_198); + if let Some(var_221) = &input.instance_id { + object.key("InstanceId").string(var_221); } } @@ -753,8 +847,8 @@ pub fn serialize_structure_update_contact_flow_content_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateContactFlowContentInput, ) { - if let Some(var_199) = &input.content { - object.key("Content").string(var_199); + if let Some(var_222) = &input.content { + object.key("Content").string(var_222); } } @@ -762,11 +856,40 @@ pub fn serialize_structure_update_contact_flow_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateContactFlowNameInput, ) { - if let Some(var_200) = &input.description { - object.key("Description").string(var_200); + if let Some(var_223) = &input.description { + object.key("Description").string(var_223); } - if let Some(var_201) = &input.name { - object.key("Name").string(var_201); + if let Some(var_224) = &input.name { + object.key("Name").string(var_224); + } +} + +pub fn serialize_structure_update_hours_of_operation_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateHoursOfOperationInput, +) { + if let Some(var_225) = &input.config { + let mut array_226 = object.key("Config").start_array(); + for item_227 in var_225 { + { + let mut object_228 = array_226.value().start_object(); + crate::json_ser::serialize_structure_hours_of_operation_config( + &mut object_228, + item_227, + ); + object_228.finish(); + } + } + array_226.finish(); + } + if let Some(var_229) = &input.description { + object.key("Description").string(var_229); + } + if let Some(var_230) = &input.name { + object.key("Name").string(var_230); + } + if let Some(var_231) = &input.time_zone { + object.key("TimeZone").string(var_231); } } @@ -774,8 +897,8 @@ pub fn serialize_structure_update_instance_attribute_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateInstanceAttributeInput, ) { - if let Some(var_202) = &input.value { - object.key("Value").string(var_202); + if let Some(var_232) = &input.value { + object.key("Value").string(var_232); } } @@ -783,10 +906,10 @@ pub fn serialize_structure_update_instance_storage_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateInstanceStorageConfigInput, ) { - if let Some(var_203) = &input.storage_config { - let mut object_204 = object.key("StorageConfig").start_object(); - crate::json_ser::serialize_structure_instance_storage_config(&mut object_204, var_203); - object_204.finish(); + if let Some(var_233) = &input.storage_config { + let mut object_234 = object.key("StorageConfig").start_object(); + crate::json_ser::serialize_structure_instance_storage_config(&mut object_234, var_233); + object_234.finish(); } } @@ -794,8 +917,8 @@ pub fn serialize_structure_update_queue_hours_of_operation_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQueueHoursOfOperationInput, ) { - if let Some(var_205) = &input.hours_of_operation_id { - object.key("HoursOfOperationId").string(var_205); + if let Some(var_235) = &input.hours_of_operation_id { + object.key("HoursOfOperationId").string(var_235); } } @@ -803,10 +926,10 @@ pub fn serialize_structure_update_queue_max_contacts_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQueueMaxContactsInput, ) { - if let Some(var_206) = &input.max_contacts { + if let Some(var_236) = &input.max_contacts { object.key("MaxContacts").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_206).into()), + smithy_types::Number::NegInt((*var_236).into()), ); } } @@ -815,11 +938,11 @@ pub fn serialize_structure_update_queue_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQueueNameInput, ) { - if let Some(var_207) = &input.description { - object.key("Description").string(var_207); + if let Some(var_237) = &input.description { + object.key("Description").string(var_237); } - if let Some(var_208) = &input.name { - object.key("Name").string(var_208); + if let Some(var_238) = &input.name { + object.key("Name").string(var_238); } } @@ -827,10 +950,10 @@ pub fn serialize_structure_update_queue_outbound_caller_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQueueOutboundCallerConfigInput, ) { - if let Some(var_209) = &input.outbound_caller_config { - let mut object_210 = object.key("OutboundCallerConfig").start_object(); - crate::json_ser::serialize_structure_outbound_caller_config(&mut object_210, var_209); - object_210.finish(); + if let Some(var_239) = &input.outbound_caller_config { + let mut object_240 = object.key("OutboundCallerConfig").start_object(); + crate::json_ser::serialize_structure_outbound_caller_config(&mut object_240, var_239); + object_240.finish(); } } @@ -838,8 +961,8 @@ pub fn serialize_structure_update_queue_status_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQueueStatusInput, ) { - if let Some(var_211) = &input.status { - object.key("Status").string(var_211.as_str()); + if let Some(var_241) = &input.status { + object.key("Status").string(var_241.as_str()); } } @@ -847,10 +970,10 @@ pub fn serialize_structure_update_quick_connect_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQuickConnectConfigInput, ) { - if let Some(var_212) = &input.quick_connect_config { - let mut object_213 = object.key("QuickConnectConfig").start_object(); - crate::json_ser::serialize_structure_quick_connect_config(&mut object_213, var_212); - object_213.finish(); + if let Some(var_242) = &input.quick_connect_config { + let mut object_243 = object.key("QuickConnectConfig").start_object(); + crate::json_ser::serialize_structure_quick_connect_config(&mut object_243, var_242); + object_243.finish(); } } @@ -858,11 +981,11 @@ pub fn serialize_structure_update_quick_connect_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateQuickConnectNameInput, ) { - if let Some(var_214) = &input.description { - object.key("Description").string(var_214); + if let Some(var_244) = &input.description { + object.key("Description").string(var_244); } - if let Some(var_215) = &input.name { - object.key("Name").string(var_215); + if let Some(var_245) = &input.name { + object.key("Name").string(var_245); } } @@ -870,16 +993,16 @@ pub fn serialize_structure_update_routing_profile_concurrency_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRoutingProfileConcurrencyInput, ) { - if let Some(var_216) = &input.media_concurrencies { - let mut array_217 = object.key("MediaConcurrencies").start_array(); - for item_218 in var_216 { + if let Some(var_246) = &input.media_concurrencies { + let mut array_247 = object.key("MediaConcurrencies").start_array(); + for item_248 in var_246 { { - let mut object_219 = array_217.value().start_object(); - crate::json_ser::serialize_structure_media_concurrency(&mut object_219, item_218); - object_219.finish(); + let mut object_249 = array_247.value().start_object(); + crate::json_ser::serialize_structure_media_concurrency(&mut object_249, item_248); + object_249.finish(); } } - array_217.finish(); + array_247.finish(); } } @@ -887,8 +1010,8 @@ pub fn serialize_structure_update_routing_profile_default_outbound_queue_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRoutingProfileDefaultOutboundQueueInput, ) { - if let Some(var_220) = &input.default_outbound_queue_id { - object.key("DefaultOutboundQueueId").string(var_220); + if let Some(var_250) = &input.default_outbound_queue_id { + object.key("DefaultOutboundQueueId").string(var_250); } } @@ -896,11 +1019,11 @@ pub fn serialize_structure_update_routing_profile_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRoutingProfileNameInput, ) { - if let Some(var_221) = &input.description { - object.key("Description").string(var_221); + if let Some(var_251) = &input.description { + object.key("Description").string(var_251); } - if let Some(var_222) = &input.name { - object.key("Name").string(var_222); + if let Some(var_252) = &input.name { + object.key("Name").string(var_252); } } @@ -908,19 +1031,19 @@ pub fn serialize_structure_update_routing_profile_queues_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRoutingProfileQueuesInput, ) { - if let Some(var_223) = &input.queue_configs { - let mut array_224 = object.key("QueueConfigs").start_array(); - for item_225 in var_223 { + if let Some(var_253) = &input.queue_configs { + let mut array_254 = object.key("QueueConfigs").start_array(); + for item_255 in var_253 { { - let mut object_226 = array_224.value().start_object(); + let mut object_256 = array_254.value().start_object(); crate::json_ser::serialize_structure_routing_profile_queue_config( - &mut object_226, - item_225, + &mut object_256, + item_255, ); - object_226.finish(); + object_256.finish(); } } - array_224.finish(); + array_254.finish(); } } @@ -928,8 +1051,8 @@ pub fn serialize_structure_update_user_hierarchy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserHierarchyInput, ) { - if let Some(var_227) = &input.hierarchy_group_id { - object.key("HierarchyGroupId").string(var_227); + if let Some(var_257) = &input.hierarchy_group_id { + object.key("HierarchyGroupId").string(var_257); } } @@ -937,8 +1060,8 @@ pub fn serialize_structure_update_user_hierarchy_group_name_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserHierarchyGroupNameInput, ) { - if let Some(var_228) = &input.name { - object.key("Name").string(var_228); + if let Some(var_258) = &input.name { + object.key("Name").string(var_258); } } @@ -946,10 +1069,10 @@ pub fn serialize_structure_update_user_hierarchy_structure_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserHierarchyStructureInput, ) { - if let Some(var_229) = &input.hierarchy_structure { - let mut object_230 = object.key("HierarchyStructure").start_object(); - crate::json_ser::serialize_structure_hierarchy_structure_update(&mut object_230, var_229); - object_230.finish(); + if let Some(var_259) = &input.hierarchy_structure { + let mut object_260 = object.key("HierarchyStructure").start_object(); + crate::json_ser::serialize_structure_hierarchy_structure_update(&mut object_260, var_259); + object_260.finish(); } } @@ -957,10 +1080,10 @@ pub fn serialize_structure_update_user_identity_info_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserIdentityInfoInput, ) { - if let Some(var_231) = &input.identity_info { - let mut object_232 = object.key("IdentityInfo").start_object(); - crate::json_ser::serialize_structure_user_identity_info(&mut object_232, var_231); - object_232.finish(); + if let Some(var_261) = &input.identity_info { + let mut object_262 = object.key("IdentityInfo").start_object(); + crate::json_ser::serialize_structure_user_identity_info(&mut object_262, var_261); + object_262.finish(); } } @@ -968,10 +1091,10 @@ pub fn serialize_structure_update_user_phone_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserPhoneConfigInput, ) { - if let Some(var_233) = &input.phone_config { - let mut object_234 = object.key("PhoneConfig").start_object(); - crate::json_ser::serialize_structure_user_phone_config(&mut object_234, var_233); - object_234.finish(); + if let Some(var_263) = &input.phone_config { + let mut object_264 = object.key("PhoneConfig").start_object(); + crate::json_ser::serialize_structure_user_phone_config(&mut object_264, var_263); + object_264.finish(); } } @@ -979,8 +1102,8 @@ pub fn serialize_structure_update_user_routing_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserRoutingProfileInput, ) { - if let Some(var_235) = &input.routing_profile_id { - object.key("RoutingProfileId").string(var_235); + if let Some(var_265) = &input.routing_profile_id { + object.key("RoutingProfileId").string(var_265); } } @@ -988,14 +1111,14 @@ pub fn serialize_structure_update_user_security_profiles_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserSecurityProfilesInput, ) { - if let Some(var_236) = &input.security_profile_ids { - let mut array_237 = object.key("SecurityProfileIds").start_array(); - for item_238 in var_236 { + if let Some(var_266) = &input.security_profile_ids { + let mut array_267 = object.key("SecurityProfileIds").start_array(); + for item_268 in var_266 { { - array_237.value().string(item_238); + array_267.value().string(item_268); } } - array_237.finish(); + array_267.finish(); } } @@ -1003,11 +1126,11 @@ pub fn serialize_structure_lex_bot( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LexBot, ) { - if let Some(var_239) = &input.name { - object.key("Name").string(var_239); + if let Some(var_269) = &input.name { + object.key("Name").string(var_269); } - if let Some(var_240) = &input.lex_region { - object.key("LexRegion").string(var_240); + if let Some(var_270) = &input.lex_region { + object.key("LexRegion").string(var_270); } } @@ -1015,8 +1138,8 @@ pub fn serialize_structure_lex_v2_bot( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LexV2Bot, ) { - if let Some(var_241) = &input.alias_arn { - object.key("AliasArn").string(var_241); + if let Some(var_271) = &input.alias_arn { + object.key("AliasArn").string(var_271); } } @@ -1024,31 +1147,31 @@ pub fn serialize_structure_instance_storage_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceStorageConfig, ) { - if let Some(var_242) = &input.association_id { - object.key("AssociationId").string(var_242); + if let Some(var_272) = &input.association_id { + object.key("AssociationId").string(var_272); } - if let Some(var_243) = &input.storage_type { - object.key("StorageType").string(var_243.as_str()); + if let Some(var_273) = &input.storage_type { + object.key("StorageType").string(var_273.as_str()); } - if let Some(var_244) = &input.s3_config { - let mut object_245 = object.key("S3Config").start_object(); - crate::json_ser::serialize_structure_s3_config(&mut object_245, var_244); - object_245.finish(); + if let Some(var_274) = &input.s3_config { + let mut object_275 = object.key("S3Config").start_object(); + crate::json_ser::serialize_structure_s3_config(&mut object_275, var_274); + object_275.finish(); } - if let Some(var_246) = &input.kinesis_video_stream_config { - let mut object_247 = object.key("KinesisVideoStreamConfig").start_object(); - crate::json_ser::serialize_structure_kinesis_video_stream_config(&mut object_247, var_246); - object_247.finish(); + if let Some(var_276) = &input.kinesis_video_stream_config { + let mut object_277 = object.key("KinesisVideoStreamConfig").start_object(); + crate::json_ser::serialize_structure_kinesis_video_stream_config(&mut object_277, var_276); + object_277.finish(); } - if let Some(var_248) = &input.kinesis_stream_config { - let mut object_249 = object.key("KinesisStreamConfig").start_object(); - crate::json_ser::serialize_structure_kinesis_stream_config(&mut object_249, var_248); - object_249.finish(); + if let Some(var_278) = &input.kinesis_stream_config { + let mut object_279 = object.key("KinesisStreamConfig").start_object(); + crate::json_ser::serialize_structure_kinesis_stream_config(&mut object_279, var_278); + object_279.finish(); } - if let Some(var_250) = &input.kinesis_firehose_config { - let mut object_251 = object.key("KinesisFirehoseConfig").start_object(); - crate::json_ser::serialize_structure_kinesis_firehose_config(&mut object_251, var_250); - object_251.finish(); + if let Some(var_280) = &input.kinesis_firehose_config { + let mut object_281 = object.key("KinesisFirehoseConfig").start_object(); + crate::json_ser::serialize_structure_kinesis_firehose_config(&mut object_281, var_280); + object_281.finish(); } } @@ -1056,40 +1179,65 @@ pub fn serialize_structure_routing_profile_queue_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RoutingProfileQueueConfig, ) { - if let Some(var_252) = &input.queue_reference { - let mut object_253 = object.key("QueueReference").start_object(); + if let Some(var_282) = &input.queue_reference { + let mut object_283 = object.key("QueueReference").start_object(); crate::json_ser::serialize_structure_routing_profile_queue_reference( - &mut object_253, - var_252, + &mut object_283, + var_282, ); - object_253.finish(); + object_283.finish(); } - if let Some(var_254) = &input.priority { + if let Some(var_284) = &input.priority { object.key("Priority").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_254).into()), + smithy_types::Number::NegInt((*var_284).into()), ); } - if let Some(var_255) = &input.delay { + if let Some(var_285) = &input.delay { object.key("Delay").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_255).into()), + smithy_types::Number::NegInt((*var_285).into()), ); } } +pub fn serialize_structure_hours_of_operation_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::HoursOfOperationConfig, +) { + if let Some(var_286) = &input.day { + object.key("Day").string(var_286.as_str()); + } + if let Some(var_287) = &input.start_time { + let mut object_288 = object.key("StartTime").start_object(); + crate::json_ser::serialize_structure_hours_of_operation_time_slice( + &mut object_288, + var_287, + ); + object_288.finish(); + } + if let Some(var_289) = &input.end_time { + let mut object_290 = object.key("EndTime").start_object(); + crate::json_ser::serialize_structure_hours_of_operation_time_slice( + &mut object_290, + var_289, + ); + object_290.finish(); + } +} + pub fn serialize_structure_outbound_caller_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OutboundCallerConfig, ) { - if let Some(var_256) = &input.outbound_caller_id_name { - object.key("OutboundCallerIdName").string(var_256); + if let Some(var_291) = &input.outbound_caller_id_name { + object.key("OutboundCallerIdName").string(var_291); } - if let Some(var_257) = &input.outbound_caller_id_number_id { - object.key("OutboundCallerIdNumberId").string(var_257); + if let Some(var_292) = &input.outbound_caller_id_number_id { + object.key("OutboundCallerIdNumberId").string(var_292); } - if let Some(var_258) = &input.outbound_flow_id { - object.key("OutboundFlowId").string(var_258); + if let Some(var_293) = &input.outbound_flow_id { + object.key("OutboundFlowId").string(var_293); } } @@ -1097,26 +1245,26 @@ pub fn serialize_structure_quick_connect_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::QuickConnectConfig, ) { - if let Some(var_259) = &input.quick_connect_type { - object.key("QuickConnectType").string(var_259.as_str()); + if let Some(var_294) = &input.quick_connect_type { + object.key("QuickConnectType").string(var_294.as_str()); } - if let Some(var_260) = &input.user_config { - let mut object_261 = object.key("UserConfig").start_object(); - crate::json_ser::serialize_structure_user_quick_connect_config(&mut object_261, var_260); - object_261.finish(); + if let Some(var_295) = &input.user_config { + let mut object_296 = object.key("UserConfig").start_object(); + crate::json_ser::serialize_structure_user_quick_connect_config(&mut object_296, var_295); + object_296.finish(); } - if let Some(var_262) = &input.queue_config { - let mut object_263 = object.key("QueueConfig").start_object(); - crate::json_ser::serialize_structure_queue_quick_connect_config(&mut object_263, var_262); - object_263.finish(); + if let Some(var_297) = &input.queue_config { + let mut object_298 = object.key("QueueConfig").start_object(); + crate::json_ser::serialize_structure_queue_quick_connect_config(&mut object_298, var_297); + object_298.finish(); } - if let Some(var_264) = &input.phone_config { - let mut object_265 = object.key("PhoneConfig").start_object(); + if let Some(var_299) = &input.phone_config { + let mut object_300 = object.key("PhoneConfig").start_object(); crate::json_ser::serialize_structure_phone_number_quick_connect_config( - &mut object_265, - var_264, + &mut object_300, + var_299, ); - object_265.finish(); + object_300.finish(); } } @@ -1124,8 +1272,8 @@ pub fn serialize_structure_media_concurrency( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MediaConcurrency, ) { - if let Some(var_266) = &input.channel { - object.key("Channel").string(var_266.as_str()); + if let Some(var_301) = &input.channel { + object.key("Channel").string(var_301.as_str()); } { object.key("Concurrency").number( @@ -1139,14 +1287,14 @@ pub fn serialize_structure_user_identity_info( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UserIdentityInfo, ) { - if let Some(var_267) = &input.first_name { - object.key("FirstName").string(var_267); + if let Some(var_302) = &input.first_name { + object.key("FirstName").string(var_302); } - if let Some(var_268) = &input.last_name { - object.key("LastName").string(var_268); + if let Some(var_303) = &input.last_name { + object.key("LastName").string(var_303); } - if let Some(var_269) = &input.email { - object.key("Email").string(var_269); + if let Some(var_304) = &input.email { + object.key("Email").string(var_304); } } @@ -1154,8 +1302,8 @@ pub fn serialize_structure_user_phone_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UserPhoneConfig, ) { - if let Some(var_270) = &input.phone_type { - object.key("PhoneType").string(var_270.as_str()); + if let Some(var_305) = &input.phone_type { + object.key("PhoneType").string(var_305.as_str()); } if input.auto_accept { object.key("AutoAccept").boolean(input.auto_accept); @@ -1166,8 +1314,8 @@ pub fn serialize_structure_user_phone_config( smithy_types::Number::NegInt((input.after_contact_work_time_limit).into()), ); } - if let Some(var_271) = &input.desk_phone_number { - object.key("DeskPhoneNumber").string(var_271); + if let Some(var_306) = &input.desk_phone_number { + object.key("DeskPhoneNumber").string(var_306); } } @@ -1175,11 +1323,11 @@ pub fn serialize_structure_routing_profile_queue_reference( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RoutingProfileQueueReference, ) { - if let Some(var_272) = &input.queue_id { - object.key("QueueId").string(var_272); + if let Some(var_307) = &input.queue_id { + object.key("QueueId").string(var_307); } - if let Some(var_273) = &input.channel { - object.key("Channel").string(var_273.as_str()); + if let Some(var_308) = &input.channel { + object.key("Channel").string(var_308.as_str()); } } @@ -1187,11 +1335,11 @@ pub fn serialize_structure_current_metric( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CurrentMetric, ) { - if let Some(var_274) = &input.name { - object.key("Name").string(var_274.as_str()); + if let Some(var_309) = &input.name { + object.key("Name").string(var_309.as_str()); } - if let Some(var_275) = &input.unit { - object.key("Unit").string(var_275.as_str()); + if let Some(var_310) = &input.unit { + object.key("Unit").string(var_310.as_str()); } } @@ -1199,23 +1347,23 @@ pub fn serialize_structure_filters( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Filters, ) { - if let Some(var_276) = &input.queues { - let mut array_277 = object.key("Queues").start_array(); - for item_278 in var_276 { + if let Some(var_311) = &input.queues { + let mut array_312 = object.key("Queues").start_array(); + for item_313 in var_311 { { - array_277.value().string(item_278); + array_312.value().string(item_313); } } - array_277.finish(); + array_312.finish(); } - if let Some(var_279) = &input.channels { - let mut array_280 = object.key("Channels").start_array(); - for item_281 in var_279 { + if let Some(var_314) = &input.channels { + let mut array_315 = object.key("Channels").start_array(); + for item_316 in var_314 { { - array_280.value().string(item_281.as_str()); + array_315.value().string(item_316.as_str()); } } - array_280.finish(); + array_315.finish(); } } @@ -1223,19 +1371,19 @@ pub fn serialize_structure_historical_metric( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HistoricalMetric, ) { - if let Some(var_282) = &input.name { - object.key("Name").string(var_282.as_str()); + if let Some(var_317) = &input.name { + object.key("Name").string(var_317.as_str()); } - if let Some(var_283) = &input.threshold { - let mut object_284 = object.key("Threshold").start_object(); - crate::json_ser::serialize_structure_threshold(&mut object_284, var_283); - object_284.finish(); + if let Some(var_318) = &input.threshold { + let mut object_319 = object.key("Threshold").start_object(); + crate::json_ser::serialize_structure_threshold(&mut object_319, var_318); + object_319.finish(); } - if let Some(var_285) = &input.statistic { - object.key("Statistic").string(var_285.as_str()); + if let Some(var_320) = &input.statistic { + object.key("Statistic").string(var_320.as_str()); } - if let Some(var_286) = &input.unit { - object.key("Unit").string(var_286.as_str()); + if let Some(var_321) = &input.unit { + object.key("Unit").string(var_321.as_str()); } } @@ -1243,11 +1391,11 @@ pub fn serialize_structure_chat_message( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ChatMessage, ) { - if let Some(var_287) = &input.content_type { - object.key("ContentType").string(var_287); + if let Some(var_322) = &input.content_type { + object.key("ContentType").string(var_322); } - if let Some(var_288) = &input.content { - object.key("Content").string(var_288); + if let Some(var_323) = &input.content { + object.key("Content").string(var_323); } } @@ -1255,8 +1403,8 @@ pub fn serialize_structure_participant_details( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ParticipantDetails, ) { - if let Some(var_289) = &input.display_name { - object.key("DisplayName").string(var_289); + if let Some(var_324) = &input.display_name { + object.key("DisplayName").string(var_324); } } @@ -1264,8 +1412,8 @@ pub fn serialize_structure_voice_recording_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::VoiceRecordingConfiguration, ) { - if let Some(var_290) = &input.voice_recording_track { - object.key("VoiceRecordingTrack").string(var_290.as_str()); + if let Some(var_325) = &input.voice_recording_track { + object.key("VoiceRecordingTrack").string(var_325.as_str()); } } @@ -1273,11 +1421,11 @@ pub fn serialize_structure_reference( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Reference, ) { - if let Some(var_291) = &input.value { - object.key("Value").string(var_291); + if let Some(var_326) = &input.value { + object.key("Value").string(var_326); } - if let Some(var_292) = &input.r#type { - object.key("Type").string(var_292.as_str()); + if let Some(var_327) = &input.r#type { + object.key("Type").string(var_327.as_str()); } } @@ -1285,30 +1433,30 @@ pub fn serialize_structure_hierarchy_structure_update( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HierarchyStructureUpdate, ) { - if let Some(var_293) = &input.level_one { - let mut object_294 = object.key("LevelOne").start_object(); - crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_294, var_293); - object_294.finish(); + if let Some(var_328) = &input.level_one { + let mut object_329 = object.key("LevelOne").start_object(); + crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_329, var_328); + object_329.finish(); } - if let Some(var_295) = &input.level_two { - let mut object_296 = object.key("LevelTwo").start_object(); - crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_296, var_295); - object_296.finish(); + if let Some(var_330) = &input.level_two { + let mut object_331 = object.key("LevelTwo").start_object(); + crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_331, var_330); + object_331.finish(); } - if let Some(var_297) = &input.level_three { - let mut object_298 = object.key("LevelThree").start_object(); - crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_298, var_297); - object_298.finish(); + if let Some(var_332) = &input.level_three { + let mut object_333 = object.key("LevelThree").start_object(); + crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_333, var_332); + object_333.finish(); } - if let Some(var_299) = &input.level_four { - let mut object_300 = object.key("LevelFour").start_object(); - crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_300, var_299); - object_300.finish(); + if let Some(var_334) = &input.level_four { + let mut object_335 = object.key("LevelFour").start_object(); + crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_335, var_334); + object_335.finish(); } - if let Some(var_301) = &input.level_five { - let mut object_302 = object.key("LevelFive").start_object(); - crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_302, var_301); - object_302.finish(); + if let Some(var_336) = &input.level_five { + let mut object_337 = object.key("LevelFive").start_object(); + crate::json_ser::serialize_structure_hierarchy_level_update(&mut object_337, var_336); + object_337.finish(); } } @@ -1316,16 +1464,16 @@ pub fn serialize_structure_s3_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3Config, ) { - if let Some(var_303) = &input.bucket_name { - object.key("BucketName").string(var_303); + if let Some(var_338) = &input.bucket_name { + object.key("BucketName").string(var_338); } - if let Some(var_304) = &input.bucket_prefix { - object.key("BucketPrefix").string(var_304); + if let Some(var_339) = &input.bucket_prefix { + object.key("BucketPrefix").string(var_339); } - if let Some(var_305) = &input.encryption_config { - let mut object_306 = object.key("EncryptionConfig").start_object(); - crate::json_ser::serialize_structure_encryption_config(&mut object_306, var_305); - object_306.finish(); + if let Some(var_340) = &input.encryption_config { + let mut object_341 = object.key("EncryptionConfig").start_object(); + crate::json_ser::serialize_structure_encryption_config(&mut object_341, var_340); + object_341.finish(); } } @@ -1333,8 +1481,8 @@ pub fn serialize_structure_kinesis_video_stream_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KinesisVideoStreamConfig, ) { - if let Some(var_307) = &input.prefix { - object.key("Prefix").string(var_307); + if let Some(var_342) = &input.prefix { + object.key("Prefix").string(var_342); } { object.key("RetentionPeriodHours").number( @@ -1342,10 +1490,10 @@ pub fn serialize_structure_kinesis_video_stream_config( smithy_types::Number::NegInt((input.retention_period_hours).into()), ); } - if let Some(var_308) = &input.encryption_config { - let mut object_309 = object.key("EncryptionConfig").start_object(); - crate::json_ser::serialize_structure_encryption_config(&mut object_309, var_308); - object_309.finish(); + if let Some(var_343) = &input.encryption_config { + let mut object_344 = object.key("EncryptionConfig").start_object(); + crate::json_ser::serialize_structure_encryption_config(&mut object_344, var_343); + object_344.finish(); } } @@ -1353,8 +1501,8 @@ pub fn serialize_structure_kinesis_stream_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KinesisStreamConfig, ) { - if let Some(var_310) = &input.stream_arn { - object.key("StreamArn").string(var_310); + if let Some(var_345) = &input.stream_arn { + object.key("StreamArn").string(var_345); } } @@ -1362,8 +1510,26 @@ pub fn serialize_structure_kinesis_firehose_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KinesisFirehoseConfig, ) { - if let Some(var_311) = &input.firehose_arn { - object.key("FirehoseArn").string(var_311); + if let Some(var_346) = &input.firehose_arn { + object.key("FirehoseArn").string(var_346); + } +} + +pub fn serialize_structure_hours_of_operation_time_slice( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::HoursOfOperationTimeSlice, +) { + if let Some(var_347) = &input.hours { + object.key("Hours").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_347).into()), + ); + } + if let Some(var_348) = &input.minutes { + object.key("Minutes").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_348).into()), + ); } } @@ -1371,11 +1537,11 @@ pub fn serialize_structure_user_quick_connect_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UserQuickConnectConfig, ) { - if let Some(var_312) = &input.user_id { - object.key("UserId").string(var_312); + if let Some(var_349) = &input.user_id { + object.key("UserId").string(var_349); } - if let Some(var_313) = &input.contact_flow_id { - object.key("ContactFlowId").string(var_313); + if let Some(var_350) = &input.contact_flow_id { + object.key("ContactFlowId").string(var_350); } } @@ -1383,11 +1549,11 @@ pub fn serialize_structure_queue_quick_connect_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::QueueQuickConnectConfig, ) { - if let Some(var_314) = &input.queue_id { - object.key("QueueId").string(var_314); + if let Some(var_351) = &input.queue_id { + object.key("QueueId").string(var_351); } - if let Some(var_315) = &input.contact_flow_id { - object.key("ContactFlowId").string(var_315); + if let Some(var_352) = &input.contact_flow_id { + object.key("ContactFlowId").string(var_352); } } @@ -1395,8 +1561,8 @@ pub fn serialize_structure_phone_number_quick_connect_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PhoneNumberQuickConnectConfig, ) { - if let Some(var_316) = &input.phone_number { - object.key("PhoneNumber").string(var_316); + if let Some(var_353) = &input.phone_number { + object.key("PhoneNumber").string(var_353); } } @@ -1404,13 +1570,13 @@ pub fn serialize_structure_threshold( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Threshold, ) { - if let Some(var_317) = &input.comparison { - object.key("Comparison").string(var_317.as_str()); + if let Some(var_354) = &input.comparison { + object.key("Comparison").string(var_354.as_str()); } - if let Some(var_318) = &input.threshold_value { + if let Some(var_355) = &input.threshold_value { object.key("ThresholdValue").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_318).into()), + smithy_types::Number::Float((*var_355).into()), ); } } @@ -1419,8 +1585,8 @@ pub fn serialize_structure_hierarchy_level_update( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HierarchyLevelUpdate, ) { - if let Some(var_319) = &input.name { - object.key("Name").string(var_319); + if let Some(var_356) = &input.name { + object.key("Name").string(var_356); } } @@ -1428,10 +1594,10 @@ pub fn serialize_structure_encryption_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EncryptionConfig, ) { - if let Some(var_320) = &input.encryption_type { - object.key("EncryptionType").string(var_320.as_str()); + if let Some(var_357) = &input.encryption_type { + object.key("EncryptionType").string(var_357.as_str()); } - if let Some(var_321) = &input.key_id { - object.key("KeyId").string(var_321); + if let Some(var_358) = &input.key_id { + object.key("KeyId").string(var_358); } } diff --git a/sdk/connect/src/model.rs b/sdk/connect/src/model.rs index 06f14a78f1a3..b1584b2e8190 100644 --- a/sdk/connect/src/model.rs +++ b/sdk/connect/src/model.rs @@ -1936,6 +1936,224 @@ impl AsRef for InstanceAttributeType { } } +///

                                                  Contains information about the hours of operation.

                                                  +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct HoursOfOperationConfig { + ///

                                                  The day that the hours of operation applies to.

                                                  + pub day: std::option::Option, + ///

                                                  The start time that your contact center is open.

                                                  + pub start_time: std::option::Option, + ///

                                                  The end time that your contact center is closes.

                                                  + pub end_time: std::option::Option, +} +impl std::fmt::Debug for HoursOfOperationConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("HoursOfOperationConfig"); + formatter.field("day", &self.day); + formatter.field("start_time", &self.start_time); + formatter.field("end_time", &self.end_time); + formatter.finish() + } +} +/// See [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) +pub mod hours_of_operation_config { + /// A builder for [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) day: std::option::Option, + pub(crate) start_time: std::option::Option, + pub(crate) end_time: std::option::Option, + } + impl Builder { + ///

                                                  The day that the hours of operation applies to.

                                                  + pub fn day(mut self, input: crate::model::HoursOfOperationDays) -> Self { + self.day = Some(input); + self + } + pub fn set_day( + mut self, + input: std::option::Option, + ) -> Self { + self.day = input; + self + } + ///

                                                  The start time that your contact center is open.

                                                  + pub fn start_time(mut self, input: crate::model::HoursOfOperationTimeSlice) -> Self { + self.start_time = Some(input); + self + } + pub fn set_start_time( + mut self, + input: std::option::Option, + ) -> Self { + self.start_time = input; + self + } + ///

                                                  The end time that your contact center is closes.

                                                  + pub fn end_time(mut self, input: crate::model::HoursOfOperationTimeSlice) -> Self { + self.end_time = Some(input); + self + } + pub fn set_end_time( + mut self, + input: std::option::Option, + ) -> Self { + self.end_time = input; + self + } + /// Consumes the builder and constructs a [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) + pub fn build(self) -> crate::model::HoursOfOperationConfig { + crate::model::HoursOfOperationConfig { + day: self.day, + start_time: self.start_time, + end_time: self.end_time, + } + } + } +} +impl HoursOfOperationConfig { + /// Creates a new builder-style object to manufacture [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) + pub fn builder() -> crate::model::hours_of_operation_config::Builder { + crate::model::hours_of_operation_config::Builder::default() + } +} + +///

                                                  The start time or end time for an hours of operation.

                                                  +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct HoursOfOperationTimeSlice { + ///

                                                  The hours.

                                                  + pub hours: std::option::Option, + ///

                                                  The minutes.

                                                  + pub minutes: std::option::Option, +} +impl std::fmt::Debug for HoursOfOperationTimeSlice { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("HoursOfOperationTimeSlice"); + formatter.field("hours", &self.hours); + formatter.field("minutes", &self.minutes); + formatter.finish() + } +} +/// See [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) +pub mod hours_of_operation_time_slice { + /// A builder for [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) hours: std::option::Option, + pub(crate) minutes: std::option::Option, + } + impl Builder { + ///

                                                  The hours.

                                                  + pub fn hours(mut self, input: i32) -> Self { + self.hours = Some(input); + self + } + pub fn set_hours(mut self, input: std::option::Option) -> Self { + self.hours = input; + self + } + ///

                                                  The minutes.

                                                  + pub fn minutes(mut self, input: i32) -> Self { + self.minutes = Some(input); + self + } + pub fn set_minutes(mut self, input: std::option::Option) -> Self { + self.minutes = input; + self + } + /// Consumes the builder and constructs a [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) + pub fn build(self) -> crate::model::HoursOfOperationTimeSlice { + crate::model::HoursOfOperationTimeSlice { + hours: self.hours, + minutes: self.minutes, + } + } + } +} +impl HoursOfOperationTimeSlice { + /// Creates a new builder-style object to manufacture [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) + pub fn builder() -> crate::model::hours_of_operation_time_slice::Builder { + crate::model::hours_of_operation_time_slice::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum HoursOfOperationDays { + Friday, + Monday, + Saturday, + Sunday, + Thursday, + Tuesday, + Wednesday, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for HoursOfOperationDays { + fn from(s: &str) -> Self { + match s { + "FRIDAY" => HoursOfOperationDays::Friday, + "MONDAY" => HoursOfOperationDays::Monday, + "SATURDAY" => HoursOfOperationDays::Saturday, + "SUNDAY" => HoursOfOperationDays::Sunday, + "THURSDAY" => HoursOfOperationDays::Thursday, + "TUESDAY" => HoursOfOperationDays::Tuesday, + "WEDNESDAY" => HoursOfOperationDays::Wednesday, + other => HoursOfOperationDays::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for HoursOfOperationDays { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(HoursOfOperationDays::from(s)) + } +} +impl HoursOfOperationDays { + pub fn as_str(&self) -> &str { + match self { + HoursOfOperationDays::Friday => "FRIDAY", + HoursOfOperationDays::Monday => "MONDAY", + HoursOfOperationDays::Saturday => "SATURDAY", + HoursOfOperationDays::Sunday => "SUNDAY", + HoursOfOperationDays::Thursday => "THURSDAY", + HoursOfOperationDays::Tuesday => "TUESDAY", + HoursOfOperationDays::Wednesday => "WEDNESDAY", + HoursOfOperationDays::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &[ + "FRIDAY", + "MONDAY", + "SATURDAY", + "SUNDAY", + "THURSDAY", + "TUESDAY", + "WEDNESDAY", + ] + } +} +impl AsRef for HoursOfOperationDays { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

                                                  Information about a problem detail.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -1983,6 +2201,56 @@ impl ProblemDetail { } } +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum AgentStatusState { + Disabled, + Enabled, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for AgentStatusState { + fn from(s: &str) -> Self { + match s { + "DISABLED" => AgentStatusState::Disabled, + "ENABLED" => AgentStatusState::Enabled, + other => AgentStatusState::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AgentStatusState { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(AgentStatusState::from(s)) + } +} +impl AgentStatusState { + pub fn as_str(&self) -> &str { + match self { + AgentStatusState::Disabled => "DISABLED", + AgentStatusState::Enabled => "ENABLED", + AgentStatusState::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["DISABLED", "ENABLED"] + } +} +impl AsRef for AgentStatusState { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

                                                  A link that an agent selects to complete a given task. You can have up to 4,096 UTF-8 bytes /// across all references for a contact.

                                                  #[non_exhaustive] @@ -5272,12 +5540,157 @@ impl AsRef for LexVersion { } } -///

                                                  Contains information about the historical metrics retrieved.

                                                  +///

                                                  Summary information for an agent status.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct HistoricalMetricResult { - ///

                                                  The dimension for the metrics.

                                                  - pub dimensions: std::option::Option, +pub struct AgentStatusSummary { + ///

                                                  The identifier for an agent status.

                                                  + pub id: std::option::Option, + ///

                                                  The Amazon Resource Name (ARN) for the agent status.

                                                  + pub arn: std::option::Option, + ///

                                                  The name of the agent status.

                                                  + pub name: std::option::Option, + ///

                                                  The type of the agent status.

                                                  + pub r#type: std::option::Option, +} +impl std::fmt::Debug for AgentStatusSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AgentStatusSummary"); + formatter.field("id", &self.id); + formatter.field("arn", &self.arn); + formatter.field("name", &self.name); + formatter.field("r#type", &self.r#type); + formatter.finish() + } +} +/// See [`AgentStatusSummary`](crate::model::AgentStatusSummary) +pub mod agent_status_summary { + /// A builder for [`AgentStatusSummary`](crate::model::AgentStatusSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) id: std::option::Option, + pub(crate) arn: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) r#type: std::option::Option, + } + impl Builder { + ///

                                                  The identifier for an agent status.

                                                  + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + ///

                                                  The Amazon Resource Name (ARN) for the agent status.

                                                  + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } + ///

                                                  The name of the agent status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The type of the agent status.

                                                  + pub fn r#type(mut self, input: crate::model::AgentStatusType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + /// Consumes the builder and constructs a [`AgentStatusSummary`](crate::model::AgentStatusSummary) + pub fn build(self) -> crate::model::AgentStatusSummary { + crate::model::AgentStatusSummary { + id: self.id, + arn: self.arn, + name: self.name, + r#type: self.r#type, + } + } + } +} +impl AgentStatusSummary { + /// Creates a new builder-style object to manufacture [`AgentStatusSummary`](crate::model::AgentStatusSummary) + pub fn builder() -> crate::model::agent_status_summary::Builder { + crate::model::agent_status_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum AgentStatusType { + Custom, + Offline, + Routable, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for AgentStatusType { + fn from(s: &str) -> Self { + match s { + "CUSTOM" => AgentStatusType::Custom, + "OFFLINE" => AgentStatusType::Offline, + "ROUTABLE" => AgentStatusType::Routable, + other => AgentStatusType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AgentStatusType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(AgentStatusType::from(s)) + } +} +impl AgentStatusType { + pub fn as_str(&self) -> &str { + match self { + AgentStatusType::Custom => "CUSTOM", + AgentStatusType::Offline => "OFFLINE", + AgentStatusType::Routable => "ROUTABLE", + AgentStatusType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["CUSTOM", "OFFLINE", "ROUTABLE"] + } +} +impl AsRef for AgentStatusType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                  Contains information about the historical metrics retrieved.

                                                  +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct HistoricalMetricResult { + ///

                                                  The dimension for the metrics.

                                                  + pub dimensions: std::option::Option, ///

                                                  The set of metrics.

                                                  pub collections: std::option::Option>, } @@ -8023,224 +8436,6 @@ impl HoursOfOperation { } } -///

                                                  Contains information about the hours of operation.

                                                  -#[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct HoursOfOperationConfig { - ///

                                                  The day that the hours of operation applies to.

                                                  - pub day: std::option::Option, - ///

                                                  The start time that your contact center is open.

                                                  - pub start_time: std::option::Option, - ///

                                                  The end time that your contact center is closes.

                                                  - pub end_time: std::option::Option, -} -impl std::fmt::Debug for HoursOfOperationConfig { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("HoursOfOperationConfig"); - formatter.field("day", &self.day); - formatter.field("start_time", &self.start_time); - formatter.field("end_time", &self.end_time); - formatter.finish() - } -} -/// See [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) -pub mod hours_of_operation_config { - /// A builder for [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) day: std::option::Option, - pub(crate) start_time: std::option::Option, - pub(crate) end_time: std::option::Option, - } - impl Builder { - ///

                                                  The day that the hours of operation applies to.

                                                  - pub fn day(mut self, input: crate::model::HoursOfOperationDays) -> Self { - self.day = Some(input); - self - } - pub fn set_day( - mut self, - input: std::option::Option, - ) -> Self { - self.day = input; - self - } - ///

                                                  The start time that your contact center is open.

                                                  - pub fn start_time(mut self, input: crate::model::HoursOfOperationTimeSlice) -> Self { - self.start_time = Some(input); - self - } - pub fn set_start_time( - mut self, - input: std::option::Option, - ) -> Self { - self.start_time = input; - self - } - ///

                                                  The end time that your contact center is closes.

                                                  - pub fn end_time(mut self, input: crate::model::HoursOfOperationTimeSlice) -> Self { - self.end_time = Some(input); - self - } - pub fn set_end_time( - mut self, - input: std::option::Option, - ) -> Self { - self.end_time = input; - self - } - /// Consumes the builder and constructs a [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) - pub fn build(self) -> crate::model::HoursOfOperationConfig { - crate::model::HoursOfOperationConfig { - day: self.day, - start_time: self.start_time, - end_time: self.end_time, - } - } - } -} -impl HoursOfOperationConfig { - /// Creates a new builder-style object to manufacture [`HoursOfOperationConfig`](crate::model::HoursOfOperationConfig) - pub fn builder() -> crate::model::hours_of_operation_config::Builder { - crate::model::hours_of_operation_config::Builder::default() - } -} - -///

                                                  The start time or end time for an hours of operation.

                                                  -#[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct HoursOfOperationTimeSlice { - ///

                                                  The hours.

                                                  - pub hours: i32, - ///

                                                  The minutes.

                                                  - pub minutes: i32, -} -impl std::fmt::Debug for HoursOfOperationTimeSlice { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("HoursOfOperationTimeSlice"); - formatter.field("hours", &self.hours); - formatter.field("minutes", &self.minutes); - formatter.finish() - } -} -/// See [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) -pub mod hours_of_operation_time_slice { - /// A builder for [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) hours: std::option::Option, - pub(crate) minutes: std::option::Option, - } - impl Builder { - ///

                                                  The hours.

                                                  - pub fn hours(mut self, input: i32) -> Self { - self.hours = Some(input); - self - } - pub fn set_hours(mut self, input: std::option::Option) -> Self { - self.hours = input; - self - } - ///

                                                  The minutes.

                                                  - pub fn minutes(mut self, input: i32) -> Self { - self.minutes = Some(input); - self - } - pub fn set_minutes(mut self, input: std::option::Option) -> Self { - self.minutes = input; - self - } - /// Consumes the builder and constructs a [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) - pub fn build(self) -> crate::model::HoursOfOperationTimeSlice { - crate::model::HoursOfOperationTimeSlice { - hours: self.hours.unwrap_or_default(), - minutes: self.minutes.unwrap_or_default(), - } - } - } -} -impl HoursOfOperationTimeSlice { - /// Creates a new builder-style object to manufacture [`HoursOfOperationTimeSlice`](crate::model::HoursOfOperationTimeSlice) - pub fn builder() -> crate::model::hours_of_operation_time_slice::Builder { - crate::model::hours_of_operation_time_slice::Builder::default() - } -} - -#[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum HoursOfOperationDays { - Friday, - Monday, - Saturday, - Sunday, - Thursday, - Tuesday, - Wednesday, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), -} -impl std::convert::From<&str> for HoursOfOperationDays { - fn from(s: &str) -> Self { - match s { - "FRIDAY" => HoursOfOperationDays::Friday, - "MONDAY" => HoursOfOperationDays::Monday, - "SATURDAY" => HoursOfOperationDays::Saturday, - "SUNDAY" => HoursOfOperationDays::Sunday, - "THURSDAY" => HoursOfOperationDays::Thursday, - "TUESDAY" => HoursOfOperationDays::Tuesday, - "WEDNESDAY" => HoursOfOperationDays::Wednesday, - other => HoursOfOperationDays::Unknown(other.to_owned()), - } - } -} -impl std::str::FromStr for HoursOfOperationDays { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(HoursOfOperationDays::from(s)) - } -} -impl HoursOfOperationDays { - pub fn as_str(&self) -> &str { - match self { - HoursOfOperationDays::Friday => "FRIDAY", - HoursOfOperationDays::Monday => "MONDAY", - HoursOfOperationDays::Saturday => "SATURDAY", - HoursOfOperationDays::Sunday => "SUNDAY", - HoursOfOperationDays::Thursday => "THURSDAY", - HoursOfOperationDays::Tuesday => "TUESDAY", - HoursOfOperationDays::Wednesday => "WEDNESDAY", - HoursOfOperationDays::Unknown(s) => s.as_ref(), - } - } - pub fn values() -> &'static [&'static str] { - &[ - "FRIDAY", - "MONDAY", - "SATURDAY", - "SUNDAY", - "THURSDAY", - "TUESDAY", - "WEDNESDAY", - ] - } -} -impl AsRef for HoursOfOperationDays { - fn as_ref(&self) -> &str { - self.as_str() - } -} - ///

                                                  Contains information about a contact flow.

                                                  #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -8389,3 +8584,173 @@ impl ContactFlow { crate::model::contact_flow::Builder::default() } } + +///

                                                  Contains information about an agent status.

                                                  +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AgentStatus { + ///

                                                  The Amazon Resource Name (ARN) of the agent status.

                                                  + pub agent_status_arn: std::option::Option, + ///

                                                  The identifier of the agent status.

                                                  + pub agent_status_id: std::option::Option, + ///

                                                  The name of the agent status.

                                                  + pub name: std::option::Option, + ///

                                                  The description of the agent status.

                                                  + pub description: std::option::Option, + ///

                                                  The type of agent status.

                                                  + pub r#type: std::option::Option, + ///

                                                  The display order of the agent status.

                                                  + pub display_order: std::option::Option, + ///

                                                  The state of the agent status.

                                                  + pub state: std::option::Option, + ///

                                                  One or more tags.

                                                  + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for AgentStatus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AgentStatus"); + formatter.field("agent_status_arn", &self.agent_status_arn); + formatter.field("agent_status_id", &self.agent_status_id); + formatter.field("name", &self.name); + formatter.field("description", &self.description); + formatter.field("r#type", &self.r#type); + formatter.field("display_order", &self.display_order); + formatter.field("state", &self.state); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`AgentStatus`](crate::model::AgentStatus) +pub mod agent_status { + /// A builder for [`AgentStatus`](crate::model::AgentStatus) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) agent_status_arn: std::option::Option, + pub(crate) agent_status_id: std::option::Option, + pub(crate) name: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) display_order: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                  The Amazon Resource Name (ARN) of the agent status.

                                                  + pub fn agent_status_arn(mut self, input: impl Into) -> Self { + self.agent_status_arn = Some(input.into()); + self + } + pub fn set_agent_status_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_arn = input; + self + } + ///

                                                  The identifier of the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.agent_status_id = Some(input.into()); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_id = input; + self + } + ///

                                                  The name of the agent status.

                                                  + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                  The description of the agent status.

                                                  + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                  The type of agent status.

                                                  + pub fn r#type(mut self, input: crate::model::AgentStatusType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

                                                  The display order of the agent status.

                                                  + pub fn display_order(mut self, input: i32) -> Self { + self.display_order = Some(input); + self + } + pub fn set_display_order(mut self, input: std::option::Option) -> Self { + self.display_order = input; + self + } + ///

                                                  The state of the agent status.

                                                  + pub fn state(mut self, input: crate::model::AgentStatusState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`AgentStatus`](crate::model::AgentStatus) + pub fn build(self) -> crate::model::AgentStatus { + crate::model::AgentStatus { + agent_status_arn: self.agent_status_arn, + agent_status_id: self.agent_status_id, + name: self.name, + description: self.description, + r#type: self.r#type, + display_order: self.display_order, + state: self.state, + tags: self.tags, + } + } + } +} +impl AgentStatus { + /// Creates a new builder-style object to manufacture [`AgentStatus`](crate::model::AgentStatus) + pub fn builder() -> crate::model::agent_status::Builder { + crate::model::agent_status::Builder::default() + } +} diff --git a/sdk/connect/src/operation.rs b/sdk/connect/src/operation.rs index ae4d3f7de597..49fa32f51068 100644 --- a/sdk/connect/src/operation.rs +++ b/sdk/connect/src/operation.rs @@ -233,6 +233,35 @@ impl smithy_http::response::ParseStrictResponse for AssociateSecurityKey { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Creates an agent status for the specified Amazon Connect instance.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateAgentStatus { + _private: (), +} +impl CreateAgentStatus { + /// Creates a new builder-style object to manufacture [`CreateAgentStatusInput`](crate::input::CreateAgentStatusInput) + pub fn builder() -> crate::input::create_agent_status_input::Builder { + crate::input::create_agent_status_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateAgentStatus { + type Output = std::result::Result< + crate::output::CreateAgentStatusOutput, + crate::error::CreateAgentStatusError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_create_agent_status_error(response) + } else { + crate::operation_deser::parse_create_agent_status_response(response) + } + } +} + ///

                                                  Creates a contact flow for the specified Amazon Connect instance.

                                                  ///

                                                  You can also create and update contact flows using the Amazon Connect /// Flow language.

                                                  @@ -263,6 +292,35 @@ impl smithy_http::response::ParseStrictResponse for CreateContactFlow { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Creates hours of operation.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateHoursOfOperation { + _private: (), +} +impl CreateHoursOfOperation { + /// Creates a new builder-style object to manufacture [`CreateHoursOfOperationInput`](crate::input::CreateHoursOfOperationInput) + pub fn builder() -> crate::input::create_hours_of_operation_input::Builder { + crate::input::create_hours_of_operation_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateHoursOfOperation { + type Output = std::result::Result< + crate::output::CreateHoursOfOperationOutput, + crate::error::CreateHoursOfOperationError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_create_hours_of_operation_error(response) + } else { + crate::operation_deser::parse_create_hours_of_operation_response(response) + } + } +} + ///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  ///

                                                  Initiates an Amazon Connect instance with all the supported channels enabled. It does not attach any /// storage, such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It also does not @@ -488,6 +546,35 @@ impl smithy_http::response::ParseStrictResponse for CreateUserHierarchyGroup { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Deletes an hours of operation.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteHoursOfOperation { + _private: (), +} +impl DeleteHoursOfOperation { + /// Creates a new builder-style object to manufacture [`DeleteHoursOfOperationInput`](crate::input::DeleteHoursOfOperationInput) + pub fn builder() -> crate::input::delete_hours_of_operation_input::Builder { + crate::input::delete_hours_of_operation_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteHoursOfOperation { + type Output = std::result::Result< + crate::output::DeleteHoursOfOperationOutput, + crate::error::DeleteHoursOfOperationError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_hours_of_operation_error(response) + } else { + crate::operation_deser::parse_delete_hours_of_operation_response(response) + } + } +} + ///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  ///

                                                  Deletes the Amazon Connect instance.

                                                  ///

                                                  Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. @@ -659,6 +746,35 @@ impl smithy_http::response::ParseStrictResponse for DeleteUserHierarchyGroup { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Describes an agent status.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeAgentStatus { + _private: (), +} +impl DescribeAgentStatus { + /// Creates a new builder-style object to manufacture [`DescribeAgentStatusInput`](crate::input::DescribeAgentStatusInput) + pub fn builder() -> crate::input::describe_agent_status_input::Builder { + crate::input::describe_agent_status_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeAgentStatus { + type Output = std::result::Result< + crate::output::DescribeAgentStatusOutput, + crate::error::DescribeAgentStatusError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_agent_status_error(response) + } else { + crate::operation_deser::parse_describe_agent_status_response(response) + } + } +} + ///

                                                  Describes the specified contact flow.

                                                  ///

                                                  You can also create and update contact flows using the Amazon Connect /// Flow language.

                                                  @@ -1333,6 +1449,35 @@ impl smithy_http::response::ParseStrictResponse for GetMetricData { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Lists agent statuses.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAgentStatuses { + _private: (), +} +impl ListAgentStatuses { + /// Creates a new builder-style object to manufacture [`ListAgentStatusesInput`](crate::input::ListAgentStatusesInput) + pub fn builder() -> crate::input::list_agent_statuses_input::Builder { + crate::input::list_agent_statuses_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAgentStatuses { + type Output = std::result::Result< + crate::output::ListAgentStatusesOutput, + crate::error::ListAgentStatusesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_agent_statuses_error(response) + } else { + crate::operation_deser::parse_list_agent_statuses_response(response) + } + } +} + ///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  ///

                                                  Returns a paginated list of all approved origins associated with the instance.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -2272,8 +2417,8 @@ impl smithy_http::response::ParseStrictResponse for SuspendContactRecording { } ///

                                                  Adds the specified tags to the specified resource.

                                                  -///

                                                  The supported resource types are users, routing profiles, queues, quick connects, and -/// contact flows.

                                                  +///

                                                  The supported resource types are users, routing profiles, queues, quick connects, +/// contact flows, agent status, and hours of operation.

                                                  ///

                                                  For sample policies that use tags, see Amazon Connect Identity-Based /// Policy Examples in the Amazon Connect Administrator Guide.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -2327,6 +2472,35 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Updates agent status.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateAgentStatus { + _private: (), +} +impl UpdateAgentStatus { + /// Creates a new builder-style object to manufacture [`UpdateAgentStatusInput`](crate::input::UpdateAgentStatusInput) + pub fn builder() -> crate::input::update_agent_status_input::Builder { + crate::input::update_agent_status_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateAgentStatus { + type Output = std::result::Result< + crate::output::UpdateAgentStatusOutput, + crate::error::UpdateAgentStatusError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_agent_status_error(response) + } else { + crate::operation_deser::parse_update_agent_status_response(response) + } + } +} + ///

                                                  Creates or updates /// user-defined contact attributes /// associated with the specified contact.

                                                  @@ -2433,6 +2607,35 @@ impl smithy_http::response::ParseStrictResponse for UpdateContactFlowName { } } +///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  +///

                                                  Updates the hours of operation.

                                                  +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateHoursOfOperation { + _private: (), +} +impl UpdateHoursOfOperation { + /// Creates a new builder-style object to manufacture [`UpdateHoursOfOperationInput`](crate::input::UpdateHoursOfOperationInput) + pub fn builder() -> crate::input::update_hours_of_operation_input::Builder { + crate::input::update_hours_of_operation_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateHoursOfOperation { + type Output = std::result::Result< + crate::output::UpdateHoursOfOperationOutput, + crate::error::UpdateHoursOfOperationError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_hours_of_operation_error(response) + } else { + crate::operation_deser::parse_update_hours_of_operation_response(response) + } + } +} + ///

                                                  This API is in preview release for Amazon Connect and is subject to change.

                                                  ///

                                                  Updates the value for the specified attribute type.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] diff --git a/sdk/connect/src/operation_deser.rs b/sdk/connect/src/operation_deser.rs index 237e15b65115..dca78ca4412c 100644 --- a/sdk/connect/src/operation_deser.rs +++ b/sdk/connect/src/operation_deser.rs @@ -1383,6 +1383,188 @@ pub fn parse_associate_security_key_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_agent_status_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateAgentStatusError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "DuplicateResourceException" => { + crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::DuplicateResourceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::duplicate_resource_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_duplicate_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "InternalServiceException" => crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::CreateAgentStatusError { + meta: generic, + kind: crate::error::CreateAgentStatusErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::CreateAgentStatusError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_agent_status_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_agent_status_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_agent_status( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateAgentStatusError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_create_contact_flow_error( response: &http::Response, @@ -1503,7 +1685,195 @@ pub fn parse_create_contact_flow_error( }, "LimitExceededException" => crate::error::CreateContactFlowError { meta: generic, - kind: crate::error::CreateContactFlowErrorKind::LimitExceededException({ + kind: crate::error::CreateContactFlowErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateContactFlowError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::CreateContactFlowError { + meta: generic, + kind: crate::error::CreateContactFlowErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateContactFlowError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::CreateContactFlowError { + meta: generic, + kind: crate::error::CreateContactFlowErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateContactFlowError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::CreateContactFlowError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_contact_flow_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_contact_flow_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_contact_flow( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateContactFlowError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_hours_of_operation_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateHoursOfOperationOutput, + crate::error::CreateHoursOfOperationError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateHoursOfOperationError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "DuplicateResourceException" => { + crate::error::CreateHoursOfOperationError { + meta: generic, + kind: crate::error::CreateHoursOfOperationErrorKind::DuplicateResourceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::duplicate_resource_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_duplicate_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "InternalServiceException" => crate::error::CreateHoursOfOperationError { + meta: generic, + kind: crate::error::CreateHoursOfOperationErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::CreateHoursOfOperationError { + meta: generic, + kind: crate::error::CreateHoursOfOperationErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::CreateHoursOfOperationError { + meta: generic, + kind: crate::error::CreateHoursOfOperationErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::CreateHoursOfOperationError { + meta: generic, + kind: crate::error::CreateHoursOfOperationErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1513,7 +1883,7 @@ pub fn parse_create_contact_flow_error( response.body().as_ref(), output, ) - .map_err(crate::error::CreateContactFlowError::unhandled)?; + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1523,16 +1893,16 @@ pub fn parse_create_contact_flow_error( }), }, "ResourceNotFoundException" => { - crate::error::CreateContactFlowError { + crate::error::CreateHoursOfOperationError { meta: generic, - kind: crate::error::CreateContactFlowErrorKind::ResourceNotFoundException({ + kind: crate::error::CreateHoursOfOperationErrorKind::ResourceNotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::resource_not_found_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateContactFlowError::unhandled)?; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateHoursOfOperationError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1542,9 +1912,9 @@ pub fn parse_create_contact_flow_error( }), } } - "ThrottlingException" => crate::error::CreateContactFlowError { + "ThrottlingException" => crate::error::CreateHoursOfOperationError { meta: generic, - kind: crate::error::CreateContactFlowErrorKind::ThrottlingException({ + kind: crate::error::CreateHoursOfOperationErrorKind::ThrottlingException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1554,7 +1924,7 @@ pub fn parse_create_contact_flow_error( response.body().as_ref(), output, ) - .map_err(crate::error::CreateContactFlowError::unhandled)?; + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1563,24 +1933,26 @@ pub fn parse_create_contact_flow_error( tmp }), }, - _ => crate::error::CreateContactFlowError::generic(generic), + _ => crate::error::CreateHoursOfOperationError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_create_contact_flow_response( +pub fn parse_create_hours_of_operation_response( response: &http::Response, -) -> std::result::Result -{ +) -> std::result::Result< + crate::output::CreateHoursOfOperationOutput, + crate::error::CreateHoursOfOperationError, +> { Ok({ #[allow(unused_mut)] - let mut output = crate::output::create_contact_flow_output::Builder::default(); + let mut output = crate::output::create_hours_of_operation_output::Builder::default(); let _ = response; - output = crate::json_deser::deser_operation_create_contact_flow( + output = crate::json_deser::deser_operation_create_hours_of_operation( response.body().as_ref(), output, ) - .map_err(crate::error::CreateContactFlowError::unhandled)?; + .map_err(crate::error::CreateHoursOfOperationError::unhandled)?; output.build() }) } @@ -2920,6 +3292,150 @@ pub fn parse_create_user_hierarchy_group_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_hours_of_operation_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteHoursOfOperationOutput, + crate::error::DeleteHoursOfOperationError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteHoursOfOperationError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::error::DeleteHoursOfOperationError { + meta: generic, + kind: crate::error::DeleteHoursOfOperationErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::DeleteHoursOfOperationError { + meta: generic, + kind: crate::error::DeleteHoursOfOperationErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::DeleteHoursOfOperationError { + meta: generic, + kind: crate::error::DeleteHoursOfOperationErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DeleteHoursOfOperationError { + meta: generic, + kind: crate::error::DeleteHoursOfOperationErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::DeleteHoursOfOperationError { + meta: generic, + kind: crate::error::DeleteHoursOfOperationErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteHoursOfOperationError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_hours_of_operation_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteHoursOfOperationOutput, + crate::error::DeleteHoursOfOperationError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_hours_of_operation_output::Builder::default(); + let _ = response; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_delete_instance_error( response: &http::Response, @@ -3667,21 +4183,166 @@ pub fn parse_delete_user_hierarchy_group_error( tmp }), }, - _ => crate::error::DeleteUserHierarchyGroupError::generic(generic), + _ => crate::error::DeleteUserHierarchyGroupError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_user_hierarchy_group_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteUserHierarchyGroupOutput, + crate::error::DeleteUserHierarchyGroupError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_user_hierarchy_group_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_agent_status_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeAgentStatusOutput, + crate::error::DescribeAgentStatusError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeAgentStatusError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::error::DescribeAgentStatusError { + meta: generic, + kind: crate::error::DescribeAgentStatusErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::DescribeAgentStatusError { + meta: generic, + kind: crate::error::DescribeAgentStatusErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::DescribeAgentStatusError { + meta: generic, + kind: crate::error::DescribeAgentStatusErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DescribeAgentStatusError { + meta: generic, + kind: crate::error::DescribeAgentStatusErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::DescribeAgentStatusError { + meta: generic, + kind: crate::error::DescribeAgentStatusErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DescribeAgentStatusError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_user_hierarchy_group_response( +pub fn parse_describe_agent_status_response( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteUserHierarchyGroupOutput, - crate::error::DeleteUserHierarchyGroupError, + crate::output::DescribeAgentStatusOutput, + crate::error::DescribeAgentStatusError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_user_hierarchy_group_output::Builder::default(); + let mut output = crate::output::describe_agent_status_output::Builder::default(); let _ = response; + output = crate::json_deser::deser_operation_describe_agent_status( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeAgentStatusError::unhandled)?; output.build() }) } @@ -6943,6 +7604,147 @@ pub fn parse_get_metric_data_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_agent_statuses_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListAgentStatusesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::error::ListAgentStatusesError { + meta: generic, + kind: crate::error::ListAgentStatusesErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::ListAgentStatusesError { + meta: generic, + kind: crate::error::ListAgentStatusesErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::ListAgentStatusesError { + meta: generic, + kind: crate::error::ListAgentStatusesErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::ListAgentStatusesError { + meta: generic, + kind: crate::error::ListAgentStatusesErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::ListAgentStatusesError { + meta: generic, + kind: crate::error::ListAgentStatusesErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListAgentStatusesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_agent_statuses_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_agent_statuses_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_agent_statuses( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAgentStatusesError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_list_approved_origins_error( response: &http::Response, @@ -11071,36 +11873,170 @@ pub fn parse_suspend_contact_recording_error( } #[allow(clippy::unnecessary_wraps)] -pub fn parse_suspend_contact_recording_response( +pub fn parse_suspend_contact_recording_response( + response: &http::Response, +) -> std::result::Result< + crate::output::SuspendContactRecordingOutput, + crate::error::SuspendContactRecordingError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::suspend_contact_recording_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_resource_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::TagResourceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::TagResourceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::TagResourceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_resource_response( response: &http::Response, -) -> std::result::Result< - crate::output::SuspendContactRecordingOutput, - crate::error::SuspendContactRecordingError, -> { +) -> std::result::Result { Ok({ #[allow(unused_mut)] - let mut output = crate::output::suspend_contact_recording_output::Builder::default(); + let mut output = crate::output::tag_resource_output::Builder::default(); let _ = response; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_tag_resource_error( +pub fn parse_untag_resource_error( response: &http::Response, -) -> std::result::Result { +) -> std::result::Result { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::TagResourceError::unhandled)?; + .map_err(crate::error::UntagResourceError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => return Err(crate::error::TagResourceError::unhandled(generic)), + None => return Err(crate::error::UntagResourceError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "InternalServiceException" => crate::error::TagResourceError { + "InternalServiceException" => crate::error::UntagResourceError { meta: generic, - kind: crate::error::TagResourceErrorKind::InternalServiceException({ + kind: crate::error::UntagResourceErrorKind::InternalServiceException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11110,7 +12046,7 @@ pub fn parse_tag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::TagResourceError::unhandled)?; + .map_err(crate::error::UntagResourceError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11119,9 +12055,9 @@ pub fn parse_tag_resource_error( tmp }), }, - "InvalidParameterException" => crate::error::TagResourceError { + "InvalidParameterException" => crate::error::UntagResourceError { meta: generic, - kind: crate::error::TagResourceErrorKind::InvalidParameterException({ + kind: crate::error::UntagResourceErrorKind::InvalidParameterException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11132,7 +12068,7 @@ pub fn parse_tag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::TagResourceError::unhandled)?; + .map_err(crate::error::UntagResourceError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11141,9 +12077,9 @@ pub fn parse_tag_resource_error( tmp }), }, - "InvalidRequestException" => crate::error::TagResourceError { + "InvalidRequestException" => crate::error::UntagResourceError { meta: generic, - kind: crate::error::TagResourceErrorKind::InvalidRequestException({ + kind: crate::error::UntagResourceErrorKind::InvalidRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11153,7 +12089,7 @@ pub fn parse_tag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::TagResourceError::unhandled)?; + .map_err(crate::error::UntagResourceError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11163,16 +12099,16 @@ pub fn parse_tag_resource_error( }), }, "ResourceNotFoundException" => { - crate::error::TagResourceError { + crate::error::UntagResourceError { meta: generic, - kind: crate::error::TagResourceErrorKind::ResourceNotFoundException({ + kind: crate::error::UntagResourceErrorKind::ResourceNotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::resource_not_found_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::TagResourceError::unhandled)?; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UntagResourceError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11182,9 +12118,9 @@ pub fn parse_tag_resource_error( }), } } - "ThrottlingException" => crate::error::TagResourceError { + "ThrottlingException" => crate::error::UntagResourceError { meta: generic, - kind: crate::error::TagResourceErrorKind::ThrottlingException({ + kind: crate::error::UntagResourceErrorKind::ThrottlingException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11194,7 +12130,7 @@ pub fn parse_tag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::TagResourceError::unhandled)?; + .map_err(crate::error::UntagResourceError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11203,38 +12139,59 @@ pub fn parse_tag_resource_error( tmp }), }, - _ => crate::error::TagResourceError::generic(generic), + _ => crate::error::UntagResourceError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_tag_resource_response( +pub fn parse_untag_resource_response( response: &http::Response, -) -> std::result::Result { +) -> std::result::Result { Ok({ #[allow(unused_mut)] - let mut output = crate::output::tag_resource_output::Builder::default(); + let mut output = crate::output::untag_resource_output::Builder::default(); let _ = response; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_untag_resource_error( +pub fn parse_update_agent_status_error( response: &http::Response, -) -> std::result::Result { +) -> std::result::Result +{ let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::UntagResourceError::unhandled)?; + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => return Err(crate::error::UntagResourceError::unhandled(generic)), + None => return Err(crate::error::UpdateAgentStatusError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "InternalServiceException" => crate::error::UntagResourceError { + "DuplicateResourceException" => { + crate::error::UpdateAgentStatusError { + meta: generic, + kind: crate::error::UpdateAgentStatusErrorKind::DuplicateResourceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::duplicate_resource_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_duplicate_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "InternalServiceException" => crate::error::UpdateAgentStatusError { meta: generic, - kind: crate::error::UntagResourceErrorKind::InternalServiceException({ + kind: crate::error::UpdateAgentStatusErrorKind::InternalServiceException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11244,7 +12201,7 @@ pub fn parse_untag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::UntagResourceError::unhandled)?; + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11253,9 +12210,9 @@ pub fn parse_untag_resource_error( tmp }), }, - "InvalidParameterException" => crate::error::UntagResourceError { + "InvalidParameterException" => crate::error::UpdateAgentStatusError { meta: generic, - kind: crate::error::UntagResourceErrorKind::InvalidParameterException({ + kind: crate::error::UpdateAgentStatusErrorKind::InvalidParameterException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11266,7 +12223,7 @@ pub fn parse_untag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::UntagResourceError::unhandled)?; + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11275,9 +12232,9 @@ pub fn parse_untag_resource_error( tmp }), }, - "InvalidRequestException" => crate::error::UntagResourceError { + "InvalidRequestException" => crate::error::UpdateAgentStatusError { meta: generic, - kind: crate::error::UntagResourceErrorKind::InvalidRequestException({ + kind: crate::error::UpdateAgentStatusErrorKind::InvalidRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11287,7 +12244,28 @@ pub fn parse_untag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::UntagResourceError::unhandled)?; + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::UpdateAgentStatusError { + meta: generic, + kind: crate::error::UpdateAgentStatusErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11297,16 +12275,16 @@ pub fn parse_untag_resource_error( }), }, "ResourceNotFoundException" => { - crate::error::UntagResourceError { + crate::error::UpdateAgentStatusError { meta: generic, - kind: crate::error::UntagResourceErrorKind::ResourceNotFoundException({ + kind: crate::error::UpdateAgentStatusErrorKind::ResourceNotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::resource_not_found_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UntagResourceError::unhandled)?; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateAgentStatusError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11316,9 +12294,9 @@ pub fn parse_untag_resource_error( }), } } - "ThrottlingException" => crate::error::UntagResourceError { + "ThrottlingException" => crate::error::UpdateAgentStatusError { meta: generic, - kind: crate::error::UntagResourceErrorKind::ThrottlingException({ + kind: crate::error::UpdateAgentStatusErrorKind::ThrottlingException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -11328,7 +12306,7 @@ pub fn parse_untag_resource_error( response.body().as_ref(), output, ) - .map_err(crate::error::UntagResourceError::unhandled)?; + .map_err(crate::error::UpdateAgentStatusError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -11337,17 +12315,18 @@ pub fn parse_untag_resource_error( tmp }), }, - _ => crate::error::UntagResourceError::generic(generic), + _ => crate::error::UpdateAgentStatusError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_untag_resource_response( +pub fn parse_update_agent_status_response( response: &http::Response, -) -> std::result::Result { +) -> std::result::Result +{ Ok({ #[allow(unused_mut)] - let mut output = crate::output::untag_resource_output::Builder::default(); + let mut output = crate::output::update_agent_status_output::Builder::default(); let _ = response; output.build() }) @@ -11802,6 +12781,170 @@ pub fn parse_update_contact_flow_name_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_hours_of_operation_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateHoursOfOperationOutput, + crate::error::UpdateHoursOfOperationError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateHoursOfOperationError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "DuplicateResourceException" => { + crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::DuplicateResourceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::duplicate_resource_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_duplicate_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "InternalServiceException" => crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_service_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidParameterException" => crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InvalidRequestException" => crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::invalid_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::UpdateHoursOfOperationError { + meta: generic, + kind: crate::error::UpdateHoursOfOperationErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateHoursOfOperationError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::UpdateHoursOfOperationError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_hours_of_operation_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateHoursOfOperationOutput, + crate::error::UpdateHoursOfOperationError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_hours_of_operation_output::Builder::default(); + let _ = response; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_update_instance_attribute_error( response: &http::Response, diff --git a/sdk/connect/src/operation_ser.rs b/sdk/connect/src/operation_ser.rs index 9bc500b6d245..83dc36216f06 100644 --- a/sdk/connect/src/operation_ser.rs +++ b/sdk/connect/src/operation_ser.rs @@ -82,6 +82,16 @@ pub fn serialize_operation_associate_security_key( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_create_agent_status( + input: &crate::input::CreateAgentStatusInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_agent_status_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_create_contact_flow( input: &crate::input::CreateContactFlowInput, ) -> Result { @@ -92,6 +102,16 @@ pub fn serialize_operation_create_contact_flow( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_create_hours_of_operation( + input: &crate::input::CreateHoursOfOperationInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_hours_of_operation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_create_instance( input: &crate::input::CreateInstanceInput, ) -> Result { @@ -318,6 +338,16 @@ pub fn serialize_operation_tag_resource( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_update_agent_status( + input: &crate::input::UpdateAgentStatusInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_agent_status_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_update_contact_attributes( input: &crate::input::UpdateContactAttributesInput, ) -> Result { @@ -348,6 +378,16 @@ pub fn serialize_operation_update_contact_flow_name( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_update_hours_of_operation( + input: &crate::input::UpdateHoursOfOperationInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_hours_of_operation_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_update_instance_attribute( input: &crate::input::UpdateInstanceAttributeInput, ) -> Result { diff --git a/sdk/connect/src/output.rs b/sdk/connect/src/output.rs index 6706863f066f..0933121ceb55 100644 --- a/sdk/connect/src/output.rs +++ b/sdk/connect/src/output.rs @@ -580,6 +580,35 @@ impl UpdateInstanceAttributeOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateHoursOfOperationOutput {} +impl std::fmt::Debug for UpdateHoursOfOperationOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateHoursOfOperationOutput"); + formatter.finish() + } +} +/// See [`UpdateHoursOfOperationOutput`](crate::output::UpdateHoursOfOperationOutput) +pub mod update_hours_of_operation_output { + /// A builder for [`UpdateHoursOfOperationOutput`](crate::output::UpdateHoursOfOperationOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`UpdateHoursOfOperationOutput`](crate::output::UpdateHoursOfOperationOutput) + pub fn build(self) -> crate::output::UpdateHoursOfOperationOutput { + crate::output::UpdateHoursOfOperationOutput {} + } + } +} +impl UpdateHoursOfOperationOutput { + /// Creates a new builder-style object to manufacture [`UpdateHoursOfOperationOutput`](crate::output::UpdateHoursOfOperationOutput) + pub fn builder() -> crate::output::update_hours_of_operation_output::Builder { + crate::output::update_hours_of_operation_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateContactFlowNameOutput {} @@ -667,6 +696,35 @@ impl UpdateContactAttributesOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateAgentStatusOutput {} +impl std::fmt::Debug for UpdateAgentStatusOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateAgentStatusOutput"); + formatter.finish() + } +} +/// See [`UpdateAgentStatusOutput`](crate::output::UpdateAgentStatusOutput) +pub mod update_agent_status_output { + /// A builder for [`UpdateAgentStatusOutput`](crate::output::UpdateAgentStatusOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`UpdateAgentStatusOutput`](crate::output::UpdateAgentStatusOutput) + pub fn build(self) -> crate::output::UpdateAgentStatusOutput { + crate::output::UpdateAgentStatusOutput {} + } + } +} +impl UpdateAgentStatusOutput { + /// Creates a new builder-style object to manufacture [`UpdateAgentStatusOutput`](crate::output::UpdateAgentStatusOutput) + pub fn builder() -> crate::output::update_agent_status_output::Builder { + crate::output::update_agent_status_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UntagResourceOutput {} @@ -2606,6 +2664,75 @@ impl ListApprovedOriginsOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAgentStatusesOutput { + ///

                                                  If there are additional results, this is the token for the next set of results.

                                                  + pub next_token: std::option::Option, + ///

                                                  A summary of agent statuses.

                                                  + pub agent_status_summary_list: + std::option::Option>, +} +impl std::fmt::Debug for ListAgentStatusesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAgentStatusesOutput"); + formatter.field("next_token", &self.next_token); + formatter.field("agent_status_summary_list", &self.agent_status_summary_list); + formatter.finish() + } +} +/// See [`ListAgentStatusesOutput`](crate::output::ListAgentStatusesOutput) +pub mod list_agent_statuses_output { + /// A builder for [`ListAgentStatusesOutput`](crate::output::ListAgentStatusesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_token: std::option::Option, + pub(crate) agent_status_summary_list: + std::option::Option>, + } + impl Builder { + ///

                                                  If there are additional results, this is the token for the next set of results.

                                                  + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn agent_status_summary_list( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.agent_status_summary_list.unwrap_or_default(); + v.push(input.into()); + self.agent_status_summary_list = Some(v); + self + } + pub fn set_agent_status_summary_list( + mut self, + input: std::option::Option>, + ) -> Self { + self.agent_status_summary_list = input; + self + } + /// Consumes the builder and constructs a [`ListAgentStatusesOutput`](crate::output::ListAgentStatusesOutput) + pub fn build(self) -> crate::output::ListAgentStatusesOutput { + crate::output::ListAgentStatusesOutput { + next_token: self.next_token, + agent_status_summary_list: self.agent_status_summary_list, + } + } + } +} +impl ListAgentStatusesOutput { + /// Creates a new builder-style object to manufacture [`ListAgentStatusesOutput`](crate::output::ListAgentStatusesOutput) + pub fn builder() -> crate::output::list_agent_statuses_output::Builder { + crate::output::list_agent_statuses_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetMetricDataOutput { @@ -3638,6 +3765,55 @@ impl DescribeContactFlowOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeAgentStatusOutput { + ///

                                                  The agent status.

                                                  + pub agent_status: std::option::Option, +} +impl std::fmt::Debug for DescribeAgentStatusOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeAgentStatusOutput"); + formatter.field("agent_status", &self.agent_status); + formatter.finish() + } +} +/// See [`DescribeAgentStatusOutput`](crate::output::DescribeAgentStatusOutput) +pub mod describe_agent_status_output { + /// A builder for [`DescribeAgentStatusOutput`](crate::output::DescribeAgentStatusOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) agent_status: std::option::Option, + } + impl Builder { + ///

                                                  The agent status.

                                                  + pub fn agent_status(mut self, input: crate::model::AgentStatus) -> Self { + self.agent_status = Some(input); + self + } + pub fn set_agent_status( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status = input; + self + } + /// Consumes the builder and constructs a [`DescribeAgentStatusOutput`](crate::output::DescribeAgentStatusOutput) + pub fn build(self) -> crate::output::DescribeAgentStatusOutput { + crate::output::DescribeAgentStatusOutput { + agent_status: self.agent_status, + } + } + } +} +impl DescribeAgentStatusOutput { + /// Creates a new builder-style object to manufacture [`DescribeAgentStatusOutput`](crate::output::DescribeAgentStatusOutput) + pub fn builder() -> crate::output::describe_agent_status_output::Builder { + crate::output::describe_agent_status_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteUserHierarchyGroupOutput {} @@ -3812,6 +3988,35 @@ impl DeleteInstanceOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteHoursOfOperationOutput {} +impl std::fmt::Debug for DeleteHoursOfOperationOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteHoursOfOperationOutput"); + formatter.finish() + } +} +/// See [`DeleteHoursOfOperationOutput`](crate::output::DeleteHoursOfOperationOutput) +pub mod delete_hours_of_operation_output { + /// A builder for [`DeleteHoursOfOperationOutput`](crate::output::DeleteHoursOfOperationOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteHoursOfOperationOutput`](crate::output::DeleteHoursOfOperationOutput) + pub fn build(self) -> crate::output::DeleteHoursOfOperationOutput { + crate::output::DeleteHoursOfOperationOutput {} + } + } +} +impl DeleteHoursOfOperationOutput { + /// Creates a new builder-style object to manufacture [`DeleteHoursOfOperationOutput`](crate::output::DeleteHoursOfOperationOutput) + pub fn builder() -> crate::output::delete_hours_of_operation_output::Builder { + crate::output::delete_hours_of_operation_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateUserHierarchyGroupOutput { @@ -4327,6 +4532,72 @@ impl CreateInstanceOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateHoursOfOperationOutput { + ///

                                                  The identifier for the hours of operation.

                                                  + pub hours_of_operation_id: std::option::Option, + ///

                                                  The Amazon Resource Name (ARN) for the hours of operation.

                                                  + pub hours_of_operation_arn: std::option::Option, +} +impl std::fmt::Debug for CreateHoursOfOperationOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateHoursOfOperationOutput"); + formatter.field("hours_of_operation_id", &self.hours_of_operation_id); + formatter.field("hours_of_operation_arn", &self.hours_of_operation_arn); + formatter.finish() + } +} +/// See [`CreateHoursOfOperationOutput`](crate::output::CreateHoursOfOperationOutput) +pub mod create_hours_of_operation_output { + /// A builder for [`CreateHoursOfOperationOutput`](crate::output::CreateHoursOfOperationOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) hours_of_operation_id: std::option::Option, + pub(crate) hours_of_operation_arn: std::option::Option, + } + impl Builder { + ///

                                                  The identifier for the hours of operation.

                                                  + pub fn hours_of_operation_id(mut self, input: impl Into) -> Self { + self.hours_of_operation_id = Some(input.into()); + self + } + pub fn set_hours_of_operation_id( + mut self, + input: std::option::Option, + ) -> Self { + self.hours_of_operation_id = input; + self + } + ///

                                                  The Amazon Resource Name (ARN) for the hours of operation.

                                                  + pub fn hours_of_operation_arn(mut self, input: impl Into) -> Self { + self.hours_of_operation_arn = Some(input.into()); + self + } + pub fn set_hours_of_operation_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.hours_of_operation_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateHoursOfOperationOutput`](crate::output::CreateHoursOfOperationOutput) + pub fn build(self) -> crate::output::CreateHoursOfOperationOutput { + crate::output::CreateHoursOfOperationOutput { + hours_of_operation_id: self.hours_of_operation_id, + hours_of_operation_arn: self.hours_of_operation_arn, + } + } + } +} +impl CreateHoursOfOperationOutput { + /// Creates a new builder-style object to manufacture [`CreateHoursOfOperationOutput`](crate::output::CreateHoursOfOperationOutput) + pub fn builder() -> crate::output::create_hours_of_operation_output::Builder { + crate::output::create_hours_of_operation_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateContactFlowOutput { @@ -4393,6 +4664,72 @@ impl CreateContactFlowOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateAgentStatusOutput { + ///

                                                  The Amazon Resource Name (ARN) of the agent status.

                                                  + pub agent_status_arn: std::option::Option, + ///

                                                  The identifier of the agent status.

                                                  + pub agent_status_id: std::option::Option, +} +impl std::fmt::Debug for CreateAgentStatusOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateAgentStatusOutput"); + formatter.field("agent_status_arn", &self.agent_status_arn); + formatter.field("agent_status_id", &self.agent_status_id); + formatter.finish() + } +} +/// See [`CreateAgentStatusOutput`](crate::output::CreateAgentStatusOutput) +pub mod create_agent_status_output { + /// A builder for [`CreateAgentStatusOutput`](crate::output::CreateAgentStatusOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) agent_status_arn: std::option::Option, + pub(crate) agent_status_id: std::option::Option, + } + impl Builder { + ///

                                                  The Amazon Resource Name (ARN) of the agent status.

                                                  + pub fn agent_status_arn(mut self, input: impl Into) -> Self { + self.agent_status_arn = Some(input.into()); + self + } + pub fn set_agent_status_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_arn = input; + self + } + ///

                                                  The identifier of the agent status.

                                                  + pub fn agent_status_id(mut self, input: impl Into) -> Self { + self.agent_status_id = Some(input.into()); + self + } + pub fn set_agent_status_id( + mut self, + input: std::option::Option, + ) -> Self { + self.agent_status_id = input; + self + } + /// Consumes the builder and constructs a [`CreateAgentStatusOutput`](crate::output::CreateAgentStatusOutput) + pub fn build(self) -> crate::output::CreateAgentStatusOutput { + crate::output::CreateAgentStatusOutput { + agent_status_arn: self.agent_status_arn, + agent_status_id: self.agent_status_id, + } + } + } +} +impl CreateAgentStatusOutput { + /// Creates a new builder-style object to manufacture [`CreateAgentStatusOutput`](crate::output::CreateAgentStatusOutput) + pub fn builder() -> crate::output::create_agent_status_output::Builder { + crate::output::create_agent_status_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AssociateSecurityKeyOutput { diff --git a/sdk/connectcontactlens/Cargo.toml b/sdk/connectcontactlens/Cargo.toml index 46c6ed6c4d19..100883f6d2e9 100644 --- a/sdk/connectcontactlens/Cargo.toml +++ b/sdk/connectcontactlens/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-connectcontactlens" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Contact Lens for Amazon Connect enables you to analyze conversations between customer and agents,\n by using speech transcription, natural language processing, and intelligent search\n capabilities. It performs sentiment analysis, detects issues, and enables you to automatically\n categorize contacts.

                                                  \n

                                                  Contact Lens for Amazon Connect provides both real-time and post-call analytics of customer-agent\n conversations. For more information, see Analyze conversations using\n Contact Lens in the Amazon Connect Administrator Guide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/connectparticipant/Cargo.toml b/sdk/connectparticipant/Cargo.toml index 67dc400c07cd..42722da88f67 100644 --- a/sdk/connectparticipant/Cargo.toml +++ b/sdk/connectparticipant/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-connectparticipant" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage\n a customer contact center and provide reliable customer engagement at any scale.

                                                  \n

                                                  Amazon Connect enables customer contacts through voice or chat.

                                                  \n\n

                                                  The APIs described here are used by chat participants, such as agents and\n customers.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/costandusagereport/Cargo.toml b/sdk/costandusagereport/Cargo.toml index 8ab58143a497..9283f057b0eb 100644 --- a/sdk/costandusagereport/Cargo.toml +++ b/sdk/costandusagereport/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-costandusagereport" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  The AWS Cost and Usage Report API enables you to programmatically create, query, and delete \n AWS Cost and Usage report definitions.

                                                  \n

                                                  AWS Cost and Usage reports track the monthly AWS costs and usage \n associated with your AWS account.\n \n The report contains line items for each unique combination of AWS product,\n usage type, and operation that your AWS account uses. \n \n You can configure the AWS Cost and Usage report to show only the data that you want, using the\n AWS Cost and Usage API.

                                                  \n\n

                                                  Service Endpoint

                                                  \n

                                                  The AWS Cost and Usage Report API provides the following endpoint:

                                                  \n
                                                    \n
                                                  • \n

                                                    cur.us-east-1.amazonaws.com

                                                    \n
                                                  • \n
                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/costexplorer/Cargo.toml b/sdk/costexplorer/Cargo.toml index 69e05c504f61..509709aeab67 100644 --- a/sdk/costexplorer/Cargo.toml +++ b/sdk/costexplorer/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-costexplorer" -version = "0.0.15-alpha" -description = "

                                                  The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data \n\t\t\tsuch as total monthly costs or total daily usage. You can also query for granular data, such as the number of \n\t\t\tdaily write operations for Amazon DynamoDB database tables in your production environment.

                                                  \n\t\t

                                                  Service Endpoint

                                                  \n\t\t

                                                  The Cost Explorer API provides the following endpoint:

                                                  \n\t\t
                                                    \n
                                                  • \n\t\t\t\t

                                                    \n https://ce.us-east-1.amazonaws.com\n

                                                    \n\t\t\t
                                                  • \n
                                                  \n\t\t

                                                  For information about costs associated with the Cost Explorer API, see \n\t\t\tAWS Cost Management Pricing.

                                                  " +version = "0.0.16-alpha" +description = "

                                                  You can use the Cost Explorer API to programmatically query your cost and usage data. You\n can query for aggregated data such as total monthly costs or total daily usage. You can also\n query for granular data. This might include the number of daily write operations for Amazon\n DynamoDB database tables in your production environment.

                                                  \n\t\t

                                                  Service Endpoint

                                                  \n\t\t

                                                  The Cost Explorer API provides the following endpoint:

                                                  \n\t\t
                                                    \n
                                                  • \n\t\t\t\t

                                                    \n https://ce.us-east-1.amazonaws.com\n

                                                    \n\t\t\t
                                                  • \n
                                                  \n\t\t

                                                  For information about the costs that are associated with the Cost Explorer API, see\n Amazon Web Services Cost\n Management Pricing.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/costexplorer/src/client.rs b/sdk/costexplorer/src/client.rs index 08dd7bda564e..89e0a3818574 100644 --- a/sdk/costexplorer/src/client.rs +++ b/sdk/costexplorer/src/client.rs @@ -182,7 +182,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  The cost anomaly detection monitor object that you want to create.

                                                  + ///

                                                  The cost anomaly detection monitor object that you want to create.

                                                  pub fn anomaly_monitor(mut self, input: crate::model::AnomalyMonitor) -> Self { self.inner = self.inner.anomaly_monitor(input); self @@ -226,9 +226,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  - /// The cost anomaly subscription object that you want to create. - ///

                                                  + ///

                                                  The cost anomaly subscription object that you want to create.

                                                  pub fn anomaly_subscription(mut self, input: crate::model::AnomalySubscription) -> Self { self.inner = self.inner.anomaly_subscription(input); self @@ -306,7 +304,8 @@ pub mod fluent_builders { self.inner = self.inner.set_rules(input); self } - ///

                                                  The default value for the cost category.

                                                  + ///

                                                  The + /// default value for the cost category.

                                                  pub fn default_value(mut self, input: impl Into) -> Self { self.inner = self.inner.default_value(input); self @@ -318,6 +317,23 @@ pub mod fluent_builders { self.inner = self.inner.set_default_value(input); self } + ///

                                                  + /// The split charge rules used to allocate your charges between your Cost Category values. + ///

                                                  + pub fn split_charge_rules( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.split_charge_rules(inp); + self + } + pub fn set_split_charge_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_split_charge_rules(input); + self + } } #[derive(std::fmt::Debug)] pub struct DeleteAnomalyMonitor { @@ -350,7 +366,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  The unique identifier of the cost anomaly monitor that you want to delete.

                                                  + ///

                                                  The unique identifier of the cost anomaly monitor that you want to delete.

                                                  pub fn monitor_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.monitor_arn(input); self @@ -391,7 +407,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  The unique identifier of the cost anomaly subscription that you want to delete.

                                                  + ///

                                                  The unique identifier of the cost anomaly subscription that you want to delete.

                                                  pub fn subscription_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.subscription_arn(input); self @@ -587,9 +603,8 @@ pub mod fluent_builders { self.inner = self.inner.set_total_impact(input); self } - ///

                                                  - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                                  + ///

                                                  The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -601,9 +616,7 @@ pub mod fluent_builders { self.inner = self.inner.set_next_page_token(input); self } - ///

                                                  - /// The number of entries a paginated response contains. - ///

                                                  + ///

                                                  The number of entries a paginated response contains.

                                                  pub fn max_results(mut self, input: i32) -> Self { self.inner = self.inner.max_results(input); self @@ -644,9 +657,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  - /// A list of cost anomaly monitor ARNs. - ///

                                                  + ///

                                                  A list of cost anomaly monitor ARNs.

                                                  pub fn monitor_arn_list(mut self, inp: impl Into) -> Self { self.inner = self.inner.monitor_arn_list(inp); self @@ -658,9 +669,8 @@ pub mod fluent_builders { self.inner = self.inner.set_monitor_arn_list(input); self } - ///

                                                  - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                                  + ///

                                                  The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -672,9 +682,7 @@ pub mod fluent_builders { self.inner = self.inner.set_next_page_token(input); self } - ///

                                                  - /// The number of entries a paginated response contains. - ///

                                                  + ///

                                                  The number of entries that a paginated response contains.

                                                  pub fn max_results(mut self, input: i32) -> Self { self.inner = self.inner.max_results(input); self @@ -715,9 +723,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  - /// A list of cost anomaly subscription ARNs. - ///

                                                  + ///

                                                  A list of cost anomaly subscription ARNs.

                                                  pub fn subscription_arn_list(mut self, inp: impl Into) -> Self { self.inner = self.inner.subscription_arn_list(inp); self @@ -729,9 +735,7 @@ pub mod fluent_builders { self.inner = self.inner.set_subscription_arn_list(input); self } - ///

                                                  - /// Cost anomaly monitor ARNs. - ///

                                                  + ///

                                                  Cost anomaly monitor ARNs.

                                                  pub fn monitor_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.monitor_arn(input); self @@ -740,9 +744,8 @@ pub mod fluent_builders { self.inner = self.inner.set_monitor_arn(input); self } - ///

                                                  - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                                  + ///

                                                  The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -754,9 +757,7 @@ pub mod fluent_builders { self.inner = self.inner.set_next_page_token(input); self } - ///

                                                  - /// The number of entries a paginated response contains. - ///

                                                  + ///

                                                  The number of entries a paginated response contains.

                                                  pub fn max_results(mut self, input: i32) -> Self { self.inner = self.inner.max_results(input); self @@ -797,8 +798,11 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                  Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                                                  + ///

                                                  Sets the start date and end date for retrieving Amazon Web Services costs. The start date + /// is inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

                                                  pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.inner = self.inner.time_period(input); self @@ -810,7 +814,7 @@ pub mod fluent_builders { self.inner = self.inner.set_time_period(input); self } - ///

                                                  Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, + ///

                                                  Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, /// the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

                                                  pub fn granularity(mut self, input: crate::model::Granularity) -> Self { self.inner = self.inner.granularity(input); @@ -823,7 +827,7 @@ pub mod fluent_builders { self.inner = self.inner.set_granularity(input); self } - ///

                                                  Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT + ///

                                                  Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT /// and get the costs that are associated with that account's usage of that service. You can nest Expression objects /// to define any combination of dimension filters. For more information, see /// Expression.

                                                  @@ -841,11 +845,12 @@ pub mod fluent_builders { ///

                                                  Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, /// NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

                                                  /// - ///

                                                  If you return the UsageQuantity metric, the service aggregates all usage numbers without - /// taking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, - /// the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units - /// (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or - /// UsageTypeGroups.

                                                  + ///

                                                  If you return the UsageQuantity metric, the service aggregates all usage + /// numbers without taking into account the units. For example, if you aggregate + /// usageQuantity across all of Amazon EC2, the results aren't meaningful because + /// Amazon EC2 compute hours and data transfer are measured in different units (for example, + /// hours and GB). To get more meaningful UsageQuantity metrics, filter by + /// UsageType or UsageTypeGroups.

                                                  ///
                                                  ///

                                                  /// Metrics is required for GetCostAndUsage requests.

                                                  @@ -860,12 +865,12 @@ pub mod fluent_builders { self.inner = self.inner.set_metrics(input); self } - ///

                                                  You can group AWS costs using up to two different groups, either dimensions, tag keys, + ///

                                                  You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys, /// cost categories, or any two group by types.

                                                  - ///

                                                  When you group by tag key, you get all tag values, including empty strings.

                                                  - ///

                                                  Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, - /// OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, + ///

                                                  Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, + /// OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, /// TENANCY, RECORD_TYPE, and USAGE_TYPE.

                                                  + ///

                                                  When you group by the TAG type and include a valid tag key, you get all tag values, including empty strings.

                                                  pub fn group_by(mut self, inp: impl Into) -> Self { self.inner = self.inner.group_by(inp); self @@ -877,7 +882,7 @@ pub mod fluent_builders { self.inner = self.inner.set_group_by(input); self } - ///

                                                  The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                                  + ///

                                                  The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -934,7 +939,7 @@ pub mod fluent_builders { self.inner = self.inner.set_time_period(input); self } - ///

                                                  Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If + ///

                                                  Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. If /// Granularity isn't set, the response object doesn't include the /// Granularity, MONTHLY, DAILY, or HOURLY.

                                                  pub fn granularity(mut self, input: crate::model::Granularity) -> Self { @@ -1003,7 +1008,7 @@ pub mod fluent_builders { self.inner = self.inner.set_group_by(input); self } - ///

                                                  The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                                  + ///

                                                  The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -1060,8 +1065,7 @@ pub mod fluent_builders { self.inner = self.inner.set_search_string(input); self } - ///

                                                  The time period of the request. - ///

                                                  + ///

                                                  The time period of the request.

                                                  pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.inner = self.inner.time_period(input); self @@ -1090,31 +1094,33 @@ pub mod fluent_builders { ///
                                                • ///

                                                  Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                                  + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                                  ///

                                                  - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                                  - ///

                                                  The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                                  + ///

                                                  The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                                  ///
                                                • ///
                                                • ///

                                                  Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                                  + /// DataTransfer). The Expression for that is as + /// follows:

                                                  ///

                                                  - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                                  /// ///

                                                  Because each Expression can have only one operator, the @@ -1129,13 +1135,14 @@ pub mod fluent_builders { ///

                                                • ///
                                                /// - ///

                                                For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                                For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                                - ///

                                                For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                                + ///

                                                For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                                ///
                                                pub fn filter(mut self, input: crate::model::Expression) -> Self { self.inner = self.inner.filter(input); @@ -1208,7 +1215,7 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

                                                If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                                                + ///

                                                If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                                                pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -1487,8 +1494,11 @@ pub mod fluent_builders { self.inner = self.inner.set_search_string(input); self } - ///

                                                The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                                                + ///

                                                The start date and end date for retrieving the dimension values. The start date is + /// inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

                                                pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.inner = self.inner.time_period(input); self @@ -1531,11 +1541,11 @@ pub mod fluent_builders { ///

                                                INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                                                ///
                                              • ///
                                              • - ///

                                                LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                                                + ///

                                                LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

                                                ///
                                              • ///
                                              • ///

                                                LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                                + /// field contains the Amazon Web Services ID of the member account.

                                                ///
                                              • ///
                                              • ///

                                                OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                                                @@ -1551,7 +1561,7 @@ pub mod fluent_builders { /// Instances and Standard Reserved Instances.

                                                ///
                                              • ///
                                              • - ///

                                                SERVICE - The AWS service such as Amazon DynamoDB.

                                                + ///

                                                SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

                                                ///
                                              • ///
                                              • ///

                                                USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation @@ -1562,7 +1572,7 @@ pub mod fluent_builders { /// operation includes a unit attribute.

                                                ///
                                              • ///
                                              • - ///

                                                REGION - The AWS Region.

                                                + ///

                                                REGION - The Amazon Web Services Region.

                                                ///
                                              • ///
                                              • ///

                                                RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                                                @@ -1588,13 +1598,13 @@ pub mod fluent_builders { ///
                                              • ///
                                              • ///

                                                LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                                + /// field contains the Amazon Web Services ID of the member account.

                                                ///
                                              • ///
                                              • ///

                                                PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                                                ///
                                              • ///
                                              • - ///

                                                REGION - The AWS Region.

                                                + ///

                                                REGION - The Amazon Web Services Region.

                                                ///
                                              • ///
                                              • ///

                                                SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                                                @@ -1615,14 +1625,14 @@ pub mod fluent_builders { ///

                                                PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                                                ///
                                              • ///
                                              • - ///

                                                REGION - The AWS Region.

                                                + ///

                                                REGION - The Amazon Web Services Region.

                                                ///
                                              • ///
                                              • ///

                                                INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                                                ///
                                              • ///
                                              • ///

                                                LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                                + /// field contains the Amazon Web Services ID of the member account.

                                                ///
                                              • ///
                                              • ///

                                                SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                                                @@ -1641,31 +1651,33 @@ pub mod fluent_builders { ///
                                              • ///

                                                Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                                + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                                ///

                                                - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                                - ///

                                                The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                                + ///

                                                The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                                ///
                                              • ///
                                              • ///

                                                Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                                + /// DataTransfer). The Expression for that is as + /// follows:

                                                ///

                                                - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                                /// ///

                                                Because each Expression can have only one operator, the @@ -1680,13 +1692,14 @@ pub mod fluent_builders { ///

                                              • ///
                                              /// - ///

                                              For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                              For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                              - ///

                                              For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                              + ///

                                              For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                              ///
                                              pub fn filter(mut self, input: crate::model::Expression) -> Self { self.inner = self.inner.filter(input); @@ -1758,7 +1771,7 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

                                              The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                              + ///

                                              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                              pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -1860,7 +1873,7 @@ pub mod fluent_builders { self.inner = self.inner.set_group_by(input); self } - ///

                                              The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                                              + ///

                                              The granularity of the Amazon Web Services cost data for the reservation. Valid values are MONTHLY and DAILY.

                                              ///

                                              If GroupBy is set, Granularity can't be set. If Granularity isn't set, /// the response object doesn't include Granularity, either MONTHLY or DAILY.

                                              ///

                                              The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                                              @@ -1942,7 +1955,7 @@ pub mod fluent_builders { self.inner = self.inner.set_metrics(input); self } - ///

                                              The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                              + ///

                                              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                              pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -2020,7 +2033,7 @@ pub mod fluent_builders { self.inner = self.inner.set_sort_by(input); self } - ///

                                              The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                              + ///

                                              The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                              pub fn max_results(mut self, input: i32) -> Self { self.inner = self.inner.max_results(input); self @@ -2084,31 +2097,33 @@ pub mod fluent_builders { ///
                                            • ///

                                              Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                              + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                              ///

                                              - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                              - ///

                                              The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                              + ///

                                              The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                              ///
                                            • ///
                                            • ///

                                              Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                              + /// DataTransfer). The Expression for that is as + /// follows:

                                              ///

                                              - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                              /// ///

                                              Because each Expression can have only one operator, the @@ -2123,13 +2138,14 @@ pub mod fluent_builders { ///

                                            • ///
                                            /// - ///

                                            For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                            For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                            - ///

                                            For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                            + ///

                                            For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                            ///
                                            pub fn filter(mut self, input: crate::model::Expression) -> Self { self.inner = self.inner.filter(input); @@ -2151,7 +2167,7 @@ pub mod fluent_builders { self.inner = self.inner.set_account_scope(input); self } - ///

                                            The number of previous days that you want AWS to consider when it calculates your recommendations.

                                            + ///

                                            The number of previous days that you want Amazon Web Services to consider when it calculates your recommendations.

                                            pub fn lookback_period_in_days( mut self, input: crate::model::LookbackPeriodInDays, @@ -2445,7 +2461,7 @@ pub mod fluent_builders { self.inner = self.inner.set_sort_by(input); self } - ///

                                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                            + ///

                                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                            pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -2457,7 +2473,7 @@ pub mod fluent_builders { self.inner = self.inner.set_next_page_token(input); self } - ///

                                            The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                            + ///

                                            The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                            pub fn max_results(mut self, input: i32) -> Self { self.inner = self.inner.max_results(input); self @@ -2503,31 +2519,33 @@ pub mod fluent_builders { ///
                                          • ///

                                            Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                            + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                            ///

                                            - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                            - ///

                                            The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                            + ///

                                            The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                            ///
                                          • ///
                                          • ///

                                            Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                            + /// DataTransfer). The Expression for that is as + /// follows:

                                            ///

                                            - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                            /// ///

                                            Because each Expression can have only one operator, the @@ -2542,13 +2560,14 @@ pub mod fluent_builders { ///

                                          • ///
                                          /// - ///

                                          For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                          For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                          - ///

                                          For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                          + ///

                                          For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                          ///
                                          pub fn filter(mut self, input: crate::model::Expression) -> Self { self.inner = self.inner.filter(input); @@ -3312,31 +3331,33 @@ pub mod fluent_builders { ///
                                        • ///

                                          Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                          + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                          ///

                                          - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                          - ///

                                          The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                          + ///

                                          The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                          ///
                                        • ///
                                        • ///

                                          Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                          + /// DataTransfer). The Expression for that is as + /// follows:

                                          ///

                                          - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                          /// ///

                                          Because each Expression can have only one operator, the @@ -3351,13 +3372,14 @@ pub mod fluent_builders { ///

                                        • ///
                                        /// - ///

                                        For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                        For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                        - ///

                                        For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                        + ///

                                        For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                        ///
                                        pub fn filter(mut self, input: crate::model::Expression) -> Self { self.inner = self.inner.filter(input); @@ -3429,7 +3451,7 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

                                        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_page_token(input); self @@ -3749,9 +3771,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                        - /// A cost anomaly ID. - ///

                                        + ///

                                        A cost anomaly ID.

                                        pub fn anomaly_id(mut self, input: impl Into) -> Self { self.inner = self.inner.anomaly_id(input); self @@ -3804,7 +3824,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                        Cost anomaly monitor Amazon Resource Names (ARNs).

                                        + ///

                                        Cost anomaly monitor Amazon Resource Names (ARNs).

                                        pub fn monitor_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.monitor_arn(input); self @@ -3813,9 +3833,7 @@ pub mod fluent_builders { self.inner = self.inner.set_monitor_arn(input); self } - ///

                                        - /// The new name for the cost anomaly monitor. - ///

                                        + ///

                                        The new name for the cost anomaly monitor.

                                        pub fn monitor_name(mut self, input: impl Into) -> Self { self.inner = self.inner.monitor_name(input); self @@ -3856,7 +3874,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                        A cost anomaly subscription Amazon Resource Name (ARN).

                                        + ///

                                        A cost anomaly subscription Amazon Resource Name (ARN).

                                        pub fn subscription_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.subscription_arn(input); self @@ -3868,9 +3886,7 @@ pub mod fluent_builders { self.inner = self.inner.set_subscription_arn(input); self } - ///

                                        - /// The update to the threshold value for receiving notifications. - ///

                                        + ///

                                        The update to the threshold value for receiving notifications.

                                        pub fn threshold(mut self, input: f64) -> Self { self.inner = self.inner.threshold(input); self @@ -3879,9 +3895,7 @@ pub mod fluent_builders { self.inner = self.inner.set_threshold(input); self } - ///

                                        - /// The update to the frequency value at which subscribers will receive notifications. - ///

                                        + ///

                                        The update to the frequency value that subscribers receive notifications.

                                        pub fn frequency(mut self, input: crate::model::AnomalySubscriptionFrequency) -> Self { self.inner = self.inner.frequency(input); self @@ -3893,9 +3907,7 @@ pub mod fluent_builders { self.inner = self.inner.set_frequency(input); self } - ///

                                        - /// A list of cost anomaly monitor ARNs. - ///

                                        + ///

                                        A list of cost anomaly monitor ARNs.

                                        pub fn monitor_arn_list(mut self, inp: impl Into) -> Self { self.inner = self.inner.monitor_arn_list(inp); self @@ -3907,9 +3919,7 @@ pub mod fluent_builders { self.inner = self.inner.set_monitor_arn_list(input); self } - ///

                                        - /// The update to the subscriber list. - ///

                                        + ///

                                        The update to the subscriber list.

                                        pub fn subscribers(mut self, inp: impl Into) -> Self { self.inner = self.inner.subscribers(inp); self @@ -3921,9 +3931,7 @@ pub mod fluent_builders { self.inner = self.inner.set_subscribers(input); self } - ///

                                        - /// The subscription's new name. - ///

                                        + ///

                                        The new name of the subscription.

                                        pub fn subscription_name(mut self, input: impl Into) -> Self { self.inner = self.inner.subscription_name(input); self @@ -4004,7 +4012,8 @@ pub mod fluent_builders { self.inner = self.inner.set_rules(input); self } - ///

                                        The default value for the cost category.

                                        + ///

                                        The + /// default value for the cost category.

                                        pub fn default_value(mut self, input: impl Into) -> Self { self.inner = self.inner.default_value(input); self @@ -4016,5 +4025,22 @@ pub mod fluent_builders { self.inner = self.inner.set_default_value(input); self } + ///

                                        + /// The split charge rules used to allocate your charges between your Cost Category values. + ///

                                        + pub fn split_charge_rules( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.split_charge_rules(inp); + self + } + pub fn set_split_charge_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_split_charge_rules(input); + self + } } } diff --git a/sdk/costexplorer/src/input.rs b/sdk/costexplorer/src/input.rs index 79ead126511d..66c6f6b79847 100644 --- a/sdk/costexplorer/src/input.rs +++ b/sdk/costexplorer/src/input.rs @@ -9,7 +9,7 @@ pub mod create_anomaly_monitor_input { pub(crate) anomaly_monitor: std::option::Option, } impl Builder { - ///

                                        The cost anomaly detection monitor object that you want to create.

                                        + ///

                                        The cost anomaly detection monitor object that you want to create.

                                        pub fn anomaly_monitor(mut self, input: crate::model::AnomalyMonitor) -> Self { self.anomaly_monitor = Some(input); self @@ -151,9 +151,7 @@ pub mod create_anomaly_subscription_input { pub(crate) anomaly_subscription: std::option::Option, } impl Builder { - ///

                                        - /// The cost anomaly subscription object that you want to create. - ///

                                        + ///

                                        The cost anomaly subscription object that you want to create.

                                        pub fn anomaly_subscription(mut self, input: crate::model::AnomalySubscription) -> Self { self.anomaly_subscription = Some(input); self @@ -297,6 +295,8 @@ pub mod create_cost_category_definition_input { pub(crate) rule_version: std::option::Option, pub(crate) rules: std::option::Option>, pub(crate) default_value: std::option::Option, + pub(crate) split_charge_rules: + std::option::Option>, } impl Builder { ///

                                        The unique name of the Cost Category.

                                        @@ -333,7 +333,8 @@ pub mod create_cost_category_definition_input { self.rules = input; self } - ///

                                        The default value for the cost category.

                                        + ///

                                        The + /// default value for the cost category.

                                        pub fn default_value(mut self, input: impl Into) -> Self { self.default_value = Some(input.into()); self @@ -345,6 +346,22 @@ pub mod create_cost_category_definition_input { self.default_value = input; self } + pub fn split_charge_rules( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.split_charge_rules.unwrap_or_default(); + v.push(input.into()); + self.split_charge_rules = Some(v); + self + } + pub fn set_split_charge_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.split_charge_rules = input; + self + } /// Consumes the builder and constructs a [`CreateCostCategoryDefinitionInput`](crate::input::CreateCostCategoryDefinitionInput) pub fn build( self, @@ -357,6 +374,7 @@ pub mod create_cost_category_definition_input { rule_version: self.rule_version, rules: self.rules, default_value: self.default_value, + split_charge_rules: self.split_charge_rules, }) } } @@ -480,7 +498,7 @@ pub mod delete_anomaly_monitor_input { pub(crate) monitor_arn: std::option::Option, } impl Builder { - ///

                                        The unique identifier of the cost anomaly monitor that you want to delete.

                                        + ///

                                        The unique identifier of the cost anomaly monitor that you want to delete.

                                        pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -619,7 +637,7 @@ pub mod delete_anomaly_subscription_input { pub(crate) subscription_arn: std::option::Option, } impl Builder { - ///

                                        The unique identifier of the cost anomaly subscription that you want to delete.

                                        + ///

                                        The unique identifier of the cost anomaly subscription that you want to delete.

                                        pub fn subscription_arn(mut self, input: impl Into) -> Self { self.subscription_arn = Some(input.into()); self @@ -1121,9 +1139,8 @@ pub mod get_anomalies_input { self.total_impact = input; self } - ///

                                        - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1135,9 +1152,7 @@ pub mod get_anomalies_input { self.next_page_token = input; self } - ///

                                        - /// The number of entries a paginated response contains. - ///

                                        + ///

                                        The number of entries a paginated response contains.

                                        pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self @@ -1294,9 +1309,8 @@ pub mod get_anomaly_monitors_input { self.monitor_arn_list = input; self } - ///

                                        - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1308,9 +1322,7 @@ pub mod get_anomaly_monitors_input { self.next_page_token = input; self } - ///

                                        - /// The number of entries a paginated response contains. - ///

                                        + ///

                                        The number of entries that a paginated response contains.

                                        pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self @@ -1467,9 +1479,7 @@ pub mod get_anomaly_subscriptions_input { self.subscription_arn_list = input; self } - ///

                                        - /// Cost anomaly monitor ARNs. - ///

                                        + ///

                                        Cost anomaly monitor ARNs.

                                        pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -1478,9 +1488,8 @@ pub mod get_anomaly_subscriptions_input { self.monitor_arn = input; self } - ///

                                        - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1492,9 +1501,7 @@ pub mod get_anomaly_subscriptions_input { self.next_page_token = input; self } - ///

                                        - /// The number of entries a paginated response contains. - ///

                                        + ///

                                        The number of entries a paginated response contains.

                                        pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self @@ -1642,8 +1649,11 @@ pub mod get_cost_and_usage_input { pub(crate) next_page_token: std::option::Option, } impl Builder { - ///

                                        Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                                        + ///

                                        Sets the start date and end date for retrieving Amazon Web Services costs. The start date + /// is inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

                                        pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -1655,7 +1665,7 @@ pub mod get_cost_and_usage_input { self.time_period = input; self } - ///

                                        Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, + ///

                                        Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, /// the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

                                        pub fn granularity(mut self, input: crate::model::Granularity) -> Self { self.granularity = Some(input); @@ -1668,7 +1678,7 @@ pub mod get_cost_and_usage_input { self.granularity = input; self } - ///

                                        Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT + ///

                                        Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT /// and get the costs that are associated with that account's usage of that service. You can nest Expression objects /// to define any combination of dimension filters. For more information, see /// Expression.

                                        @@ -1706,7 +1716,7 @@ pub mod get_cost_and_usage_input { self.group_by = input; self } - ///

                                        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1871,7 +1881,7 @@ pub mod get_cost_and_usage_with_resources_input { self.time_period = input; self } - ///

                                        Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If + ///

                                        Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. If /// Granularity isn't set, the response object doesn't include the /// Granularity, MONTHLY, DAILY, or HOURLY.

                                        pub fn granularity(mut self, input: crate::model::Granularity) -> Self { @@ -1926,7 +1936,7 @@ pub mod get_cost_and_usage_with_resources_input { self.group_by = input; self } - ///

                                        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                        + ///

                                        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                        pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -2094,8 +2104,7 @@ pub mod get_cost_categories_input { self.search_string = input; self } - ///

                                        The time period of the request. - ///

                                        + ///

                                        The time period of the request.

                                        pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -2124,31 +2133,33 @@ pub mod get_cost_categories_input { ///
                                      • ///

                                        Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                        + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                        ///

                                        - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                        - ///

                                        The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                        + ///

                                        The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                        ///
                                      • ///
                                      • ///

                                        Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                        + /// DataTransfer). The Expression for that is as + /// follows:

                                        ///

                                        - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                        /// ///

                                        Because each Expression can have only one operator, the @@ -2163,13 +2174,14 @@ pub mod get_cost_categories_input { ///

                                      • ///
                                      /// - ///

                                      For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                      For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                      - ///

                                      For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                      + ///

                                      For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                      ///
                                      pub fn filter(mut self, input: crate::model::Expression) -> Self { self.filter = Some(input); @@ -2203,7 +2215,7 @@ pub mod get_cost_categories_input { self.max_results = input; self } - ///

                                      If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                                      + ///

                                      If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

                                      pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -2698,8 +2710,11 @@ pub mod get_dimension_values_input { self.search_string = input; self } - ///

                                      The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                                      + ///

                                      The start date and end date for retrieving the dimension values. The start date is + /// inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

                                      pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -2742,11 +2757,11 @@ pub mod get_dimension_values_input { ///

                                      INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                                      ///
                                    • ///
                                    • - ///

                                      LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                                      + ///

                                      LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

                                      ///
                                    • ///
                                    • ///

                                      LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                      + /// field contains the Amazon Web Services ID of the member account.

                                      ///
                                    • ///
                                    • ///

                                      OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                                      @@ -2762,7 +2777,7 @@ pub mod get_dimension_values_input { /// Instances and Standard Reserved Instances.

                                      ///
                                    • ///
                                    • - ///

                                      SERVICE - The AWS service such as Amazon DynamoDB.

                                      + ///

                                      SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

                                      ///
                                    • ///
                                    • ///

                                      USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation @@ -2773,7 +2788,7 @@ pub mod get_dimension_values_input { /// operation includes a unit attribute.

                                      ///
                                    • ///
                                    • - ///

                                      REGION - The AWS Region.

                                      + ///

                                      REGION - The Amazon Web Services Region.

                                      ///
                                    • ///
                                    • ///

                                      RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                                      @@ -2799,13 +2814,13 @@ pub mod get_dimension_values_input { ///
                                    • ///
                                    • ///

                                      LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                      + /// field contains the Amazon Web Services ID of the member account.

                                      ///
                                    • ///
                                    • ///

                                      PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                                      ///
                                    • ///
                                    • - ///

                                      REGION - The AWS Region.

                                      + ///

                                      REGION - The Amazon Web Services Region.

                                      ///
                                    • ///
                                    • ///

                                      SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                                      @@ -2826,14 +2841,14 @@ pub mod get_dimension_values_input { ///

                                      PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                                      ///
                                    • ///
                                    • - ///

                                      REGION - The AWS Region.

                                      + ///

                                      REGION - The Amazon Web Services Region.

                                      ///
                                    • ///
                                    • ///

                                      INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                                      ///
                                    • ///
                                    • ///

                                      LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                                      + /// field contains the Amazon Web Services ID of the member account.

                                      ///
                                    • ///
                                    • ///

                                      SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                                      @@ -2852,31 +2867,33 @@ pub mod get_dimension_values_input { ///
                                    • ///

                                      Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                      + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                      ///

                                      - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                      - ///

                                      The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                      + ///

                                      The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                      ///
                                    • ///
                                    • ///

                                      Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                      + /// DataTransfer). The Expression for that is as + /// follows:

                                      ///

                                      - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                      /// ///

                                      Because each Expression can have only one operator, the @@ -2891,13 +2908,14 @@ pub mod get_dimension_values_input { ///

                                    • ///
                                    /// - ///

                                    For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                    For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                    - ///

                                    For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                    + ///

                                    For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                    ///
                                    pub fn filter(mut self, input: crate::model::Expression) -> Self { self.filter = Some(input); @@ -2930,7 +2948,7 @@ pub mod get_dimension_values_input { self.max_results = input; self } - ///

                                    The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                    + ///

                                    The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                    pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -3113,7 +3131,7 @@ pub mod get_reservation_coverage_input { self.group_by = input; self } - ///

                                    The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                                    + ///

                                    The granularity of the Amazon Web Services cost data for the reservation. Valid values are MONTHLY and DAILY.

                                    ///

                                    If GroupBy is set, Granularity can't be set. If Granularity isn't set, /// the response object doesn't include Granularity, either MONTHLY or DAILY.

                                    ///

                                    The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                                    @@ -3195,7 +3213,7 @@ pub mod get_reservation_coverage_input { self.metrics = input; self } - ///

                                    The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                    + ///

                                    The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                    pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -3273,7 +3291,7 @@ pub mod get_reservation_coverage_input { self.sort_by = input; self } - ///

                                    The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                    + ///

                                    The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                    pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self @@ -3451,31 +3469,33 @@ pub mod get_reservation_purchase_recommendation_input { ///
                                  • ///

                                    Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                    + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                    ///

                                    - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                    - ///

                                    The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                    + ///

                                    The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                    ///
                                  • ///
                                  • ///

                                    Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                    + /// DataTransfer). The Expression for that is as + /// follows:

                                    ///

                                    - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                    /// ///

                                    Because each Expression can have only one operator, the @@ -3490,13 +3510,14 @@ pub mod get_reservation_purchase_recommendation_input { ///

                                  • ///
                                  /// - ///

                                  For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                  For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                  - ///

                                  For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                  + ///

                                  For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                  ///
                                  pub fn filter(mut self, input: crate::model::Expression) -> Self { self.filter = Some(input); @@ -3518,7 +3539,7 @@ pub mod get_reservation_purchase_recommendation_input { self.account_scope = input; self } - ///

                                  The number of previous days that you want AWS to consider when it calculates your recommendations.

                                  + ///

                                  The number of previous days that you want Amazon Web Services to consider when it calculates your recommendations.

                                  pub fn lookback_period_in_days( mut self, input: crate::model::LookbackPeriodInDays, @@ -3931,7 +3952,7 @@ pub mod get_reservation_utilization_input { self.sort_by = input; self } - ///

                                  The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                                  + ///

                                  The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                                  pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -3943,7 +3964,7 @@ pub mod get_reservation_utilization_input { self.next_page_token = input; self } - ///

                                  The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                  + ///

                                  The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                                  pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self @@ -4099,31 +4120,33 @@ pub mod get_rightsizing_recommendation_input { ///
                                • ///

                                  Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                  + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                  ///

                                  - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                  - ///

                                  The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                  + ///

                                  The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                  ///
                                • ///
                                • ///

                                  Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                  + /// DataTransfer). The Expression for that is as + /// follows:

                                  ///

                                  - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                  /// ///

                                  Because each Expression can have only one operator, the @@ -4138,13 +4161,14 @@ pub mod get_rightsizing_recommendation_input { ///

                                • ///
                                /// - ///

                                For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                                For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                                - ///

                                For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                                + ///

                                For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                                ///
                                pub fn filter(mut self, input: crate::model::Expression) -> Self { self.filter = Some(input); @@ -5466,31 +5490,33 @@ pub mod get_tags_input { ///
                              • ///

                                Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                                + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                                ///

                                - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                                - ///

                                The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                                + ///

                                The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                                ///
                              • ///
                              • ///

                                Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                                + /// DataTransfer). The Expression for that is as + /// follows:

                                ///

                                - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                                /// ///

                                Because each Expression can have only one operator, the @@ -5505,13 +5531,14 @@ pub mod get_tags_input { ///

                              • ///
                              /// - ///

                              For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                              For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                              - ///

                              For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                              + ///

                              For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                              ///
                              pub fn filter(mut self, input: crate::model::Expression) -> Self { self.filter = Some(input); @@ -5544,7 +5571,7 @@ pub mod get_tags_input { self.max_results = input; self } - ///

                              The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                              + ///

                              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                              pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -6172,9 +6199,7 @@ pub mod provide_anomaly_feedback_input { pub(crate) feedback: std::option::Option, } impl Builder { - ///

                              - /// A cost anomaly ID. - ///

                              + ///

                              A cost anomaly ID.

                              pub fn anomaly_id(mut self, input: impl Into) -> Self { self.anomaly_id = Some(input.into()); self @@ -6327,7 +6352,7 @@ pub mod update_anomaly_monitor_input { pub(crate) monitor_name: std::option::Option, } impl Builder { - ///

                              Cost anomaly monitor Amazon Resource Names (ARNs).

                              + ///

                              Cost anomaly monitor Amazon Resource Names (ARNs).

                              pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -6336,9 +6361,7 @@ pub mod update_anomaly_monitor_input { self.monitor_arn = input; self } - ///

                              - /// The new name for the cost anomaly monitor. - ///

                              + ///

                              The new name for the cost anomaly monitor.

                              pub fn monitor_name(mut self, input: impl Into) -> Self { self.monitor_name = Some(input.into()); self @@ -6483,7 +6506,7 @@ pub mod update_anomaly_subscription_input { pub(crate) subscription_name: std::option::Option, } impl Builder { - ///

                              A cost anomaly subscription Amazon Resource Name (ARN).

                              + ///

                              A cost anomaly subscription Amazon Resource Name (ARN).

                              pub fn subscription_arn(mut self, input: impl Into) -> Self { self.subscription_arn = Some(input.into()); self @@ -6495,9 +6518,7 @@ pub mod update_anomaly_subscription_input { self.subscription_arn = input; self } - ///

                              - /// The update to the threshold value for receiving notifications. - ///

                              + ///

                              The update to the threshold value for receiving notifications.

                              pub fn threshold(mut self, input: f64) -> Self { self.threshold = Some(input); self @@ -6506,9 +6527,7 @@ pub mod update_anomaly_subscription_input { self.threshold = input; self } - ///

                              - /// The update to the frequency value at which subscribers will receive notifications. - ///

                              + ///

                              The update to the frequency value that subscribers receive notifications.

                              pub fn frequency(mut self, input: crate::model::AnomalySubscriptionFrequency) -> Self { self.frequency = Some(input); self @@ -6546,9 +6565,7 @@ pub mod update_anomaly_subscription_input { self.subscribers = input; self } - ///

                              - /// The subscription's new name. - ///

                              + ///

                              The new name of the subscription.

                              pub fn subscription_name(mut self, input: impl Into) -> Self { self.subscription_name = Some(input.into()); self @@ -6697,6 +6714,8 @@ pub mod update_cost_category_definition_input { pub(crate) rule_version: std::option::Option, pub(crate) rules: std::option::Option>, pub(crate) default_value: std::option::Option, + pub(crate) split_charge_rules: + std::option::Option>, } impl Builder { ///

                              The unique identifier for your Cost Category.

                              @@ -6736,7 +6755,8 @@ pub mod update_cost_category_definition_input { self.rules = input; self } - ///

                              The default value for the cost category.

                              + ///

                              The + /// default value for the cost category.

                              pub fn default_value(mut self, input: impl Into) -> Self { self.default_value = Some(input.into()); self @@ -6748,6 +6768,22 @@ pub mod update_cost_category_definition_input { self.default_value = input; self } + pub fn split_charge_rules( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.split_charge_rules.unwrap_or_default(); + v.push(input.into()); + self.split_charge_rules = Some(v); + self + } + pub fn set_split_charge_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.split_charge_rules = input; + self + } /// Consumes the builder and constructs a [`UpdateCostCategoryDefinitionInput`](crate::input::UpdateCostCategoryDefinitionInput) pub fn build( self, @@ -6760,6 +6796,7 @@ pub mod update_cost_category_definition_input { rule_version: self.rule_version, rules: self.rules, default_value: self.default_value, + split_charge_rules: self.split_charge_rules, }) } } @@ -6884,8 +6921,14 @@ pub struct UpdateCostCategoryDefinitionInput { ///

                              The Expression object used to categorize costs. For more information, see /// CostCategoryRule .

                              pub rules: std::option::Option>, - ///

                              The default value for the cost category.

                              + ///

                              The + /// default value for the cost category.

                              pub default_value: std::option::Option, + ///

                              + /// The split charge rules used to allocate your charges between your Cost Category values. + ///

                              + pub split_charge_rules: + std::option::Option>, } impl std::fmt::Debug for UpdateCostCategoryDefinitionInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -6894,6 +6937,7 @@ impl std::fmt::Debug for UpdateCostCategoryDefinitionInput { formatter.field("rule_version", &self.rule_version); formatter.field("rules", &self.rules); formatter.field("default_value", &self.default_value); + formatter.field("split_charge_rules", &self.split_charge_rules); formatter.finish() } } @@ -6901,27 +6945,17 @@ impl std::fmt::Debug for UpdateCostCategoryDefinitionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAnomalySubscriptionInput { - ///

                              A cost anomaly subscription Amazon Resource Name (ARN).

                              + ///

                              A cost anomaly subscription Amazon Resource Name (ARN).

                              pub subscription_arn: std::option::Option, - ///

                              - /// The update to the threshold value for receiving notifications. - ///

                              + ///

                              The update to the threshold value for receiving notifications.

                              pub threshold: std::option::Option, - ///

                              - /// The update to the frequency value at which subscribers will receive notifications. - ///

                              + ///

                              The update to the frequency value that subscribers receive notifications.

                              pub frequency: std::option::Option, - ///

                              - /// A list of cost anomaly monitor ARNs. - ///

                              + ///

                              A list of cost anomaly monitor ARNs.

                              pub monitor_arn_list: std::option::Option>, - ///

                              - /// The update to the subscriber list. - ///

                              + ///

                              The update to the subscriber list.

                              pub subscribers: std::option::Option>, - ///

                              - /// The subscription's new name. - ///

                              + ///

                              The new name of the subscription.

                              pub subscription_name: std::option::Option, } impl std::fmt::Debug for UpdateAnomalySubscriptionInput { @@ -6940,11 +6974,9 @@ impl std::fmt::Debug for UpdateAnomalySubscriptionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAnomalyMonitorInput { - ///

                              Cost anomaly monitor Amazon Resource Names (ARNs).

                              + ///

                              Cost anomaly monitor Amazon Resource Names (ARNs).

                              pub monitor_arn: std::option::Option, - ///

                              - /// The new name for the cost anomaly monitor. - ///

                              + ///

                              The new name for the cost anomaly monitor.

                              pub monitor_name: std::option::Option, } impl std::fmt::Debug for UpdateAnomalyMonitorInput { @@ -6959,9 +6991,7 @@ impl std::fmt::Debug for UpdateAnomalyMonitorInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ProvideAnomalyFeedbackInput { - ///

                              - /// A cost anomaly ID. - ///

                              + ///

                              A cost anomaly ID.

                              pub anomaly_id: std::option::Option, ///

                              Describes whether the cost anomaly was a planned activity or you considered it an anomaly.

                              pub feedback: std::option::Option, @@ -7170,31 +7200,33 @@ pub struct GetTagsInput { ///
                            • ///

                              Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                              + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                              ///

                              - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                              - ///

                              The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                              + ///

                              The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                              ///
                            • ///
                            • ///

                              Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                              + /// DataTransfer). The Expression for that is as + /// follows:

                              ///

                              - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                              /// ///

                              Because each Expression can have only one operator, the @@ -7209,13 +7241,14 @@ pub struct GetTagsInput { ///

                            • ///
                            /// - ///

                            For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                            For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                            - ///

                            For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                            + ///

                            For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                            ///
                            pub filter: std::option::Option, ///

                            The value by which you want to sort the data.

                            @@ -7263,7 +7296,7 @@ pub struct GetTagsInput { ///

                            This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                            ///

                            For GetTags, MaxResults has an upper limit of 1000.

                            pub max_results: i32, - ///

                            The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                            + ///

                            The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                            pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetTagsInput { @@ -7624,31 +7657,33 @@ pub struct GetRightsizingRecommendationInput { ///
                          • ///

                            Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                            + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                            ///

                            - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                            - ///

                            The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                            + ///

                            The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                            ///
                          • ///
                          • ///

                            Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                            + /// DataTransfer). The Expression for that is as + /// follows:

                            ///

                            - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                            /// ///

                            Because each Expression can have only one operator, the @@ -7663,13 +7698,14 @@ pub struct GetRightsizingRecommendationInput { ///

                          • ///
                          /// - ///

                          For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                          For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                          - ///

                          For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                          + ///

                          For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                          ///
                          pub filter: std::option::Option, ///

                          Enables you to customize recommendations across two attributes. You can choose to view @@ -7844,9 +7880,9 @@ pub struct GetReservationUtilizationInput { ///

                        ///

                        Supported values for SortOrder are ASCENDING or DESCENDING.

                        pub sort_by: std::option::Option, - ///

                        The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                        + ///

                        The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                        pub next_page_token: std::option::Option, - ///

                        The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                        + ///

                        The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                        pub max_results: std::option::Option, } impl std::fmt::Debug for GetReservationUtilizationInput { @@ -7875,31 +7911,33 @@ pub struct GetReservationPurchaseRecommendationInput { ///
                      • ///

                        Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                        + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                        ///

                        - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                        - ///

                        The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                        + ///

                        The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                        ///
                      • ///
                      • ///

                        Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                        + /// DataTransfer). The Expression for that is as + /// follows:

                        ///

                        - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                        /// ///

                        Because each Expression can have only one operator, the @@ -7914,18 +7952,19 @@ pub struct GetReservationPurchaseRecommendationInput { ///

                      • ///
                      /// - ///

                      For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                      For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                      - ///

                      For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                      + ///

                      For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                      ///
                      pub filter: std::option::Option, ///

                      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

                      pub account_scope: std::option::Option, - ///

                      The number of previous days that you want AWS to consider when it calculates your recommendations.

                      + ///

                      The number of previous days that you want Amazon Web Services to consider when it calculates your recommendations.

                      pub lookback_period_in_days: std::option::Option, ///

                      The reservation term that you want recommendations for.

                      pub term_in_years: std::option::Option, @@ -7997,7 +8036,7 @@ pub struct GetReservationCoverageInput { ///
                    • ///
                    pub group_by: std::option::Option>, - ///

                    The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

                    + ///

                    The granularity of the Amazon Web Services cost data for the reservation. Valid values are MONTHLY and DAILY.

                    ///

                    If GroupBy is set, Granularity can't be set. If Granularity isn't set, /// the response object doesn't include Granularity, either MONTHLY or DAILY.

                    ///

                    The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

                    @@ -8052,7 +8091,7 @@ pub struct GetReservationCoverageInput { ///

                    The measurement that you want your reservation coverage reported in.

                    ///

                    Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

                    pub metrics: std::option::Option>, - ///

                    The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                    + ///

                    The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                    pub next_page_token: std::option::Option, ///

                    The value by which you want to sort the data.

                    ///

                    The following values are supported for Key:

                    @@ -8110,7 +8149,7 @@ pub struct GetReservationCoverageInput { ///
                  ///

                  Supported values for SortOrder are ASCENDING or DESCENDING.

                  pub sort_by: std::option::Option, - ///

                  The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                  + ///

                  The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon Web Services provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

                  pub max_results: std::option::Option, } impl std::fmt::Debug for GetReservationCoverageInput { @@ -8133,8 +8172,11 @@ impl std::fmt::Debug for GetReservationCoverageInput { pub struct GetDimensionValuesInput { ///

                  The value that you want to search the filter values for.

                  pub search_string: std::option::Option, - ///

                  The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

                  + ///

                  The start date and end date for retrieving the dimension values. The start date is + /// inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

                  pub time_period: std::option::Option, ///

                  The name of the dimension. Each Dimension is available for a different Context. /// For more information, see Context. @@ -8157,11 +8199,11 @@ pub struct GetDimensionValuesInput { ///

                  INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

                  ///
                • ///
                • - ///

                  LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

                  + ///

                  LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

                  ///
                • ///
                • ///

                  LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                  + /// field contains the Amazon Web Services ID of the member account.

                  ///
                • ///
                • ///

                  OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

                  @@ -8177,7 +8219,7 @@ pub struct GetDimensionValuesInput { /// Instances and Standard Reserved Instances.

                  ///
                • ///
                • - ///

                  SERVICE - The AWS service such as Amazon DynamoDB.

                  + ///

                  SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

                  ///
                • ///
                • ///

                  USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation @@ -8188,7 +8230,7 @@ pub struct GetDimensionValuesInput { /// operation includes a unit attribute.

                  ///
                • ///
                • - ///

                  REGION - The AWS Region.

                  + ///

                  REGION - The Amazon Web Services Region.

                  ///
                • ///
                • ///

                  RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

                  @@ -8214,13 +8256,13 @@ pub struct GetDimensionValuesInput { ///
                • ///
                • ///

                  LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                  + /// field contains the Amazon Web Services ID of the member account.

                  ///
                • ///
                • ///

                  PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

                  ///
                • ///
                • - ///

                  REGION - The AWS Region.

                  + ///

                  REGION - The Amazon Web Services Region.

                  ///
                • ///
                • ///

                  SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

                  @@ -8241,14 +8283,14 @@ pub struct GetDimensionValuesInput { ///

                  PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

                  ///
                • ///
                • - ///

                  REGION - The AWS Region.

                  + ///

                  REGION - The Amazon Web Services Region.

                  ///
                • ///
                • ///

                  INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

                  ///
                • ///
                • ///

                  LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

                  + /// field contains the Amazon Web Services ID of the member account.

                  ///
                • ///
                • ///

                  SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

                  @@ -8260,31 +8302,33 @@ pub struct GetDimensionValuesInput { ///
                • ///

                  Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                  + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                  ///

                  - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                  - ///

                  The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                  + ///

                  The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                  ///
                • ///
                • ///

                  Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                  + /// DataTransfer). The Expression for that is as + /// follows:

                  ///

                  - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                  /// ///

                  Because each Expression can have only one operator, the @@ -8299,13 +8343,14 @@ pub struct GetDimensionValuesInput { ///

                • ///
                /// - ///

                For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

                For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

                - ///

                For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

                + ///

                For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

                ///
                pub filter: std::option::Option, ///

                The value by which you want to sort the data.

                @@ -8353,7 +8398,7 @@ pub struct GetDimensionValuesInput { ///

                This field is only used when SortBy is provided in the request. The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

                ///

                For GetDimensionValues, MaxResults has an upper limit of 1000.

                pub max_results: i32, - ///

                The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

                + ///

                The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

                pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetDimensionValuesInput { @@ -8543,8 +8588,7 @@ pub struct GetCostCategoriesInput { ///

                The value that you want to search the filter values for.

                ///

                If you do not specify a CostCategoryName, SearchString will be used to filter Cost Category names that match the SearchString pattern. If you do specifiy a CostCategoryName, SearchString will be used to filter Cost Category values that match the SearchString pattern.

                pub search_string: std::option::Option, - ///

                The time period of the request. - ///

                + ///

                The time period of the request.

                pub time_period: std::option::Option, ///

                The unique name of the Cost Category.

                pub cost_category_name: std::option::Option, @@ -8553,31 +8597,33 @@ pub struct GetCostCategoriesInput { ///
              • ///

                Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

                + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

                ///

                - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

                - ///

                The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

                + ///

                The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

                ///
              • ///
              • ///

                Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

                + /// DataTransfer). The Expression for that is as + /// follows:

                ///

                - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

                /// ///

                Because each Expression can have only one operator, the @@ -8592,13 +8638,14 @@ pub struct GetCostCategoriesInput { ///

              • ///
              /// - ///

              For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

              For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

              - ///

              For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

              + ///

              For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

              ///
              pub filter: std::option::Option, ///

              The value by which you want to sort the data.

              @@ -8647,7 +8694,7 @@ pub struct GetCostCategoriesInput { ///

              The maximum number of objects that to be returned for this request. If MaxResults is not specified with SortBy, the request will return 1000 results as the default value for this parameter.

              ///

              For GetCostCategories, MaxResults has an upper limit of 1000.

              pub max_results: i32, - ///

              If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

              + ///

              If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the prior call in your next request.

              pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetCostCategoriesInput { @@ -8670,7 +8717,7 @@ pub struct GetCostAndUsageWithResourcesInput { ///

              Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

              pub time_period: std::option::Option, - ///

              Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If + ///

              Sets the Amazon Web Services cost granularity to MONTHLY, DAILY, or HOURLY. If /// Granularity isn't set, the response object doesn't include the /// Granularity, MONTHLY, DAILY, or HOURLY.

              pub granularity: std::option::Option, @@ -8702,7 +8749,7 @@ pub struct GetCostAndUsageWithResourcesInput { pub metrics: std::option::Option>, ///

              You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

              pub group_by: std::option::Option>, - ///

              The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

              + ///

              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

              pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetCostAndUsageWithResourcesInput { @@ -8721,13 +8768,16 @@ impl std::fmt::Debug for GetCostAndUsageWithResourcesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCostAndUsageInput { - ///

              Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is - /// retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

              + ///

              Sets the start date and end date for retrieving Amazon Web Services costs. The start date + /// is inclusive, but the end date is exclusive. For example, if start is + /// 2017-01-01 and end is 2017-05-01, then the cost and + /// usage data is retrieved from 2017-01-01 up to and including + /// 2017-04-30 but not including 2017-05-01.

              pub time_period: std::option::Option, - ///

              Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, + ///

              Sets the Amazon Web Services cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, /// the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

              pub granularity: std::option::Option, - ///

              Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT + ///

              Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT /// and get the costs that are associated with that account's usage of that service. You can nest Expression objects /// to define any combination of dimension filters. For more information, see /// Expression.

              @@ -8738,23 +8788,24 @@ pub struct GetCostAndUsageInput { ///

              Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, /// NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

              /// - ///

              If you return the UsageQuantity metric, the service aggregates all usage numbers without - /// taking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, - /// the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units - /// (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or - /// UsageTypeGroups.

              + ///

              If you return the UsageQuantity metric, the service aggregates all usage + /// numbers without taking into account the units. For example, if you aggregate + /// usageQuantity across all of Amazon EC2, the results aren't meaningful because + /// Amazon EC2 compute hours and data transfer are measured in different units (for example, + /// hours and GB). To get more meaningful UsageQuantity metrics, filter by + /// UsageType or UsageTypeGroups.

              ///
              ///

              /// Metrics is required for GetCostAndUsage requests.

              pub metrics: std::option::Option>, - ///

              You can group AWS costs using up to two different groups, either dimensions, tag keys, + ///

              You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys, /// cost categories, or any two group by types.

              - ///

              When you group by tag key, you get all tag values, including empty strings.

              - ///

              Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, - /// OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, + ///

              Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, + /// OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, /// TENANCY, RECORD_TYPE, and USAGE_TYPE.

              + ///

              When you group by the TAG type and include a valid tag key, you get all tag values, including empty strings.

              pub group_by: std::option::Option>, - ///

              The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

              + ///

              The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

              pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetCostAndUsageInput { @@ -8773,21 +8824,14 @@ impl std::fmt::Debug for GetCostAndUsageInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAnomalySubscriptionsInput { - ///

              - /// A list of cost anomaly subscription ARNs. - ///

              + ///

              A list of cost anomaly subscription ARNs.

              pub subscription_arn_list: std::option::Option>, - ///

              - /// Cost anomaly monitor ARNs. - ///

              + ///

              Cost anomaly monitor ARNs.

              pub monitor_arn: std::option::Option, - ///

              - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

              + ///

              The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

              pub next_page_token: std::option::Option, - ///

              - /// The number of entries a paginated response contains. - ///

              + ///

              The number of entries a paginated response contains.

              pub max_results: std::option::Option, } impl std::fmt::Debug for GetAnomalySubscriptionsInput { @@ -8804,17 +8848,12 @@ impl std::fmt::Debug for GetAnomalySubscriptionsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAnomalyMonitorsInput { - ///

              - /// A list of cost anomaly monitor ARNs. - ///

              + ///

              A list of cost anomaly monitor ARNs.

              pub monitor_arn_list: std::option::Option>, - ///

              - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

              + ///

              The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

              pub next_page_token: std::option::Option, - ///

              - /// The number of entries a paginated response contains. - ///

              + ///

              The number of entries that a paginated response contains.

              pub max_results: std::option::Option, } impl std::fmt::Debug for GetAnomalyMonitorsInput { @@ -8842,13 +8881,10 @@ pub struct GetAnomaliesInput { /// can filter anomalies GREATER_THAN 200.00 to retrieve anomalies, with an estimated /// dollar impact greater than 200.

              pub total_impact: std::option::Option, - ///

              - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

              + ///

              The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

              pub next_page_token: std::option::Option, - ///

              - /// The number of entries a paginated response contains. - ///

              + ///

              The number of entries a paginated response contains.

              pub max_results: std::option::Option, } impl std::fmt::Debug for GetAnomaliesInput { @@ -8904,7 +8940,7 @@ impl std::fmt::Debug for DeleteCostCategoryDefinitionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteAnomalySubscriptionInput { - ///

              The unique identifier of the cost anomaly subscription that you want to delete.

              + ///

              The unique identifier of the cost anomaly subscription that you want to delete.

              pub subscription_arn: std::option::Option, } impl std::fmt::Debug for DeleteAnomalySubscriptionInput { @@ -8918,7 +8954,7 @@ impl std::fmt::Debug for DeleteAnomalySubscriptionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteAnomalyMonitorInput { - ///

              The unique identifier of the cost anomaly monitor that you want to delete.

              + ///

              The unique identifier of the cost anomaly monitor that you want to delete.

              pub monitor_arn: std::option::Option, } impl std::fmt::Debug for DeleteAnomalyMonitorInput { @@ -8939,8 +8975,14 @@ pub struct CreateCostCategoryDefinitionInput { ///

              The Cost Category rules used to categorize costs. For more information, see /// CostCategoryRule.

              pub rules: std::option::Option>, - ///

              The default value for the cost category.

              + ///

              The + /// default value for the cost category.

              pub default_value: std::option::Option, + ///

              + /// The split charge rules used to allocate your charges between your Cost Category values. + ///

              + pub split_charge_rules: + std::option::Option>, } impl std::fmt::Debug for CreateCostCategoryDefinitionInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -8949,6 +8991,7 @@ impl std::fmt::Debug for CreateCostCategoryDefinitionInput { formatter.field("rule_version", &self.rule_version); formatter.field("rules", &self.rules); formatter.field("default_value", &self.default_value); + formatter.field("split_charge_rules", &self.split_charge_rules); formatter.finish() } } @@ -8956,9 +8999,7 @@ impl std::fmt::Debug for CreateCostCategoryDefinitionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAnomalySubscriptionInput { - ///

              - /// The cost anomaly subscription object that you want to create. - ///

              + ///

              The cost anomaly subscription object that you want to create.

              pub anomaly_subscription: std::option::Option, } impl std::fmt::Debug for CreateAnomalySubscriptionInput { @@ -8972,7 +9013,7 @@ impl std::fmt::Debug for CreateAnomalySubscriptionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAnomalyMonitorInput { - ///

              The cost anomaly detection monitor object that you want to create.

              + ///

              The cost anomaly detection monitor object that you want to create.

              pub anomaly_monitor: std::option::Option, } impl std::fmt::Debug for CreateAnomalyMonitorInput { diff --git a/sdk/costexplorer/src/json_deser.rs b/sdk/costexplorer/src/json_deser.rs index c20fc2a2b3e6..9f0a7f444fdd 100644 --- a/sdk/costexplorer/src/json_deser.rs +++ b/sdk/costexplorer/src/json_deser.rs @@ -1844,6 +1844,11 @@ where crate::json_deser::deser_list_cost_category_rules_list(tokens)?, ); } + "SplitChargeRules" => { + builder = builder.set_split_charge_rules( + crate::json_deser::deser_list_cost_category_split_charge_rules_list(tokens)? + ); + } "ProcessingStatus" => { builder = builder.set_processing_status( crate::json_deser::deser_list_cost_category_processing_status_list(tokens)? @@ -3432,6 +3437,47 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_cost_category_split_charge_rules_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_cost_category_split_charge_rule( + tokens, + )?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_cost_category_processing_status_list<'a, I>( tokens: &mut std::iter::Peekable, @@ -5224,6 +5270,76 @@ where } } +pub fn deser_structure_cost_category_split_charge_rule<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::CostCategorySplitChargeRule::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Source" => { + builder = builder.set_source( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Targets" => { + builder = builder.set_targets( + crate::json_deser::deser_list_cost_category_split_charge_rule_targets_list(tokens)? + ); + } + "Method" => { + builder = builder.set_method( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::CostCategorySplitChargeMethod::from( + u.as_ref(), + ) + }) + }) + .transpose()?, + ); + } + "Parameters" => { + builder = builder.set_parameters( + crate::json_deser::deser_list_cost_category_split_charge_rule_parameters_list(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_cost_category_processing_status<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -6487,6 +6603,84 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_cost_category_split_charge_rule_targets_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_cost_category_split_charge_rule_parameters_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_cost_category_split_charge_rule_parameter(tokens)? + ; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + pub fn deser_structure_root_cause<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -7459,6 +7653,59 @@ where } } +pub fn deser_structure_cost_category_split_charge_rule_parameter<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::CostCategorySplitChargeRuleParameter::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s| + s.to_unescaped().map(|u| + crate::model::CostCategorySplitChargeRuleParameterType::from(u.as_ref()) + ) + ).transpose()? + ); + } + "Values" => { + builder = builder.set_values( + crate::json_deser::deser_list_cost_category_split_charge_rule_parameter_values_list(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_values<'a, I>( tokens: &mut std::iter::Peekable, @@ -7929,6 +8176,44 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_cost_category_split_charge_rule_parameter_values_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + pub fn deser_structure_ec2_instance_details<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> diff --git a/sdk/costexplorer/src/json_ser.rs b/sdk/costexplorer/src/json_ser.rs index fac54f453327..d190696b5d02 100644 --- a/sdk/costexplorer/src/json_ser.rs +++ b/sdk/costexplorer/src/json_ser.rs @@ -45,14 +45,28 @@ pub fn serialize_structure_create_cost_category_definition_input( if let Some(var_11) = &input.default_value { object.key("DefaultValue").string(var_11); } + if let Some(var_12) = &input.split_charge_rules { + let mut array_13 = object.key("SplitChargeRules").start_array(); + for item_14 in var_12 { + { + let mut object_15 = array_13.value().start_object(); + crate::json_ser::serialize_structure_cost_category_split_charge_rule( + &mut object_15, + item_14, + ); + object_15.finish(); + } + } + array_13.finish(); + } } pub fn serialize_structure_delete_anomaly_monitor_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAnomalyMonitorInput, ) { - if let Some(var_12) = &input.monitor_arn { - object.key("MonitorArn").string(var_12); + if let Some(var_16) = &input.monitor_arn { + object.key("MonitorArn").string(var_16); } } @@ -60,8 +74,8 @@ pub fn serialize_structure_delete_anomaly_subscription_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAnomalySubscriptionInput, ) { - if let Some(var_13) = &input.subscription_arn { - object.key("SubscriptionArn").string(var_13); + if let Some(var_17) = &input.subscription_arn { + object.key("SubscriptionArn").string(var_17); } } @@ -69,8 +83,8 @@ pub fn serialize_structure_delete_cost_category_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteCostCategoryDefinitionInput, ) { - if let Some(var_14) = &input.cost_category_arn { - object.key("CostCategoryArn").string(var_14); + if let Some(var_18) = &input.cost_category_arn { + object.key("CostCategoryArn").string(var_18); } } @@ -78,11 +92,11 @@ pub fn serialize_structure_describe_cost_category_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeCostCategoryDefinitionInput, ) { - if let Some(var_15) = &input.cost_category_arn { - object.key("CostCategoryArn").string(var_15); + if let Some(var_19) = &input.cost_category_arn { + object.key("CostCategoryArn").string(var_19); } - if let Some(var_16) = &input.effective_on { - object.key("EffectiveOn").string(var_16); + if let Some(var_20) = &input.effective_on { + object.key("EffectiveOn").string(var_20); } } @@ -90,29 +104,29 @@ pub fn serialize_structure_get_anomalies_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetAnomaliesInput, ) { - if let Some(var_17) = &input.monitor_arn { - object.key("MonitorArn").string(var_17); + if let Some(var_21) = &input.monitor_arn { + object.key("MonitorArn").string(var_21); } - if let Some(var_18) = &input.date_interval { - let mut object_19 = object.key("DateInterval").start_object(); - crate::json_ser::serialize_structure_anomaly_date_interval(&mut object_19, var_18); - object_19.finish(); + if let Some(var_22) = &input.date_interval { + let mut object_23 = object.key("DateInterval").start_object(); + crate::json_ser::serialize_structure_anomaly_date_interval(&mut object_23, var_22); + object_23.finish(); } - if let Some(var_20) = &input.feedback { - object.key("Feedback").string(var_20.as_str()); + if let Some(var_24) = &input.feedback { + object.key("Feedback").string(var_24.as_str()); } - if let Some(var_21) = &input.total_impact { - let mut object_22 = object.key("TotalImpact").start_object(); - crate::json_ser::serialize_structure_total_impact_filter(&mut object_22, var_21); - object_22.finish(); + if let Some(var_25) = &input.total_impact { + let mut object_26 = object.key("TotalImpact").start_object(); + crate::json_ser::serialize_structure_total_impact_filter(&mut object_26, var_25); + object_26.finish(); } - if let Some(var_23) = &input.next_page_token { - object.key("NextPageToken").string(var_23); + if let Some(var_27) = &input.next_page_token { + object.key("NextPageToken").string(var_27); } - if let Some(var_24) = &input.max_results { + if let Some(var_28) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_24).into()), + smithy_types::Number::NegInt((*var_28).into()), ); } } @@ -121,22 +135,22 @@ pub fn serialize_structure_get_anomaly_monitors_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetAnomalyMonitorsInput, ) { - if let Some(var_25) = &input.monitor_arn_list { - let mut array_26 = object.key("MonitorArnList").start_array(); - for item_27 in var_25 { + if let Some(var_29) = &input.monitor_arn_list { + let mut array_30 = object.key("MonitorArnList").start_array(); + for item_31 in var_29 { { - array_26.value().string(item_27); + array_30.value().string(item_31); } } - array_26.finish(); + array_30.finish(); } - if let Some(var_28) = &input.next_page_token { - object.key("NextPageToken").string(var_28); + if let Some(var_32) = &input.next_page_token { + object.key("NextPageToken").string(var_32); } - if let Some(var_29) = &input.max_results { + if let Some(var_33) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_29).into()), + smithy_types::Number::NegInt((*var_33).into()), ); } } @@ -145,25 +159,25 @@ pub fn serialize_structure_get_anomaly_subscriptions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetAnomalySubscriptionsInput, ) { - if let Some(var_30) = &input.subscription_arn_list { - let mut array_31 = object.key("SubscriptionArnList").start_array(); - for item_32 in var_30 { + if let Some(var_34) = &input.subscription_arn_list { + let mut array_35 = object.key("SubscriptionArnList").start_array(); + for item_36 in var_34 { { - array_31.value().string(item_32); + array_35.value().string(item_36); } } - array_31.finish(); + array_35.finish(); } - if let Some(var_33) = &input.monitor_arn { - object.key("MonitorArn").string(var_33); + if let Some(var_37) = &input.monitor_arn { + object.key("MonitorArn").string(var_37); } - if let Some(var_34) = &input.next_page_token { - object.key("NextPageToken").string(var_34); + if let Some(var_38) = &input.next_page_token { + object.key("NextPageToken").string(var_38); } - if let Some(var_35) = &input.max_results { + if let Some(var_39) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_35).into()), + smithy_types::Number::NegInt((*var_39).into()), ); } } @@ -172,41 +186,41 @@ pub fn serialize_structure_get_cost_and_usage_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetCostAndUsageInput, ) { - if let Some(var_36) = &input.time_period { - let mut object_37 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_37, var_36); - object_37.finish(); - } - if let Some(var_38) = &input.granularity { - object.key("Granularity").string(var_38.as_str()); - } - if let Some(var_39) = &input.filter { - let mut object_40 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_40, var_39); - object_40.finish(); - } - if let Some(var_41) = &input.metrics { - let mut array_42 = object.key("Metrics").start_array(); - for item_43 in var_41 { + if let Some(var_40) = &input.time_period { + let mut object_41 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_41, var_40); + object_41.finish(); + } + if let Some(var_42) = &input.granularity { + object.key("Granularity").string(var_42.as_str()); + } + if let Some(var_43) = &input.filter { + let mut object_44 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_44, var_43); + object_44.finish(); + } + if let Some(var_45) = &input.metrics { + let mut array_46 = object.key("Metrics").start_array(); + for item_47 in var_45 { { - array_42.value().string(item_43); + array_46.value().string(item_47); } } - array_42.finish(); + array_46.finish(); } - if let Some(var_44) = &input.group_by { - let mut array_45 = object.key("GroupBy").start_array(); - for item_46 in var_44 { + if let Some(var_48) = &input.group_by { + let mut array_49 = object.key("GroupBy").start_array(); + for item_50 in var_48 { { - let mut object_47 = array_45.value().start_object(); - crate::json_ser::serialize_structure_group_definition(&mut object_47, item_46); - object_47.finish(); + let mut object_51 = array_49.value().start_object(); + crate::json_ser::serialize_structure_group_definition(&mut object_51, item_50); + object_51.finish(); } } - array_45.finish(); + array_49.finish(); } - if let Some(var_48) = &input.next_page_token { - object.key("NextPageToken").string(var_48); + if let Some(var_52) = &input.next_page_token { + object.key("NextPageToken").string(var_52); } } @@ -214,41 +228,41 @@ pub fn serialize_structure_get_cost_and_usage_with_resources_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetCostAndUsageWithResourcesInput, ) { - if let Some(var_49) = &input.time_period { - let mut object_50 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_50, var_49); - object_50.finish(); - } - if let Some(var_51) = &input.granularity { - object.key("Granularity").string(var_51.as_str()); - } - if let Some(var_52) = &input.filter { - let mut object_53 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_53, var_52); - object_53.finish(); - } - if let Some(var_54) = &input.metrics { - let mut array_55 = object.key("Metrics").start_array(); - for item_56 in var_54 { + if let Some(var_53) = &input.time_period { + let mut object_54 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_54, var_53); + object_54.finish(); + } + if let Some(var_55) = &input.granularity { + object.key("Granularity").string(var_55.as_str()); + } + if let Some(var_56) = &input.filter { + let mut object_57 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_57, var_56); + object_57.finish(); + } + if let Some(var_58) = &input.metrics { + let mut array_59 = object.key("Metrics").start_array(); + for item_60 in var_58 { { - array_55.value().string(item_56); + array_59.value().string(item_60); } } - array_55.finish(); + array_59.finish(); } - if let Some(var_57) = &input.group_by { - let mut array_58 = object.key("GroupBy").start_array(); - for item_59 in var_57 { + if let Some(var_61) = &input.group_by { + let mut array_62 = object.key("GroupBy").start_array(); + for item_63 in var_61 { { - let mut object_60 = array_58.value().start_object(); - crate::json_ser::serialize_structure_group_definition(&mut object_60, item_59); - object_60.finish(); + let mut object_64 = array_62.value().start_object(); + crate::json_ser::serialize_structure_group_definition(&mut object_64, item_63); + object_64.finish(); } } - array_58.finish(); + array_62.finish(); } - if let Some(var_61) = &input.next_page_token { - object.key("NextPageToken").string(var_61); + if let Some(var_65) = &input.next_page_token { + object.key("NextPageToken").string(var_65); } } @@ -256,32 +270,32 @@ pub fn serialize_structure_get_cost_categories_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetCostCategoriesInput, ) { - if let Some(var_62) = &input.search_string { - object.key("SearchString").string(var_62); + if let Some(var_66) = &input.search_string { + object.key("SearchString").string(var_66); } - if let Some(var_63) = &input.time_period { - let mut object_64 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_64, var_63); - object_64.finish(); + if let Some(var_67) = &input.time_period { + let mut object_68 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_68, var_67); + object_68.finish(); } - if let Some(var_65) = &input.cost_category_name { - object.key("CostCategoryName").string(var_65); + if let Some(var_69) = &input.cost_category_name { + object.key("CostCategoryName").string(var_69); } - if let Some(var_66) = &input.filter { - let mut object_67 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_67, var_66); - object_67.finish(); + if let Some(var_70) = &input.filter { + let mut object_71 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_71, var_70); + object_71.finish(); } - if let Some(var_68) = &input.sort_by { - let mut array_69 = object.key("SortBy").start_array(); - for item_70 in var_68 { + if let Some(var_72) = &input.sort_by { + let mut array_73 = object.key("SortBy").start_array(); + for item_74 in var_72 { { - let mut object_71 = array_69.value().start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_71, item_70); - object_71.finish(); + let mut object_75 = array_73.value().start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_75, item_74); + object_75.finish(); } } - array_69.finish(); + array_73.finish(); } if input.max_results != 0 { object.key("MaxResults").number( @@ -289,8 +303,8 @@ pub fn serialize_structure_get_cost_categories_input( smithy_types::Number::NegInt((input.max_results).into()), ); } - if let Some(var_72) = &input.next_page_token { - object.key("NextPageToken").string(var_72); + if let Some(var_76) = &input.next_page_token { + object.key("NextPageToken").string(var_76); } } @@ -298,26 +312,26 @@ pub fn serialize_structure_get_cost_forecast_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetCostForecastInput, ) { - if let Some(var_73) = &input.time_period { - let mut object_74 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_74, var_73); - object_74.finish(); + if let Some(var_77) = &input.time_period { + let mut object_78 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_78, var_77); + object_78.finish(); } - if let Some(var_75) = &input.metric { - object.key("Metric").string(var_75.as_str()); + if let Some(var_79) = &input.metric { + object.key("Metric").string(var_79.as_str()); } - if let Some(var_76) = &input.granularity { - object.key("Granularity").string(var_76.as_str()); + if let Some(var_80) = &input.granularity { + object.key("Granularity").string(var_80.as_str()); } - if let Some(var_77) = &input.filter { - let mut object_78 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_78, var_77); - object_78.finish(); + if let Some(var_81) = &input.filter { + let mut object_82 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_82, var_81); + object_82.finish(); } - if let Some(var_79) = &input.prediction_interval_level { + if let Some(var_83) = &input.prediction_interval_level { object.key("PredictionIntervalLevel").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_79).into()), + smithy_types::Number::NegInt((*var_83).into()), ); } } @@ -326,35 +340,35 @@ pub fn serialize_structure_get_dimension_values_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetDimensionValuesInput, ) { - if let Some(var_80) = &input.search_string { - object.key("SearchString").string(var_80); + if let Some(var_84) = &input.search_string { + object.key("SearchString").string(var_84); } - if let Some(var_81) = &input.time_period { - let mut object_82 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_82, var_81); - object_82.finish(); + if let Some(var_85) = &input.time_period { + let mut object_86 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_86, var_85); + object_86.finish(); } - if let Some(var_83) = &input.dimension { - object.key("Dimension").string(var_83.as_str()); + if let Some(var_87) = &input.dimension { + object.key("Dimension").string(var_87.as_str()); } - if let Some(var_84) = &input.context { - object.key("Context").string(var_84.as_str()); + if let Some(var_88) = &input.context { + object.key("Context").string(var_88.as_str()); } - if let Some(var_85) = &input.filter { - let mut object_86 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_86, var_85); - object_86.finish(); + if let Some(var_89) = &input.filter { + let mut object_90 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_90, var_89); + object_90.finish(); } - if let Some(var_87) = &input.sort_by { - let mut array_88 = object.key("SortBy").start_array(); - for item_89 in var_87 { + if let Some(var_91) = &input.sort_by { + let mut array_92 = object.key("SortBy").start_array(); + for item_93 in var_91 { { - let mut object_90 = array_88.value().start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_90, item_89); - object_90.finish(); + let mut object_94 = array_92.value().start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_94, item_93); + object_94.finish(); } } - array_88.finish(); + array_92.finish(); } if input.max_results != 0 { object.key("MaxResults").number( @@ -362,8 +376,8 @@ pub fn serialize_structure_get_dimension_values_input( smithy_types::Number::NegInt((input.max_results).into()), ); } - if let Some(var_91) = &input.next_page_token { - object.key("NextPageToken").string(var_91); + if let Some(var_95) = &input.next_page_token { + object.key("NextPageToken").string(var_95); } } @@ -371,51 +385,51 @@ pub fn serialize_structure_get_reservation_coverage_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetReservationCoverageInput, ) { - if let Some(var_92) = &input.time_period { - let mut object_93 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_93, var_92); - object_93.finish(); - } - if let Some(var_94) = &input.group_by { - let mut array_95 = object.key("GroupBy").start_array(); - for item_96 in var_94 { + if let Some(var_96) = &input.time_period { + let mut object_97 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_97, var_96); + object_97.finish(); + } + if let Some(var_98) = &input.group_by { + let mut array_99 = object.key("GroupBy").start_array(); + for item_100 in var_98 { { - let mut object_97 = array_95.value().start_object(); - crate::json_ser::serialize_structure_group_definition(&mut object_97, item_96); - object_97.finish(); + let mut object_101 = array_99.value().start_object(); + crate::json_ser::serialize_structure_group_definition(&mut object_101, item_100); + object_101.finish(); } } - array_95.finish(); + array_99.finish(); } - if let Some(var_98) = &input.granularity { - object.key("Granularity").string(var_98.as_str()); + if let Some(var_102) = &input.granularity { + object.key("Granularity").string(var_102.as_str()); } - if let Some(var_99) = &input.filter { - let mut object_100 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_100, var_99); - object_100.finish(); + if let Some(var_103) = &input.filter { + let mut object_104 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_104, var_103); + object_104.finish(); } - if let Some(var_101) = &input.metrics { - let mut array_102 = object.key("Metrics").start_array(); - for item_103 in var_101 { + if let Some(var_105) = &input.metrics { + let mut array_106 = object.key("Metrics").start_array(); + for item_107 in var_105 { { - array_102.value().string(item_103); + array_106.value().string(item_107); } } - array_102.finish(); + array_106.finish(); } - if let Some(var_104) = &input.next_page_token { - object.key("NextPageToken").string(var_104); + if let Some(var_108) = &input.next_page_token { + object.key("NextPageToken").string(var_108); } - if let Some(var_105) = &input.sort_by { - let mut object_106 = object.key("SortBy").start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_106, var_105); - object_106.finish(); + if let Some(var_109) = &input.sort_by { + let mut object_110 = object.key("SortBy").start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_110, var_109); + object_110.finish(); } - if let Some(var_107) = &input.max_results { + if let Some(var_111) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_107).into()), + smithy_types::Number::NegInt((*var_111).into()), ); } } @@ -424,33 +438,33 @@ pub fn serialize_structure_get_reservation_purchase_recommendation_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetReservationPurchaseRecommendationInput, ) { - if let Some(var_108) = &input.account_id { - object.key("AccountId").string(var_108); + if let Some(var_112) = &input.account_id { + object.key("AccountId").string(var_112); } - if let Some(var_109) = &input.service { - object.key("Service").string(var_109); + if let Some(var_113) = &input.service { + object.key("Service").string(var_113); } - if let Some(var_110) = &input.filter { - let mut object_111 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_111, var_110); - object_111.finish(); + if let Some(var_114) = &input.filter { + let mut object_115 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_115, var_114); + object_115.finish(); } - if let Some(var_112) = &input.account_scope { - object.key("AccountScope").string(var_112.as_str()); + if let Some(var_116) = &input.account_scope { + object.key("AccountScope").string(var_116.as_str()); } - if let Some(var_113) = &input.lookback_period_in_days { - object.key("LookbackPeriodInDays").string(var_113.as_str()); + if let Some(var_117) = &input.lookback_period_in_days { + object.key("LookbackPeriodInDays").string(var_117.as_str()); } - if let Some(var_114) = &input.term_in_years { - object.key("TermInYears").string(var_114.as_str()); + if let Some(var_118) = &input.term_in_years { + object.key("TermInYears").string(var_118.as_str()); } - if let Some(var_115) = &input.payment_option { - object.key("PaymentOption").string(var_115.as_str()); + if let Some(var_119) = &input.payment_option { + object.key("PaymentOption").string(var_119.as_str()); } - if let Some(var_116) = &input.service_specification { - let mut object_117 = object.key("ServiceSpecification").start_object(); - crate::json_ser::serialize_structure_service_specification(&mut object_117, var_116); - object_117.finish(); + if let Some(var_120) = &input.service_specification { + let mut object_121 = object.key("ServiceSpecification").start_object(); + crate::json_ser::serialize_structure_service_specification(&mut object_121, var_120); + object_121.finish(); } if input.page_size != 0 { object.key("PageSize").number( @@ -458,8 +472,8 @@ pub fn serialize_structure_get_reservation_purchase_recommendation_input( smithy_types::Number::NegInt((input.page_size).into()), ); } - if let Some(var_118) = &input.next_page_token { - object.key("NextPageToken").string(var_118); + if let Some(var_122) = &input.next_page_token { + object.key("NextPageToken").string(var_122); } } @@ -467,42 +481,42 @@ pub fn serialize_structure_get_reservation_utilization_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetReservationUtilizationInput, ) { - if let Some(var_119) = &input.time_period { - let mut object_120 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_120, var_119); - object_120.finish(); - } - if let Some(var_121) = &input.group_by { - let mut array_122 = object.key("GroupBy").start_array(); - for item_123 in var_121 { + if let Some(var_123) = &input.time_period { + let mut object_124 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_124, var_123); + object_124.finish(); + } + if let Some(var_125) = &input.group_by { + let mut array_126 = object.key("GroupBy").start_array(); + for item_127 in var_125 { { - let mut object_124 = array_122.value().start_object(); - crate::json_ser::serialize_structure_group_definition(&mut object_124, item_123); - object_124.finish(); + let mut object_128 = array_126.value().start_object(); + crate::json_ser::serialize_structure_group_definition(&mut object_128, item_127); + object_128.finish(); } } - array_122.finish(); + array_126.finish(); } - if let Some(var_125) = &input.granularity { - object.key("Granularity").string(var_125.as_str()); + if let Some(var_129) = &input.granularity { + object.key("Granularity").string(var_129.as_str()); } - if let Some(var_126) = &input.filter { - let mut object_127 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_127, var_126); - object_127.finish(); + if let Some(var_130) = &input.filter { + let mut object_131 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_131, var_130); + object_131.finish(); } - if let Some(var_128) = &input.sort_by { - let mut object_129 = object.key("SortBy").start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_129, var_128); - object_129.finish(); + if let Some(var_132) = &input.sort_by { + let mut object_133 = object.key("SortBy").start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_133, var_132); + object_133.finish(); } - if let Some(var_130) = &input.next_page_token { - object.key("NextPageToken").string(var_130); + if let Some(var_134) = &input.next_page_token { + object.key("NextPageToken").string(var_134); } - if let Some(var_131) = &input.max_results { + if let Some(var_135) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_131).into()), + smithy_types::Number::NegInt((*var_135).into()), ); } } @@ -511,21 +525,21 @@ pub fn serialize_structure_get_rightsizing_recommendation_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetRightsizingRecommendationInput, ) { - if let Some(var_132) = &input.filter { - let mut object_133 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_133, var_132); - object_133.finish(); + if let Some(var_136) = &input.filter { + let mut object_137 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_137, var_136); + object_137.finish(); } - if let Some(var_134) = &input.configuration { - let mut object_135 = object.key("Configuration").start_object(); + if let Some(var_138) = &input.configuration { + let mut object_139 = object.key("Configuration").start_object(); crate::json_ser::serialize_structure_rightsizing_recommendation_configuration( - &mut object_135, - var_134, + &mut object_139, + var_138, ); - object_135.finish(); + object_139.finish(); } - if let Some(var_136) = &input.service { - object.key("Service").string(var_136); + if let Some(var_140) = &input.service { + object.key("Service").string(var_140); } if input.page_size != 0 { object.key("PageSize").number( @@ -533,8 +547,8 @@ pub fn serialize_structure_get_rightsizing_recommendation_input( smithy_types::Number::NegInt((input.page_size).into()), ); } - if let Some(var_137) = &input.next_page_token { - object.key("NextPageToken").string(var_137); + if let Some(var_141) = &input.next_page_token { + object.key("NextPageToken").string(var_141); } } @@ -542,52 +556,52 @@ pub fn serialize_structure_get_savings_plans_coverage_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSavingsPlansCoverageInput, ) { - if let Some(var_138) = &input.time_period { - let mut object_139 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_139, var_138); - object_139.finish(); - } - if let Some(var_140) = &input.group_by { - let mut array_141 = object.key("GroupBy").start_array(); - for item_142 in var_140 { + if let Some(var_142) = &input.time_period { + let mut object_143 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_143, var_142); + object_143.finish(); + } + if let Some(var_144) = &input.group_by { + let mut array_145 = object.key("GroupBy").start_array(); + for item_146 in var_144 { { - let mut object_143 = array_141.value().start_object(); - crate::json_ser::serialize_structure_group_definition(&mut object_143, item_142); - object_143.finish(); + let mut object_147 = array_145.value().start_object(); + crate::json_ser::serialize_structure_group_definition(&mut object_147, item_146); + object_147.finish(); } } - array_141.finish(); + array_145.finish(); } - if let Some(var_144) = &input.granularity { - object.key("Granularity").string(var_144.as_str()); + if let Some(var_148) = &input.granularity { + object.key("Granularity").string(var_148.as_str()); } - if let Some(var_145) = &input.filter { - let mut object_146 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_146, var_145); - object_146.finish(); + if let Some(var_149) = &input.filter { + let mut object_150 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_150, var_149); + object_150.finish(); } - if let Some(var_147) = &input.metrics { - let mut array_148 = object.key("Metrics").start_array(); - for item_149 in var_147 { + if let Some(var_151) = &input.metrics { + let mut array_152 = object.key("Metrics").start_array(); + for item_153 in var_151 { { - array_148.value().string(item_149); + array_152.value().string(item_153); } } - array_148.finish(); + array_152.finish(); } - if let Some(var_150) = &input.next_token { - object.key("NextToken").string(var_150); + if let Some(var_154) = &input.next_token { + object.key("NextToken").string(var_154); } - if let Some(var_151) = &input.max_results { + if let Some(var_155) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_151).into()), + smithy_types::Number::NegInt((*var_155).into()), ); } - if let Some(var_152) = &input.sort_by { - let mut object_153 = object.key("SortBy").start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_153, var_152); - object_153.finish(); + if let Some(var_156) = &input.sort_by { + let mut object_157 = object.key("SortBy").start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_157, var_156); + object_157.finish(); } } @@ -595,20 +609,20 @@ pub fn serialize_structure_get_savings_plans_purchase_recommendation_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSavingsPlansPurchaseRecommendationInput, ) { - if let Some(var_154) = &input.savings_plans_type { - object.key("SavingsPlansType").string(var_154.as_str()); + if let Some(var_158) = &input.savings_plans_type { + object.key("SavingsPlansType").string(var_158.as_str()); } - if let Some(var_155) = &input.term_in_years { - object.key("TermInYears").string(var_155.as_str()); + if let Some(var_159) = &input.term_in_years { + object.key("TermInYears").string(var_159.as_str()); } - if let Some(var_156) = &input.payment_option { - object.key("PaymentOption").string(var_156.as_str()); + if let Some(var_160) = &input.payment_option { + object.key("PaymentOption").string(var_160.as_str()); } - if let Some(var_157) = &input.account_scope { - object.key("AccountScope").string(var_157.as_str()); + if let Some(var_161) = &input.account_scope { + object.key("AccountScope").string(var_161.as_str()); } - if let Some(var_158) = &input.next_page_token { - object.key("NextPageToken").string(var_158); + if let Some(var_162) = &input.next_page_token { + object.key("NextPageToken").string(var_162); } if input.page_size != 0 { object.key("PageSize").number( @@ -616,13 +630,13 @@ pub fn serialize_structure_get_savings_plans_purchase_recommendation_input( smithy_types::Number::NegInt((input.page_size).into()), ); } - if let Some(var_159) = &input.lookback_period_in_days { - object.key("LookbackPeriodInDays").string(var_159.as_str()); + if let Some(var_163) = &input.lookback_period_in_days { + object.key("LookbackPeriodInDays").string(var_163.as_str()); } - if let Some(var_160) = &input.filter { - let mut object_161 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_161, var_160); - object_161.finish(); + if let Some(var_164) = &input.filter { + let mut object_165 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_165, var_164); + object_165.finish(); } } @@ -630,23 +644,23 @@ pub fn serialize_structure_get_savings_plans_utilization_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSavingsPlansUtilizationInput, ) { - if let Some(var_162) = &input.time_period { - let mut object_163 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_163, var_162); - object_163.finish(); + if let Some(var_166) = &input.time_period { + let mut object_167 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_167, var_166); + object_167.finish(); } - if let Some(var_164) = &input.granularity { - object.key("Granularity").string(var_164.as_str()); + if let Some(var_168) = &input.granularity { + object.key("Granularity").string(var_168.as_str()); } - if let Some(var_165) = &input.filter { - let mut object_166 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_166, var_165); - object_166.finish(); + if let Some(var_169) = &input.filter { + let mut object_170 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_170, var_169); + object_170.finish(); } - if let Some(var_167) = &input.sort_by { - let mut object_168 = object.key("SortBy").start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_168, var_167); - object_168.finish(); + if let Some(var_171) = &input.sort_by { + let mut object_172 = object.key("SortBy").start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_172, var_171); + object_172.finish(); } } @@ -654,38 +668,38 @@ pub fn serialize_structure_get_savings_plans_utilization_details_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSavingsPlansUtilizationDetailsInput, ) { - if let Some(var_169) = &input.time_period { - let mut object_170 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_170, var_169); - object_170.finish(); - } - if let Some(var_171) = &input.filter { - let mut object_172 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_172, var_171); - object_172.finish(); - } - if let Some(var_173) = &input.data_type { - let mut array_174 = object.key("DataType").start_array(); - for item_175 in var_173 { + if let Some(var_173) = &input.time_period { + let mut object_174 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_174, var_173); + object_174.finish(); + } + if let Some(var_175) = &input.filter { + let mut object_176 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_176, var_175); + object_176.finish(); + } + if let Some(var_177) = &input.data_type { + let mut array_178 = object.key("DataType").start_array(); + for item_179 in var_177 { { - array_174.value().string(item_175.as_str()); + array_178.value().string(item_179.as_str()); } } - array_174.finish(); + array_178.finish(); } - if let Some(var_176) = &input.next_token { - object.key("NextToken").string(var_176); + if let Some(var_180) = &input.next_token { + object.key("NextToken").string(var_180); } - if let Some(var_177) = &input.max_results { + if let Some(var_181) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_177).into()), + smithy_types::Number::NegInt((*var_181).into()), ); } - if let Some(var_178) = &input.sort_by { - let mut object_179 = object.key("SortBy").start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_179, var_178); - object_179.finish(); + if let Some(var_182) = &input.sort_by { + let mut object_183 = object.key("SortBy").start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_183, var_182); + object_183.finish(); } } @@ -693,32 +707,32 @@ pub fn serialize_structure_get_tags_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetTagsInput, ) { - if let Some(var_180) = &input.search_string { - object.key("SearchString").string(var_180); + if let Some(var_184) = &input.search_string { + object.key("SearchString").string(var_184); } - if let Some(var_181) = &input.time_period { - let mut object_182 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_182, var_181); - object_182.finish(); + if let Some(var_185) = &input.time_period { + let mut object_186 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_186, var_185); + object_186.finish(); } - if let Some(var_183) = &input.tag_key { - object.key("TagKey").string(var_183); + if let Some(var_187) = &input.tag_key { + object.key("TagKey").string(var_187); } - if let Some(var_184) = &input.filter { - let mut object_185 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_185, var_184); - object_185.finish(); + if let Some(var_188) = &input.filter { + let mut object_189 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_189, var_188); + object_189.finish(); } - if let Some(var_186) = &input.sort_by { - let mut array_187 = object.key("SortBy").start_array(); - for item_188 in var_186 { + if let Some(var_190) = &input.sort_by { + let mut array_191 = object.key("SortBy").start_array(); + for item_192 in var_190 { { - let mut object_189 = array_187.value().start_object(); - crate::json_ser::serialize_structure_sort_definition(&mut object_189, item_188); - object_189.finish(); + let mut object_193 = array_191.value().start_object(); + crate::json_ser::serialize_structure_sort_definition(&mut object_193, item_192); + object_193.finish(); } } - array_187.finish(); + array_191.finish(); } if input.max_results != 0 { object.key("MaxResults").number( @@ -726,8 +740,8 @@ pub fn serialize_structure_get_tags_input( smithy_types::Number::NegInt((input.max_results).into()), ); } - if let Some(var_190) = &input.next_page_token { - object.key("NextPageToken").string(var_190); + if let Some(var_194) = &input.next_page_token { + object.key("NextPageToken").string(var_194); } } @@ -735,26 +749,26 @@ pub fn serialize_structure_get_usage_forecast_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetUsageForecastInput, ) { - if let Some(var_191) = &input.time_period { - let mut object_192 = object.key("TimePeriod").start_object(); - crate::json_ser::serialize_structure_date_interval(&mut object_192, var_191); - object_192.finish(); + if let Some(var_195) = &input.time_period { + let mut object_196 = object.key("TimePeriod").start_object(); + crate::json_ser::serialize_structure_date_interval(&mut object_196, var_195); + object_196.finish(); } - if let Some(var_193) = &input.metric { - object.key("Metric").string(var_193.as_str()); + if let Some(var_197) = &input.metric { + object.key("Metric").string(var_197.as_str()); } - if let Some(var_194) = &input.granularity { - object.key("Granularity").string(var_194.as_str()); + if let Some(var_198) = &input.granularity { + object.key("Granularity").string(var_198.as_str()); } - if let Some(var_195) = &input.filter { - let mut object_196 = object.key("Filter").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_196, var_195); - object_196.finish(); + if let Some(var_199) = &input.filter { + let mut object_200 = object.key("Filter").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_200, var_199); + object_200.finish(); } - if let Some(var_197) = &input.prediction_interval_level { + if let Some(var_201) = &input.prediction_interval_level { object.key("PredictionIntervalLevel").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_197).into()), + smithy_types::Number::NegInt((*var_201).into()), ); } } @@ -763,16 +777,16 @@ pub fn serialize_structure_list_cost_category_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListCostCategoryDefinitionsInput, ) { - if let Some(var_198) = &input.effective_on { - object.key("EffectiveOn").string(var_198); + if let Some(var_202) = &input.effective_on { + object.key("EffectiveOn").string(var_202); } - if let Some(var_199) = &input.next_token { - object.key("NextToken").string(var_199); + if let Some(var_203) = &input.next_token { + object.key("NextToken").string(var_203); } - if let Some(var_200) = &input.max_results { + if let Some(var_204) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_200).into()), + smithy_types::Number::NegInt((*var_204).into()), ); } } @@ -781,11 +795,11 @@ pub fn serialize_structure_provide_anomaly_feedback_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ProvideAnomalyFeedbackInput, ) { - if let Some(var_201) = &input.anomaly_id { - object.key("AnomalyId").string(var_201); + if let Some(var_205) = &input.anomaly_id { + object.key("AnomalyId").string(var_205); } - if let Some(var_202) = &input.feedback { - object.key("Feedback").string(var_202.as_str()); + if let Some(var_206) = &input.feedback { + object.key("Feedback").string(var_206.as_str()); } } @@ -793,11 +807,11 @@ pub fn serialize_structure_update_anomaly_monitor_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateAnomalyMonitorInput, ) { - if let Some(var_203) = &input.monitor_arn { - object.key("MonitorArn").string(var_203); + if let Some(var_207) = &input.monitor_arn { + object.key("MonitorArn").string(var_207); } - if let Some(var_204) = &input.monitor_name { - object.key("MonitorName").string(var_204); + if let Some(var_208) = &input.monitor_name { + object.key("MonitorName").string(var_208); } } @@ -805,40 +819,40 @@ pub fn serialize_structure_update_anomaly_subscription_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateAnomalySubscriptionInput, ) { - if let Some(var_205) = &input.subscription_arn { - object.key("SubscriptionArn").string(var_205); + if let Some(var_209) = &input.subscription_arn { + object.key("SubscriptionArn").string(var_209); } - if let Some(var_206) = &input.threshold { + if let Some(var_210) = &input.threshold { object.key("Threshold").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_206).into()), + smithy_types::Number::Float((*var_210).into()), ); } - if let Some(var_207) = &input.frequency { - object.key("Frequency").string(var_207.as_str()); + if let Some(var_211) = &input.frequency { + object.key("Frequency").string(var_211.as_str()); } - if let Some(var_208) = &input.monitor_arn_list { - let mut array_209 = object.key("MonitorArnList").start_array(); - for item_210 in var_208 { + if let Some(var_212) = &input.monitor_arn_list { + let mut array_213 = object.key("MonitorArnList").start_array(); + for item_214 in var_212 { { - array_209.value().string(item_210); + array_213.value().string(item_214); } } - array_209.finish(); + array_213.finish(); } - if let Some(var_211) = &input.subscribers { - let mut array_212 = object.key("Subscribers").start_array(); - for item_213 in var_211 { + if let Some(var_215) = &input.subscribers { + let mut array_216 = object.key("Subscribers").start_array(); + for item_217 in var_215 { { - let mut object_214 = array_212.value().start_object(); - crate::json_ser::serialize_structure_subscriber(&mut object_214, item_213); - object_214.finish(); + let mut object_218 = array_216.value().start_object(); + crate::json_ser::serialize_structure_subscriber(&mut object_218, item_217); + object_218.finish(); } } - array_212.finish(); + array_216.finish(); } - if let Some(var_215) = &input.subscription_name { - object.key("SubscriptionName").string(var_215); + if let Some(var_219) = &input.subscription_name { + object.key("SubscriptionName").string(var_219); } } @@ -846,25 +860,39 @@ pub fn serialize_structure_update_cost_category_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateCostCategoryDefinitionInput, ) { - if let Some(var_216) = &input.cost_category_arn { - object.key("CostCategoryArn").string(var_216); + if let Some(var_220) = &input.cost_category_arn { + object.key("CostCategoryArn").string(var_220); } - if let Some(var_217) = &input.rule_version { - object.key("RuleVersion").string(var_217.as_str()); + if let Some(var_221) = &input.rule_version { + object.key("RuleVersion").string(var_221.as_str()); } - if let Some(var_218) = &input.rules { - let mut array_219 = object.key("Rules").start_array(); - for item_220 in var_218 { + if let Some(var_222) = &input.rules { + let mut array_223 = object.key("Rules").start_array(); + for item_224 in var_222 { { - let mut object_221 = array_219.value().start_object(); - crate::json_ser::serialize_structure_cost_category_rule(&mut object_221, item_220); - object_221.finish(); + let mut object_225 = array_223.value().start_object(); + crate::json_ser::serialize_structure_cost_category_rule(&mut object_225, item_224); + object_225.finish(); } } - array_219.finish(); + array_223.finish(); } - if let Some(var_222) = &input.default_value { - object.key("DefaultValue").string(var_222); + if let Some(var_226) = &input.default_value { + object.key("DefaultValue").string(var_226); + } + if let Some(var_227) = &input.split_charge_rules { + let mut array_228 = object.key("SplitChargeRules").start_array(); + for item_229 in var_227 { + { + let mut object_230 = array_228.value().start_object(); + crate::json_ser::serialize_structure_cost_category_split_charge_rule( + &mut object_230, + item_229, + ); + object_230.finish(); + } + } + array_228.finish(); } } @@ -872,31 +900,31 @@ pub fn serialize_structure_anomaly_monitor( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AnomalyMonitor, ) { - if let Some(var_223) = &input.monitor_arn { - object.key("MonitorArn").string(var_223); + if let Some(var_231) = &input.monitor_arn { + object.key("MonitorArn").string(var_231); } - if let Some(var_224) = &input.monitor_name { - object.key("MonitorName").string(var_224); + if let Some(var_232) = &input.monitor_name { + object.key("MonitorName").string(var_232); } - if let Some(var_225) = &input.creation_date { - object.key("CreationDate").string(var_225); + if let Some(var_233) = &input.creation_date { + object.key("CreationDate").string(var_233); } - if let Some(var_226) = &input.last_updated_date { - object.key("LastUpdatedDate").string(var_226); + if let Some(var_234) = &input.last_updated_date { + object.key("LastUpdatedDate").string(var_234); } - if let Some(var_227) = &input.last_evaluated_date { - object.key("LastEvaluatedDate").string(var_227); + if let Some(var_235) = &input.last_evaluated_date { + object.key("LastEvaluatedDate").string(var_235); } - if let Some(var_228) = &input.monitor_type { - object.key("MonitorType").string(var_228.as_str()); + if let Some(var_236) = &input.monitor_type { + object.key("MonitorType").string(var_236.as_str()); } - if let Some(var_229) = &input.monitor_dimension { - object.key("MonitorDimension").string(var_229.as_str()); + if let Some(var_237) = &input.monitor_dimension { + object.key("MonitorDimension").string(var_237.as_str()); } - if let Some(var_230) = &input.monitor_specification { - let mut object_231 = object.key("MonitorSpecification").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_231, var_230); - object_231.finish(); + if let Some(var_238) = &input.monitor_specification { + let mut object_239 = object.key("MonitorSpecification").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_239, var_238); + object_239.finish(); } if input.dimensional_value_count != 0 { object.key("DimensionalValueCount").number( @@ -910,43 +938,43 @@ pub fn serialize_structure_anomaly_subscription( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AnomalySubscription, ) { - if let Some(var_232) = &input.subscription_arn { - object.key("SubscriptionArn").string(var_232); + if let Some(var_240) = &input.subscription_arn { + object.key("SubscriptionArn").string(var_240); } - if let Some(var_233) = &input.account_id { - object.key("AccountId").string(var_233); + if let Some(var_241) = &input.account_id { + object.key("AccountId").string(var_241); } - if let Some(var_234) = &input.monitor_arn_list { - let mut array_235 = object.key("MonitorArnList").start_array(); - for item_236 in var_234 { + if let Some(var_242) = &input.monitor_arn_list { + let mut array_243 = object.key("MonitorArnList").start_array(); + for item_244 in var_242 { { - array_235.value().string(item_236); + array_243.value().string(item_244); } } - array_235.finish(); + array_243.finish(); } - if let Some(var_237) = &input.subscribers { - let mut array_238 = object.key("Subscribers").start_array(); - for item_239 in var_237 { + if let Some(var_245) = &input.subscribers { + let mut array_246 = object.key("Subscribers").start_array(); + for item_247 in var_245 { { - let mut object_240 = array_238.value().start_object(); - crate::json_ser::serialize_structure_subscriber(&mut object_240, item_239); - object_240.finish(); + let mut object_248 = array_246.value().start_object(); + crate::json_ser::serialize_structure_subscriber(&mut object_248, item_247); + object_248.finish(); } } - array_238.finish(); + array_246.finish(); } - if let Some(var_241) = &input.threshold { + if let Some(var_249) = &input.threshold { object.key("Threshold").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_241).into()), + smithy_types::Number::Float((*var_249).into()), ); } - if let Some(var_242) = &input.frequency { - object.key("Frequency").string(var_242.as_str()); + if let Some(var_250) = &input.frequency { + object.key("Frequency").string(var_250.as_str()); } - if let Some(var_243) = &input.subscription_name { - object.key("SubscriptionName").string(var_243); + if let Some(var_251) = &input.subscription_name { + object.key("SubscriptionName").string(var_251); } } @@ -954,24 +982,59 @@ pub fn serialize_structure_cost_category_rule( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CostCategoryRule, ) { - if let Some(var_244) = &input.value { - object.key("Value").string(var_244); + if let Some(var_252) = &input.value { + object.key("Value").string(var_252); } - if let Some(var_245) = &input.rule { - let mut object_246 = object.key("Rule").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_246, var_245); - object_246.finish(); + if let Some(var_253) = &input.rule { + let mut object_254 = object.key("Rule").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_254, var_253); + object_254.finish(); } - if let Some(var_247) = &input.inherited_value { - let mut object_248 = object.key("InheritedValue").start_object(); + if let Some(var_255) = &input.inherited_value { + let mut object_256 = object.key("InheritedValue").start_object(); crate::json_ser::serialize_structure_cost_category_inherited_value_dimension( - &mut object_248, - var_247, + &mut object_256, + var_255, ); - object_248.finish(); + object_256.finish(); + } + if let Some(var_257) = &input.r#type { + object.key("Type").string(var_257.as_str()); + } +} + +pub fn serialize_structure_cost_category_split_charge_rule( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CostCategorySplitChargeRule, +) { + if let Some(var_258) = &input.source { + object.key("Source").string(var_258); + } + if let Some(var_259) = &input.targets { + let mut array_260 = object.key("Targets").start_array(); + for item_261 in var_259 { + { + array_260.value().string(item_261); + } + } + array_260.finish(); } - if let Some(var_249) = &input.r#type { - object.key("Type").string(var_249.as_str()); + if let Some(var_262) = &input.method { + object.key("Method").string(var_262.as_str()); + } + if let Some(var_263) = &input.parameters { + let mut array_264 = object.key("Parameters").start_array(); + for item_265 in var_263 { + { + let mut object_266 = array_264.value().start_object(); + crate::json_ser::serialize_structure_cost_category_split_charge_rule_parameter( + &mut object_266, + item_265, + ); + object_266.finish(); + } + } + array_264.finish(); } } @@ -979,11 +1042,11 @@ pub fn serialize_structure_anomaly_date_interval( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AnomalyDateInterval, ) { - if let Some(var_250) = &input.start_date { - object.key("StartDate").string(var_250); + if let Some(var_267) = &input.start_date { + object.key("StartDate").string(var_267); } - if let Some(var_251) = &input.end_date { - object.key("EndDate").string(var_251); + if let Some(var_268) = &input.end_date { + object.key("EndDate").string(var_268); } } @@ -991,8 +1054,8 @@ pub fn serialize_structure_total_impact_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TotalImpactFilter, ) { - if let Some(var_252) = &input.numeric_operator { - object.key("NumericOperator").string(var_252.as_str()); + if let Some(var_269) = &input.numeric_operator { + object.key("NumericOperator").string(var_269.as_str()); } { object.key("StartValue").number( @@ -1012,11 +1075,11 @@ pub fn serialize_structure_date_interval( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DateInterval, ) { - if let Some(var_253) = &input.start { - object.key("Start").string(var_253); + if let Some(var_270) = &input.start { + object.key("Start").string(var_270); } - if let Some(var_254) = &input.end { - object.key("End").string(var_254); + if let Some(var_271) = &input.end { + object.key("End").string(var_271); } } @@ -1024,47 +1087,47 @@ pub fn serialize_structure_expression( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Expression, ) { - if let Some(var_255) = &input.or { - let mut array_256 = object.key("Or").start_array(); - for item_257 in var_255 { + if let Some(var_272) = &input.or { + let mut array_273 = object.key("Or").start_array(); + for item_274 in var_272 { { - let mut object_258 = array_256.value().start_object(); - crate::json_ser::serialize_structure_expression(&mut object_258, item_257); - object_258.finish(); + let mut object_275 = array_273.value().start_object(); + crate::json_ser::serialize_structure_expression(&mut object_275, item_274); + object_275.finish(); } } - array_256.finish(); + array_273.finish(); } - if let Some(var_259) = &input.and { - let mut array_260 = object.key("And").start_array(); - for item_261 in var_259 { + if let Some(var_276) = &input.and { + let mut array_277 = object.key("And").start_array(); + for item_278 in var_276 { { - let mut object_262 = array_260.value().start_object(); - crate::json_ser::serialize_structure_expression(&mut object_262, item_261); - object_262.finish(); + let mut object_279 = array_277.value().start_object(); + crate::json_ser::serialize_structure_expression(&mut object_279, item_278); + object_279.finish(); } } - array_260.finish(); + array_277.finish(); } - if let Some(var_263) = &input.not { - let mut object_264 = object.key("Not").start_object(); - crate::json_ser::serialize_structure_expression(&mut object_264, var_263); - object_264.finish(); + if let Some(var_280) = &input.not { + let mut object_281 = object.key("Not").start_object(); + crate::json_ser::serialize_structure_expression(&mut object_281, var_280); + object_281.finish(); } - if let Some(var_265) = &input.dimensions { - let mut object_266 = object.key("Dimensions").start_object(); - crate::json_ser::serialize_structure_dimension_values(&mut object_266, var_265); - object_266.finish(); + if let Some(var_282) = &input.dimensions { + let mut object_283 = object.key("Dimensions").start_object(); + crate::json_ser::serialize_structure_dimension_values(&mut object_283, var_282); + object_283.finish(); } - if let Some(var_267) = &input.tags { - let mut object_268 = object.key("Tags").start_object(); - crate::json_ser::serialize_structure_tag_values(&mut object_268, var_267); - object_268.finish(); + if let Some(var_284) = &input.tags { + let mut object_285 = object.key("Tags").start_object(); + crate::json_ser::serialize_structure_tag_values(&mut object_285, var_284); + object_285.finish(); } - if let Some(var_269) = &input.cost_categories { - let mut object_270 = object.key("CostCategories").start_object(); - crate::json_ser::serialize_structure_cost_category_values(&mut object_270, var_269); - object_270.finish(); + if let Some(var_286) = &input.cost_categories { + let mut object_287 = object.key("CostCategories").start_object(); + crate::json_ser::serialize_structure_cost_category_values(&mut object_287, var_286); + object_287.finish(); } } @@ -1072,11 +1135,11 @@ pub fn serialize_structure_group_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GroupDefinition, ) { - if let Some(var_271) = &input.r#type { - object.key("Type").string(var_271.as_str()); + if let Some(var_288) = &input.r#type { + object.key("Type").string(var_288.as_str()); } - if let Some(var_272) = &input.key { - object.key("Key").string(var_272); + if let Some(var_289) = &input.key { + object.key("Key").string(var_289); } } @@ -1084,11 +1147,11 @@ pub fn serialize_structure_sort_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SortDefinition, ) { - if let Some(var_273) = &input.key { - object.key("Key").string(var_273); + if let Some(var_290) = &input.key { + object.key("Key").string(var_290); } - if let Some(var_274) = &input.sort_order { - object.key("SortOrder").string(var_274.as_str()); + if let Some(var_291) = &input.sort_order { + object.key("SortOrder").string(var_291.as_str()); } } @@ -1096,10 +1159,10 @@ pub fn serialize_structure_service_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ServiceSpecification, ) { - if let Some(var_275) = &input.ec2_specification { - let mut object_276 = object.key("EC2Specification").start_object(); - crate::json_ser::serialize_structure_ec2_specification(&mut object_276, var_275); - object_276.finish(); + if let Some(var_292) = &input.ec2_specification { + let mut object_293 = object.key("EC2Specification").start_object(); + crate::json_ser::serialize_structure_ec2_specification(&mut object_293, var_292); + object_293.finish(); } } @@ -1107,8 +1170,8 @@ pub fn serialize_structure_rightsizing_recommendation_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RightsizingRecommendationConfiguration, ) { - if let Some(var_277) = &input.recommendation_target { - object.key("RecommendationTarget").string(var_277.as_str()); + if let Some(var_294) = &input.recommendation_target { + object.key("RecommendationTarget").string(var_294.as_str()); } { object @@ -1121,14 +1184,14 @@ pub fn serialize_structure_subscriber( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Subscriber, ) { - if let Some(var_278) = &input.address { - object.key("Address").string(var_278); + if let Some(var_295) = &input.address { + object.key("Address").string(var_295); } - if let Some(var_279) = &input.r#type { - object.key("Type").string(var_279.as_str()); + if let Some(var_296) = &input.r#type { + object.key("Type").string(var_296.as_str()); } - if let Some(var_280) = &input.status { - object.key("Status").string(var_280.as_str()); + if let Some(var_297) = &input.status { + object.key("Status").string(var_297.as_str()); } } @@ -1136,11 +1199,29 @@ pub fn serialize_structure_cost_category_inherited_value_dimension( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CostCategoryInheritedValueDimension, ) { - if let Some(var_281) = &input.dimension_name { - object.key("DimensionName").string(var_281.as_str()); + if let Some(var_298) = &input.dimension_name { + object.key("DimensionName").string(var_298.as_str()); } - if let Some(var_282) = &input.dimension_key { - object.key("DimensionKey").string(var_282); + if let Some(var_299) = &input.dimension_key { + object.key("DimensionKey").string(var_299); + } +} + +pub fn serialize_structure_cost_category_split_charge_rule_parameter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CostCategorySplitChargeRuleParameter, +) { + if let Some(var_300) = &input.r#type { + object.key("Type").string(var_300.as_str()); + } + if let Some(var_301) = &input.values { + let mut array_302 = object.key("Values").start_array(); + for item_303 in var_301 { + { + array_302.value().string(item_303); + } + } + array_302.finish(); } } @@ -1148,26 +1229,26 @@ pub fn serialize_structure_dimension_values( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DimensionValues, ) { - if let Some(var_283) = &input.key { - object.key("Key").string(var_283.as_str()); + if let Some(var_304) = &input.key { + object.key("Key").string(var_304.as_str()); } - if let Some(var_284) = &input.values { - let mut array_285 = object.key("Values").start_array(); - for item_286 in var_284 { + if let Some(var_305) = &input.values { + let mut array_306 = object.key("Values").start_array(); + for item_307 in var_305 { { - array_285.value().string(item_286); + array_306.value().string(item_307); } } - array_285.finish(); + array_306.finish(); } - if let Some(var_287) = &input.match_options { - let mut array_288 = object.key("MatchOptions").start_array(); - for item_289 in var_287 { + if let Some(var_308) = &input.match_options { + let mut array_309 = object.key("MatchOptions").start_array(); + for item_310 in var_308 { { - array_288.value().string(item_289.as_str()); + array_309.value().string(item_310.as_str()); } } - array_288.finish(); + array_309.finish(); } } @@ -1175,26 +1256,26 @@ pub fn serialize_structure_tag_values( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TagValues, ) { - if let Some(var_290) = &input.key { - object.key("Key").string(var_290); + if let Some(var_311) = &input.key { + object.key("Key").string(var_311); } - if let Some(var_291) = &input.values { - let mut array_292 = object.key("Values").start_array(); - for item_293 in var_291 { + if let Some(var_312) = &input.values { + let mut array_313 = object.key("Values").start_array(); + for item_314 in var_312 { { - array_292.value().string(item_293); + array_313.value().string(item_314); } } - array_292.finish(); + array_313.finish(); } - if let Some(var_294) = &input.match_options { - let mut array_295 = object.key("MatchOptions").start_array(); - for item_296 in var_294 { + if let Some(var_315) = &input.match_options { + let mut array_316 = object.key("MatchOptions").start_array(); + for item_317 in var_315 { { - array_295.value().string(item_296.as_str()); + array_316.value().string(item_317.as_str()); } } - array_295.finish(); + array_316.finish(); } } @@ -1202,26 +1283,26 @@ pub fn serialize_structure_cost_category_values( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CostCategoryValues, ) { - if let Some(var_297) = &input.key { - object.key("Key").string(var_297); + if let Some(var_318) = &input.key { + object.key("Key").string(var_318); } - if let Some(var_298) = &input.values { - let mut array_299 = object.key("Values").start_array(); - for item_300 in var_298 { + if let Some(var_319) = &input.values { + let mut array_320 = object.key("Values").start_array(); + for item_321 in var_319 { { - array_299.value().string(item_300); + array_320.value().string(item_321); } } - array_299.finish(); + array_320.finish(); } - if let Some(var_301) = &input.match_options { - let mut array_302 = object.key("MatchOptions").start_array(); - for item_303 in var_301 { + if let Some(var_322) = &input.match_options { + let mut array_323 = object.key("MatchOptions").start_array(); + for item_324 in var_322 { { - array_302.value().string(item_303.as_str()); + array_323.value().string(item_324.as_str()); } } - array_302.finish(); + array_323.finish(); } } @@ -1229,7 +1310,7 @@ pub fn serialize_structure_ec2_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Ec2Specification, ) { - if let Some(var_304) = &input.offering_class { - object.key("OfferingClass").string(var_304.as_str()); + if let Some(var_325) = &input.offering_class { + object.key("OfferingClass").string(var_325.as_str()); } } diff --git a/sdk/costexplorer/src/lib.rs b/sdk/costexplorer/src/lib.rs index c2260efb79f1..59a1de52b425 100644 --- a/sdk/costexplorer/src/lib.rs +++ b/sdk/costexplorer/src/lib.rs @@ -4,9 +4,10 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//!

              The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data -//! such as total monthly costs or total daily usage. You can also query for granular data, such as the number of -//! daily write operations for Amazon DynamoDB database tables in your production environment.

              +//!

              You can use the Cost Explorer API to programmatically query your cost and usage data. You +//! can query for aggregated data such as total monthly costs or total daily usage. You can also +//! query for granular data. This might include the number of daily write operations for Amazon +//! DynamoDB database tables in your production environment.

              //!

              Service Endpoint

              //!

              The Cost Explorer API provides the following endpoint:

              //!
                @@ -16,8 +17,9 @@ //!

                //! //!
              -//!

              For information about costs associated with the Cost Explorer API, see -//! AWS Cost Management Pricing.

              +//!

              For information about the costs that are associated with the Cost Explorer API, see +//! Amazon Web Services Cost +//! Management Pricing.

              // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. pub use error_meta::Error; diff --git a/sdk/costexplorer/src/model.rs b/sdk/costexplorer/src/model.rs index 061a7d159542..f76a52420be0 100644 --- a/sdk/costexplorer/src/model.rs +++ b/sdk/costexplorer/src/model.rs @@ -1,27 +1,339 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -///

              Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

              +///

              Use the split charge rule to split the cost of one Cost Category value across several +/// other target values.

              +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CostCategorySplitChargeRule { + ///

              The Cost Category value that you want to split. That value can't be used as a source + /// or a target in other split charge rules. To indicate uncategorized costs, you can use an empty string as the source.

              + pub source: std::option::Option, + ///

              The Cost Category values that you want to split costs across. These values can't be + /// used as a source in other split charge rules.

              + pub targets: std::option::Option>, + ///

              The method that's used to define how to split your source costs across your targets.

              + ///

              + /// Proportional - Allocates charges across your targets based on the + /// proportional weighted cost of each target.

              + ///

              + /// Fixed - Allocates charges across your targets based on your defined + /// allocation percentage.

              + ///

              >Even - Allocates costs evenly across all targets.

              + pub method: std::option::Option, + ///

              The parameters for a split charge method. This is only required for the + /// FIXED method.

              + pub parameters: + std::option::Option>, +} +impl std::fmt::Debug for CostCategorySplitChargeRule { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CostCategorySplitChargeRule"); + formatter.field("source", &self.source); + formatter.field("targets", &self.targets); + formatter.field("method", &self.method); + formatter.field("parameters", &self.parameters); + formatter.finish() + } +} +/// See [`CostCategorySplitChargeRule`](crate::model::CostCategorySplitChargeRule) +pub mod cost_category_split_charge_rule { + /// A builder for [`CostCategorySplitChargeRule`](crate::model::CostCategorySplitChargeRule) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) source: std::option::Option, + pub(crate) targets: std::option::Option>, + pub(crate) method: std::option::Option, + pub(crate) parameters: + std::option::Option>, + } + impl Builder { + ///

              The Cost Category value that you want to split. That value can't be used as a source + /// or a target in other split charge rules. To indicate uncategorized costs, you can use an empty string as the source.

              + pub fn source(mut self, input: impl Into) -> Self { + self.source = Some(input.into()); + self + } + pub fn set_source(mut self, input: std::option::Option) -> Self { + self.source = input; + self + } + pub fn targets(mut self, input: impl Into) -> Self { + let mut v = self.targets.unwrap_or_default(); + v.push(input.into()); + self.targets = Some(v); + self + } + pub fn set_targets( + mut self, + input: std::option::Option>, + ) -> Self { + self.targets = input; + self + } + ///

              The method that's used to define how to split your source costs across your targets.

              + ///

              + /// Proportional - Allocates charges across your targets based on the + /// proportional weighted cost of each target.

              + ///

              + /// Fixed - Allocates charges across your targets based on your defined + /// allocation percentage.

              + ///

              >Even - Allocates costs evenly across all targets.

              + pub fn method(mut self, input: crate::model::CostCategorySplitChargeMethod) -> Self { + self.method = Some(input); + self + } + pub fn set_method( + mut self, + input: std::option::Option, + ) -> Self { + self.method = input; + self + } + pub fn parameters( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.parameters.unwrap_or_default(); + v.push(input.into()); + self.parameters = Some(v); + self + } + pub fn set_parameters( + mut self, + input: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.parameters = input; + self + } + /// Consumes the builder and constructs a [`CostCategorySplitChargeRule`](crate::model::CostCategorySplitChargeRule) + pub fn build(self) -> crate::model::CostCategorySplitChargeRule { + crate::model::CostCategorySplitChargeRule { + source: self.source, + targets: self.targets, + method: self.method, + parameters: self.parameters, + } + } + } +} +impl CostCategorySplitChargeRule { + /// Creates a new builder-style object to manufacture [`CostCategorySplitChargeRule`](crate::model::CostCategorySplitChargeRule) + pub fn builder() -> crate::model::cost_category_split_charge_rule::Builder { + crate::model::cost_category_split_charge_rule::Builder::default() + } +} + +///

              The parameters for a split charge method.

              +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CostCategorySplitChargeRuleParameter { + ///

              The parameter type.

              + pub r#type: std::option::Option, + ///

              The parameter values.

              + pub values: std::option::Option>, +} +impl std::fmt::Debug for CostCategorySplitChargeRuleParameter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CostCategorySplitChargeRuleParameter"); + formatter.field("r#type", &self.r#type); + formatter.field("values", &self.values); + formatter.finish() + } +} +/// See [`CostCategorySplitChargeRuleParameter`](crate::model::CostCategorySplitChargeRuleParameter) +pub mod cost_category_split_charge_rule_parameter { + /// A builder for [`CostCategorySplitChargeRuleParameter`](crate::model::CostCategorySplitChargeRuleParameter) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) r#type: + std::option::Option, + pub(crate) values: std::option::Option>, + } + impl Builder { + ///

              The parameter type.

              + pub fn r#type( + mut self, + input: crate::model::CostCategorySplitChargeRuleParameterType, + ) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + pub fn values(mut self, input: impl Into) -> Self { + let mut v = self.values.unwrap_or_default(); + v.push(input.into()); + self.values = Some(v); + self + } + pub fn set_values( + mut self, + input: std::option::Option>, + ) -> Self { + self.values = input; + self + } + /// Consumes the builder and constructs a [`CostCategorySplitChargeRuleParameter`](crate::model::CostCategorySplitChargeRuleParameter) + pub fn build(self) -> crate::model::CostCategorySplitChargeRuleParameter { + crate::model::CostCategorySplitChargeRuleParameter { + r#type: self.r#type, + values: self.values, + } + } + } +} +impl CostCategorySplitChargeRuleParameter { + /// Creates a new builder-style object to manufacture [`CostCategorySplitChargeRuleParameter`](crate::model::CostCategorySplitChargeRuleParameter) + pub fn builder() -> crate::model::cost_category_split_charge_rule_parameter::Builder { + crate::model::cost_category_split_charge_rule_parameter::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum CostCategorySplitChargeRuleParameterType { + AllocationPercentages, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for CostCategorySplitChargeRuleParameterType { + fn from(s: &str) -> Self { + match s { + "ALLOCATION_PERCENTAGES" => { + CostCategorySplitChargeRuleParameterType::AllocationPercentages + } + other => CostCategorySplitChargeRuleParameterType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for CostCategorySplitChargeRuleParameterType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(CostCategorySplitChargeRuleParameterType::from(s)) + } +} +impl CostCategorySplitChargeRuleParameterType { + pub fn as_str(&self) -> &str { + match self { + CostCategorySplitChargeRuleParameterType::AllocationPercentages => { + "ALLOCATION_PERCENTAGES" + } + CostCategorySplitChargeRuleParameterType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["ALLOCATION_PERCENTAGES"] + } +} +impl AsRef for CostCategorySplitChargeRuleParameterType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum CostCategorySplitChargeMethod { + Even, + Fixed, + Proportional, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for CostCategorySplitChargeMethod { + fn from(s: &str) -> Self { + match s { + "EVEN" => CostCategorySplitChargeMethod::Even, + "FIXED" => CostCategorySplitChargeMethod::Fixed, + "PROPORTIONAL" => CostCategorySplitChargeMethod::Proportional, + other => CostCategorySplitChargeMethod::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for CostCategorySplitChargeMethod { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(CostCategorySplitChargeMethod::from(s)) + } +} +impl CostCategorySplitChargeMethod { + pub fn as_str(&self) -> &str { + match self { + CostCategorySplitChargeMethod::Even => "EVEN", + CostCategorySplitChargeMethod::Fixed => "FIXED", + CostCategorySplitChargeMethod::Proportional => "PROPORTIONAL", + CostCategorySplitChargeMethod::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["EVEN", "FIXED", "PROPORTIONAL"] + } +} +impl AsRef for CostCategorySplitChargeMethod { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

              Rules are processed in order. If there are multiple rules that match the line item, +/// then the first rule to match is used to determine that Cost Category value.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategoryRule { - ///

              The default value for the cost category.

              + ///

              The + /// default value for the cost category.

              pub value: std::option::Option, ///

              An Expression /// object used to categorize costs. This supports dimensions, tags, and nested expressions. /// Currently the only dimensions supported are LINKED_ACCOUNT, /// SERVICE_CODE, RECORD_TYPE, and /// LINKED_ACCOUNT_NAME.

              - ///

              Root level OR is not supported. We recommend that you create a separate + ///

              Root level OR isn't supported. We recommend that you create a separate /// rule instead.

              ///

              /// RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also /// supported for Cost Category expressions. This dimension uses different terms, depending /// on whether you're using the console or API/JSON editor. For a detailed comparison, see - /// Term Comparisons in the AWS Billing and Cost Management User + /// Term Comparisons in the Billing and Cost Management User /// Guide.

              pub rule: std::option::Option, - ///

              The value the line item will be categorized as, if the line item contains the matched dimension.

              + ///

              The value the line item is categorized as if the line item contains the matched + /// dimension.

              pub inherited_value: std::option::Option, - ///

              You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. The INHERITED_VALUE rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

              + ///

              You can define the CostCategoryRule rule type as either + /// REGULAR or INHERITED_VALUE. The + /// INHERITED_VALUE rule type adds the flexibility of defining a rule that + /// dynamically inherits the cost category value from the dimension value defined by + /// CostCategoryInheritedValueDimension. For example, if you want to + /// dynamically group costs based on the value of a specific tag key, first choose an + /// inherited value rule type, then choose the tag dimension and specify the tag key to + /// use.

              pub r#type: std::option::Option, } impl std::fmt::Debug for CostCategoryRule { @@ -47,7 +359,8 @@ pub mod cost_category_rule { pub(crate) r#type: std::option::Option, } impl Builder { - ///

              The default value for the cost category.

              + ///

              The + /// default value for the cost category.

              pub fn value(mut self, input: impl Into) -> Self { self.value = Some(input.into()); self @@ -61,13 +374,13 @@ pub mod cost_category_rule { /// Currently the only dimensions supported are LINKED_ACCOUNT, /// SERVICE_CODE, RECORD_TYPE, and /// LINKED_ACCOUNT_NAME.

              - ///

              Root level OR is not supported. We recommend that you create a separate + ///

              Root level OR isn't supported. We recommend that you create a separate /// rule instead.

              ///

              /// RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also /// supported for Cost Category expressions. This dimension uses different terms, depending /// on whether you're using the console or API/JSON editor. For a detailed comparison, see - /// Term Comparisons in the AWS Billing and Cost Management User + /// Term Comparisons in the Billing and Cost Management User /// Guide.

              pub fn rule(mut self, input: crate::model::Expression) -> Self { self.rule = Some(input); @@ -77,7 +390,8 @@ pub mod cost_category_rule { self.rule = input; self } - ///

              The value the line item will be categorized as, if the line item contains the matched dimension.

              + ///

              The value the line item is categorized as if the line item contains the matched + /// dimension.

              pub fn inherited_value( mut self, input: crate::model::CostCategoryInheritedValueDimension, @@ -92,7 +406,14 @@ pub mod cost_category_rule { self.inherited_value = input; self } - ///

              You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. The INHERITED_VALUE rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

              + ///

              You can define the CostCategoryRule rule type as either + /// REGULAR or INHERITED_VALUE. The + /// INHERITED_VALUE rule type adds the flexibility of defining a rule that + /// dynamically inherits the cost category value from the dimension value defined by + /// CostCategoryInheritedValueDimension. For example, if you want to + /// dynamically group costs based on the value of a specific tag key, first choose an + /// inherited value rule type, then choose the tag dimension and specify the tag key to + /// use.

              pub fn r#type(mut self, input: crate::model::CostCategoryRuleType) -> Self { self.r#type = Some(input); self @@ -172,12 +493,21 @@ impl AsRef for CostCategoryRuleType { } } -///

              When creating or updating a cost category, you can define the CostCategoryRule rule type as INHERITED_VALUE. This rule type adds the flexibility of defining a rule that dynamically inherits the cost category value from the dimension value defined by CostCategoryInheritedValueDimension. For example, if you wanted to dynamically group costs based on the value of a specific tag key, you would first choose an inherited value rule type, then choose the tag dimension and specify the tag key to use.

              +///

              When creating or updating a cost category, you can define the +/// CostCategoryRule rule type as INHERITED_VALUE. This rule +/// type adds the flexibility of defining a rule that dynamically inherits the cost category +/// value from the dimension value defined by +/// CostCategoryInheritedValueDimension. For example, if you want to +/// dynamically group costs that are based on the value of a specific tag key, first choose +/// an inherited value rule type, then choose the tag dimension and specify the tag key to +/// use.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategoryInheritedValueDimension { - ///

              The name of dimension for which to group costs.

              - ///

              If you specify LINKED_ACCOUNT_NAME, the cost category value will be based on account name. If you specify TAG, the cost category value will be based on the value of the specified tag key.

              + ///

              The name of the dimension that's used to group costs.

              + ///

              If you specify LINKED_ACCOUNT_NAME, the cost category value is based on + /// account name. If you specify TAG, the cost category value will be based on + /// the value of the specified tag key.

              pub dimension_name: std::option::Option, ///

              The key to extract cost category values.

              pub dimension_key: std::option::Option, @@ -201,8 +531,10 @@ pub mod cost_category_inherited_value_dimension { pub(crate) dimension_key: std::option::Option, } impl Builder { - ///

              The name of dimension for which to group costs.

              - ///

              If you specify LINKED_ACCOUNT_NAME, the cost category value will be based on account name. If you specify TAG, the cost category value will be based on the value of the specified tag key.

              + ///

              The name of the dimension that's used to group costs.

              + ///

              If you specify LINKED_ACCOUNT_NAME, the cost category value is based on + /// account name. If you specify TAG, the cost category value will be based on + /// the value of the specified tag key.

              pub fn dimension_name( mut self, input: crate::model::CostCategoryInheritedValueDimensionName, @@ -300,31 +632,33 @@ impl AsRef for CostCategoryInheritedValueDimensionName { ///
            • ///

              Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for -/// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The -/// Expression example looks like:

              +/// REGION==us-east-1 OR REGION==us-west-1. For +/// GetRightsizingRecommendation, the Region is a full name (for +/// example, REGION==US East (N. Virginia). The Expression +/// example is as follows:

              ///

              -/// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", -/// “us-west-1” ] } } +/// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] +/// } } ///

              -///

              The list of dimension values are OR'd together to retrieve cost or usage -/// data. You can create Expression and DimensionValues -/// objects using either with* methods or set* methods in -/// multiple lines.

              +///

              The list of dimension values are OR'd together to retrieve cost or usage data. +/// You can create Expression and DimensionValues objects +/// using either with* methods or set* methods in multiple +/// lines.

              ///
            • ///
            • ///

              Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more -/// Expression objects. This allows you to filter on more advanced -/// options. For example, you can filter on ((REGION == us-east-1 OR +/// Expression objects. By doing this, you can filter on more +/// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != -/// DataTransfer). The Expression for that looks like -/// this:

              +/// DataTransfer). The Expression for that is as +/// follows:

              ///

              -/// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", -/// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", -/// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", -/// "Values": ["DataTransfer"] }}} ] } +/// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ +/// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": +/// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": +/// ["DataTransfer"] }}} ] } ///

              /// ///

              Because each Expression can have only one operator, the @@ -339,13 +673,14 @@ impl AsRef for CostCategoryInheritedValueDimensionName { ///

            • ///
            /// -///

            For the GetRightsizingRecommendation action, a combination of OR and NOT is not -/// supported. OR is not supported between different dimensions, or dimensions and tags. -/// NOT operators aren't supported. -/// Dimensions -/// are also limited to LINKED_ACCOUNT, REGION, or +///

            For the GetRightsizingRecommendation action, a combination of OR and +/// NOT isn't supported. OR isn't supported between different dimensions, or dimensions +/// and tags. NOT operators aren't supported. Dimensions are also limited to +/// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

            -///

            For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

            +///

            For the GetReservationPurchaseRecommendation action, only NOT is +/// supported. AND and OR aren't supported. Dimensions are limited to +/// LINKED_ACCOUNT.

            ///
            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -360,7 +695,7 @@ pub struct Expression { pub dimensions: std::option::Option, ///

            The specific Tag to use for Expression.

            pub tags: std::option::Option, - ///

            The filter based on CostCategory values.

            + ///

            The filter that's based on CostCategory values.

            pub cost_categories: std::option::Option, } impl std::fmt::Debug for Expression { @@ -448,7 +783,7 @@ pub mod expression { self.tags = input; self } - ///

            The filter based on CostCategory values.

            + ///

            The filter that's based on CostCategory values.

            pub fn cost_categories(mut self, input: crate::model::CostCategoryValues) -> Self { self.cost_categories = Some(input); self @@ -482,9 +817,12 @@ impl Expression { ///

            The Cost Categories values used for filtering the costs.

            ///

            If Values and Key are not specified, the ABSENT -/// MatchOption is applied to all Cost Categories. That is, filtering on resources that are not mapped to any Cost Categories.

            -///

            If Values is provided and Key is not specified, the ABSENT -/// MatchOption is applied to the Cost Categories Key only. That is, filtering on resources without the given Cost Categories key.

            +/// MatchOption is applied to all Cost Categories. That is, it filters on +/// resources that aren't mapped to any Cost Categories.

            +///

            If Values is provided and Key isn't specified, the +/// ABSENT +/// MatchOption is applied to the Cost Categories Key only. That +/// is, it filters on resources without the given Cost Categories key.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategoryValues { @@ -492,8 +830,9 @@ pub struct CostCategoryValues { pub key: std::option::Option, ///

            The specific value of the Cost Category.

            pub values: std::option::Option>, - ///

            - /// The match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. + ///

            The match options that you can use to filter your results. MatchOptions is only + /// applicable for actions related to cost category. The default values for + /// MatchOptions is EQUALS and CASE_SENSITIVE. ///

            pub match_options: std::option::Option>, } @@ -643,10 +982,13 @@ impl AsRef for MatchOption { } ///

            The values that are available for a tag.

            -///

            If Values and Key are not specified, the ABSENT -/// MatchOption is applied to all tags. That is, filtering on resources with no tags.

            -///

            If Values is provided and Key is not specified, the ABSENT -/// MatchOption is applied to the tag Key only. That is, filtering on resources without the given tag key.

            +///

            If Values and Key aren't specified, the ABSENT +/// MatchOption is applied to all tags. That is, it's filtered on resources +/// with no tags.

            +///

            If Values is provided and Key isn't specified, the +/// ABSENT +/// MatchOption is applied to the tag Key only. That is, it's +/// filtered on resources without the given tag key.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagValues { @@ -654,9 +996,9 @@ pub struct TagValues { pub key: std::option::Option, ///

            The specific value of the tag.

            pub values: std::option::Option>, - ///

            The match options that you can use to filter your results. - /// MatchOptions is only applicable for actions related to Cost Category. - /// The default values for MatchOptions are EQUALS and + ///

            The match options that you can use to filter your results. MatchOptions + /// is only applicable for actions related to Cost Category. The default values for + /// MatchOptions are EQUALS and /// CASE_SENSITIVE.

            pub match_options: std::option::Option>, } @@ -737,15 +1079,15 @@ impl TagValues { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DimensionValues { - ///

            The names of the metadata types that you can use to filter and group your results. - /// For example, AZ returns a list of Availability Zones.

            + ///

            The names of the metadata types that you can use to filter and group your results. For + /// example, AZ returns a list of Availability Zones.

            pub key: std::option::Option, ///

            The metadata values that you can use to filter and group your results. You can use /// GetDimensionValues to find specific values.

            pub values: std::option::Option>, - ///

            The match options that you can use to filter your results. - /// MatchOptions is only applicable for actions related to Cost Category. - /// The default values for MatchOptions are EQUALS and + ///

            The match options that you can use to filter your results. MatchOptions + /// is only applicable for actions related to Cost Category. The default values for + /// MatchOptions are EQUALS and /// CASE_SENSITIVE.

            pub match_options: std::option::Option>, } @@ -769,8 +1111,8 @@ pub mod dimension_values { pub(crate) match_options: std::option::Option>, } impl Builder { - ///

            The names of the metadata types that you can use to filter and group your results. - /// For example, AZ returns a list of Availability Zones.

            + ///

            The names of the metadata types that you can use to filter and group your results. For + /// example, AZ returns a list of Availability Zones.

            pub fn key(mut self, input: crate::model::Dimension) -> Self { self.key = Some(input); self @@ -1039,19 +1381,16 @@ impl AsRef for CostCategoryRuleVersion { } } -///

            -/// The recipient of AnomalySubscription notifications. -///

            +///

            The recipient of AnomalySubscription notifications.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Subscriber { - ///

            The email address or SNS Amazon Resource Name (ARN), depending on the Type.

            + ///

            The email address or SNS Amazon Resource Name (ARN). This depends on the + /// Type.

            pub address: std::option::Option, - ///

            - /// The notification delivery channel. - ///

            + ///

            The notification delivery channel.

            pub r#type: std::option::Option, - ///

            Indicates if the subscriber accepts the notifications.

            + ///

            Indicates if the subscriber accepts the notifications.

            pub status: std::option::Option, } impl std::fmt::Debug for Subscriber { @@ -1074,7 +1413,8 @@ pub mod subscriber { pub(crate) status: std::option::Option, } impl Builder { - ///

            The email address or SNS Amazon Resource Name (ARN), depending on the Type.

            + ///

            The email address or SNS Amazon Resource Name (ARN). This depends on the + /// Type.

            pub fn address(mut self, input: impl Into) -> Self { self.address = Some(input.into()); self @@ -1083,9 +1423,7 @@ pub mod subscriber { self.address = input; self } - ///

            - /// The notification delivery channel. - ///

            + ///

            The notification delivery channel.

            pub fn r#type(mut self, input: crate::model::SubscriberType) -> Self { self.r#type = Some(input); self @@ -1097,7 +1435,7 @@ pub mod subscriber { self.r#type = input; self } - ///

            Indicates if the subscriber accepts the notifications.

            + ///

            Indicates if the subscriber accepts the notifications.

            pub fn status(mut self, input: crate::model::SubscriberStatus) -> Self { self.status = Some(input); self @@ -1332,37 +1670,31 @@ impl AsRef for AnomalyFeedbackType { } } -///

            A reference to a Cost Category containing only enough information to identify the Cost Category.

            -///

            You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

            +///

            A reference to a Cost Category containing only enough information to identify the Cost +/// Category.

            +///

            You can use this information to retrieve the full Cost Category information using +/// DescribeCostCategory.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategoryReference { - ///

            - /// The unique identifier for your Cost Category. - ///

            + ///

            The unique identifier for your Cost Category.

            pub cost_category_arn: std::option::Option, ///

            The unique name of the Cost Category.

            pub name: std::option::Option, - ///

            - /// The Cost Category's effective start date.

            + ///

            The Cost Category's effective start date.

            pub effective_start: std::option::Option, - ///

            - /// The Cost Category's effective end date.

            + ///

            The Cost Category's effective end date.

            pub effective_end: std::option::Option, - ///

            - /// The number of rules associated with a specific Cost Category. - ///

            + ///

            The number of rules that are associated with a specific Cost Category.

            pub number_of_rules: i32, - ///

            - /// The list of processing statuses for Cost Management products for a specific cost category. - ///

            + ///

            The list of processing statuses for Cost Management products for a specific cost + /// category.

            pub processing_status: std::option::Option>, - ///

            - /// A list of unique cost category values in a specific cost category. - ///

            + ///

            A list of unique cost category values in a specific cost category.

            pub values: std::option::Option>, - ///

            The default value for the cost category.

            + ///

            The + /// default value for the cost category.

            pub default_value: std::option::Option, } impl std::fmt::Debug for CostCategoryReference { @@ -1396,9 +1728,7 @@ pub mod cost_category_reference { pub(crate) default_value: std::option::Option, } impl Builder { - ///

            - /// The unique identifier for your Cost Category. - ///

            + ///

            The unique identifier for your Cost Category.

            pub fn cost_category_arn(mut self, input: impl Into) -> Self { self.cost_category_arn = Some(input.into()); self @@ -1419,8 +1749,7 @@ pub mod cost_category_reference { self.name = input; self } - ///

            - /// The Cost Category's effective start date.

            + ///

            The Cost Category's effective start date.

            pub fn effective_start(mut self, input: impl Into) -> Self { self.effective_start = Some(input.into()); self @@ -1432,8 +1761,7 @@ pub mod cost_category_reference { self.effective_start = input; self } - ///

            - /// The Cost Category's effective end date.

            + ///

            The Cost Category's effective end date.

            pub fn effective_end(mut self, input: impl Into) -> Self { self.effective_end = Some(input.into()); self @@ -1445,9 +1773,7 @@ pub mod cost_category_reference { self.effective_end = input; self } - ///

            - /// The number of rules associated with a specific Cost Category. - ///

            + ///

            The number of rules that are associated with a specific Cost Category.

            pub fn number_of_rules(mut self, input: i32) -> Self { self.number_of_rules = Some(input); self @@ -1485,7 +1811,8 @@ pub mod cost_category_reference { self.values = input; self } - ///

            The default value for the cost category.

            + ///

            The + /// default value for the cost category.

            pub fn default_value(mut self, input: impl Into) -> Self { self.default_value = Some(input.into()); self @@ -1519,19 +1846,14 @@ impl CostCategoryReference { } } -///

            -/// The list of processing statuses for Cost Management products for a specific cost category. -///

            +///

            The list of processing statuses for Cost Management products for a specific cost +/// category.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategoryProcessingStatus { - ///

            - /// The Cost Management product name of the applied status. - ///

            + ///

            The Cost Management product name of the applied status.

            pub component: std::option::Option, - ///

            - /// The process status for a specific cost category. - ///

            + ///

            The process status for a specific cost category.

            pub status: std::option::Option, } impl std::fmt::Debug for CostCategoryProcessingStatus { @@ -1552,9 +1874,7 @@ pub mod cost_category_processing_status { pub(crate) status: std::option::Option, } impl Builder { - ///

            - /// The Cost Management product name of the applied status. - ///

            + ///

            The Cost Management product name of the applied status.

            pub fn component(mut self, input: crate::model::CostCategoryStatusComponent) -> Self { self.component = Some(input); self @@ -1566,9 +1886,7 @@ pub mod cost_category_processing_status { self.component = input; self } - ///

            - /// The process status for a specific cost category. - ///

            + ///

            The process status for a specific cost category.

            pub fn status(mut self, input: crate::model::CostCategoryStatus) -> Self { self.status = Some(input); self @@ -1693,7 +2011,7 @@ impl AsRef for CostCategoryStatusComponent { } } -///

            The forecast created for your query.

            +///

            The forecast that's created for your query.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ForecastResult { @@ -1803,20 +2121,18 @@ impl ForecastResult { } } -///

            The time period of the request. -///

            +///

            The time period of the request.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DateInterval { - ///

            The beginning of the time period. The start - /// date is inclusive. For example, if start is 2017-01-01, AWS - /// retrieves cost and usage data starting at 2017-01-01 up to the end - /// date. The start date must be equal to or no later than the current date to avoid a validation error.

            + ///

            The beginning of the time period. The start date is inclusive. For example, if + /// start is 2017-01-01, Amazon Web Services retrieves cost and + /// usage data starting at 2017-01-01 up to the end date. The start date must + /// be equal to or no later than the current date to avoid a validation error.

            pub start: std::option::Option, - ///

            The end of the time period. The end date is - /// exclusive. For example, if end is 2017-05-01, AWS retrieves - /// cost and usage data from the start date up to, but not including, - /// 2017-05-01.

            + ///

            The end of the time period. The end date is exclusive. For example, if + /// end is 2017-05-01, Amazon Web Services retrieves cost and + /// usage data from the start date up to, but not including, 2017-05-01.

            pub end: std::option::Option, } impl std::fmt::Debug for DateInterval { @@ -1837,10 +2153,10 @@ pub mod date_interval { pub(crate) end: std::option::Option, } impl Builder { - ///

            The beginning of the time period. The start - /// date is inclusive. For example, if start is 2017-01-01, AWS - /// retrieves cost and usage data starting at 2017-01-01 up to the end - /// date. The start date must be equal to or no later than the current date to avoid a validation error.

            + ///

            The beginning of the time period. The start date is inclusive. For example, if + /// start is 2017-01-01, Amazon Web Services retrieves cost and + /// usage data starting at 2017-01-01 up to the end date. The start date must + /// be equal to or no later than the current date to avoid a validation error.

            pub fn start(mut self, input: impl Into) -> Self { self.start = Some(input.into()); self @@ -1849,10 +2165,9 @@ pub mod date_interval { self.start = input; self } - ///

            The end of the time period. The end date is - /// exclusive. For example, if end is 2017-05-01, AWS retrieves - /// cost and usage data from the start date up to, but not including, - /// 2017-05-01.

            + ///

            The end of the time period. The end date is exclusive. For example, if + /// end is 2017-05-01, Amazon Web Services retrieves cost and + /// usage data from the start date up to, but not including, 2017-05-01.

            pub fn end(mut self, input: impl Into) -> Self { self.end = Some(input.into()); self @@ -2068,9 +2383,9 @@ impl AsRef for Metric { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SortDefinition { - ///

            The key by which to sort the data.

            + ///

            The key that's used to sort the data.

            pub key: std::option::Option, - ///

            The order in which to sort the data.

            + ///

            The order that's used to sort the data.

            pub sort_order: std::option::Option, } impl std::fmt::Debug for SortDefinition { @@ -2091,7 +2406,7 @@ pub mod sort_definition { pub(crate) sort_order: std::option::Option, } impl Builder { - ///

            The key by which to sort the data.

            + ///

            The key that's used to sort the data.

            pub fn key(mut self, input: impl Into) -> Self { self.key = Some(input.into()); self @@ -2100,7 +2415,7 @@ pub mod sort_definition { self.key = input; self } - ///

            The order in which to sort the data.

            + ///

            The order that's used to sort the data.

            pub fn sort_order(mut self, input: crate::model::SortOrder) -> Self { self.sort_order = Some(input); self @@ -2182,11 +2497,15 @@ impl AsRef for SortOrder { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansUtilizationAggregates { - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub utilization: std::option::Option, - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from Savings Plans, as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub savings: std::option::Option, - ///

            The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. This includes the sum of the + /// upfront and recurring Savings Plans fees.

            pub amortized_commitment: std::option::Option, } impl std::fmt::Debug for SavingsPlansUtilizationAggregates { @@ -2210,7 +2529,8 @@ pub mod savings_plans_utilization_aggregates { std::option::Option, } impl Builder { - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub fn utilization(mut self, input: crate::model::SavingsPlansUtilization) -> Self { self.utilization = Some(input); self @@ -2222,7 +2542,9 @@ pub mod savings_plans_utilization_aggregates { self.utilization = input; self } - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from Savings Plans, as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub fn savings(mut self, input: crate::model::SavingsPlansSavings) -> Self { self.savings = Some(input); self @@ -2234,7 +2556,8 @@ pub mod savings_plans_utilization_aggregates { self.savings = input; self } - ///

            The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. This includes the sum of the + /// upfront and recurring Savings Plans fees.

            pub fn amortized_commitment( mut self, input: crate::model::SavingsPlansAmortizedCommitment, @@ -2266,15 +2589,19 @@ impl SavingsPlansUtilizationAggregates { } } -///

            The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

            +///

            The amortized amount of Savings Plans purchased in a specific account during a +/// specific time interval.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansAmortizedCommitment { - ///

            The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

            + ///

            The amortized amount of your Savings Plans commitment that was purchased with either a + /// Partial or a NoUpfront.

            pub amortized_recurring_commitment: std::option::Option, - ///

            The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

            + ///

            The amortized amount of your Savings Plans commitment that was purchased with an + /// Upfront or PartialUpfront Savings Plans.

            pub amortized_upfront_commitment: std::option::Option, - ///

            The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

            + ///

            The total amortized amount of your Savings Plans commitment, regardless of your + /// Savings Plans purchase method.

            pub total_amortized_commitment: std::option::Option, } impl std::fmt::Debug for SavingsPlansAmortizedCommitment { @@ -2306,7 +2633,8 @@ pub mod savings_plans_amortized_commitment { pub(crate) total_amortized_commitment: std::option::Option, } impl Builder { - ///

            The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

            + ///

            The amortized amount of your Savings Plans commitment that was purchased with either a + /// Partial or a NoUpfront.

            pub fn amortized_recurring_commitment( mut self, input: impl Into, @@ -2321,7 +2649,8 @@ pub mod savings_plans_amortized_commitment { self.amortized_recurring_commitment = input; self } - ///

            The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

            + ///

            The amortized amount of your Savings Plans commitment that was purchased with an + /// Upfront or PartialUpfront Savings Plans.

            pub fn amortized_upfront_commitment( mut self, input: impl Into, @@ -2336,7 +2665,8 @@ pub mod savings_plans_amortized_commitment { self.amortized_upfront_commitment = input; self } - ///

            The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

            + ///

            The total amortized amount of your Savings Plans commitment, regardless of your + /// Savings Plans purchase method.

            pub fn total_amortized_commitment(mut self, input: impl Into) -> Self { self.total_amortized_commitment = Some(input.into()); self @@ -2365,15 +2695,16 @@ impl SavingsPlansAmortizedCommitment { } } -///

            The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

            +///

            The amount of savings that you're accumulating, against the public On-Demand rate of +/// the usage accrued in an account.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansSavings { - ///

            The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

            + ///

            The savings amount that you're accumulating for the usage that's covered by a Savings + /// Plans, when compared to the On-Demand equivalent of the same usage.

            pub net_savings: std::option::Option, - ///

            How much the amount that the usage would have cost if it was - /// accrued - /// at the On-Demand rate.

            + ///

            How much the amount that the usage would have cost if it was accrued at the On-Demand + /// rate.

            pub on_demand_cost_equivalent: std::option::Option, } impl std::fmt::Debug for SavingsPlansSavings { @@ -2394,7 +2725,8 @@ pub mod savings_plans_savings { pub(crate) on_demand_cost_equivalent: std::option::Option, } impl Builder { - ///

            The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

            + ///

            The savings amount that you're accumulating for the usage that's covered by a Savings + /// Plans, when compared to the On-Demand equivalent of the same usage.

            pub fn net_savings(mut self, input: impl Into) -> Self { self.net_savings = Some(input.into()); self @@ -2403,9 +2735,8 @@ pub mod savings_plans_savings { self.net_savings = input; self } - ///

            How much the amount that the usage would have cost if it was - /// accrued - /// at the On-Demand rate.

            + ///

            How much the amount that the usage would have cost if it was accrued at the On-Demand + /// rate.

            pub fn on_demand_cost_equivalent(mut self, input: impl Into) -> Self { self.on_demand_cost_equivalent = Some(input.into()); self @@ -2433,17 +2764,21 @@ impl SavingsPlansSavings { } } -///

            The measurement of how well you are using your existing Savings Plans.

            +///

            The measurement of how well you're using your existing Savings Plans.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansUtilization { - ///

            The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

            + ///

            The total amount of Savings Plans commitment that's been purchased in an account (or + /// set of accounts).

            pub total_commitment: std::option::Option, - ///

            The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

            + ///

            The amount of your Savings Plans commitment that was consumed from Savings Plans + /// eligible usage in a specific period.

            pub used_commitment: std::option::Option, - ///

            The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

            + ///

            The amount of your Savings Plans commitment that wasn't consumed from Savings Plans + /// eligible usage in a specific period.

            pub unused_commitment: std::option::Option, - ///

            The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

            + ///

            The amount of UsedCommitment divided by the TotalCommitment + /// for your Savings Plans.

            pub utilization_percentage: std::option::Option, } impl std::fmt::Debug for SavingsPlansUtilization { @@ -2468,7 +2803,8 @@ pub mod savings_plans_utilization { pub(crate) utilization_percentage: std::option::Option, } impl Builder { - ///

            The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

            + ///

            The total amount of Savings Plans commitment that's been purchased in an account (or + /// set of accounts).

            pub fn total_commitment(mut self, input: impl Into) -> Self { self.total_commitment = Some(input.into()); self @@ -2480,7 +2816,8 @@ pub mod savings_plans_utilization { self.total_commitment = input; self } - ///

            The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

            + ///

            The amount of your Savings Plans commitment that was consumed from Savings Plans + /// eligible usage in a specific period.

            pub fn used_commitment(mut self, input: impl Into) -> Self { self.used_commitment = Some(input.into()); self @@ -2492,7 +2829,8 @@ pub mod savings_plans_utilization { self.used_commitment = input; self } - ///

            The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

            + ///

            The amount of your Savings Plans commitment that wasn't consumed from Savings Plans + /// eligible usage in a specific period.

            pub fn unused_commitment(mut self, input: impl Into) -> Self { self.unused_commitment = Some(input.into()); self @@ -2504,7 +2842,8 @@ pub mod savings_plans_utilization { self.unused_commitment = input; self } - ///

            The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

            + ///

            The amount of UsedCommitment divided by the TotalCommitment + /// for your Savings Plans.

            pub fn utilization_percentage(mut self, input: impl Into) -> Self { self.utilization_percentage = Some(input.into()); self @@ -2534,7 +2873,9 @@ impl SavingsPlansUtilization { } } -///

            A single daily or monthly Savings Plans utilization rate, and details for your account. A management account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

            +///

            A single daily or monthly Savings Plans utilization rate, and details for your +/// account. A management account in an organization have access to member accounts. You can +/// use GetDimensionValues to determine the possible dimension values.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansUtilizationDetail { @@ -2543,11 +2884,15 @@ pub struct SavingsPlansUtilizationDetail { ///

            The attribute that applies to a specific Dimension.

            pub attributes: std::option::Option>, - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub utilization: std::option::Option, - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from savings plans as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub savings: std::option::Option, - ///

            The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. Includes the sum of the upfront + /// and recurring Savings Plans fees.

            pub amortized_commitment: std::option::Option, } impl std::fmt::Debug for SavingsPlansUtilizationDetail { @@ -2608,7 +2953,8 @@ pub mod savings_plans_utilization_detail { self.attributes = input; self } - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub fn utilization(mut self, input: crate::model::SavingsPlansUtilization) -> Self { self.utilization = Some(input); self @@ -2620,7 +2966,9 @@ pub mod savings_plans_utilization_detail { self.utilization = input; self } - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from savings plans as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub fn savings(mut self, input: crate::model::SavingsPlansSavings) -> Self { self.savings = Some(input); self @@ -2632,7 +2980,8 @@ pub mod savings_plans_utilization_detail { self.savings = input; self } - ///

            The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. Includes the sum of the upfront + /// and recurring Savings Plans fees.

            pub fn amortized_commitment( mut self, input: crate::model::SavingsPlansAmortizedCommitment, @@ -2731,14 +3080,17 @@ impl AsRef for SavingsPlansDataType { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansUtilizationByTime { - ///

            The time period of the request. - ///

            + ///

            The time period of the request.

            pub time_period: std::option::Option, - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub utilization: std::option::Option, - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from Savings Plans as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub savings: std::option::Option, - ///

            The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. This includes the sum of the + /// upfront and recurring Savings Plans fees.

            pub amortized_commitment: std::option::Option, } impl std::fmt::Debug for SavingsPlansUtilizationByTime { @@ -2764,8 +3116,7 @@ pub mod savings_plans_utilization_by_time { std::option::Option, } impl Builder { - ///

            The time period of the request. - ///

            + ///

            The time period of the request.

            pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -2777,7 +3128,8 @@ pub mod savings_plans_utilization_by_time { self.time_period = input; self } - ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

            + ///

            A ratio of your effectiveness of using existing Savings Plans to apply to workloads + /// that are Savings Plans eligible.

            pub fn utilization(mut self, input: crate::model::SavingsPlansUtilization) -> Self { self.utilization = Some(input); self @@ -2789,7 +3141,9 @@ pub mod savings_plans_utilization_by_time { self.utilization = input; self } - ///

            The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

            + ///

            The amount saved by using existing Savings Plans. Savings returns both net savings + /// from Savings Plans as well as the onDemandCostEquivalent of the Savings + /// Plans when considering the utilization rate.

            pub fn savings(mut self, input: crate::model::SavingsPlansSavings) -> Self { self.savings = Some(input); self @@ -2801,7 +3155,8 @@ pub mod savings_plans_utilization_by_time { self.savings = input; self } - ///

            The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

            + ///

            The total amortized commitment for a Savings Plans. This includes the sum of the + /// upfront and recurring Savings Plans fees.

            pub fn amortized_commitment( mut self, input: crate::model::SavingsPlansAmortizedCommitment, @@ -2834,15 +3189,20 @@ impl SavingsPlansUtilizationByTime { } } -///

            Contains your request parameters, Savings Plan Recommendations Summary, and Details.

            +///

            Contains your request parameters, Savings Plan Recommendations Summary, and +/// Details.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansPurchaseRecommendation { - ///

            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

            + ///

            The account scope that you want your recommendations for. Amazon Web Services + /// calculates recommendations that include the management account and member accounts if + /// the value is set to PAYER. If the value is LINKED, + /// recommendations are calculated for individual member accounts only.

            pub account_scope: std::option::Option, ///

            The requested Savings Plans recommendation type.

            pub savings_plans_type: std::option::Option, - ///

            The Savings Plans recommendation term in years, used to generate the recommendation.

            + ///

            The Savings Plans recommendation term in years. It's used to generate the + /// recommendation.

            pub term_in_years: std::option::Option, ///

            The payment option used to generate the recommendation.

            pub payment_option: std::option::Option, @@ -2893,7 +3253,10 @@ pub mod savings_plans_purchase_recommendation { std::option::Option, } impl Builder { - ///

            The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

            + ///

            The account scope that you want your recommendations for. Amazon Web Services + /// calculates recommendations that include the management account and member accounts if + /// the value is set to PAYER. If the value is LINKED, + /// recommendations are calculated for individual member accounts only.

            pub fn account_scope(mut self, input: crate::model::AccountScope) -> Self { self.account_scope = Some(input); self @@ -2920,7 +3283,8 @@ pub mod savings_plans_purchase_recommendation { self.savings_plans_type = input; self } - ///

            The Savings Plans recommendation term in years, used to generate the recommendation.

            + ///

            The Savings Plans recommendation term in years. It's used to generate the + /// recommendation.

            pub fn term_in_years(mut self, input: crate::model::TermInYears) -> Self { self.term_in_years = Some(input); self @@ -3021,30 +3385,39 @@ impl SavingsPlansPurchaseRecommendation { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansPurchaseRecommendationSummary { - ///

            The estimated return on investment based on the recommended Savings Plans and estimated savings.

            + ///

            The estimated return on investment that's based on the recommended Savings Plans and + /// estimated savings.

            pub estimated_roi: std::option::Option, - ///

            The currency code AWS used to generate the recommendations and present potential - /// savings.

            + ///

            The currency code that Amazon Web Services used to generate the recommendations and + /// present potential savings.

            pub currency_code: std::option::Option, - ///

            The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

            + ///

            The estimated total cost of the usage after purchasing the recommended Savings Plans. + /// This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand + /// usage.

            pub estimated_total_cost: std::option::Option, - ///

            The current total on demand spend of the applicable usage types over the lookback period.

            + ///

            The current total on demand spend of the applicable usage types over the lookback + /// period.

            pub current_on_demand_spend: std::option::Option, - ///

            The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

            + ///

            The estimated total savings over the lookback period, based on the purchase of the + /// recommended Savings Plans.

            pub estimated_savings_amount: std::option::Option, - ///

            The aggregate number of Savings Plans recommendations that exist for your account.

            + ///

            The aggregate number of Savings Plans recommendations that exist for your + /// account.

            pub total_recommendation_count: std::option::Option, ///

            The recommended Savings Plans cost on a daily (24 hourly) basis.

            pub daily_commitment_to_purchase: std::option::Option, - ///

            The recommended hourly commitment based on the recommendation parameters.

            + ///

            The recommended hourly commitment that's based on the recommendation + /// parameters.

            pub hourly_commitment_to_purchase: std::option::Option, - ///

            The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

            + ///

            The estimated savings relative to the total cost of On-Demand usage, over the lookback + /// period. This is calculated as estimatedSavingsAmount/ + /// CurrentOnDemandSpend*100.

            pub estimated_savings_percentage: std::option::Option, - ///

            The estimated monthly savings amount, based on the recommended Savings Plans purchase.

            + ///

            The estimated monthly savings amount that's based on the recommended Savings Plans + /// purchase.

            pub estimated_monthly_savings_amount: std::option::Option, - ///

            - /// The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - ///

            + ///

            The estimated On-Demand costs you would expect with no additional commitment. It's + /// based on your usage of the selected time period and the Savings Plans you own.

            pub estimated_on_demand_cost_with_current_commitment: std::option::Option, } impl std::fmt::Debug for SavingsPlansPurchaseRecommendationSummary { @@ -3102,7 +3475,8 @@ pub mod savings_plans_purchase_recommendation_summary { std::option::Option, } impl Builder { - ///

            The estimated return on investment based on the recommended Savings Plans and estimated savings.

            + ///

            The estimated return on investment that's based on the recommended Savings Plans and + /// estimated savings.

            pub fn estimated_roi(mut self, input: impl Into) -> Self { self.estimated_roi = Some(input.into()); self @@ -3114,8 +3488,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.estimated_roi = input; self } - ///

            The currency code AWS used to generate the recommendations and present potential - /// savings.

            + ///

            The currency code that Amazon Web Services used to generate the recommendations and + /// present potential savings.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -3127,7 +3501,9 @@ pub mod savings_plans_purchase_recommendation_summary { self.currency_code = input; self } - ///

            The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

            + ///

            The estimated total cost of the usage after purchasing the recommended Savings Plans. + /// This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand + /// usage.

            pub fn estimated_total_cost(mut self, input: impl Into) -> Self { self.estimated_total_cost = Some(input.into()); self @@ -3139,7 +3515,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.estimated_total_cost = input; self } - ///

            The current total on demand spend of the applicable usage types over the lookback period.

            + ///

            The current total on demand spend of the applicable usage types over the lookback + /// period.

            pub fn current_on_demand_spend(mut self, input: impl Into) -> Self { self.current_on_demand_spend = Some(input.into()); self @@ -3151,7 +3528,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.current_on_demand_spend = input; self } - ///

            The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

            + ///

            The estimated total savings over the lookback period, based on the purchase of the + /// recommended Savings Plans.

            pub fn estimated_savings_amount(mut self, input: impl Into) -> Self { self.estimated_savings_amount = Some(input.into()); self @@ -3163,7 +3541,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.estimated_savings_amount = input; self } - ///

            The aggregate number of Savings Plans recommendations that exist for your account.

            + ///

            The aggregate number of Savings Plans recommendations that exist for your + /// account.

            pub fn total_recommendation_count(mut self, input: impl Into) -> Self { self.total_recommendation_count = Some(input.into()); self @@ -3190,7 +3569,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.daily_commitment_to_purchase = input; self } - ///

            The recommended hourly commitment based on the recommendation parameters.

            + ///

            The recommended hourly commitment that's based on the recommendation + /// parameters.

            pub fn hourly_commitment_to_purchase( mut self, input: impl Into, @@ -3205,7 +3585,9 @@ pub mod savings_plans_purchase_recommendation_summary { self.hourly_commitment_to_purchase = input; self } - ///

            The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

            + ///

            The estimated savings relative to the total cost of On-Demand usage, over the lookback + /// period. This is calculated as estimatedSavingsAmount/ + /// CurrentOnDemandSpend*100.

            pub fn estimated_savings_percentage( mut self, input: impl Into, @@ -3220,7 +3602,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.estimated_savings_percentage = input; self } - ///

            The estimated monthly savings amount, based on the recommended Savings Plans purchase.

            + ///

            The estimated monthly savings amount that's based on the recommended Savings Plans + /// purchase.

            pub fn estimated_monthly_savings_amount( mut self, input: impl Into, @@ -3235,9 +3618,8 @@ pub mod savings_plans_purchase_recommendation_summary { self.estimated_monthly_savings_amount = input; self } - ///

            - /// The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - ///

            + ///

            The estimated On-Demand costs you would expect with no additional commitment. It's + /// based on your usage of the selected time period and the Savings Plans you own.

            pub fn estimated_on_demand_cost_with_current_commitment( mut self, input: impl Into, @@ -3286,36 +3668,46 @@ pub struct SavingsPlansPurchaseRecommendationDetail { pub savings_plans_details: std::option::Option, ///

            The AccountID the recommendation is generated for.

            pub account_id: std::option::Option, - ///

            The upfront cost of the recommended Savings Plans, based on the selected payment option.

            + ///

            The upfront cost of the recommended Savings Plans, based on the selected payment + /// option.

            pub upfront_cost: std::option::Option, - ///

            The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

            + ///

            The estimated return on investment that's based on the recommended Savings Plans that + /// you purchased. This is calculated as estimatedSavingsAmount/ + /// estimatedSPCost*100.

            pub estimated_roi: std::option::Option, - ///

            The currency code AWS used to generate the recommendations and present potential - /// savings.

            + ///

            The currency code that Amazon Web Services used to generate the recommendations and + /// present potential savings.

            pub currency_code: std::option::Option, - ///

            The cost of the recommended Savings Plans over the length of the lookback period.

            + ///

            The cost of the recommended Savings Plans over the length of the lookback + /// period.

            pub estimated_sp_cost: std::option::Option, - ///

            The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

            + ///

            The remaining On-Demand cost estimated to not be covered by the recommended Savings + /// Plans, over the length of the lookback period.

            pub estimated_on_demand_cost: std::option::Option, - ///

            - /// The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - ///

            + ///

            The estimated On-Demand costs you would expect with no additional commitment, based + /// on your usage of the selected time period and the Savings Plans you own.

            pub estimated_on_demand_cost_with_current_commitment: std::option::Option, - ///

            The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

            + ///

            The estimated savings amount that's based on the recommended Savings Plans over the + /// length of the lookback period.

            pub estimated_savings_amount: std::option::Option, - ///

            The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

            + ///

            The estimated savings percentage relative to the total cost of applicable On-Demand + /// usage over the lookback period.

            pub estimated_savings_percentage: std::option::Option, - ///

            The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

            + ///

            The recommended hourly commitment level for the Savings Plans type and the + /// configuration that's based on the usage during the lookback period.

            pub hourly_commitment_to_purchase: std::option::Option, ///

            The estimated utilization of the recommended Savings Plans.

            pub estimated_average_utilization: std::option::Option, - ///

            The estimated monthly savings amount, based on the recommended Savings Plans.

            + ///

            The estimated monthly savings amount based on the recommended Savings Plans.

            pub estimated_monthly_savings_amount: std::option::Option, - ///

            The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The lowest value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub current_minimum_hourly_on_demand_spend: std::option::Option, - ///

            The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The highest value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub current_maximum_hourly_on_demand_spend: std::option::Option, - ///

            The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The average value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub current_average_hourly_on_demand_spend: std::option::Option, } impl std::fmt::Debug for SavingsPlansPurchaseRecommendationDetail { @@ -3410,7 +3802,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.account_id = input; self } - ///

            The upfront cost of the recommended Savings Plans, based on the selected payment option.

            + ///

            The upfront cost of the recommended Savings Plans, based on the selected payment + /// option.

            pub fn upfront_cost(mut self, input: impl Into) -> Self { self.upfront_cost = Some(input.into()); self @@ -3419,7 +3812,9 @@ pub mod savings_plans_purchase_recommendation_detail { self.upfront_cost = input; self } - ///

            The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

            + ///

            The estimated return on investment that's based on the recommended Savings Plans that + /// you purchased. This is calculated as estimatedSavingsAmount/ + /// estimatedSPCost*100.

            pub fn estimated_roi(mut self, input: impl Into) -> Self { self.estimated_roi = Some(input.into()); self @@ -3431,8 +3826,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_roi = input; self } - ///

            The currency code AWS used to generate the recommendations and present potential - /// savings.

            + ///

            The currency code that Amazon Web Services used to generate the recommendations and + /// present potential savings.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -3444,7 +3839,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.currency_code = input; self } - ///

            The cost of the recommended Savings Plans over the length of the lookback period.

            + ///

            The cost of the recommended Savings Plans over the length of the lookback + /// period.

            pub fn estimated_sp_cost(mut self, input: impl Into) -> Self { self.estimated_sp_cost = Some(input.into()); self @@ -3456,7 +3852,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_sp_cost = input; self } - ///

            The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

            + ///

            The remaining On-Demand cost estimated to not be covered by the recommended Savings + /// Plans, over the length of the lookback period.

            pub fn estimated_on_demand_cost(mut self, input: impl Into) -> Self { self.estimated_on_demand_cost = Some(input.into()); self @@ -3468,9 +3865,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_on_demand_cost = input; self } - ///

            - /// The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own. - ///

            + ///

            The estimated On-Demand costs you would expect with no additional commitment, based + /// on your usage of the selected time period and the Savings Plans you own.

            pub fn estimated_on_demand_cost_with_current_commitment( mut self, input: impl Into, @@ -3485,7 +3881,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_on_demand_cost_with_current_commitment = input; self } - ///

            The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

            + ///

            The estimated savings amount that's based on the recommended Savings Plans over the + /// length of the lookback period.

            pub fn estimated_savings_amount(mut self, input: impl Into) -> Self { self.estimated_savings_amount = Some(input.into()); self @@ -3497,7 +3894,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_savings_amount = input; self } - ///

            The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

            + ///

            The estimated savings percentage relative to the total cost of applicable On-Demand + /// usage over the lookback period.

            pub fn estimated_savings_percentage( mut self, input: impl Into, @@ -3512,7 +3910,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_savings_percentage = input; self } - ///

            The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

            + ///

            The recommended hourly commitment level for the Savings Plans type and the + /// configuration that's based on the usage during the lookback period.

            pub fn hourly_commitment_to_purchase( mut self, input: impl Into, @@ -3542,7 +3941,7 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_average_utilization = input; self } - ///

            The estimated monthly savings amount, based on the recommended Savings Plans.

            + ///

            The estimated monthly savings amount based on the recommended Savings Plans.

            pub fn estimated_monthly_savings_amount( mut self, input: impl Into, @@ -3557,7 +3956,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.estimated_monthly_savings_amount = input; self } - ///

            The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The lowest value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub fn current_minimum_hourly_on_demand_spend( mut self, input: impl Into, @@ -3572,7 +3972,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.current_minimum_hourly_on_demand_spend = input; self } - ///

            The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The highest value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub fn current_maximum_hourly_on_demand_spend( mut self, input: impl Into, @@ -3587,7 +3988,8 @@ pub mod savings_plans_purchase_recommendation_detail { self.current_maximum_hourly_on_demand_spend = input; self } - ///

            The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

            + ///

            The average value of hourly On-Demand spend over the lookback period of the applicable + /// usage type.

            pub fn current_average_hourly_on_demand_spend( mut self, input: impl Into, @@ -3633,15 +4035,15 @@ impl SavingsPlansPurchaseRecommendationDetail { } } -///

            Attribute details on a specific Savings Plan.

            +///

            The attribute details on a specific Savings Plan.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansDetails { - ///

            A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

            + ///

            A collection of Amazon Web Services resources in a geographic area. Each Amazon Web Services Region is isolated and independent of the other Regions.

            pub region: std::option::Option, ///

            A group of instance types that Savings Plans applies to.

            pub instance_family: std::option::Option, - ///

            The unique ID used to distinguish Savings Plans from one another.

            + ///

            The unique ID that's used to distinguish Savings Plans from one another.

            pub offering_id: std::option::Option, } impl std::fmt::Debug for SavingsPlansDetails { @@ -3664,7 +4066,7 @@ pub mod savings_plans_details { pub(crate) offering_id: std::option::Option, } impl Builder { - ///

            A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

            + ///

            A collection of Amazon Web Services resources in a geographic area. Each Amazon Web Services Region is isolated and independent of the other Regions.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -3685,7 +4087,7 @@ pub mod savings_plans_details { self.instance_family = input; self } - ///

            The unique ID used to distinguish Savings Plans from one another.

            + ///

            The unique ID that's used to distinguish Savings Plans from one another.

            pub fn offering_id(mut self, input: impl Into) -> Self { self.offering_id = Some(input.into()); self @@ -3994,7 +4396,7 @@ pub struct SavingsPlansPurchaseRecommendationMetadata { pub recommendation_id: std::option::Option, ///

            The timestamp showing when the recommendations were generated.

            pub generation_timestamp: std::option::Option, - ///

            Additional metadata that may be applicable to the recommendation.

            + ///

            Additional metadata that might be applicable to the recommendation.

            pub additional_metadata: std::option::Option, } impl std::fmt::Debug for SavingsPlansPurchaseRecommendationMetadata { @@ -4041,7 +4443,7 @@ pub mod savings_plans_purchase_recommendation_metadata { self.generation_timestamp = input; self } - ///

            Additional metadata that may be applicable to the recommendation.

            + ///

            Additional metadata that might be applicable to the recommendation.

            pub fn additional_metadata(mut self, input: impl Into) -> Self { self.additional_metadata = Some(input.into()); self @@ -4070,7 +4472,8 @@ impl SavingsPlansPurchaseRecommendationMetadata { } } -///

            The amount of Savings Plans eligible usage that is covered by Savings Plans. All calculations consider the On-Demand equivalent of your Savings Plans usage.

            +///

            The amount of Savings Plans eligible usage that is covered by Savings Plans. All +/// calculations consider the On-Demand equivalent of your Savings Plans usage.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansCoverage { @@ -4079,8 +4482,7 @@ pub struct SavingsPlansCoverage { std::option::Option>, ///

            The amount of Savings Plans eligible usage that the Savings Plans covered.

            pub coverage: std::option::Option, - ///

            The time period of the request. - ///

            + ///

            The time period of the request.

            pub time_period: std::option::Option, } impl std::fmt::Debug for SavingsPlansCoverage { @@ -4136,8 +4538,7 @@ pub mod savings_plans_coverage { self.coverage = input; self } - ///

            The time period of the request. - ///

            + ///

            The time period of the request.

            pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -4166,18 +4567,20 @@ impl SavingsPlansCoverage { } } -///

            Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and total Savings Plans costs for an account.

            +///

            Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and +/// total Savings Plans costs for an account.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SavingsPlansCoverageData { - ///

            The amount of your AWS usage that is covered by a Savings Plans.

            + ///

            The amount of your Amazon Web Services usage that is covered by a Savings Plans.

            pub spend_covered_by_savings_plans: std::option::Option, - ///

            The cost of your AWS usage at the public On-Demand rate.

            + ///

            The cost of your Amazon Web Services usage at the public On-Demand rate.

            pub on_demand_cost: std::option::Option, - ///

            The total cost of your AWS usage, regardless of your purchase option.

            + ///

            The total cost of your Amazon Web Services usage, regardless of your purchase + /// option.

            pub total_cost: std::option::Option, ///

            The percentage of your existing Savings Plans covered usage, divided by all of your - /// eligible Savings Plans usage in an account(or set of accounts).

            + /// eligible Savings Plans usage in an account (or set of accounts).

            pub coverage_percentage: std::option::Option, } impl std::fmt::Debug for SavingsPlansCoverageData { @@ -4205,7 +4608,7 @@ pub mod savings_plans_coverage_data { pub(crate) coverage_percentage: std::option::Option, } impl Builder { - ///

            The amount of your AWS usage that is covered by a Savings Plans.

            + ///

            The amount of your Amazon Web Services usage that is covered by a Savings Plans.

            pub fn spend_covered_by_savings_plans( mut self, input: impl Into, @@ -4220,7 +4623,7 @@ pub mod savings_plans_coverage_data { self.spend_covered_by_savings_plans = input; self } - ///

            The cost of your AWS usage at the public On-Demand rate.

            + ///

            The cost of your Amazon Web Services usage at the public On-Demand rate.

            pub fn on_demand_cost(mut self, input: impl Into) -> Self { self.on_demand_cost = Some(input.into()); self @@ -4232,7 +4635,8 @@ pub mod savings_plans_coverage_data { self.on_demand_cost = input; self } - ///

            The total cost of your AWS usage, regardless of your purchase option.

            + ///

            The total cost of your Amazon Web Services usage, regardless of your purchase + /// option.

            pub fn total_cost(mut self, input: impl Into) -> Self { self.total_cost = Some(input.into()); self @@ -4242,7 +4646,7 @@ pub mod savings_plans_coverage_data { self } ///

            The percentage of your existing Savings Plans covered usage, divided by all of your - /// eligible Savings Plans usage in an account(or set of accounts).

            + /// eligible Savings Plans usage in an account (or set of accounts).

            pub fn coverage_percentage(mut self, input: impl Into) -> Self { self.coverage_percentage = Some(input.into()); self @@ -4272,8 +4676,8 @@ impl SavingsPlansCoverageData { } } -///

            Represents a group when you specify a group by criteria or in the response to a -/// query with a specific grouping.

            +///

            Represents a group when you specify a group by criteria or in the response to a query +/// with a specific grouping.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GroupDefinition { @@ -4390,21 +4794,20 @@ impl AsRef for GroupDefinitionType { } } -///

            Enables you to customize recommendations across two attributes. You can choose to view -/// recommendations for instances within the same instance families or across different instance -/// families. You can also choose to view your estimated savings associated with recommendations -/// with consideration of existing Savings Plans or RI benefits, or -/// neither.

            +///

            You can use RightsizingRecommendationConfiguration to customize +/// recommendations across two attributes. You can choose to view recommendations for +/// instances within the same instance families or across different instance families. You +/// can also choose to view your estimated savings that are associated with recommendations +/// with consideration of existing Savings Plans or RI benefits, or neither.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RightsizingRecommendationConfiguration { - ///

            - /// The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY. - ///

            + ///

            The option to see recommendations within the same instance family or recommendations + /// for instances across other families. The default value is + /// SAME_INSTANCE_FAMILY.

            pub recommendation_target: std::option::Option, - ///

            - /// The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE. - ///

            + ///

            The option to consider RI or Savings Plans discount benefits in your savings + /// calculation. The default value is TRUE.

            pub benefits_considered: bool, } impl std::fmt::Debug for RightsizingRecommendationConfiguration { @@ -4425,9 +4828,9 @@ pub mod rightsizing_recommendation_configuration { pub(crate) benefits_considered: std::option::Option, } impl Builder { - ///

            - /// The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY. - ///

            + ///

            The option to see recommendations within the same instance family or recommendations + /// for instances across other families. The default value is + /// SAME_INSTANCE_FAMILY.

            pub fn recommendation_target(mut self, input: crate::model::RecommendationTarget) -> Self { self.recommendation_target = Some(input); self @@ -4439,9 +4842,8 @@ pub mod rightsizing_recommendation_configuration { self.recommendation_target = input; self } - ///

            - /// The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE. - ///

            + ///

            The option to consider RI or Savings Plans discount benefits in your savings + /// calculation. The default value is TRUE.

            pub fn benefits_considered(mut self, input: bool) -> Self { self.benefits_considered = Some(input); self @@ -4522,18 +4924,17 @@ impl AsRef for RecommendationTarget { pub struct RightsizingRecommendation { ///

            The account that this recommendation is for.

            pub account_id: std::option::Option, - ///

            Context regarding the current instance.

            + ///

            Context regarding the current instance.

            pub current_instance: std::option::Option, - ///

            Recommendation to either terminate or modify the resource.

            + ///

            A recommendation to either terminate or modify the resource.

            pub rightsizing_type: std::option::Option, - ///

            Details for modification recommendations.

            + ///

            The details for the modification recommendations.

            pub modify_recommendation_detail: std::option::Option, - ///

            Details for termination recommendations.

            + ///

            The details for termination recommendations.

            pub terminate_recommendation_detail: std::option::Option, - ///

            - /// The list of possible reasons why the recommendation is generated such as under or over utilization of specific metrics (for example, CPU, Memory, Network). - ///

            + ///

            The list of possible reasons why the recommendation is generated such as under or + /// over utilization of specific metrics (for example, CPU, Memory, Network).

            pub finding_reason_codes: std::option::Option>, } impl std::fmt::Debug for RightsizingRecommendation { @@ -4580,7 +4981,7 @@ pub mod rightsizing_recommendation { self.account_id = input; self } - ///

            Context regarding the current instance.

            + ///

            Context regarding the current instance.

            pub fn current_instance(mut self, input: crate::model::CurrentInstance) -> Self { self.current_instance = Some(input); self @@ -4592,7 +4993,7 @@ pub mod rightsizing_recommendation { self.current_instance = input; self } - ///

            Recommendation to either terminate or modify the resource.

            + ///

            A recommendation to either terminate or modify the resource.

            pub fn rightsizing_type(mut self, input: crate::model::RightsizingType) -> Self { self.rightsizing_type = Some(input); self @@ -4604,7 +5005,7 @@ pub mod rightsizing_recommendation { self.rightsizing_type = input; self } - ///

            Details for modification recommendations.

            + ///

            The details for the modification recommendations.

            pub fn modify_recommendation_detail( mut self, input: crate::model::ModifyRecommendationDetail, @@ -4619,7 +5020,7 @@ pub mod rightsizing_recommendation { self.modify_recommendation_detail = input; self } - ///

            Details for termination recommendations.

            + ///

            The details for termination recommendations.

            pub fn terminate_recommendation_detail( mut self, input: crate::model::TerminateRecommendationDetail, @@ -4791,13 +5192,14 @@ impl AsRef for FindingReasonCode { } } -///

            Details on termination recommendation.

            +///

            Details on termination recommendation.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TerminateRecommendationDetail { - ///

            Estimated savings resulting from modification, on a monthly basis.

            + ///

            The estimated savings that result from modification, on a monthly basis.

            pub estimated_monthly_savings: std::option::Option, - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub currency_code: std::option::Option, } impl std::fmt::Debug for TerminateRecommendationDetail { @@ -4818,7 +5220,7 @@ pub mod terminate_recommendation_detail { pub(crate) currency_code: std::option::Option, } impl Builder { - ///

            Estimated savings resulting from modification, on a monthly basis.

            + ///

            The estimated savings that result from modification, on a monthly basis.

            pub fn estimated_monthly_savings(mut self, input: impl Into) -> Self { self.estimated_monthly_savings = Some(input.into()); self @@ -4830,7 +5232,8 @@ pub mod terminate_recommendation_detail { self.estimated_monthly_savings = input; self } - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -4862,7 +5265,8 @@ impl TerminateRecommendationDetail { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ModifyRecommendationDetail { - ///

            Identifies whether this instance type is the AWS default recommendation.

            + ///

            Determines whether this instance type is the Amazon Web Services default + /// recommendation.

            pub target_instances: std::option::Option>, } impl std::fmt::Debug for ModifyRecommendationDetail { @@ -4910,25 +5314,26 @@ impl ModifyRecommendationDetail { } } -///

            Details on recommended instance.

            +///

            Details on recommended instance.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TargetInstance { - ///

            Expected cost to operate this instance type on a monthly basis.

            + ///

            The expected cost to operate this instance type on a monthly basis.

            pub estimated_monthly_cost: std::option::Option, - ///

            Estimated savings resulting from modification, on a monthly basis.

            + ///

            The estimated savings that result from modification, on a monthly basis.

            pub estimated_monthly_savings: std::option::Option, - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub currency_code: std::option::Option, - ///

            Indicates whether this recommendation is the defaulted AWS recommendation.

            + ///

            Determines whether this recommendation is the defaulted Amazon Web Services + /// recommendation.

            pub default_target_instance: bool, - ///

            Details on the target instance type.

            + ///

            Details on the target instance type.

            pub resource_details: std::option::Option, - ///

            Expected utilization metrics for target instance type.

            + ///

            The expected utilization metrics for target instance type.

            pub expected_resource_utilization: std::option::Option, - ///

            - /// Explains the actions you might need to take in order to successfully migrate your workloads from the current instance type to the recommended instance type. - ///

            + ///

            Explains the actions you might need to take in order to successfully migrate your + /// workloads from the current instance type to the recommended instance type.

            pub platform_differences: std::option::Option>, } impl std::fmt::Debug for TargetInstance { @@ -4964,7 +5369,7 @@ pub mod target_instance { std::option::Option>, } impl Builder { - ///

            Expected cost to operate this instance type on a monthly basis.

            + ///

            The expected cost to operate this instance type on a monthly basis.

            pub fn estimated_monthly_cost(mut self, input: impl Into) -> Self { self.estimated_monthly_cost = Some(input.into()); self @@ -4976,7 +5381,7 @@ pub mod target_instance { self.estimated_monthly_cost = input; self } - ///

            Estimated savings resulting from modification, on a monthly basis.

            + ///

            The estimated savings that result from modification, on a monthly basis.

            pub fn estimated_monthly_savings(mut self, input: impl Into) -> Self { self.estimated_monthly_savings = Some(input.into()); self @@ -4988,7 +5393,8 @@ pub mod target_instance { self.estimated_monthly_savings = input; self } - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -5000,7 +5406,8 @@ pub mod target_instance { self.currency_code = input; self } - ///

            Indicates whether this recommendation is the defaulted AWS recommendation.

            + ///

            Determines whether this recommendation is the defaulted Amazon Web Services + /// recommendation.

            pub fn default_target_instance(mut self, input: bool) -> Self { self.default_target_instance = Some(input); self @@ -5009,7 +5416,7 @@ pub mod target_instance { self.default_target_instance = input; self } - ///

            Details on the target instance type.

            + ///

            Details on the target instance type.

            pub fn resource_details(mut self, input: crate::model::ResourceDetails) -> Self { self.resource_details = Some(input); self @@ -5021,7 +5428,7 @@ pub mod target_instance { self.resource_details = input; self } - ///

            Expected utilization metrics for target instance type.

            + ///

            The expected utilization metrics for target instance type.

            pub fn expected_resource_utilization( mut self, input: crate::model::ResourceUtilization, @@ -5138,11 +5545,11 @@ impl AsRef for PlatformDifference { } } -///

            Resource utilization of current resource.

            +///

            Resource utilization of current resource.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceUtilization { - ///

            Utilization of current Amazon EC2 instance.

            + ///

            The utilization of current Amazon EC2 instance.

            pub ec2_resource_utilization: std::option::Option, } impl std::fmt::Debug for ResourceUtilization { @@ -5162,7 +5569,7 @@ pub mod resource_utilization { std::option::Option, } impl Builder { - ///

            Utilization of current Amazon EC2 instance.

            + ///

            The utilization of current Amazon EC2 instance.

            pub fn ec2_resource_utilization( mut self, input: crate::model::Ec2ResourceUtilization, @@ -5192,27 +5599,25 @@ impl ResourceUtilization { } } -///

            Utilization metrics of the instance.

            +///

            Utilization metrics of the instance.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ec2ResourceUtilization { - ///

            Maximum observed or expected CPU utilization of the instance.

            + ///

            The maximum observed or expected CPU utilization of the instance.

            pub max_cpu_utilization_percentage: std::option::Option, - ///

            Maximum observed or expected memory utilization of the instance.

            + ///

            The maximum observed or expected memory utilization of the instance.

            pub max_memory_utilization_percentage: std::option::Option, - ///

            Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

            + ///

            The maximum observed or expected storage utilization of the instance. This doesn't + /// include EBS storage.

            pub max_storage_utilization_percentage: std::option::Option, - ///

            - /// The EBS field that contains a list of EBS metrics associated with the current instance. - ///

            + ///

            The EBS field that contains a list of EBS metrics that are associated with the current + /// instance.

            pub ebs_resource_utilization: std::option::Option, - ///

            - /// The field that contains a list of disk (local storage) metrics associated with the current instance. - ///

            + ///

            The field that contains a list of disk (local storage) metrics that are associated + /// with the current instance.

            pub disk_resource_utilization: std::option::Option, - ///

            - /// The network field that contains a list of network metrics associated with the current instance. - ///

            + ///

            The network field that contains a list of network metrics that are associated with + /// the current instance.

            pub network_resource_utilization: std::option::Option, } impl std::fmt::Debug for Ec2ResourceUtilization { @@ -5256,7 +5661,7 @@ pub mod ec2_resource_utilization { std::option::Option, } impl Builder { - ///

            Maximum observed or expected CPU utilization of the instance.

            + ///

            The maximum observed or expected CPU utilization of the instance.

            pub fn max_cpu_utilization_percentage( mut self, input: impl Into, @@ -5271,7 +5676,7 @@ pub mod ec2_resource_utilization { self.max_cpu_utilization_percentage = input; self } - ///

            Maximum observed or expected memory utilization of the instance.

            + ///

            The maximum observed or expected memory utilization of the instance.

            pub fn max_memory_utilization_percentage( mut self, input: impl Into, @@ -5286,7 +5691,8 @@ pub mod ec2_resource_utilization { self.max_memory_utilization_percentage = input; self } - ///

            Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

            + ///

            The maximum observed or expected storage utilization of the instance. This doesn't + /// include EBS storage.

            pub fn max_storage_utilization_percentage( mut self, input: impl Into, @@ -5301,9 +5707,8 @@ pub mod ec2_resource_utilization { self.max_storage_utilization_percentage = input; self } - ///

            - /// The EBS field that contains a list of EBS metrics associated with the current instance. - ///

            + ///

            The EBS field that contains a list of EBS metrics that are associated with the current + /// instance.

            pub fn ebs_resource_utilization( mut self, input: crate::model::EbsResourceUtilization, @@ -5318,9 +5723,8 @@ pub mod ec2_resource_utilization { self.ebs_resource_utilization = input; self } - ///

            - /// The field that contains a list of disk (local storage) metrics associated with the current instance. - ///

            + ///

            The field that contains a list of disk (local storage) metrics that are associated + /// with the current instance.

            pub fn disk_resource_utilization( mut self, input: crate::model::DiskResourceUtilization, @@ -5335,9 +5739,8 @@ pub mod ec2_resource_utilization { self.disk_resource_utilization = input; self } - ///

            - /// The network field that contains a list of network metrics associated with the current instance. - ///

            + ///

            The network field that contains a list of network metrics that are associated with + /// the current instance.

            pub fn network_resource_utilization( mut self, input: crate::model::NetworkResourceUtilization, @@ -5372,27 +5775,18 @@ impl Ec2ResourceUtilization { } } -///

            -/// The network field that contains a list of network metrics associated with the current instance. -///

            +///

            The network field that contains a list of network metrics that are associated with +/// the current instance.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct NetworkResourceUtilization { - ///

            - /// The network ingress throughput utilization measured in Bytes per second. - ///

            + ///

            The network inbound throughput utilization measured in Bytes per second.

            pub network_in_bytes_per_second: std::option::Option, - ///

            - /// The network outgress throughput utilization measured in Bytes per second. - ///

            + ///

            The network outbound throughput utilization measured in Bytes per second.

            pub network_out_bytes_per_second: std::option::Option, - ///

            - /// The network ingress packets measured in packets per second. - ///

            + ///

            The network ingress packets that are measured in packets per second.

            pub network_packets_in_per_second: std::option::Option, - ///

            - /// The network outgress packets measured in packets per second. - ///

            + ///

            The network outgress packets that are measured in packets per second.

            pub network_packets_out_per_second: std::option::Option, } impl std::fmt::Debug for NetworkResourceUtilization { @@ -5429,9 +5823,7 @@ pub mod network_resource_utilization { pub(crate) network_packets_out_per_second: std::option::Option, } impl Builder { - ///

            - /// The network ingress throughput utilization measured in Bytes per second. - ///

            + ///

            The network inbound throughput utilization measured in Bytes per second.

            pub fn network_in_bytes_per_second( mut self, input: impl Into, @@ -5446,9 +5838,7 @@ pub mod network_resource_utilization { self.network_in_bytes_per_second = input; self } - ///

            - /// The network outgress throughput utilization measured in Bytes per second. - ///

            + ///

            The network outbound throughput utilization measured in Bytes per second.

            pub fn network_out_bytes_per_second( mut self, input: impl Into, @@ -5463,9 +5853,7 @@ pub mod network_resource_utilization { self.network_out_bytes_per_second = input; self } - ///

            - /// The network ingress packets measured in packets per second. - ///

            + ///

            The network ingress packets that are measured in packets per second.

            pub fn network_packets_in_per_second( mut self, input: impl Into, @@ -5480,9 +5868,7 @@ pub mod network_resource_utilization { self.network_packets_in_per_second = input; self } - ///

            - /// The network outgress packets measured in packets per second. - ///

            + ///

            The network outgress packets that are measured in packets per second.

            pub fn network_packets_out_per_second( mut self, input: impl Into, @@ -5515,27 +5901,18 @@ impl NetworkResourceUtilization { } } -///

            -/// The field that contains a list of disk (local storage) metrics associated with the current instance. -///

            +///

            The field that contains a list of disk (local storage) metrics that are associated +/// with the current instance.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DiskResourceUtilization { - ///

            - /// The maximum number of read operations per second. - ///

            + ///

            The maximum number of read operations per second.

            pub disk_read_ops_per_second: std::option::Option, - ///

            - /// The maximum number of write operations per second. - ///

            + ///

            The maximum number of write operations per second.

            pub disk_write_ops_per_second: std::option::Option, - ///

            - /// The maximum read throughput operations per second. - ///

            + ///

            The maximum read throughput operations per second.

            pub disk_read_bytes_per_second: std::option::Option, - ///

            - /// The maximum write throughput operations per second. - ///

            + ///

            The maximum write throughput operations per second.

            pub disk_write_bytes_per_second: std::option::Option, } impl std::fmt::Debug for DiskResourceUtilization { @@ -5566,9 +5943,7 @@ pub mod disk_resource_utilization { pub(crate) disk_write_bytes_per_second: std::option::Option, } impl Builder { - ///

            - /// The maximum number of read operations per second. - ///

            + ///

            The maximum number of read operations per second.

            pub fn disk_read_ops_per_second(mut self, input: impl Into) -> Self { self.disk_read_ops_per_second = Some(input.into()); self @@ -5580,9 +5955,7 @@ pub mod disk_resource_utilization { self.disk_read_ops_per_second = input; self } - ///

            - /// The maximum number of write operations per second. - ///

            + ///

            The maximum number of write operations per second.

            pub fn disk_write_ops_per_second(mut self, input: impl Into) -> Self { self.disk_write_ops_per_second = Some(input.into()); self @@ -5594,9 +5967,7 @@ pub mod disk_resource_utilization { self.disk_write_ops_per_second = input; self } - ///

            - /// The maximum read throughput operations per second. - ///

            + ///

            The maximum read throughput operations per second.

            pub fn disk_read_bytes_per_second(mut self, input: impl Into) -> Self { self.disk_read_bytes_per_second = Some(input.into()); self @@ -5608,9 +5979,7 @@ pub mod disk_resource_utilization { self.disk_read_bytes_per_second = input; self } - ///

            - /// The maximum write throughput operations per second. - ///

            + ///

            The maximum write throughput operations per second.

            pub fn disk_write_bytes_per_second( mut self, input: impl Into, @@ -5643,27 +6012,18 @@ impl DiskResourceUtilization { } } -///

            -/// The EBS field that contains a list of EBS metrics associated with the current instance. -///

            +///

            The EBS field that contains a list of EBS metrics that are associated with the current +/// instance.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EbsResourceUtilization { - ///

            - /// The maximum number of read operations per second. - ///

            + ///

            The maximum number of read operations per second.

            pub ebs_read_ops_per_second: std::option::Option, - ///

            - /// The maximum number of write operations per second. - ///

            + ///

            The maximum number of write operations per second.

            pub ebs_write_ops_per_second: std::option::Option, - ///

            - /// The maximum size of read operations per second - ///

            + ///

            The maximum size of read operations per second

            pub ebs_read_bytes_per_second: std::option::Option, - ///

            - /// The maximum size of write operations per second. - ///

            + ///

            The maximum size of write operations per second.

            pub ebs_write_bytes_per_second: std::option::Option, } impl std::fmt::Debug for EbsResourceUtilization { @@ -5691,9 +6051,7 @@ pub mod ebs_resource_utilization { pub(crate) ebs_write_bytes_per_second: std::option::Option, } impl Builder { - ///

            - /// The maximum number of read operations per second. - ///

            + ///

            The maximum number of read operations per second.

            pub fn ebs_read_ops_per_second(mut self, input: impl Into) -> Self { self.ebs_read_ops_per_second = Some(input.into()); self @@ -5705,9 +6063,7 @@ pub mod ebs_resource_utilization { self.ebs_read_ops_per_second = input; self } - ///

            - /// The maximum number of write operations per second. - ///

            + ///

            The maximum number of write operations per second.

            pub fn ebs_write_ops_per_second(mut self, input: impl Into) -> Self { self.ebs_write_ops_per_second = Some(input.into()); self @@ -5719,9 +6075,7 @@ pub mod ebs_resource_utilization { self.ebs_write_ops_per_second = input; self } - ///

            - /// The maximum size of read operations per second - ///

            + ///

            The maximum size of read operations per second

            pub fn ebs_read_bytes_per_second(mut self, input: impl Into) -> Self { self.ebs_read_bytes_per_second = Some(input.into()); self @@ -5733,9 +6087,7 @@ pub mod ebs_resource_utilization { self.ebs_read_bytes_per_second = input; self } - ///

            - /// The maximum size of write operations per second. - ///

            + ///

            The maximum size of write operations per second.

            pub fn ebs_write_bytes_per_second(mut self, input: impl Into) -> Self { self.ebs_write_bytes_per_second = Some(input.into()); self @@ -5815,28 +6167,29 @@ impl ResourceDetails { } } -///

            Details on the Amazon EC2 Resource.

            +///

            Details on the Amazon EC2 Resource.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ec2ResourceDetails { - ///

            Hourly public On-Demand rate for the instance type.

            + ///

            The hourly public On-Demand rate for the instance type.

            pub hourly_on_demand_rate: std::option::Option, - ///

            The type of AWS instance.

            + ///

            The type of Amazon Web Services instance.

            pub instance_type: std::option::Option, - ///

            The platform of the AWS instance. The platform is the specific combination of - /// operating system, license model, and software on an instance.

            + ///

            The platform of the Amazon Web Services instance. The platform is the specific + /// combination of operating system, license model, and software on an instance.

            pub platform: std::option::Option, - ///

            The AWS Region of the instance.

            + ///

            The Amazon Web Services Region of the instance.

            pub region: std::option::Option, - ///

            The SKU of the product.

            + ///

            The SKU of the product.

            pub sku: std::option::Option, - ///

            Memory capacity of the AWS instance.

            + ///

            The memory capacity of the Amazon Web Services instance.

            pub memory: std::option::Option, - ///

            Network performance capacity of the AWS instance.

            + ///

            The network performance capacity of the Amazon Web Services instance.

            pub network_performance: std::option::Option, - ///

            The disk storage of the AWS instance (not EBS storage).

            + ///

            The disk storage of the Amazon Web Services instance. This doesn't include EBS + /// storage.

            pub storage: std::option::Option, - ///

            Number of VCPU cores in the AWS instance type.

            + ///

            The number of VCPU cores in the Amazon Web Services instance type.

            pub vcpu: std::option::Option, } impl std::fmt::Debug for Ec2ResourceDetails { @@ -5871,7 +6224,7 @@ pub mod ec2_resource_details { pub(crate) vcpu: std::option::Option, } impl Builder { - ///

            Hourly public On-Demand rate for the instance type.

            + ///

            The hourly public On-Demand rate for the instance type.

            pub fn hourly_on_demand_rate(mut self, input: impl Into) -> Self { self.hourly_on_demand_rate = Some(input.into()); self @@ -5883,7 +6236,7 @@ pub mod ec2_resource_details { self.hourly_on_demand_rate = input; self } - ///

            The type of AWS instance.

            + ///

            The type of Amazon Web Services instance.

            pub fn instance_type(mut self, input: impl Into) -> Self { self.instance_type = Some(input.into()); self @@ -5895,8 +6248,8 @@ pub mod ec2_resource_details { self.instance_type = input; self } - ///

            The platform of the AWS instance. The platform is the specific combination of - /// operating system, license model, and software on an instance.

            + ///

            The platform of the Amazon Web Services instance. The platform is the specific + /// combination of operating system, license model, and software on an instance.

            pub fn platform(mut self, input: impl Into) -> Self { self.platform = Some(input.into()); self @@ -5905,7 +6258,7 @@ pub mod ec2_resource_details { self.platform = input; self } - ///

            The AWS Region of the instance.

            + ///

            The Amazon Web Services Region of the instance.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -5914,7 +6267,7 @@ pub mod ec2_resource_details { self.region = input; self } - ///

            The SKU of the product.

            + ///

            The SKU of the product.

            pub fn sku(mut self, input: impl Into) -> Self { self.sku = Some(input.into()); self @@ -5923,7 +6276,7 @@ pub mod ec2_resource_details { self.sku = input; self } - ///

            Memory capacity of the AWS instance.

            + ///

            The memory capacity of the Amazon Web Services instance.

            pub fn memory(mut self, input: impl Into) -> Self { self.memory = Some(input.into()); self @@ -5932,7 +6285,7 @@ pub mod ec2_resource_details { self.memory = input; self } - ///

            Network performance capacity of the AWS instance.

            + ///

            The network performance capacity of the Amazon Web Services instance.

            pub fn network_performance(mut self, input: impl Into) -> Self { self.network_performance = Some(input.into()); self @@ -5944,7 +6297,8 @@ pub mod ec2_resource_details { self.network_performance = input; self } - ///

            The disk storage of the AWS instance (not EBS storage).

            + ///

            The disk storage of the Amazon Web Services instance. This doesn't include EBS + /// storage.

            pub fn storage(mut self, input: impl Into) -> Self { self.storage = Some(input.into()); self @@ -5953,7 +6307,7 @@ pub mod ec2_resource_details { self.storage = input; self } - ///

            Number of VCPU cores in the AWS instance type.

            + ///

            The number of VCPU cores in the Amazon Web Services instance type.

            pub fn vcpu(mut self, input: impl Into) -> Self { self.vcpu = Some(input.into()); self @@ -6041,25 +6395,28 @@ impl AsRef for RightsizingType { pub struct CurrentInstance { ///

            Resource ID of the current instance.

            pub resource_id: std::option::Option, - ///

            The name you've given an instance. This field will show as blank if you haven't given the instance a name.

            + ///

            The name that you given an instance. This field shows as blank if you haven't given + /// the instance a name.

            pub instance_name: std::option::Option, - ///

            Cost allocation resource tags applied to the instance.

            + ///

            Cost allocation resource tags that are applied to the instance.

            pub tags: std::option::Option>, - ///

            Details about the resource and utilization.

            + ///

            Details about the resource and utilization.

            pub resource_details: std::option::Option, - ///

            Utilization information of the current instance during the lookback period.

            + ///

            Utilization information of the current instance during the lookback period.

            pub resource_utilization: std::option::Option, - ///

            Number of hours during the lookback period covered by reservations.

            + ///

            The number of hours during the lookback period that's covered by reservations.

            pub reservation_covered_hours_in_lookback_period: std::option::Option, - ///

            Number of hours during the lookback period covered by Savings Plans.

            + ///

            The number of hours during the lookback period that's covered by Savings Plans.

            pub savings_plans_covered_hours_in_lookback_period: std::option::Option, - ///

            Number of hours during the lookback period billed at On-Demand rates.

            + ///

            The number of hours during the lookback period that's billed at On-Demand + /// rates.

            pub on_demand_hours_in_lookback_period: std::option::Option, - ///

            The total number of hours the instance ran during the lookback period.

            + ///

            The total number of hours that the instance ran during the lookback period.

            pub total_running_hours_in_lookback_period: std::option::Option, - ///

            Current On-Demand cost of operating this instance on a monthly basis.

            + ///

            The current On-Demand cost of operating this instance on a monthly basis.

            pub monthly_cost: std::option::Option, - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub currency_code: std::option::Option, } impl std::fmt::Debug for CurrentInstance { @@ -6121,7 +6478,8 @@ pub mod current_instance { self.resource_id = input; self } - ///

            The name you've given an instance. This field will show as blank if you haven't given the instance a name.

            + ///

            The name that you given an instance. This field shows as blank if you haven't given + /// the instance a name.

            pub fn instance_name(mut self, input: impl Into) -> Self { self.instance_name = Some(input.into()); self @@ -6146,7 +6504,7 @@ pub mod current_instance { self.tags = input; self } - ///

            Details about the resource and utilization.

            + ///

            Details about the resource and utilization.

            pub fn resource_details(mut self, input: crate::model::ResourceDetails) -> Self { self.resource_details = Some(input); self @@ -6158,7 +6516,7 @@ pub mod current_instance { self.resource_details = input; self } - ///

            Utilization information of the current instance during the lookback period.

            + ///

            Utilization information of the current instance during the lookback period.

            pub fn resource_utilization(mut self, input: crate::model::ResourceUtilization) -> Self { self.resource_utilization = Some(input); self @@ -6170,7 +6528,7 @@ pub mod current_instance { self.resource_utilization = input; self } - ///

            Number of hours during the lookback period covered by reservations.

            + ///

            The number of hours during the lookback period that's covered by reservations.

            pub fn reservation_covered_hours_in_lookback_period( mut self, input: impl Into, @@ -6185,7 +6543,7 @@ pub mod current_instance { self.reservation_covered_hours_in_lookback_period = input; self } - ///

            Number of hours during the lookback period covered by Savings Plans.

            + ///

            The number of hours during the lookback period that's covered by Savings Plans.

            pub fn savings_plans_covered_hours_in_lookback_period( mut self, input: impl Into, @@ -6200,7 +6558,8 @@ pub mod current_instance { self.savings_plans_covered_hours_in_lookback_period = input; self } - ///

            Number of hours during the lookback period billed at On-Demand rates.

            + ///

            The number of hours during the lookback period that's billed at On-Demand + /// rates.

            pub fn on_demand_hours_in_lookback_period( mut self, input: impl Into, @@ -6215,7 +6574,7 @@ pub mod current_instance { self.on_demand_hours_in_lookback_period = input; self } - ///

            The total number of hours the instance ran during the lookback period.

            + ///

            The total number of hours that the instance ran during the lookback period.

            pub fn total_running_hours_in_lookback_period( mut self, input: impl Into, @@ -6230,7 +6589,7 @@ pub mod current_instance { self.total_running_hours_in_lookback_period = input; self } - ///

            Current On-Demand cost of operating this instance on a monthly basis.

            + ///

            The current On-Demand cost of operating this instance on a monthly basis.

            pub fn monthly_cost(mut self, input: impl Into) -> Self { self.monthly_cost = Some(input.into()); self @@ -6239,7 +6598,8 @@ pub mod current_instance { self.monthly_cost = input; self } - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -6278,19 +6638,18 @@ impl CurrentInstance { } } -///

            Summary of rightsizing recommendations

            +///

            The summary of rightsizing recommendations

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RightsizingRecommendationSummary { - ///

            Total number of instance recommendations.

            + ///

            The total number of instance recommendations.

            pub total_recommendation_count: std::option::Option, - ///

            Estimated total savings resulting from modifications, on a monthly basis.

            + ///

            The estimated total savings resulting from modifications, on a monthly basis.

            pub estimated_total_monthly_savings_amount: std::option::Option, - ///

            The currency code that AWS used to calculate the savings.

            + ///

            The currency code that Amazon Web Services used to calculate the savings.

            pub savings_currency_code: std::option::Option, - ///

            Savings percentage based on the recommended modifications, relative to the total - /// On-Demand - /// costs associated with these instances.

            + ///

            The savings percentage based on the recommended modifications. It's relative to the + /// total On-Demand costs that are associated with these instances.

            pub savings_percentage: std::option::Option, } impl std::fmt::Debug for RightsizingRecommendationSummary { @@ -6321,7 +6680,7 @@ pub mod rightsizing_recommendation_summary { pub(crate) savings_percentage: std::option::Option, } impl Builder { - ///

            Total number of instance recommendations.

            + ///

            The total number of instance recommendations.

            pub fn total_recommendation_count(mut self, input: impl Into) -> Self { self.total_recommendation_count = Some(input.into()); self @@ -6333,7 +6692,7 @@ pub mod rightsizing_recommendation_summary { self.total_recommendation_count = input; self } - ///

            Estimated total savings resulting from modifications, on a monthly basis.

            + ///

            The estimated total savings resulting from modifications, on a monthly basis.

            pub fn estimated_total_monthly_savings_amount( mut self, input: impl Into, @@ -6348,7 +6707,7 @@ pub mod rightsizing_recommendation_summary { self.estimated_total_monthly_savings_amount = input; self } - ///

            The currency code that AWS used to calculate the savings.

            + ///

            The currency code that Amazon Web Services used to calculate the savings.

            pub fn savings_currency_code(mut self, input: impl Into) -> Self { self.savings_currency_code = Some(input.into()); self @@ -6360,9 +6719,8 @@ pub mod rightsizing_recommendation_summary { self.savings_currency_code = input; self } - ///

            Savings percentage based on the recommended modifications, relative to the total - /// On-Demand - /// costs associated with these instances.

            + ///

            The savings percentage based on the recommended modifications. It's relative to the + /// total On-Demand costs that are associated with these instances.

            pub fn savings_percentage(mut self, input: impl Into) -> Self { self.savings_percentage = Some(input.into()); self @@ -6396,14 +6754,14 @@ impl RightsizingRecommendationSummary { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RightsizingRecommendationMetadata { - ///

            The ID for this specific recommendation.

            + ///

            The ID for this specific recommendation.

            pub recommendation_id: std::option::Option, - ///

            The timestamp for when AWS made this recommendation.

            + ///

            The timestamp for when Amazon Web Services made this recommendation.

            pub generation_timestamp: std::option::Option, - ///

            How many days of previous usage that AWS considers when making this - /// recommendation.

            + ///

            The number of days of previous usage that Amazon Web Services considers when making + /// this recommendation.

            pub lookback_period_in_days: std::option::Option, - ///

            Additional metadata that may be applicable to the recommendation.

            + ///

            Additional metadata that might be applicable to the recommendation.

            pub additional_metadata: std::option::Option, } impl std::fmt::Debug for RightsizingRecommendationMetadata { @@ -6428,7 +6786,7 @@ pub mod rightsizing_recommendation_metadata { pub(crate) additional_metadata: std::option::Option, } impl Builder { - ///

            The ID for this specific recommendation.

            + ///

            The ID for this specific recommendation.

            pub fn recommendation_id(mut self, input: impl Into) -> Self { self.recommendation_id = Some(input.into()); self @@ -6440,7 +6798,7 @@ pub mod rightsizing_recommendation_metadata { self.recommendation_id = input; self } - ///

            The timestamp for when AWS made this recommendation.

            + ///

            The timestamp for when Amazon Web Services made this recommendation.

            pub fn generation_timestamp(mut self, input: impl Into) -> Self { self.generation_timestamp = Some(input.into()); self @@ -6452,8 +6810,8 @@ pub mod rightsizing_recommendation_metadata { self.generation_timestamp = input; self } - ///

            How many days of previous usage that AWS considers when making this - /// recommendation.

            + ///

            The number of days of previous usage that Amazon Web Services considers when making + /// this recommendation.

            pub fn lookback_period_in_days( mut self, input: crate::model::LookbackPeriodInDays, @@ -6468,7 +6826,7 @@ pub mod rightsizing_recommendation_metadata { self.lookback_period_in_days = input; self } - ///

            Additional metadata that may be applicable to the recommendation.

            + ///

            Additional metadata that might be applicable to the recommendation.

            pub fn additional_metadata(mut self, input: impl Into) -> Self { self.additional_metadata = Some(input.into()); self @@ -6504,49 +6862,49 @@ impl RightsizingRecommendationMetadata { pub struct ReservationAggregates { ///

            The percentage of reservation time that you used.

            pub utilization_percentage: std::option::Option, - ///

            The percentage of Amazon EC2 reservation time that you used, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The percentage of Amazon EC2 reservation time that you used. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub utilization_percentage_in_units: std::option::Option, ///

            How many reservation hours that you purchased.

            pub purchased_hours: std::option::Option, - ///

            How many Amazon EC2 reservation hours that you purchased, converted to normalized units. - /// Normalized units are available only for Amazon EC2 usage after November 11, 2017.

            + ///

            The number of Amazon EC2 reservation hours that you purchased. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub purchased_units: std::option::Option, ///

            The total number of reservation hours that you used.

            pub total_actual_hours: std::option::Option, - ///

            The total number of Amazon EC2 reservation hours that you used, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The total number of Amazon EC2 reservation hours that you used. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub total_actual_units: std::option::Option, ///

            The number of reservation hours that you didn't use.

            pub unused_hours: std::option::Option, - ///

            The number of Amazon EC2 reservation hours that you didn't use, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The number of Amazon EC2 reservation hours that you didn't use. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub unused_units: std::option::Option, - ///

            How much your reservation would cost if charged On-Demand rates.

            + ///

            How much your reservation costs if charged On-Demand rates.

            pub on_demand_cost_of_ri_hours_used: std::option::Option, - ///

            How much you saved due to purchasing and utilizing reservation. AWS calculates this - /// by subtracting TotalAmortizedFee from + ///

            How much you saved due to purchasing and utilizing reservation. Amazon Web Services + /// calculates this by subtracting TotalAmortizedFee from /// OnDemandCostOfRIHoursUsed.

            pub net_ri_savings: std::option::Option, - ///

            How much you could save if you use your entire reservation.

            + ///

            How much you might save if you use your entire reservation.

            pub total_potential_ri_savings: std::option::Option, - ///

            The upfront cost of your reservation, amortized over the reservation + ///

            The upfront cost of your reservation. It's amortized over the reservation /// period.

            pub amortized_upfront_fee: std::option::Option, - ///

            The monthly cost of your reservation, amortized over the reservation + ///

            The monthly cost of your reservation. It's amortized over the reservation /// period.

            pub amortized_recurring_fee: std::option::Option, - ///

            The total cost of your reservation, amortized over the reservation - /// period.

            + ///

            The total cost of your reservation. It's amortized over the reservation period.

            pub total_amortized_fee: std::option::Option, ///

            The cost of unused hours for your reservation.

            pub ri_cost_for_unused_hours: std::option::Option, - ///

            The realized savings due to purchasing and using a reservation.

            + ///

            The realized savings because of purchasing and using a reservation.

            pub realized_savings: std::option::Option, - ///

            The unrealized savings due to purchasing and using a reservation.

            + ///

            The unrealized savings because of purchasing and using a reservation.

            pub unrealized_savings: std::option::Option, } impl std::fmt::Debug for ReservationAggregates { @@ -6618,9 +6976,9 @@ pub mod reservation_aggregates { self.utilization_percentage = input; self } - ///

            The percentage of Amazon EC2 reservation time that you used, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The percentage of Amazon EC2 reservation time that you used. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub fn utilization_percentage_in_units( mut self, input: impl Into, @@ -6647,8 +7005,9 @@ pub mod reservation_aggregates { self.purchased_hours = input; self } - ///

            How many Amazon EC2 reservation hours that you purchased, converted to normalized units. - /// Normalized units are available only for Amazon EC2 usage after November 11, 2017.

            + ///

            The number of Amazon EC2 reservation hours that you purchased. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub fn purchased_units(mut self, input: impl Into) -> Self { self.purchased_units = Some(input.into()); self @@ -6672,9 +7031,9 @@ pub mod reservation_aggregates { self.total_actual_hours = input; self } - ///

            The total number of Amazon EC2 reservation hours that you used, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The total number of Amazon EC2 reservation hours that you used. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub fn total_actual_units(mut self, input: impl Into) -> Self { self.total_actual_units = Some(input.into()); self @@ -6695,9 +7054,9 @@ pub mod reservation_aggregates { self.unused_hours = input; self } - ///

            The number of Amazon EC2 reservation hours that you didn't use, converted to normalized - /// units. Normalized units are available only for Amazon EC2 usage after November 11, - /// 2017.

            + ///

            The number of Amazon EC2 reservation hours that you didn't use. It's converted to + /// normalized units. Normalized units are available only for Amazon EC2 usage after + /// November 11, 2017.

            pub fn unused_units(mut self, input: impl Into) -> Self { self.unused_units = Some(input.into()); self @@ -6706,7 +7065,7 @@ pub mod reservation_aggregates { self.unused_units = input; self } - ///

            How much your reservation would cost if charged On-Demand rates.

            + ///

            How much your reservation costs if charged On-Demand rates.

            pub fn on_demand_cost_of_ri_hours_used( mut self, input: impl Into, @@ -6721,8 +7080,8 @@ pub mod reservation_aggregates { self.on_demand_cost_of_ri_hours_used = input; self } - ///

            How much you saved due to purchasing and utilizing reservation. AWS calculates this - /// by subtracting TotalAmortizedFee from + ///

            How much you saved due to purchasing and utilizing reservation. Amazon Web Services + /// calculates this by subtracting TotalAmortizedFee from /// OnDemandCostOfRIHoursUsed.

            pub fn net_ri_savings(mut self, input: impl Into) -> Self { self.net_ri_savings = Some(input.into()); @@ -6735,7 +7094,7 @@ pub mod reservation_aggregates { self.net_ri_savings = input; self } - ///

            How much you could save if you use your entire reservation.

            + ///

            How much you might save if you use your entire reservation.

            pub fn total_potential_ri_savings(mut self, input: impl Into) -> Self { self.total_potential_ri_savings = Some(input.into()); self @@ -6747,7 +7106,7 @@ pub mod reservation_aggregates { self.total_potential_ri_savings = input; self } - ///

            The upfront cost of your reservation, amortized over the reservation + ///

            The upfront cost of your reservation. It's amortized over the reservation /// period.

            pub fn amortized_upfront_fee(mut self, input: impl Into) -> Self { self.amortized_upfront_fee = Some(input.into()); @@ -6760,7 +7119,7 @@ pub mod reservation_aggregates { self.amortized_upfront_fee = input; self } - ///

            The monthly cost of your reservation, amortized over the reservation + ///

            The monthly cost of your reservation. It's amortized over the reservation /// period.

            pub fn amortized_recurring_fee(mut self, input: impl Into) -> Self { self.amortized_recurring_fee = Some(input.into()); @@ -6773,8 +7132,7 @@ pub mod reservation_aggregates { self.amortized_recurring_fee = input; self } - ///

            The total cost of your reservation, amortized over the reservation - /// period.

            + ///

            The total cost of your reservation. It's amortized over the reservation period.

            pub fn total_amortized_fee(mut self, input: impl Into) -> Self { self.total_amortized_fee = Some(input.into()); self @@ -6798,7 +7156,7 @@ pub mod reservation_aggregates { self.ri_cost_for_unused_hours = input; self } - ///

            The realized savings due to purchasing and using a reservation.

            + ///

            The realized savings because of purchasing and using a reservation.

            pub fn realized_savings(mut self, input: impl Into) -> Self { self.realized_savings = Some(input.into()); self @@ -6810,7 +7168,7 @@ pub mod reservation_aggregates { self.realized_savings = input; self } - ///

            The unrealized savings due to purchasing and using a reservation.

            + ///

            The unrealized savings because of purchasing and using a reservation.

            pub fn unrealized_savings(mut self, input: impl Into) -> Self { self.unrealized_savings = Some(input.into()); self @@ -7047,24 +7405,23 @@ impl ReservationUtilizationGroup { } } -///

            A specific reservation that AWS recommends for purchase.

            +///

            A specific reservation that Amazon Web Services recommends for purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReservationPurchaseRecommendation { - ///

            The account scope that AWS recommends that you purchase this instance for. For - /// example, you can purchase this reservation for an entire organization in AWS - /// Organizations.

            + ///

            The account scope that Amazon Web Services recommends that you purchase this instance + /// for. For example, you can purchase this reservation for an entire organization in + /// Amazon Web Services Organizations.

            pub account_scope: std::option::Option, - ///

            How many days of previous usage that AWS considers when making this + ///

            How many days of previous usage that Amazon Web Services considers when making this /// recommendation.

            pub lookback_period_in_days: std::option::Option, ///

            The term of the reservation that you want recommendations for, in years.

            pub term_in_years: std::option::Option, - ///

            The payment option for the reservation. For example, AllUpfront or - /// NoUpfront.

            + ///

            The payment option for the reservation (for example, AllUpfront or + /// NoUpfront).

            pub payment_option: std::option::Option, - ///

            Hardware specifications for the service that you want recommendations - /// for.

            + ///

            Hardware specifications for the service that you want recommendations for.

            pub service_specification: std::option::Option, ///

            Details about the recommended purchases.

            pub recommendation_details: @@ -7104,9 +7461,9 @@ pub mod reservation_purchase_recommendation { std::option::Option, } impl Builder { - ///

            The account scope that AWS recommends that you purchase this instance for. For - /// example, you can purchase this reservation for an entire organization in AWS - /// Organizations.

            + ///

            The account scope that Amazon Web Services recommends that you purchase this instance + /// for. For example, you can purchase this reservation for an entire organization in + /// Amazon Web Services Organizations.

            pub fn account_scope(mut self, input: crate::model::AccountScope) -> Self { self.account_scope = Some(input); self @@ -7118,7 +7475,7 @@ pub mod reservation_purchase_recommendation { self.account_scope = input; self } - ///

            How many days of previous usage that AWS considers when making this + ///

            How many days of previous usage that Amazon Web Services considers when making this /// recommendation.

            pub fn lookback_period_in_days( mut self, @@ -7146,8 +7503,8 @@ pub mod reservation_purchase_recommendation { self.term_in_years = input; self } - ///

            The payment option for the reservation. For example, AllUpfront or - /// NoUpfront.

            + ///

            The payment option for the reservation (for example, AllUpfront or + /// NoUpfront).

            pub fn payment_option(mut self, input: crate::model::PaymentOption) -> Self { self.payment_option = Some(input); self @@ -7159,8 +7516,7 @@ pub mod reservation_purchase_recommendation { self.payment_option = input; self } - ///

            Hardware specifications for the service that you want recommendations - /// for.

            + ///

            Hardware specifications for the service that you want recommendations for.

            pub fn service_specification(mut self, input: crate::model::ServiceSpecification) -> Self { self.service_specification = Some(input); self @@ -7226,17 +7582,17 @@ impl ReservationPurchaseRecommendation { } } -///

            A summary about this recommendation, such as the currency code, the amount that AWS -/// estimates that you could save, and the total amount of reservation to -/// purchase.

            +///

            A summary about this recommendation, such as the currency code, the amount that +/// Amazon Web Services estimates that you could save, and the total amount of +/// reservation to purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReservationPurchaseRecommendationSummary { - ///

            The total amount that AWS estimates that this recommendation could save you in a - /// month.

            + ///

            The total amount that Amazon Web Services estimates that this recommendation could save + /// you in a month.

            pub total_estimated_monthly_savings_amount: std::option::Option, - ///

            The total amount that AWS estimates that this recommendation could save you in a - /// month, as a percentage of your costs.

            + ///

            The total amount that Amazon Web Services estimates that this recommendation could save + /// you in a month, as a percentage of your costs.

            pub total_estimated_monthly_savings_percentage: std::option::Option, ///

            The currency code used for this recommendation.

            pub currency_code: std::option::Option, @@ -7268,8 +7624,8 @@ pub mod reservation_purchase_recommendation_summary { pub(crate) currency_code: std::option::Option, } impl Builder { - ///

            The total amount that AWS estimates that this recommendation could save you in a - /// month.

            + ///

            The total amount that Amazon Web Services estimates that this recommendation could save + /// you in a month.

            pub fn total_estimated_monthly_savings_amount( mut self, input: impl Into, @@ -7284,8 +7640,8 @@ pub mod reservation_purchase_recommendation_summary { self.total_estimated_monthly_savings_amount = input; self } - ///

            The total amount that AWS estimates that this recommendation could save you in a - /// month, as a percentage of your costs.

            + ///

            The total amount that Amazon Web Services estimates that this recommendation could save + /// you in a month, as a percentage of your costs.

            pub fn total_estimated_monthly_savings_percentage( mut self, input: impl Into, @@ -7336,53 +7692,58 @@ impl ReservationPurchaseRecommendationSummary { pub struct ReservationPurchaseRecommendationDetail { ///

            The account that this RI recommendation is for.

            pub account_id: std::option::Option, - ///

            Details about the instances that AWS recommends that you purchase.

            + ///

            Details about the instances that Amazon Web Services recommends that you + /// purchase.

            pub instance_details: std::option::Option, - ///

            The number of instances that AWS recommends that you purchase.

            + ///

            The number of instances that Amazon Web Services recommends that you purchase.

            pub recommended_number_of_instances_to_purchase: std::option::Option, - ///

            The number of normalized units that AWS recommends that you purchase.

            + ///

            The number of normalized units that Amazon Web Services recommends that you + /// purchase.

            pub recommended_normalized_units_to_purchase: std::option::Option, - ///

            The minimum number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The minimum number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub minimum_number_of_instances_used_per_hour: std::option::Option, - ///

            The minimum number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The minimum number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub minimum_normalized_units_used_per_hour: std::option::Option, - ///

            The maximum number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The maximum number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub maximum_number_of_instances_used_per_hour: std::option::Option, - ///

            The maximum number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The maximum number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub maximum_normalized_units_used_per_hour: std::option::Option, - ///

            The average number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The average number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub average_number_of_instances_used_per_hour: std::option::Option, - ///

            The average number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The average number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub average_normalized_units_used_per_hour: std::option::Option, - ///

            The average utilization of your instances. AWS uses this to calculate your - /// recommended reservation purchases.

            + ///

            The average utilization of your instances. Amazon Web Services uses this to calculate + /// your recommended reservation purchases.

            pub average_utilization: std::option::Option, - ///

            How long AWS estimates that it takes for this instance to start saving you money, - /// in months.

            + ///

            How long Amazon Web Services estimates that it takes for this instance to start saving + /// you money, in months.

            pub estimated_break_even_in_months: std::option::Option, - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub currency_code: std::option::Option, - ///

            How much AWS estimates that this specific recommendation could save you in a - /// month.

            + ///

            How much Amazon Web Services estimates that this specific recommendation could save you + /// in a month.

            pub estimated_monthly_savings_amount: std::option::Option, - ///

            How much AWS estimates that this specific recommendation could save you in a month, - /// as a percentage of your overall costs.

            + ///

            How much Amazon Web Services estimates that this specific recommendation could save you + /// in a month, as a percentage of your overall costs.

            pub estimated_monthly_savings_percentage: std::option::Option, - ///

            How much AWS estimates that you spend on On-Demand Instances in a month.

            + ///

            How much Amazon Web Services estimates that you spend on On-Demand Instances in a + /// month.

            pub estimated_monthly_on_demand_cost: std::option::Option, - ///

            How much AWS estimates that you would have spent for all usage during the specified - /// historical period if you had - /// a - /// reservation.

            + ///

            How much Amazon Web Services estimates that you would have spent for all usage during + /// the specified historical period if you had a reservation.

            pub estimated_reservation_cost_for_lookback_period: std::option::Option, ///

            How much purchasing this instance costs you upfront.

            pub upfront_cost: std::option::Option, @@ -7498,7 +7859,8 @@ pub mod reservation_purchase_recommendation_detail { self.account_id = input; self } - ///

            Details about the instances that AWS recommends that you purchase.

            + ///

            Details about the instances that Amazon Web Services recommends that you + /// purchase.

            pub fn instance_details(mut self, input: crate::model::InstanceDetails) -> Self { self.instance_details = Some(input); self @@ -7510,7 +7872,7 @@ pub mod reservation_purchase_recommendation_detail { self.instance_details = input; self } - ///

            The number of instances that AWS recommends that you purchase.

            + ///

            The number of instances that Amazon Web Services recommends that you purchase.

            pub fn recommended_number_of_instances_to_purchase( mut self, input: impl Into, @@ -7525,7 +7887,8 @@ pub mod reservation_purchase_recommendation_detail { self.recommended_number_of_instances_to_purchase = input; self } - ///

            The number of normalized units that AWS recommends that you purchase.

            + ///

            The number of normalized units that Amazon Web Services recommends that you + /// purchase.

            pub fn recommended_normalized_units_to_purchase( mut self, input: impl Into, @@ -7540,8 +7903,9 @@ pub mod reservation_purchase_recommendation_detail { self.recommended_normalized_units_to_purchase = input; self } - ///

            The minimum number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The minimum number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub fn minimum_number_of_instances_used_per_hour( mut self, input: impl Into, @@ -7556,8 +7920,8 @@ pub mod reservation_purchase_recommendation_detail { self.minimum_number_of_instances_used_per_hour = input; self } - ///

            The minimum number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The minimum number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub fn minimum_normalized_units_used_per_hour( mut self, @@ -7573,8 +7937,9 @@ pub mod reservation_purchase_recommendation_detail { self.minimum_normalized_units_used_per_hour = input; self } - ///

            The maximum number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The maximum number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub fn maximum_number_of_instances_used_per_hour( mut self, input: impl Into, @@ -7589,8 +7954,8 @@ pub mod reservation_purchase_recommendation_detail { self.maximum_number_of_instances_used_per_hour = input; self } - ///

            The maximum number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The maximum number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub fn maximum_normalized_units_used_per_hour( mut self, @@ -7606,8 +7971,9 @@ pub mod reservation_purchase_recommendation_detail { self.maximum_normalized_units_used_per_hour = input; self } - ///

            The average number of instances that you used in an hour during the historical - /// period. AWS uses this to calculate your recommended reservation purchases.

            + ///

            The average number of instances that you used in an hour during the historical period. + /// Amazon Web Services uses this to calculate your recommended reservation + /// purchases.

            pub fn average_number_of_instances_used_per_hour( mut self, input: impl Into, @@ -7622,8 +7988,8 @@ pub mod reservation_purchase_recommendation_detail { self.average_number_of_instances_used_per_hour = input; self } - ///

            The average number of normalized units that you used in an hour during the - /// historical period. AWS uses this to calculate your recommended reservation + ///

            The average number of normalized units that you used in an hour during the historical + /// period. Amazon Web Services uses this to calculate your recommended reservation /// purchases.

            pub fn average_normalized_units_used_per_hour( mut self, @@ -7639,8 +8005,8 @@ pub mod reservation_purchase_recommendation_detail { self.average_normalized_units_used_per_hour = input; self } - ///

            The average utilization of your instances. AWS uses this to calculate your - /// recommended reservation purchases.

            + ///

            The average utilization of your instances. Amazon Web Services uses this to calculate + /// your recommended reservation purchases.

            pub fn average_utilization(mut self, input: impl Into) -> Self { self.average_utilization = Some(input.into()); self @@ -7652,8 +8018,8 @@ pub mod reservation_purchase_recommendation_detail { self.average_utilization = input; self } - ///

            How long AWS estimates that it takes for this instance to start saving you money, - /// in months.

            + ///

            How long Amazon Web Services estimates that it takes for this instance to start saving + /// you money, in months.

            pub fn estimated_break_even_in_months( mut self, input: impl Into, @@ -7668,7 +8034,8 @@ pub mod reservation_purchase_recommendation_detail { self.estimated_break_even_in_months = input; self } - ///

            The currency code that AWS used to calculate the costs for this instance.

            + ///

            The currency code that Amazon Web Services used to calculate the costs for this + /// instance.

            pub fn currency_code(mut self, input: impl Into) -> Self { self.currency_code = Some(input.into()); self @@ -7680,8 +8047,8 @@ pub mod reservation_purchase_recommendation_detail { self.currency_code = input; self } - ///

            How much AWS estimates that this specific recommendation could save you in a - /// month.

            + ///

            How much Amazon Web Services estimates that this specific recommendation could save you + /// in a month.

            pub fn estimated_monthly_savings_amount( mut self, input: impl Into, @@ -7696,8 +8063,8 @@ pub mod reservation_purchase_recommendation_detail { self.estimated_monthly_savings_amount = input; self } - ///

            How much AWS estimates that this specific recommendation could save you in a month, - /// as a percentage of your overall costs.

            + ///

            How much Amazon Web Services estimates that this specific recommendation could save you + /// in a month, as a percentage of your overall costs.

            pub fn estimated_monthly_savings_percentage( mut self, input: impl Into, @@ -7712,7 +8079,8 @@ pub mod reservation_purchase_recommendation_detail { self.estimated_monthly_savings_percentage = input; self } - ///

            How much AWS estimates that you spend on On-Demand Instances in a month.

            + ///

            How much Amazon Web Services estimates that you spend on On-Demand Instances in a + /// month.

            pub fn estimated_monthly_on_demand_cost( mut self, input: impl Into, @@ -7727,10 +8095,8 @@ pub mod reservation_purchase_recommendation_detail { self.estimated_monthly_on_demand_cost = input; self } - ///

            How much AWS estimates that you would have spent for all usage during the specified - /// historical period if you had - /// a - /// reservation.

            + ///

            How much Amazon Web Services estimates that you would have spent for all usage during + /// the specified historical period if you had a reservation.

            pub fn estimated_reservation_cost_for_lookback_period( mut self, input: impl Into, @@ -7808,20 +8174,22 @@ impl ReservationPurchaseRecommendationDetail { } } -///

            Details about the instances that AWS recommends that you purchase.

            +///

            Details about the instances that Amazon Web Services recommends that you +/// purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InstanceDetails { - ///

            The Amazon EC2 instances that AWS recommends that you purchase.

            + ///

            The Amazon EC2 instances that Amazon Web Services recommends that you purchase.

            pub ec2_instance_details: std::option::Option, - ///

            The Amazon RDS instances that AWS recommends that you purchase.

            + ///

            The Amazon RDS instances that Amazon Web Services recommends that you purchase.

            pub rds_instance_details: std::option::Option, - ///

            The Amazon Redshift instances that AWS recommends that you purchase.

            + ///

            The Amazon Redshift instances that Amazon Web Services recommends that you + /// purchase.

            pub redshift_instance_details: std::option::Option, - ///

            The ElastiCache instances that AWS recommends that you purchase.

            + ///

            The ElastiCache instances that Amazon Web Services recommends that you purchase.

            pub elasti_cache_instance_details: std::option::Option, - ///

            The Amazon ES instances that AWS recommends that you purchase.

            + ///

            The Amazon ES instances that Amazon Web Services recommends that you purchase.

            pub es_instance_details: std::option::Option, } impl std::fmt::Debug for InstanceDetails { @@ -7853,7 +8221,7 @@ pub mod instance_details { pub(crate) es_instance_details: std::option::Option, } impl Builder { - ///

            The Amazon EC2 instances that AWS recommends that you purchase.

            + ///

            The Amazon EC2 instances that Amazon Web Services recommends that you purchase.

            pub fn ec2_instance_details(mut self, input: crate::model::Ec2InstanceDetails) -> Self { self.ec2_instance_details = Some(input); self @@ -7865,7 +8233,7 @@ pub mod instance_details { self.ec2_instance_details = input; self } - ///

            The Amazon RDS instances that AWS recommends that you purchase.

            + ///

            The Amazon RDS instances that Amazon Web Services recommends that you purchase.

            pub fn rds_instance_details(mut self, input: crate::model::RdsInstanceDetails) -> Self { self.rds_instance_details = Some(input); self @@ -7877,7 +8245,8 @@ pub mod instance_details { self.rds_instance_details = input; self } - ///

            The Amazon Redshift instances that AWS recommends that you purchase.

            + ///

            The Amazon Redshift instances that Amazon Web Services recommends that you + /// purchase.

            pub fn redshift_instance_details( mut self, input: crate::model::RedshiftInstanceDetails, @@ -7892,7 +8261,7 @@ pub mod instance_details { self.redshift_instance_details = input; self } - ///

            The ElastiCache instances that AWS recommends that you purchase.

            + ///

            The ElastiCache instances that Amazon Web Services recommends that you purchase.

            pub fn elasti_cache_instance_details( mut self, input: crate::model::ElastiCacheInstanceDetails, @@ -7907,7 +8276,7 @@ pub mod instance_details { self.elasti_cache_instance_details = input; self } - ///

            The Amazon ES instances that AWS recommends that you purchase.

            + ///

            The Amazon ES instances that Amazon Web Services recommends that you purchase.

            pub fn es_instance_details(mut self, input: crate::model::EsInstanceDetails) -> Self { self.es_instance_details = Some(input); self @@ -7938,20 +8307,20 @@ impl InstanceDetails { } } -///

            Details about the Amazon ES instances that AWS recommends that you +///

            Details about the Amazon ES instances that Amazon Web Services recommends that you /// purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EsInstanceDetails { - ///

            The class of instance that AWS recommends.

            + ///

            The class of instance that Amazon Web Services recommends.

            pub instance_class: std::option::Option, - ///

            The size of instance that AWS recommends.

            + ///

            The size of instance that Amazon Web Services recommends.

            pub instance_size: std::option::Option, - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub region: std::option::Option, - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub current_generation: bool, - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub size_flex_eligible: bool, } impl std::fmt::Debug for EsInstanceDetails { @@ -7978,7 +8347,7 @@ pub mod es_instance_details { pub(crate) size_flex_eligible: std::option::Option, } impl Builder { - ///

            The class of instance that AWS recommends.

            + ///

            The class of instance that Amazon Web Services recommends.

            pub fn instance_class(mut self, input: impl Into) -> Self { self.instance_class = Some(input.into()); self @@ -7990,7 +8359,7 @@ pub mod es_instance_details { self.instance_class = input; self } - ///

            The size of instance that AWS recommends.

            + ///

            The size of instance that Amazon Web Services recommends.

            pub fn instance_size(mut self, input: impl Into) -> Self { self.instance_size = Some(input.into()); self @@ -8002,7 +8371,7 @@ pub mod es_instance_details { self.instance_size = input; self } - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8011,7 +8380,7 @@ pub mod es_instance_details { self.region = input; self } - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub fn current_generation(mut self, input: bool) -> Self { self.current_generation = Some(input); self @@ -8020,7 +8389,7 @@ pub mod es_instance_details { self.current_generation = input; self } - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub fn size_flex_eligible(mut self, input: bool) -> Self { self.size_flex_eligible = Some(input); self @@ -8048,22 +8417,22 @@ impl EsInstanceDetails { } } -///

            Details about the Amazon ElastiCache instances that AWS recommends that you -/// purchase.

            +///

            Details about the Amazon ElastiCache instances that Amazon Web Services recommends that +/// you purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ElastiCacheInstanceDetails { ///

            The instance family of the recommended reservation.

            pub family: std::option::Option, - ///

            The type of node that AWS recommends.

            + ///

            The type of node that Amazon Web Services recommends.

            pub node_type: std::option::Option, - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub region: std::option::Option, ///

            The description of the recommended reservation.

            pub product_description: std::option::Option, - ///

            Whether the recommendation is for a current generation instance.

            + ///

            Determines whether the recommendation is for a current generation instance.

            pub current_generation: bool, - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub size_flex_eligible: bool, } impl std::fmt::Debug for ElastiCacheInstanceDetails { @@ -8101,7 +8470,7 @@ pub mod elasti_cache_instance_details { self.family = input; self } - ///

            The type of node that AWS recommends.

            + ///

            The type of node that Amazon Web Services recommends.

            pub fn node_type(mut self, input: impl Into) -> Self { self.node_type = Some(input.into()); self @@ -8110,7 +8479,7 @@ pub mod elasti_cache_instance_details { self.node_type = input; self } - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8131,7 +8500,7 @@ pub mod elasti_cache_instance_details { self.product_description = input; self } - ///

            Whether the recommendation is for a current generation instance.

            + ///

            Determines whether the recommendation is for a current generation instance.

            pub fn current_generation(mut self, input: bool) -> Self { self.current_generation = Some(input); self @@ -8140,7 +8509,7 @@ pub mod elasti_cache_instance_details { self.current_generation = input; self } - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub fn size_flex_eligible(mut self, input: bool) -> Self { self.size_flex_eligible = Some(input); self @@ -8169,20 +8538,20 @@ impl ElastiCacheInstanceDetails { } } -///

            Details about the Amazon Redshift instances that AWS recommends that you -/// purchase.

            +///

            Details about the Amazon Redshift instances that Amazon Web Services recommends that +/// you purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RedshiftInstanceDetails { ///

            The instance family of the recommended reservation.

            pub family: std::option::Option, - ///

            The type of node that AWS recommends.

            + ///

            The type of node that Amazon Web Services recommends.

            pub node_type: std::option::Option, - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub region: std::option::Option, - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub current_generation: bool, - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub size_flex_eligible: bool, } impl std::fmt::Debug for RedshiftInstanceDetails { @@ -8218,7 +8587,7 @@ pub mod redshift_instance_details { self.family = input; self } - ///

            The type of node that AWS recommends.

            + ///

            The type of node that Amazon Web Services recommends.

            pub fn node_type(mut self, input: impl Into) -> Self { self.node_type = Some(input.into()); self @@ -8227,7 +8596,7 @@ pub mod redshift_instance_details { self.node_type = input; self } - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8236,7 +8605,7 @@ pub mod redshift_instance_details { self.region = input; self } - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub fn current_generation(mut self, input: bool) -> Self { self.current_generation = Some(input); self @@ -8245,7 +8614,7 @@ pub mod redshift_instance_details { self.current_generation = input; self } - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub fn size_flex_eligible(mut self, input: bool) -> Self { self.size_flex_eligible = Some(input); self @@ -8273,29 +8642,29 @@ impl RedshiftInstanceDetails { } } -///

            Details about the Amazon RDS instances that AWS recommends that you +///

            Details about the Amazon RDS instances that Amazon Web Services recommends that you /// purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RdsInstanceDetails { ///

            The instance family of the recommended reservation.

            pub family: std::option::Option, - ///

            The type of instance that AWS recommends.

            + ///

            The type of instance that Amazon Web Services recommends.

            pub instance_type: std::option::Option, - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub region: std::option::Option, ///

            The database engine that the recommended reservation supports.

            pub database_engine: std::option::Option, ///

            The database edition that the recommended reservation supports.

            pub database_edition: std::option::Option, - ///

            Whether the recommendation is for a reservation in a single Availability Zone or a - /// reservation with a backup in a second Availability Zone.

            + ///

            Determines whether the recommendation is for a reservation in a single Availability + /// Zone or a reservation with a backup in a second Availability Zone.

            pub deployment_option: std::option::Option, ///

            The license model that the recommended reservation supports.

            pub license_model: std::option::Option, - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub current_generation: bool, - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub size_flex_eligible: bool, } impl std::fmt::Debug for RdsInstanceDetails { @@ -8339,7 +8708,7 @@ pub mod rds_instance_details { self.family = input; self } - ///

            The type of instance that AWS recommends.

            + ///

            The type of instance that Amazon Web Services recommends.

            pub fn instance_type(mut self, input: impl Into) -> Self { self.instance_type = Some(input.into()); self @@ -8351,7 +8720,7 @@ pub mod rds_instance_details { self.instance_type = input; self } - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8384,8 +8753,8 @@ pub mod rds_instance_details { self.database_edition = input; self } - ///

            Whether the recommendation is for a reservation in a single Availability Zone or a - /// reservation with a backup in a second Availability Zone.

            + ///

            Determines whether the recommendation is for a reservation in a single Availability + /// Zone or a reservation with a backup in a second Availability Zone.

            pub fn deployment_option(mut self, input: impl Into) -> Self { self.deployment_option = Some(input.into()); self @@ -8409,7 +8778,7 @@ pub mod rds_instance_details { self.license_model = input; self } - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub fn current_generation(mut self, input: bool) -> Self { self.current_generation = Some(input); self @@ -8418,7 +8787,7 @@ pub mod rds_instance_details { self.current_generation = input; self } - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub fn size_flex_eligible(mut self, input: bool) -> Self { self.size_flex_eligible = Some(input); self @@ -8450,26 +8819,27 @@ impl RdsInstanceDetails { } } -///

            Details about the Amazon EC2 instances that AWS recommends that you purchase.

            +///

            Details about the Amazon EC2 instances that Amazon Web Services recommends that you +/// purchase.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ec2InstanceDetails { ///

            The instance family of the recommended reservation.

            pub family: std::option::Option, - ///

            The type of instance that AWS recommends.

            + ///

            The type of instance that Amazon Web Services recommends.

            pub instance_type: std::option::Option, - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub region: std::option::Option, ///

            The Availability Zone of the recommended reservation.

            pub availability_zone: std::option::Option, - ///

            The platform of the recommended reservation. The platform is the specific - /// combination of operating system, license model, and software on an instance.

            + ///

            The platform of the recommended reservation. The platform is the specific combination + /// of operating system, license model, and software on an instance.

            pub platform: std::option::Option, - ///

            Whether the recommended reservation is dedicated or shared.

            + ///

            Determines whether the recommended reservation is dedicated or shared.

            pub tenancy: std::option::Option, - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub current_generation: bool, - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub size_flex_eligible: bool, } impl std::fmt::Debug for Ec2InstanceDetails { @@ -8511,7 +8881,7 @@ pub mod ec2_instance_details { self.family = input; self } - ///

            The type of instance that AWS recommends.

            + ///

            The type of instance that Amazon Web Services recommends.

            pub fn instance_type(mut self, input: impl Into) -> Self { self.instance_type = Some(input.into()); self @@ -8523,7 +8893,7 @@ pub mod ec2_instance_details { self.instance_type = input; self } - ///

            The AWS Region of the recommended reservation.

            + ///

            The Amazon Web Services Region of the recommended reservation.

            pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8544,8 +8914,8 @@ pub mod ec2_instance_details { self.availability_zone = input; self } - ///

            The platform of the recommended reservation. The platform is the specific - /// combination of operating system, license model, and software on an instance.

            + ///

            The platform of the recommended reservation. The platform is the specific combination + /// of operating system, license model, and software on an instance.

            pub fn platform(mut self, input: impl Into) -> Self { self.platform = Some(input.into()); self @@ -8554,7 +8924,7 @@ pub mod ec2_instance_details { self.platform = input; self } - ///

            Whether the recommended reservation is dedicated or shared.

            + ///

            Determines whether the recommended reservation is dedicated or shared.

            pub fn tenancy(mut self, input: impl Into) -> Self { self.tenancy = Some(input.into()); self @@ -8563,7 +8933,7 @@ pub mod ec2_instance_details { self.tenancy = input; self } - ///

            Whether the recommendation is for a current-generation instance.

            + ///

            Determines whether the recommendation is for a current-generation instance.

            pub fn current_generation(mut self, input: bool) -> Self { self.current_generation = Some(input); self @@ -8572,7 +8942,7 @@ pub mod ec2_instance_details { self.current_generation = input; self } - ///

            Whether the recommended reservation is size flexible.

            + ///

            Determines whether the recommended reservation is size flexible.

            pub fn size_flex_eligible(mut self, input: bool) -> Self { self.size_flex_eligible = Some(input); self @@ -8603,13 +8973,12 @@ impl Ec2InstanceDetails { } } -///

            Hardware specifications for the service that you want recommendations -/// for.

            +///

            Hardware specifications for the service that you want recommendations for.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceSpecification { - ///

            The Amazon EC2 hardware specifications that you want AWS to provide recommendations - /// for.

            + ///

            The Amazon EC2 hardware specifications that you want Amazon Web Services to provide + /// recommendations for.

            pub ec2_specification: std::option::Option, } impl std::fmt::Debug for ServiceSpecification { @@ -8628,8 +8997,8 @@ pub mod service_specification { pub(crate) ec2_specification: std::option::Option, } impl Builder { - ///

            The Amazon EC2 hardware specifications that you want AWS to provide recommendations - /// for.

            + ///

            The Amazon EC2 hardware specifications that you want Amazon Web Services to provide + /// recommendations for.

            pub fn ec2_specification(mut self, input: crate::model::Ec2Specification) -> Self { self.ec2_specification = Some(input); self @@ -8656,12 +9025,12 @@ impl ServiceSpecification { } } -///

            The Amazon EC2 hardware specifications that you want AWS to provide recommendations -/// for.

            +///

            The Amazon EC2 hardware specifications that you want Amazon Web Services to provide +/// recommendations for.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ec2Specification { - ///

            Whether you want a recommendation for standard or convertible + ///

            Indicates whether you want a recommendation for standard or convertible /// reservations.

            pub offering_class: std::option::Option, } @@ -8681,7 +9050,7 @@ pub mod ec2_specification { pub(crate) offering_class: std::option::Option, } impl Builder { - ///

            Whether you want a recommendation for standard or convertible + ///

            Indicates whether you want a recommendation for standard or convertible /// reservations.

            pub fn offering_class(mut self, input: crate::model::OfferingClass) -> Self { self.offering_class = Some(input); @@ -8759,14 +9128,13 @@ impl AsRef for OfferingClass { } } -///

            Information about this specific recommendation, such as the timestamp for when AWS -/// made a specific recommendation.

            +///

            Information about this specific recommendation, such as the timestamp for when Amazon Web Services made a specific recommendation.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReservationPurchaseRecommendationMetadata { ///

            The ID for this specific recommendation.

            pub recommendation_id: std::option::Option, - ///

            The timestamp for when AWS made this recommendation.

            + ///

            The timestamp for when Amazon Web Services made this recommendation.

            pub generation_timestamp: std::option::Option, } impl std::fmt::Debug for ReservationPurchaseRecommendationMetadata { @@ -8799,7 +9167,7 @@ pub mod reservation_purchase_recommendation_metadata { self.recommendation_id = input; self } - ///

            The timestamp for when AWS made this recommendation.

            + ///

            The timestamp for when Amazon Web Services made this recommendation.

            pub fn generation_timestamp(mut self, input: impl Into) -> Self { self.generation_timestamp = Some(input.into()); self @@ -8833,8 +9201,7 @@ impl ReservationPurchaseRecommendationMetadata { pub struct Coverage { ///

            The amount of instance usage that the reservation covered, in hours.

            pub coverage_hours: std::option::Option, - ///

            The amount of instance usage that the reservation covered, in normalized - /// units.

            + ///

            The amount of instance usage that the reservation covered, in normalized units.

            pub coverage_normalized_units: std::option::Option, ///

            The amount of cost that the reservation covered.

            pub coverage_cost: std::option::Option, @@ -8872,8 +9239,7 @@ pub mod coverage { self.coverage_hours = input; self } - ///

            The amount of instance usage that the reservation covered, in normalized - /// units.

            + ///

            The amount of instance usage that the reservation covered, in normalized units.

            pub fn coverage_normalized_units( mut self, input: crate::model::CoverageNormalizedUnits, @@ -8967,15 +9333,16 @@ impl CoverageCost { } } -///

            The amount of instance usage, in normalized units. Normalized units enable you to -/// see your EC2 usage for multiple sizes of instances in a uniform way. For example, -/// suppose you run an xlarge instance and a 2xlarge instance. If you run both instances for +///

            The amount of instance usage, in normalized units. You can use normalized units to see +/// your EC2 usage for multiple sizes of instances in a uniform way. For example, suppose +/// that you run an xlarge instance and a 2xlarge instance. If you run both instances for /// the same amount of time, the 2xlarge instance uses twice as much of your reservation as -/// the xlarge instance, even though both instances show only one instance-hour. Using -/// normalized units instead of instance-hours, the xlarge instance used 8 normalized units, -/// and the 2xlarge instance used 16 normalized units.

            -///

            For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for -/// Linux Instances.

            +/// the xlarge instance, even though both instances show only one instance-hour. When you +/// use normalized units instead of instance-hours, the xlarge instance used 8 normalized +/// units, and the 2xlarge instance used 16 normalized units.

            +///

            For more information, see Modifying Reserved Instances +/// in the Amazon Elastic Compute Cloud User Guide for Linux +/// Instances.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CoverageNormalizedUnits { @@ -9196,9 +9563,7 @@ impl CoverageHours { } } -///

            Reservation -/// coverage for a specified period, in -/// hours.

            +///

            Reservation coverage for a specified period, in hours.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CoverageByTime { @@ -9281,8 +9646,7 @@ impl CoverageByTime { } } -///

            A -/// group of reservations that share a set of attributes.

            +///

            A group of reservations that share a set of attributes.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReservationCoverageGroup { @@ -9356,8 +9720,8 @@ impl ReservationCoverageGroup { } } -///

            The metadata of a specific type that you can use to filter and group your results. -/// You can use GetDimensionValues to find specific values.

            +///

            The metadata of a specific type that you can use to filter and group your results. You +/// can use GetDimensionValues to find specific values.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DimensionValuesWithAttributes { @@ -9484,7 +9848,7 @@ impl AsRef for Context { } } -///

            The result that is associated with a time period.

            +///

            The result that's associated with a time period.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResultByTime { @@ -9496,8 +9860,7 @@ pub struct ResultByTime { >, ///

            The groups that this time period includes.

            pub groups: std::option::Option>, - ///

            Whether - /// the result is estimated.

            + ///

            Determines whether the result is estimated.

            pub estimated: bool, } impl std::fmt::Debug for ResultByTime { @@ -9568,8 +9931,7 @@ pub mod result_by_time { self.groups = input; self } - ///

            Whether - /// the result is estimated.

            + ///

            Determines whether the result is estimated.

            pub fn estimated(mut self, input: bool) -> Self { self.estimated = Some(input); self @@ -9675,37 +10037,26 @@ impl Group { } } -///

            -/// The association between a monitor, threshold, and list of subscribers used to deliver notifications about anomalies detected by a monitor that exceeds a threshold. The content consists of the detailed metadata and the current status of the AnomalySubscription object. -///

            +///

            The association between a monitor, threshold, and list of subscribers used to deliver +/// notifications about anomalies detected by a monitor that exceeds a threshold. The +/// content consists of the detailed metadata and the current status of the +/// AnomalySubscription object.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AnomalySubscription { - ///

            The AnomalySubscription Amazon Resource Name (ARN).

            + ///

            The AnomalySubscription Amazon Resource Name (ARN).

            pub subscription_arn: std::option::Option, - ///

            - /// Your unique account identifier. - ///

            + ///

            Your unique account identifier.

            pub account_id: std::option::Option, - ///

            - /// A list of cost anomaly monitors. - ///

            + ///

            A list of cost anomaly monitors.

            pub monitor_arn_list: std::option::Option>, - ///

            - /// A list of subscribers to notify. - ///

            + ///

            A list of subscribers to notify.

            pub subscribers: std::option::Option>, - ///

            - /// The dollar value that triggers a notification if the threshold is exceeded. - ///

            + ///

            The dollar value that triggers a notification if the threshold is exceeded.

            pub threshold: std::option::Option, - ///

            - /// The frequency at which anomaly reports are sent over email. - ///

            + ///

            The frequency that anomaly reports are sent over email.

            pub frequency: std::option::Option, - ///

            - /// The name for the subscription. - ///

            + ///

            The name for the subscription.

            pub subscription_name: std::option::Option, } impl std::fmt::Debug for AnomalySubscription { @@ -9736,7 +10087,7 @@ pub mod anomaly_subscription { pub(crate) subscription_name: std::option::Option, } impl Builder { - ///

            The AnomalySubscription Amazon Resource Name (ARN).

            + ///

            The AnomalySubscription Amazon Resource Name (ARN).

            pub fn subscription_arn(mut self, input: impl Into) -> Self { self.subscription_arn = Some(input.into()); self @@ -9748,9 +10099,7 @@ pub mod anomaly_subscription { self.subscription_arn = input; self } - ///

            - /// Your unique account identifier. - ///

            + ///

            Your unique account identifier.

            pub fn account_id(mut self, input: impl Into) -> Self { self.account_id = Some(input.into()); self @@ -9785,9 +10134,7 @@ pub mod anomaly_subscription { self.subscribers = input; self } - ///

            - /// The dollar value that triggers a notification if the threshold is exceeded. - ///

            + ///

            The dollar value that triggers a notification if the threshold is exceeded.

            pub fn threshold(mut self, input: f64) -> Self { self.threshold = Some(input); self @@ -9796,9 +10143,7 @@ pub mod anomaly_subscription { self.threshold = input; self } - ///

            - /// The frequency at which anomaly reports are sent over email. - ///

            + ///

            The frequency that anomaly reports are sent over email.

            pub fn frequency(mut self, input: crate::model::AnomalySubscriptionFrequency) -> Self { self.frequency = Some(input); self @@ -9810,9 +10155,7 @@ pub mod anomaly_subscription { self.frequency = input; self } - ///

            - /// The name for the subscription. - ///

            + ///

            The name for the subscription.

            pub fn subscription_name(mut self, input: impl Into) -> Self { self.subscription_name = Some(input.into()); self @@ -9845,68 +10188,58 @@ impl AnomalySubscription { } } -///

            This object continuously inspects your account's cost data for anomalies, based on -/// MonitorType and MonitorSpecification. The content consists +///

            This object continuously inspects your account's cost data for anomalies. It's based +/// on MonitorType and MonitorSpecification. The content consists /// of detailed metadata and the current status of the monitor object.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AnomalyMonitor { - ///

            The Amazon Resource Name (ARN) value.

            + ///

            The Amazon Resource Name (ARN) value.

            pub monitor_arn: std::option::Option, - ///

            - /// The name of the monitor. - ///

            + ///

            The name of the monitor.

            pub monitor_name: std::option::Option, - ///

            - /// The date when the monitor was created. - ///

            + ///

            The date when the monitor was created.

            pub creation_date: std::option::Option, - ///

            - /// The date when the monitor was last updated. - ///

            + ///

            The date when the monitor was last updated.

            pub last_updated_date: std::option::Option, - ///

            - /// The date when the monitor last evaluated for anomalies. - ///

            + ///

            The date when the monitor last evaluated for anomalies.

            pub last_evaluated_date: std::option::Option, - ///

            - /// The possible type values. - ///

            + ///

            The possible type values.

            pub monitor_type: std::option::Option, - ///

            - /// The dimensions to evaluate. - ///

            + ///

            The dimensions to evaluate.

            pub monitor_dimension: std::option::Option, ///

            Use Expression to filter by cost or by usage. There are two patterns:

            ///
              ///
            • ///

              Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

              + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

              ///

              - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

              - ///

              The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

              + ///

              The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

              ///
            • ///
            • ///

              Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

              + /// DataTransfer). The Expression for that is as + /// follows:

              ///

              - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

              /// ///

              Because each Expression can have only one operator, the @@ -9921,18 +10254,17 @@ pub struct AnomalyMonitor { ///

            • ///
            /// - ///

            For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

            For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

            - ///

            For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

            + ///

            For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

            ///
            pub monitor_specification: std::option::Option, - ///

            - /// The value for evaluated dimensions. - ///

            + ///

            The value for evaluated dimensions.

            pub dimensional_value_count: i32, } impl std::fmt::Debug for AnomalyMonitor { @@ -9967,7 +10299,7 @@ pub mod anomaly_monitor { pub(crate) dimensional_value_count: std::option::Option, } impl Builder { - ///

            The Amazon Resource Name (ARN) value.

            + ///

            The Amazon Resource Name (ARN) value.

            pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -9976,9 +10308,7 @@ pub mod anomaly_monitor { self.monitor_arn = input; self } - ///

            - /// The name of the monitor. - ///

            + ///

            The name of the monitor.

            pub fn monitor_name(mut self, input: impl Into) -> Self { self.monitor_name = Some(input.into()); self @@ -9987,9 +10317,7 @@ pub mod anomaly_monitor { self.monitor_name = input; self } - ///

            - /// The date when the monitor was created. - ///

            + ///

            The date when the monitor was created.

            pub fn creation_date(mut self, input: impl Into) -> Self { self.creation_date = Some(input.into()); self @@ -10001,9 +10329,7 @@ pub mod anomaly_monitor { self.creation_date = input; self } - ///

            - /// The date when the monitor was last updated. - ///

            + ///

            The date when the monitor was last updated.

            pub fn last_updated_date(mut self, input: impl Into) -> Self { self.last_updated_date = Some(input.into()); self @@ -10015,9 +10341,7 @@ pub mod anomaly_monitor { self.last_updated_date = input; self } - ///

            - /// The date when the monitor last evaluated for anomalies. - ///

            + ///

            The date when the monitor last evaluated for anomalies.

            pub fn last_evaluated_date(mut self, input: impl Into) -> Self { self.last_evaluated_date = Some(input.into()); self @@ -10029,9 +10353,7 @@ pub mod anomaly_monitor { self.last_evaluated_date = input; self } - ///

            - /// The possible type values. - ///

            + ///

            The possible type values.

            pub fn monitor_type(mut self, input: crate::model::MonitorType) -> Self { self.monitor_type = Some(input); self @@ -10043,9 +10365,7 @@ pub mod anomaly_monitor { self.monitor_type = input; self } - ///

            - /// The dimensions to evaluate. - ///

            + ///

            The dimensions to evaluate.

            pub fn monitor_dimension(mut self, input: crate::model::MonitorDimension) -> Self { self.monitor_dimension = Some(input); self @@ -10062,31 +10382,33 @@ pub mod anomaly_monitor { ///
          • ///

            Simple dimension values - You can set the dimension name and values for the /// filters that you plan to use. For example, you can filter for - /// REGION==us-east-1 OR REGION==us-west-1. For GetRightsizingRecommendation, the Region is a full name (for example, REGION==US East (N. Virginia). The - /// Expression example looks like:

            + /// REGION==us-east-1 OR REGION==us-west-1. For + /// GetRightsizingRecommendation, the Region is a full name (for + /// example, REGION==US East (N. Virginia). The Expression + /// example is as follows:

            ///

            - /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", - /// “us-west-1” ] } } + /// { "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] + /// } } ///

            - ///

            The list of dimension values are OR'd together to retrieve cost or usage - /// data. You can create Expression and DimensionValues - /// objects using either with* methods or set* methods in - /// multiple lines.

            + ///

            The list of dimension values are OR'd together to retrieve cost or usage data. + /// You can create Expression and DimensionValues objects + /// using either with* methods or set* methods in multiple + /// lines.

            ///
          • ///
          • ///

            Compound dimension values with logical operations - You can use multiple /// Expression types and the logical operators /// AND/OR/NOT to create a list of one or more - /// Expression objects. This allows you to filter on more advanced - /// options. For example, you can filter on ((REGION == us-east-1 OR + /// Expression objects. By doing this, you can filter on more + /// advanced options. For example, you can filter on ((REGION == us-east-1 OR /// REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != - /// DataTransfer). The Expression for that looks like - /// this:

            + /// DataTransfer). The Expression for that is as + /// follows:

            ///

            - /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", - /// "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", - /// "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", - /// "Values": ["DataTransfer"] }}} ] } + /// { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ + /// "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": + /// ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + /// ["DataTransfer"] }}} ] } ///

            /// ///

            Because each Expression can have only one operator, the @@ -10101,13 +10423,14 @@ pub mod anomaly_monitor { ///

          • ///
          /// - ///

          For the GetRightsizingRecommendation action, a combination of OR and NOT is not - /// supported. OR is not supported between different dimensions, or dimensions and tags. - /// NOT operators aren't supported. - /// Dimensions - /// are also limited to LINKED_ACCOUNT, REGION, or + ///

          For the GetRightsizingRecommendation action, a combination of OR and + /// NOT isn't supported. OR isn't supported between different dimensions, or dimensions + /// and tags. NOT operators aren't supported. Dimensions are also limited to + /// LINKED_ACCOUNT, REGION, or /// RIGHTSIZING_TYPE.

          - ///

          For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR are not supported. Dimensions are limited to LINKED_ACCOUNT.

          + ///

          For the GetReservationPurchaseRecommendation action, only NOT is + /// supported. AND and OR aren't supported. Dimensions are limited to + /// LINKED_ACCOUNT.

          ///
          pub fn monitor_specification(mut self, input: crate::model::Expression) -> Self { self.monitor_specification = Some(input); @@ -10120,9 +10443,7 @@ pub mod anomaly_monitor { self.monitor_specification = input; self } - ///

          - /// The value for evaluated dimensions. - ///

          + ///

          The value for evaluated dimensions.

          pub fn dimensional_value_count(mut self, input: i32) -> Self { self.dimensional_value_count = Some(input); self @@ -10251,45 +10572,30 @@ impl AsRef for MonitorType { } } -///

          -/// An unusual cost pattern. This consists of the detailed metadata and the current status of the anomaly object. -///

          +///

          An unusual cost pattern. This consists of the detailed metadata and the current status +/// of the anomaly object.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Anomaly { - ///

          - /// The unique identifier for the anomaly. - ///

          + ///

          The unique identifier for the anomaly.

          pub anomaly_id: std::option::Option, - ///

          - /// The first day the anomaly is detected. - ///

          + ///

          The first day the anomaly is detected.

          pub anomaly_start_date: std::option::Option, - ///

          - /// The last day the anomaly is detected. - ///

          + ///

          The last day the anomaly is detected.

          pub anomaly_end_date: std::option::Option, - ///

          - /// The dimension for the anomaly. For example, an AWS service in a service monitor. - ///

          + ///

          The dimension for the anomaly (for example, an Amazon Web Services service in a service + /// monitor).

          pub dimension_value: std::option::Option, - ///

          - /// The list of identified root causes for the anomaly. - ///

          + ///

          The list of identified root causes for the anomaly.

          pub root_causes: std::option::Option>, - ///

          - /// The latest and maximum score for the anomaly. - ///

          + ///

          The latest and maximum score for the anomaly.

          pub anomaly_score: std::option::Option, - ///

          - /// The dollar impact for the anomaly. - ///

          + ///

          The dollar impact for the anomaly.

          pub impact: std::option::Option, - ///

          The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

          - pub monitor_arn: std::option::Option, - ///

          - /// The feedback value. + ///

          The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly. ///

          + pub monitor_arn: std::option::Option, + ///

          The feedback value.

          pub feedback: std::option::Option, } impl std::fmt::Debug for Anomaly { @@ -10324,9 +10630,7 @@ pub mod anomaly { pub(crate) feedback: std::option::Option, } impl Builder { - ///

          - /// The unique identifier for the anomaly. - ///

          + ///

          The unique identifier for the anomaly.

          pub fn anomaly_id(mut self, input: impl Into) -> Self { self.anomaly_id = Some(input.into()); self @@ -10335,9 +10639,7 @@ pub mod anomaly { self.anomaly_id = input; self } - ///

          - /// The first day the anomaly is detected. - ///

          + ///

          The first day the anomaly is detected.

          pub fn anomaly_start_date(mut self, input: impl Into) -> Self { self.anomaly_start_date = Some(input.into()); self @@ -10349,9 +10651,7 @@ pub mod anomaly { self.anomaly_start_date = input; self } - ///

          - /// The last day the anomaly is detected. - ///

          + ///

          The last day the anomaly is detected.

          pub fn anomaly_end_date(mut self, input: impl Into) -> Self { self.anomaly_end_date = Some(input.into()); self @@ -10363,9 +10663,8 @@ pub mod anomaly { self.anomaly_end_date = input; self } - ///

          - /// The dimension for the anomaly. For example, an AWS service in a service monitor. - ///

          + ///

          The dimension for the anomaly (for example, an Amazon Web Services service in a service + /// monitor).

          pub fn dimension_value(mut self, input: impl Into) -> Self { self.dimension_value = Some(input.into()); self @@ -10390,9 +10689,7 @@ pub mod anomaly { self.root_causes = input; self } - ///

          - /// The latest and maximum score for the anomaly. - ///

          + ///

          The latest and maximum score for the anomaly.

          pub fn anomaly_score(mut self, input: crate::model::AnomalyScore) -> Self { self.anomaly_score = Some(input); self @@ -10404,9 +10701,7 @@ pub mod anomaly { self.anomaly_score = input; self } - ///

          - /// The dollar impact for the anomaly. - ///

          + ///

          The dollar impact for the anomaly.

          pub fn impact(mut self, input: crate::model::Impact) -> Self { self.impact = Some(input); self @@ -10415,7 +10710,8 @@ pub mod anomaly { self.impact = input; self } - ///

          The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly.

          + ///

          The Amazon Resource Name (ARN) for the cost monitor that generated this anomaly. + ///

          pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -10424,9 +10720,7 @@ pub mod anomaly { self.monitor_arn = input; self } - ///

          - /// The feedback value. - ///

          + ///

          The feedback value.

          pub fn feedback(mut self, input: crate::model::AnomalyFeedbackType) -> Self { self.feedback = Some(input); self @@ -10461,19 +10755,13 @@ impl Anomaly { } } -///

          -/// The anomaly's dollar value. -///

          +///

          The dollar value of the anomaly.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Impact { - ///

          - /// The maximum dollar value observed for an anomaly. - ///

          + ///

          The maximum dollar value that's observed for an anomaly.

          pub max_impact: f64, - ///

          - /// The cumulative dollar value observed for an anomaly. - ///

          + ///

          The cumulative dollar value that's observed for an anomaly.

          pub total_impact: f64, } impl std::fmt::Debug for Impact { @@ -10494,9 +10782,7 @@ pub mod impact { pub(crate) total_impact: std::option::Option, } impl Builder { - ///

          - /// The maximum dollar value observed for an anomaly. - ///

          + ///

          The maximum dollar value that's observed for an anomaly.

          pub fn max_impact(mut self, input: f64) -> Self { self.max_impact = Some(input); self @@ -10505,9 +10791,7 @@ pub mod impact { self.max_impact = input; self } - ///

          - /// The cumulative dollar value observed for an anomaly. - ///

          + ///

          The cumulative dollar value that's observed for an anomaly.

          pub fn total_impact(mut self, input: f64) -> Self { self.total_impact = Some(input); self @@ -10532,17 +10816,13 @@ impl Impact { } } -///

          Quantifies the anomaly. The higher score means that it is more anomalous.

          +///

          Quantifies the anomaly. The higher score means that it's more anomalous.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AnomalyScore { - ///

          - /// The maximum score observed during the AnomalyDateInterval. - ///

          + ///

          The maximum score that's observed during the AnomalyDateInterval.

          pub max_score: f64, - ///

          - /// The last observed score. - ///

          + ///

          The last observed score.

          pub current_score: f64, } impl std::fmt::Debug for AnomalyScore { @@ -10563,9 +10843,7 @@ pub mod anomaly_score { pub(crate) current_score: std::option::Option, } impl Builder { - ///

          - /// The maximum score observed during the AnomalyDateInterval. - ///

          + ///

          The maximum score that's observed during the AnomalyDateInterval.

          pub fn max_score(mut self, input: f64) -> Self { self.max_score = Some(input); self @@ -10574,9 +10852,7 @@ pub mod anomaly_score { self.max_score = input; self } - ///

          - /// The last observed score. - ///

          + ///

          The last observed score.

          pub fn current_score(mut self, input: f64) -> Self { self.current_score = Some(input); self @@ -10601,27 +10877,18 @@ impl AnomalyScore { } } -///

          -/// The combination of AWS service, linked account, Region, and usage type where a cost anomaly is observed. -///

          +///

          The combination of Amazon Web Services service, linked account, Region, and usage type +/// where a cost anomaly is observed.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RootCause { - ///

          - /// The AWS service name associated with the cost anomaly. - ///

          + ///

          The Amazon Web Services service name that's associated with the cost anomaly.

          pub service: std::option::Option, - ///

          - /// The AWS Region associated with the cost anomaly. - ///

          + ///

          The Amazon Web Services Region that's associated with the cost anomaly.

          pub region: std::option::Option, - ///

          - /// The linked account value associated with the cost anomaly. - ///

          + ///

          The member account value that's associated with the cost anomaly.

          pub linked_account: std::option::Option, - ///

          - /// The UsageType value associated with the cost anomaly. - ///

          + ///

          The UsageType value that's associated with the cost anomaly.

          pub usage_type: std::option::Option, } impl std::fmt::Debug for RootCause { @@ -10646,9 +10913,7 @@ pub mod root_cause { pub(crate) usage_type: std::option::Option, } impl Builder { - ///

          - /// The AWS service name associated with the cost anomaly. - ///

          + ///

          The Amazon Web Services service name that's associated with the cost anomaly.

          pub fn service(mut self, input: impl Into) -> Self { self.service = Some(input.into()); self @@ -10657,9 +10922,7 @@ pub mod root_cause { self.service = input; self } - ///

          - /// The AWS Region associated with the cost anomaly. - ///

          + ///

          The Amazon Web Services Region that's associated with the cost anomaly.

          pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -10668,9 +10931,7 @@ pub mod root_cause { self.region = input; self } - ///

          - /// The linked account value associated with the cost anomaly. - ///

          + ///

          The member account value that's associated with the cost anomaly.

          pub fn linked_account(mut self, input: impl Into) -> Self { self.linked_account = Some(input.into()); self @@ -10682,9 +10943,7 @@ pub mod root_cause { self.linked_account = input; self } - ///

          - /// The UsageType value associated with the cost anomaly. - ///

          + ///

          The UsageType value that's associated with the cost anomaly.

          pub fn usage_type(mut self, input: impl Into) -> Self { self.usage_type = Some(input.into()); self @@ -10711,19 +10970,15 @@ impl RootCause { } } -///

          Filters cost anomalies based on the total impact.

          +///

          Filters cost anomalies based on the total impact.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TotalImpactFilter { - ///

          - /// The comparing value used in the filter. - ///

          + ///

          The comparing value that's used in the filter.

          pub numeric_operator: std::option::Option, - ///

          - /// The lower bound dollar value used in the filter. - ///

          + ///

          The lower bound dollar value that's used in the filter.

          pub start_value: f64, - ///

          The upper bound dollar value used in the filter.

          + ///

          The upper bound dollar value that's used in the filter.

          pub end_value: f64, } impl std::fmt::Debug for TotalImpactFilter { @@ -10746,9 +11001,7 @@ pub mod total_impact_filter { pub(crate) end_value: std::option::Option, } impl Builder { - ///

          - /// The comparing value used in the filter. - ///

          + ///

          The comparing value that's used in the filter.

          pub fn numeric_operator(mut self, input: crate::model::NumericOperator) -> Self { self.numeric_operator = Some(input); self @@ -10760,9 +11013,7 @@ pub mod total_impact_filter { self.numeric_operator = input; self } - ///

          - /// The lower bound dollar value used in the filter. - ///

          + ///

          The lower bound dollar value that's used in the filter.

          pub fn start_value(mut self, input: f64) -> Self { self.start_value = Some(input); self @@ -10771,7 +11022,7 @@ pub mod total_impact_filter { self.start_value = input; self } - ///

          The upper bound dollar value used in the filter.

          + ///

          The upper bound dollar value that's used in the filter.

          pub fn end_value(mut self, input: f64) -> Self { self.end_value = Some(input); self @@ -10866,19 +11117,13 @@ impl AsRef for NumericOperator { } } -///

          -/// The time period for an anomaly. -///

          +///

          The time period for an anomaly.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AnomalyDateInterval { - ///

          - /// The first date an anomaly was observed. - ///

          + ///

          The first date an anomaly was observed.

          pub start_date: std::option::Option, - ///

          - /// The last date an anomaly was observed. - ///

          + ///

          The last date an anomaly was observed.

          pub end_date: std::option::Option, } impl std::fmt::Debug for AnomalyDateInterval { @@ -10899,9 +11144,7 @@ pub mod anomaly_date_interval { pub(crate) end_date: std::option::Option, } impl Builder { - ///

          - /// The first date an anomaly was observed. - ///

          + ///

          The first date an anomaly was observed.

          pub fn start_date(mut self, input: impl Into) -> Self { self.start_date = Some(input.into()); self @@ -10910,9 +11153,7 @@ pub mod anomaly_date_interval { self.start_date = input; self } - ///

          - /// The last date an anomaly was observed. - ///

          + ///

          The last date an anomaly was observed.

          pub fn end_date(mut self, input: impl Into) -> Self { self.end_date = Some(input.into()); self @@ -10937,34 +11178,35 @@ impl AnomalyDateInterval { } } -///

          The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

          +///

          The structure of Cost Categories. This includes detailed metadata and the set of rules +/// for the CostCategory object.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CostCategory { - ///

          - /// The unique identifier for your Cost Category. - ///

          + ///

          The unique identifier for your Cost Category.

          pub cost_category_arn: std::option::Option, - ///

          - /// The Cost Category's effective start date.

          + ///

          The effective state data of your Cost Category.

          pub effective_start: std::option::Option, - ///

          - /// The Cost Category's effective end date.

          + ///

          The effective end data of your Cost Category.

          pub effective_end: std::option::Option, ///

          The unique name of the Cost Category.

          pub name: std::option::Option, ///

          The rule schema version in this particular Cost Category.

          pub rule_version: std::option::Option, - ///

          - /// Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value. + ///

          The rules are processed in order. If there are multiple rules that match the line + /// item, then the first rule to match is used to determine that Cost Category value. ///

          pub rules: std::option::Option>, - ///

          - /// The list of processing statuses for Cost Management products for a specific cost category. - ///

          + ///

          The split charge rules that are used to allocate your charges between your Cost + /// Category values.

          + pub split_charge_rules: + std::option::Option>, + ///

          The list of processing statuses for Cost Management products for a specific cost + /// category.

          pub processing_status: std::option::Option>, - ///

          The default value for the cost category.

          + ///

          The + /// default value for the cost category.

          pub default_value: std::option::Option, } impl std::fmt::Debug for CostCategory { @@ -10976,6 +11218,7 @@ impl std::fmt::Debug for CostCategory { formatter.field("name", &self.name); formatter.field("rule_version", &self.rule_version); formatter.field("rules", &self.rules); + formatter.field("split_charge_rules", &self.split_charge_rules); formatter.field("processing_status", &self.processing_status); formatter.field("default_value", &self.default_value); formatter.finish() @@ -10993,14 +11236,14 @@ pub mod cost_category { pub(crate) name: std::option::Option, pub(crate) rule_version: std::option::Option, pub(crate) rules: std::option::Option>, + pub(crate) split_charge_rules: + std::option::Option>, pub(crate) processing_status: std::option::Option>, pub(crate) default_value: std::option::Option, } impl Builder { - ///

          - /// The unique identifier for your Cost Category. - ///

          + ///

          The unique identifier for your Cost Category.

          pub fn cost_category_arn(mut self, input: impl Into) -> Self { self.cost_category_arn = Some(input.into()); self @@ -11012,8 +11255,7 @@ pub mod cost_category { self.cost_category_arn = input; self } - ///

          - /// The Cost Category's effective start date.

          + ///

          The effective state data of your Cost Category.

          pub fn effective_start(mut self, input: impl Into) -> Self { self.effective_start = Some(input.into()); self @@ -11025,8 +11267,7 @@ pub mod cost_category { self.effective_start = input; self } - ///

          - /// The Cost Category's effective end date.

          + ///

          The effective end data of your Cost Category.

          pub fn effective_end(mut self, input: impl Into) -> Self { self.effective_end = Some(input.into()); self @@ -11072,6 +11313,22 @@ pub mod cost_category { self.rules = input; self } + pub fn split_charge_rules( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.split_charge_rules.unwrap_or_default(); + v.push(input.into()); + self.split_charge_rules = Some(v); + self + } + pub fn set_split_charge_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.split_charge_rules = input; + self + } pub fn processing_status( mut self, input: impl Into, @@ -11088,7 +11345,8 @@ pub mod cost_category { self.processing_status = input; self } - ///

          The default value for the cost category.

          + ///

          The + /// default value for the cost category.

          pub fn default_value(mut self, input: impl Into) -> Self { self.default_value = Some(input.into()); self @@ -11109,6 +11367,7 @@ pub mod cost_category { name: self.name, rule_version: self.rule_version, rules: self.rules, + split_charge_rules: self.split_charge_rules, processing_status: self.processing_status, default_value: self.default_value, } diff --git a/sdk/costexplorer/src/operation.rs b/sdk/costexplorer/src/operation.rs index ed38a011d13b..0d209062281a 100644 --- a/sdk/costexplorer/src/operation.rs +++ b/sdk/costexplorer/src/operation.rs @@ -199,7 +199,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeCostCategoryDefiniti } } -///

          Retrieves all of the cost anomalies detected on your account, during the time period +///

          Retrieves all of the cost anomalies detected on your account during the time period that's /// specified by the DateInterval object.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetAnomalies { @@ -284,12 +284,11 @@ impl smithy_http::response::ParseStrictResponse for GetAnomalySubscriptions { } } -///

          Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as -/// BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group -/// your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list -/// of valid dimensions, see the -/// GetDimensionValues -/// operation. Management account in an organization in AWS Organizations have access to all member accounts.

          +///

          Retrieves cost and usage metrics for your account. You can specify which cost and +/// usage-related metric that you want the request to return. For example, you can specify +/// BlendedCosts or UsageQuantity. You can also filter and group your +/// data by various dimensions, such as SERVICE or AZ, in a specific +/// time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts.

          ///

          For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetCostAndUsage { @@ -322,10 +321,9 @@ impl smithy_http::response::ParseStrictResponse for GetCostAndUsage { /// usage-related metric, such as BlendedCosts or UsageQuantity, that /// you want the request to return. You can also filter and group your data by various dimensions, /// such as SERVICE or AZ, in a specific time range. For a complete list -/// of valid dimensions, see the GetDimensionValues operation. Management account in an organization in AWS -/// Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

          +/// of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

          /// -///

          This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

          +///

          This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the Billing and Cost Management User Guide.

          ///
          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetCostAndUsageWithResources { @@ -512,12 +510,12 @@ impl smithy_http::response::ParseStrictResponse for GetReservationCoverage { ///

          Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. /// Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

          -///

          AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage -/// into categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations +///

          Amazon Web Services generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage +/// into categories that are eligible for a reservation. After Amazon Web Services has these categories, it simulates every combination of reservations /// in each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

          -///

          For example, AWS automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region -/// and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance -/// in an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units +///

          For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region +/// and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. Amazon Web Services recommends the smallest size instance +/// in an instance family. This makes it easier to purchase a size-flexible RI. Amazon Web Services also shows the equal number of normalized units /// so that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large /// because that is the smallest size instance in the c4 instance family.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -585,7 +583,7 @@ impl smithy_http::response::ParseStrictResponse for GetReservationUtilization { /// Optimizing /// Your Cost with Rightsizing /// Recommendations -/// in the AWS Billing and Cost Management User +/// in the Billing and Cost Management User /// Guide.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRightsizingRecommendation { @@ -868,7 +866,7 @@ impl smithy_http::response::ParseStrictResponse for ProvideAnomalyFeedback { } ///

          Updates an existing cost anomaly monitor. The changes made are applied going forward, and -/// does not change anomalies detected in the past.

          +/// doesn'tt change anomalies detected in the past.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAnomalyMonitor { _private: (), @@ -896,7 +894,7 @@ impl smithy_http::response::ParseStrictResponse for UpdateAnomalyMonitor { } } -///

          Updates an existing cost anomaly monitor subscription.

          +///

          Updates an existing cost anomaly monitor subscription.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAnomalySubscription { _private: (), diff --git a/sdk/costexplorer/src/output.rs b/sdk/costexplorer/src/output.rs index 794a8261e82d..f07ec6d88459 100644 --- a/sdk/costexplorer/src/output.rs +++ b/sdk/costexplorer/src/output.rs @@ -76,9 +76,7 @@ impl UpdateCostCategoryDefinitionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAnomalySubscriptionOutput { - ///

          - /// A cost anomaly subscription ARN. - ///

          + ///

          A cost anomaly subscription ARN.

          pub subscription_arn: std::option::Option, } impl std::fmt::Debug for UpdateAnomalySubscriptionOutput { @@ -97,9 +95,7 @@ pub mod update_anomaly_subscription_output { pub(crate) subscription_arn: std::option::Option, } impl Builder { - ///

          - /// A cost anomaly subscription ARN. - ///

          + ///

          A cost anomaly subscription ARN.

          pub fn subscription_arn(mut self, input: impl Into) -> Self { self.subscription_arn = Some(input.into()); self @@ -129,9 +125,7 @@ impl UpdateAnomalySubscriptionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateAnomalyMonitorOutput { - ///

          - /// A cost anomaly monitor ARN. - ///

          + ///

          A cost anomaly monitor ARN.

          pub monitor_arn: std::option::Option, } impl std::fmt::Debug for UpdateAnomalyMonitorOutput { @@ -150,9 +144,7 @@ pub mod update_anomaly_monitor_output { pub(crate) monitor_arn: std::option::Option, } impl Builder { - ///

          - /// A cost anomaly monitor ARN. - ///

          + ///

          A cost anomaly monitor ARN.

          pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self @@ -179,9 +171,7 @@ impl UpdateAnomalyMonitorOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ProvideAnomalyFeedbackOutput { - ///

          - /// The ID of the modified cost anomaly. - ///

          + ///

          The ID of the modified cost anomaly.

          pub anomaly_id: std::option::Option, } impl std::fmt::Debug for ProvideAnomalyFeedbackOutput { @@ -200,9 +190,7 @@ pub mod provide_anomaly_feedback_output { pub(crate) anomaly_id: std::option::Option, } impl Builder { - ///

          - /// The ID of the modified cost anomaly. - ///

          + ///

          The ID of the modified cost anomaly.

          pub fn anomaly_id(mut self, input: impl Into) -> Self { self.anomaly_id = Some(input.into()); self @@ -373,11 +361,11 @@ impl GetUsageForecastOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetTagsOutput { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, ///

          The tags that match your request.

          pub tags: std::option::Option>, - ///

          The number of query results that AWS returns at a time.

          + ///

          The number of query results that Amazon Web Services returns at a time.

          pub return_size: std::option::Option, ///

          The total number of query results.

          pub total_size: std::option::Option, @@ -404,7 +392,7 @@ pub mod get_tags_output { pub(crate) total_size: std::option::Option, } impl Builder { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -429,7 +417,7 @@ pub mod get_tags_output { self.tags = input; self } - ///

          The number of query results that AWS returns at a time.

          + ///

          The number of query results that Amazon Web Services returns at a time.

          pub fn return_size(mut self, input: i32) -> Self { self.return_size = Some(input); self @@ -473,8 +461,7 @@ pub struct GetSavingsPlansUtilizationDetailsOutput { std::option::Option>, ///

          The total Savings Plans utilization, regardless of time period.

          pub total: std::option::Option, - ///

          The time period of the request. - ///

          + ///

          The time period of the request.

          pub time_period: std::option::Option, ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_token: std::option::Option, @@ -533,8 +520,7 @@ pub mod get_savings_plans_utilization_details_output { self.total = input; self } - ///

          The time period of the request. - ///

          + ///

          The time period of the request.

          pub fn time_period(mut self, input: crate::model::DateInterval) -> Self { self.time_period = Some(input); self @@ -656,7 +642,7 @@ pub struct GetSavingsPlansPurchaseRecommendationOutput { ///

          Contains your request parameters, Savings Plan Recommendations Summary, and Details.

          pub savings_plans_purchase_recommendation: std::option::Option, - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetSavingsPlansPurchaseRecommendationOutput { @@ -714,7 +700,7 @@ pub mod get_savings_plans_purchase_recommendation_output { self.savings_plans_purchase_recommendation = input; self } - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -957,7 +943,7 @@ pub struct GetReservationUtilizationOutput { pub utilizations_by_time: std::option::Option>, ///

          The total amount of time that you used your RIs.

          pub total: std::option::Option, - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetReservationUtilizationOutput { @@ -1009,7 +995,7 @@ pub mod get_reservation_utilization_output { self.total = input; self } - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1140,7 +1126,7 @@ pub struct GetReservationCoverageOutput { pub coverages_by_time: std::option::Option>, ///

          The total amount of instance usage that a reservation covered.

          pub total: std::option::Option, - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetReservationCoverageOutput { @@ -1186,7 +1172,7 @@ pub mod get_reservation_coverage_output { self.total = input; self } - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1232,11 +1218,11 @@ pub struct GetDimensionValuesOutput { ///

          INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

          /// ///
        • - ///

          LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

          + ///

          LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services services, such as Amazon Web Services.

          ///
        • ///
        • ///

          LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

          + /// field contains the Amazon Web Services ID of the member account.

          ///
        • ///
        • ///

          OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

          @@ -1252,7 +1238,7 @@ pub struct GetDimensionValuesOutput { /// Instances and Standard Reserved Instances.

          ///
        • ///
        • - ///

          SERVICE - The AWS service such as Amazon DynamoDB.

          + ///

          SERVICE - The Amazon Web Services service such as Amazon DynamoDB.

          ///
        • ///
        • ///

          USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation @@ -1286,13 +1272,13 @@ pub struct GetDimensionValuesOutput { ///

        • ///
        • ///

          LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

          + /// field contains the Amazon Web Services ID of the member account.

          ///
        • ///
        • ///

          PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

          ///
        • ///
        • - ///

          REGION - The AWS Region.

          + ///

          REGION - The Amazon Web Services Region.

          ///
        • ///
        • ///

          SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

          @@ -1313,14 +1299,14 @@ pub struct GetDimensionValuesOutput { ///

          PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

          ///
        • ///
        • - ///

          REGION - The AWS Region.

          + ///

          REGION - The Amazon Web Services Region.

          ///
        • ///
        • ///

          INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

          ///
        • ///
        • ///

          LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value - /// field contains the AWS ID of the member account.

          + /// field contains the Amazon Web Services ID of the member account.

          ///
        • ///
        • ///

          SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

          @@ -1328,11 +1314,11 @@ pub struct GetDimensionValuesOutput { /// pub dimension_values: std::option::Option>, - ///

          The number of results that AWS returned at one time.

          + ///

          The number of results that Amazon Web Services returned at one time.

          pub return_size: std::option::Option, ///

          The total number of search results.

          pub total_size: std::option::Option, - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetDimensionValuesOutput { @@ -1374,7 +1360,7 @@ pub mod get_dimension_values_output { self.dimension_values = input; self } - ///

          The number of results that AWS returned at one time.

          + ///

          The number of results that Amazon Web Services returned at one time.

          pub fn return_size(mut self, input: i32) -> Self { self.return_size = Some(input); self @@ -1392,7 +1378,7 @@ pub mod get_dimension_values_output { self.total_size = input; self } - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1494,7 +1480,7 @@ impl GetCostForecastOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCostCategoriesOutput { - ///

          If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

          + ///

          If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

          pub next_page_token: std::option::Option, ///

          The names of the Cost Categories.

          pub cost_category_names: std::option::Option>, @@ -1531,7 +1517,7 @@ pub mod get_cost_categories_output { pub(crate) total_size: std::option::Option, } impl Builder { - ///

          If the number of objects that are still available for retrieval exceeds the limit, AWS returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

          + ///

          If the number of objects that are still available for retrieval exceeds the limit, Amazon Web Services returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1609,7 +1595,7 @@ impl GetCostCategoriesOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCostAndUsageWithResourcesOutput { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, ///

          The groups that are specified by the Filter or GroupBy /// parameters in the request.

          @@ -1647,7 +1633,7 @@ pub mod get_cost_and_usage_with_resources_output { std::option::Option>, } impl Builder { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1725,11 +1711,11 @@ impl GetCostAndUsageWithResourcesOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetCostAndUsageOutput { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, ///

          The groups that are specified by the Filter or GroupBy parameters in the request.

          pub group_definitions: std::option::Option>, - ///

          The time period that is covered by the results in the response.

          + ///

          The time period that's covered by the results in the response.

          pub results_by_time: std::option::Option>, ///

          The attributes that apply to a specific dimension value. For example, if the value is a linked account, the attribute is that account name.

          pub dimension_value_attributes: @@ -1762,7 +1748,7 @@ pub mod get_cost_and_usage_output { std::option::Option>, } impl Builder { - ///

          The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

          + ///

          The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1840,14 +1826,11 @@ impl GetCostAndUsageOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAnomalySubscriptionsOutput { - ///

          - /// A list of cost anomaly subscriptions that includes the detailed metadata for each one. - ///

          + ///

          A list of cost anomaly subscriptions that includes the detailed metadata for each one.

          pub anomaly_subscriptions: std::option::Option>, - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetAnomalySubscriptionsOutput { @@ -1885,9 +1868,8 @@ pub mod get_anomaly_subscriptions_output { self.anomaly_subscriptions = input; self } - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1918,13 +1900,10 @@ impl GetAnomalySubscriptionsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAnomalyMonitorsOutput { - ///

          - /// A list of cost anomaly monitors that includes the detailed metadata for each monitor. - ///

          + ///

          A list of cost anomaly monitors that includes the detailed metadata for each monitor.

          pub anomaly_monitors: std::option::Option>, - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetAnomalyMonitorsOutput { @@ -1959,9 +1938,8 @@ pub mod get_anomaly_monitors_output { self.anomaly_monitors = input; self } - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -1992,13 +1970,10 @@ impl GetAnomalyMonitorsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetAnomaliesOutput { - ///

          - /// A list of cost anomalies. - ///

          + ///

          A list of cost anomalies.

          pub anomalies: std::option::Option>, - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub next_page_token: std::option::Option, } impl std::fmt::Debug for GetAnomaliesOutput { @@ -2032,9 +2007,8 @@ pub mod get_anomalies_output { self.anomalies = input; self } - ///

          - /// The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size. - ///

          + ///

          The token to retrieve the next set of results. Amazon Web Services provides the token when + /// the response from a previous call has more results than the maximum page size.

          pub fn next_page_token(mut self, input: impl Into) -> Self { self.next_page_token = Some(input.into()); self @@ -2065,7 +2039,8 @@ impl GetAnomaliesOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeCostCategoryDefinitionOutput { - ///

          The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

          + ///

          The structure of Cost Categories. This includes detailed metadata and the set of rules + /// for the CostCategory object.

          pub cost_category: std::option::Option, } impl std::fmt::Debug for DescribeCostCategoryDefinitionOutput { @@ -2084,7 +2059,8 @@ pub mod describe_cost_category_definition_output { pub(crate) cost_category: std::option::Option, } impl Builder { - ///

          The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

          + ///

          The structure of Cost Categories. This includes detailed metadata and the set of rules + /// for the CostCategory object.

          pub fn cost_category(mut self, input: crate::model::CostCategory) -> Self { self.cost_category = Some(input); self @@ -2320,9 +2296,7 @@ impl CreateCostCategoryDefinitionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAnomalySubscriptionOutput { - ///

          - /// The unique identifier of your newly created cost anomaly subscription. - ///

          + ///

          The unique identifier of your newly created cost anomaly subscription.

          pub subscription_arn: std::option::Option, } impl std::fmt::Debug for CreateAnomalySubscriptionOutput { @@ -2341,9 +2315,7 @@ pub mod create_anomaly_subscription_output { pub(crate) subscription_arn: std::option::Option, } impl Builder { - ///

          - /// The unique identifier of your newly created cost anomaly subscription. - ///

          + ///

          The unique identifier of your newly created cost anomaly subscription.

          pub fn subscription_arn(mut self, input: impl Into) -> Self { self.subscription_arn = Some(input.into()); self @@ -2373,7 +2345,7 @@ impl CreateAnomalySubscriptionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAnomalyMonitorOutput { - ///

          The unique identifier of your newly created cost anomaly detection monitor.

          + ///

          The unique identifier of your newly created cost anomaly detection monitor.

          pub monitor_arn: std::option::Option, } impl std::fmt::Debug for CreateAnomalyMonitorOutput { @@ -2392,7 +2364,7 @@ pub mod create_anomaly_monitor_output { pub(crate) monitor_arn: std::option::Option, } impl Builder { - ///

          The unique identifier of your newly created cost anomaly detection monitor.

          + ///

          The unique identifier of your newly created cost anomaly detection monitor.

          pub fn monitor_arn(mut self, input: impl Into) -> Self { self.monitor_arn = Some(input.into()); self diff --git a/sdk/customerprofiles/Cargo.toml b/sdk/customerprofiles/Cargo.toml index 9b37205ca315..0de0a5196a5d 100644 --- a/sdk/customerprofiles/Cargo.toml +++ b/sdk/customerprofiles/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-customerprofiles" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Connect Customer Profiles\n

          Welcome to the Amazon Connect Customer Profiles API Reference. This guide provides information\n about the Amazon Connect Customer Profiles API, including supported operations, data types,\n parameters, and schemas.

          \n

          Amazon Connect Customer Profiles is a unified customer profile for your contact center that has\n pre-built connectors powered by AppFlow that make it easy to combine customer information\n from third party applications, such as Salesforce (CRM), ServiceNow (ITSM), and your\n enterprise resource planning (ERP), with contact history from your Amazon Connect contact\n center.

          \n

          If you're new to Amazon Connect , you might find it helpful to also review the Amazon Connect Administrator Guide.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/customerprofiles/src/client.rs b/sdk/customerprofiles/src/client.rs index e024910b062f..359ffa4f5f1f 100644 --- a/sdk/customerprofiles/src/client.rs +++ b/sdk/customerprofiles/src/client.rs @@ -284,7 +284,10 @@ pub mod fluent_builders { self.inner = self.inner.set_dead_letter_queue_url(input); self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingRequest) -> Self { self.inner = self.inner.matching(input); self @@ -1427,6 +1430,19 @@ pub mod fluent_builders { self.inner = self.inner.set_profile_id(input); self } + ///

          Applies a filter to the response to include profile objects with the specified index values. + /// This filter is only supported for ObjectTypeName _asset and _case.

          + pub fn object_filter(mut self, input: crate::model::ObjectFilter) -> Self { + self.inner = self.inner.object_filter(input); + self + } + pub fn set_object_filter( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_object_filter(input); + self + } } #[derive(std::fmt::Debug)] pub struct ListProfileObjectTypes { @@ -1642,9 +1658,9 @@ pub mod fluent_builders { self.inner = self.inner.set_profile_ids_to_be_merged(input); self } - ///

          The identifiers of the fields in the profile that has the information you want to apply to the - /// merge. For example, say you want to merge EmailAddress from Profile1 into MainProfile. This would be the - /// identifier of the EmailAddress field in Profile1.

          + ///

          The identifiers of the fields in the profile that has the information you want to apply + /// to the merge. For example, say you want to merge EmailAddress from Profile1 into + /// MainProfile. This would be the identifier of the EmailAddress field in Profile1.

          pub fn field_source_profile_ids( mut self, input: crate::model::FieldSourceProfileIds, @@ -2252,7 +2268,10 @@ pub mod fluent_builders { self.inner = self.inner.set_dead_letter_queue_url(input); self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingRequest) -> Self { self.inner = self.inner.matching(input); self diff --git a/sdk/customerprofiles/src/input.rs b/sdk/customerprofiles/src/input.rs index 7fda260f91f8..ea17d85a2e62 100644 --- a/sdk/customerprofiles/src/input.rs +++ b/sdk/customerprofiles/src/input.rs @@ -247,7 +247,10 @@ pub mod create_domain_input { self.dead_letter_queue_url = input; self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingRequest) -> Self { self.matching = Some(input); self @@ -3174,6 +3177,7 @@ pub mod list_profile_objects_input { pub(crate) domain_name: std::option::Option, pub(crate) object_type_name: std::option::Option, pub(crate) profile_id: std::option::Option, + pub(crate) object_filter: std::option::Option, } impl Builder { ///

          The pagination token from the previous call to ListProfileObjects.

          @@ -3224,6 +3228,19 @@ pub mod list_profile_objects_input { self.profile_id = input; self } + ///

          Applies a filter to the response to include profile objects with the specified index values. + /// This filter is only supported for ObjectTypeName _asset and _case.

          + pub fn object_filter(mut self, input: crate::model::ObjectFilter) -> Self { + self.object_filter = Some(input); + self + } + pub fn set_object_filter( + mut self, + input: std::option::Option, + ) -> Self { + self.object_filter = input; + self + } /// Consumes the builder and constructs a [`ListProfileObjectsInput`](crate::input::ListProfileObjectsInput) pub fn build( self, @@ -3237,6 +3254,7 @@ pub mod list_profile_objects_input { domain_name: self.domain_name, object_type_name: self.object_type_name, profile_id: self.profile_id, + object_filter: self.object_filter, }) } } @@ -3902,9 +3920,9 @@ pub mod merge_profiles_input { self.profile_ids_to_be_merged = input; self } - ///

          The identifiers of the fields in the profile that has the information you want to apply to the - /// merge. For example, say you want to merge EmailAddress from Profile1 into MainProfile. This would be the - /// identifier of the EmailAddress field in Profile1.

          + ///

          The identifiers of the fields in the profile that has the information you want to apply + /// to the merge. For example, say you want to merge EmailAddress from Profile1 into + /// MainProfile. This would be the identifier of the EmailAddress field in Profile1.

          pub fn field_source_profile_ids( mut self, input: crate::model::FieldSourceProfileIds, @@ -5373,7 +5391,10 @@ pub mod update_domain_input { self.dead_letter_queue_url = input; self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingRequest) -> Self { self.matching = Some(input); self @@ -6086,7 +6107,10 @@ pub struct UpdateDomainInput { /// SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the /// DeadLetterQueue.

          pub dead_letter_queue_url: std::option::Option, - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub matching: std::option::Option, ///

          The tags used to organize, track, or control access for this resource.

          pub tags: @@ -6276,9 +6300,9 @@ pub struct MergeProfilesInput { pub main_profile_id: std::option::Option, ///

          The identifier of the profile to be merged into MainProfileId.

          pub profile_ids_to_be_merged: std::option::Option>, - ///

          The identifiers of the fields in the profile that has the information you want to apply to the - /// merge. For example, say you want to merge EmailAddress from Profile1 into MainProfile. This would be the - /// identifier of the EmailAddress field in Profile1.

          + ///

          The identifiers of the fields in the profile that has the information you want to apply + /// to the merge. For example, say you want to merge EmailAddress from Profile1 into + /// MainProfile. This would be the identifier of the EmailAddress field in Profile1.

          pub field_source_profile_ids: std::option::Option, } impl std::fmt::Debug for MergeProfilesInput { @@ -6356,6 +6380,9 @@ pub struct ListProfileObjectsInput { pub object_type_name: std::option::Option, ///

          The unique identifier of a customer profile.

          pub profile_id: std::option::Option, + ///

          Applies a filter to the response to include profile objects with the specified index values. + /// This filter is only supported for ObjectTypeName _asset and _case.

          + pub object_filter: std::option::Option, } impl std::fmt::Debug for ListProfileObjectsInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -6365,6 +6392,7 @@ impl std::fmt::Debug for ListProfileObjectsInput { formatter.field("domain_name", &self.domain_name); formatter.field("object_type_name", &self.object_type_name); formatter.field("profile_id", &self.profile_id); + formatter.field("object_filter", &self.object_filter); formatter.finish() } } @@ -6717,7 +6745,10 @@ pub struct CreateDomainInput { /// DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send /// messages to the DeadLetterQueue.

          pub dead_letter_queue_url: std::option::Option, - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub matching: std::option::Option, ///

          The tags used to organize, track, or control access for this resource.

          pub tags: diff --git a/sdk/customerprofiles/src/json_ser.rs b/sdk/customerprofiles/src/json_ser.rs index 68e88778cc42..2417d0f9a4b8 100644 --- a/sdk/customerprofiles/src/json_ser.rs +++ b/sdk/customerprofiles/src/json_ser.rs @@ -211,11 +211,16 @@ pub fn serialize_structure_list_profile_objects_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListProfileObjectsInput, ) { - if let Some(var_55) = &input.object_type_name { - object.key("ObjectTypeName").string(var_55); + if let Some(var_55) = &input.object_filter { + let mut object_56 = object.key("ObjectFilter").start_object(); + crate::json_ser::serialize_structure_object_filter(&mut object_56, var_55); + object_56.finish(); } - if let Some(var_56) = &input.profile_id { - object.key("ProfileId").string(var_56); + if let Some(var_57) = &input.object_type_name { + object.key("ObjectTypeName").string(var_57); + } + if let Some(var_58) = &input.profile_id { + object.key("ProfileId").string(var_58); } } @@ -223,22 +228,22 @@ pub fn serialize_structure_merge_profiles_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::MergeProfilesInput, ) { - if let Some(var_57) = &input.field_source_profile_ids { - let mut object_58 = object.key("FieldSourceProfileIds").start_object(); - crate::json_ser::serialize_structure_field_source_profile_ids(&mut object_58, var_57); - object_58.finish(); + if let Some(var_59) = &input.field_source_profile_ids { + let mut object_60 = object.key("FieldSourceProfileIds").start_object(); + crate::json_ser::serialize_structure_field_source_profile_ids(&mut object_60, var_59); + object_60.finish(); } - if let Some(var_59) = &input.main_profile_id { - object.key("MainProfileId").string(var_59); + if let Some(var_61) = &input.main_profile_id { + object.key("MainProfileId").string(var_61); } - if let Some(var_60) = &input.profile_ids_to_be_merged { - let mut array_61 = object.key("ProfileIdsToBeMerged").start_array(); - for item_62 in var_60 { + if let Some(var_62) = &input.profile_ids_to_be_merged { + let mut array_63 = object.key("ProfileIdsToBeMerged").start_array(); + for item_64 in var_62 { { - array_61.value().string(item_62); + array_63.value().string(item_64); } } - array_61.finish(); + array_63.finish(); } } @@ -246,25 +251,25 @@ pub fn serialize_structure_put_integration_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutIntegrationInput, ) { - if let Some(var_63) = &input.flow_definition { - let mut object_64 = object.key("FlowDefinition").start_object(); - crate::json_ser::serialize_structure_flow_definition(&mut object_64, var_63); - object_64.finish(); + if let Some(var_65) = &input.flow_definition { + let mut object_66 = object.key("FlowDefinition").start_object(); + crate::json_ser::serialize_structure_flow_definition(&mut object_66, var_65); + object_66.finish(); } - if let Some(var_65) = &input.object_type_name { - object.key("ObjectTypeName").string(var_65); + if let Some(var_67) = &input.object_type_name { + object.key("ObjectTypeName").string(var_67); } - if let Some(var_66) = &input.tags { - let mut object_67 = object.key("Tags").start_object(); - for (key_68, value_69) in var_66 { + if let Some(var_68) = &input.tags { + let mut object_69 = object.key("Tags").start_object(); + for (key_70, value_71) in var_68 { { - object_67.key(key_68).string(value_69); + object_69.key(key_70).string(value_71); } } - object_67.finish(); + object_69.finish(); } - if let Some(var_70) = &input.uri { - object.key("Uri").string(var_70); + if let Some(var_72) = &input.uri { + object.key("Uri").string(var_72); } } @@ -272,11 +277,11 @@ pub fn serialize_structure_put_profile_object_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutProfileObjectInput, ) { - if let Some(var_71) = &input.object { - object.key("Object").string(var_71); + if let Some(var_73) = &input.object { + object.key("Object").string(var_73); } - if let Some(var_72) = &input.object_type_name { - object.key("ObjectTypeName").string(var_72); + if let Some(var_74) = &input.object_type_name { + object.key("ObjectTypeName").string(var_74); } } @@ -289,60 +294,60 @@ pub fn serialize_structure_put_profile_object_type_input( .key("AllowProfileCreation") .boolean(input.allow_profile_creation); } - if let Some(var_73) = &input.description { - object.key("Description").string(var_73); + if let Some(var_75) = &input.description { + object.key("Description").string(var_75); } - if let Some(var_74) = &input.encryption_key { - object.key("EncryptionKey").string(var_74); + if let Some(var_76) = &input.encryption_key { + object.key("EncryptionKey").string(var_76); } - if let Some(var_75) = &input.expiration_days { + if let Some(var_77) = &input.expiration_days { object.key("ExpirationDays").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_75).into()), + smithy_types::Number::NegInt((*var_77).into()), ); } - if let Some(var_76) = &input.fields { - let mut object_77 = object.key("Fields").start_object(); - for (key_78, value_79) in var_76 { + if let Some(var_78) = &input.fields { + let mut object_79 = object.key("Fields").start_object(); + for (key_80, value_81) in var_78 { { - let mut object_80 = object_77.key(key_78).start_object(); - crate::json_ser::serialize_structure_object_type_field(&mut object_80, value_79); - object_80.finish(); + let mut object_82 = object_79.key(key_80).start_object(); + crate::json_ser::serialize_structure_object_type_field(&mut object_82, value_81); + object_82.finish(); } } - object_77.finish(); + object_79.finish(); } - if let Some(var_81) = &input.keys { - let mut object_82 = object.key("Keys").start_object(); - for (key_83, value_84) in var_81 { + if let Some(var_83) = &input.keys { + let mut object_84 = object.key("Keys").start_object(); + for (key_85, value_86) in var_83 { { - let mut array_85 = object_82.key(key_83).start_array(); - for item_86 in value_84 { + let mut array_87 = object_84.key(key_85).start_array(); + for item_88 in value_86 { { - let mut object_87 = array_85.value().start_object(); + let mut object_89 = array_87.value().start_object(); crate::json_ser::serialize_structure_object_type_key( - &mut object_87, - item_86, + &mut object_89, + item_88, ); - object_87.finish(); + object_89.finish(); } } - array_85.finish(); + array_87.finish(); } } - object_82.finish(); + object_84.finish(); } - if let Some(var_88) = &input.tags { - let mut object_89 = object.key("Tags").start_object(); - for (key_90, value_91) in var_88 { + if let Some(var_90) = &input.tags { + let mut object_91 = object.key("Tags").start_object(); + for (key_92, value_93) in var_90 { { - object_89.key(key_90).string(value_91); + object_91.key(key_92).string(value_93); } } - object_89.finish(); + object_91.finish(); } - if let Some(var_92) = &input.template_id { - object.key("TemplateId").string(var_92); + if let Some(var_94) = &input.template_id { + object.key("TemplateId").string(var_94); } } @@ -350,17 +355,17 @@ pub fn serialize_structure_search_profiles_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::SearchProfilesInput, ) { - if let Some(var_93) = &input.key_name { - object.key("KeyName").string(var_93); + if let Some(var_95) = &input.key_name { + object.key("KeyName").string(var_95); } - if let Some(var_94) = &input.values { - let mut array_95 = object.key("Values").start_array(); - for item_96 in var_94 { + if let Some(var_96) = &input.values { + let mut array_97 = object.key("Values").start_array(); + for item_98 in var_96 { { - array_95.value().string(item_96); + array_97.value().string(item_98); } } - array_95.finish(); + array_97.finish(); } } @@ -368,14 +373,14 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_97) = &input.tags { - let mut object_98 = object.key("tags").start_object(); - for (key_99, value_100) in var_97 { + if let Some(var_99) = &input.tags { + let mut object_100 = object.key("tags").start_object(); + for (key_101, value_102) in var_99 { { - object_98.key(key_99).string(value_100); + object_100.key(key_101).string(value_102); } } - object_98.finish(); + object_100.finish(); } } @@ -383,31 +388,31 @@ pub fn serialize_structure_update_domain_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDomainInput, ) { - if let Some(var_101) = &input.dead_letter_queue_url { - object.key("DeadLetterQueueUrl").string(var_101); + if let Some(var_103) = &input.dead_letter_queue_url { + object.key("DeadLetterQueueUrl").string(var_103); } - if let Some(var_102) = &input.default_encryption_key { - object.key("DefaultEncryptionKey").string(var_102); + if let Some(var_104) = &input.default_encryption_key { + object.key("DefaultEncryptionKey").string(var_104); } - if let Some(var_103) = &input.default_expiration_days { + if let Some(var_105) = &input.default_expiration_days { object.key("DefaultExpirationDays").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_103).into()), + smithy_types::Number::NegInt((*var_105).into()), ); } - if let Some(var_104) = &input.matching { - let mut object_105 = object.key("Matching").start_object(); - crate::json_ser::serialize_structure_matching_request(&mut object_105, var_104); - object_105.finish(); + if let Some(var_106) = &input.matching { + let mut object_107 = object.key("Matching").start_object(); + crate::json_ser::serialize_structure_matching_request(&mut object_107, var_106); + object_107.finish(); } - if let Some(var_106) = &input.tags { - let mut object_107 = object.key("Tags").start_object(); - for (key_108, value_109) in var_106 { + if let Some(var_108) = &input.tags { + let mut object_109 = object.key("Tags").start_object(); + for (key_110, value_111) in var_108 { { - object_107.key(key_108).string(value_109); + object_109.key(key_110).string(value_111); } } - object_107.finish(); + object_109.finish(); } } @@ -415,85 +420,85 @@ pub fn serialize_structure_update_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateProfileInput, ) { - if let Some(var_110) = &input.account_number { - object.key("AccountNumber").string(var_110); + if let Some(var_112) = &input.account_number { + object.key("AccountNumber").string(var_112); } - if let Some(var_111) = &input.additional_information { - object.key("AdditionalInformation").string(var_111); + if let Some(var_113) = &input.additional_information { + object.key("AdditionalInformation").string(var_113); } - if let Some(var_112) = &input.address { - let mut object_113 = object.key("Address").start_object(); - crate::json_ser::serialize_structure_update_address(&mut object_113, var_112); - object_113.finish(); + if let Some(var_114) = &input.address { + let mut object_115 = object.key("Address").start_object(); + crate::json_ser::serialize_structure_update_address(&mut object_115, var_114); + object_115.finish(); } - if let Some(var_114) = &input.attributes { - let mut object_115 = object.key("Attributes").start_object(); - for (key_116, value_117) in var_114 { + if let Some(var_116) = &input.attributes { + let mut object_117 = object.key("Attributes").start_object(); + for (key_118, value_119) in var_116 { { - object_115.key(key_116).string(value_117); + object_117.key(key_118).string(value_119); } } - object_115.finish(); + object_117.finish(); } - if let Some(var_118) = &input.billing_address { - let mut object_119 = object.key("BillingAddress").start_object(); - crate::json_ser::serialize_structure_update_address(&mut object_119, var_118); - object_119.finish(); + if let Some(var_120) = &input.billing_address { + let mut object_121 = object.key("BillingAddress").start_object(); + crate::json_ser::serialize_structure_update_address(&mut object_121, var_120); + object_121.finish(); } - if let Some(var_120) = &input.birth_date { - object.key("BirthDate").string(var_120); + if let Some(var_122) = &input.birth_date { + object.key("BirthDate").string(var_122); } - if let Some(var_121) = &input.business_email_address { - object.key("BusinessEmailAddress").string(var_121); + if let Some(var_123) = &input.business_email_address { + object.key("BusinessEmailAddress").string(var_123); } - if let Some(var_122) = &input.business_name { - object.key("BusinessName").string(var_122); + if let Some(var_124) = &input.business_name { + object.key("BusinessName").string(var_124); } - if let Some(var_123) = &input.business_phone_number { - object.key("BusinessPhoneNumber").string(var_123); + if let Some(var_125) = &input.business_phone_number { + object.key("BusinessPhoneNumber").string(var_125); } - if let Some(var_124) = &input.email_address { - object.key("EmailAddress").string(var_124); + if let Some(var_126) = &input.email_address { + object.key("EmailAddress").string(var_126); } - if let Some(var_125) = &input.first_name { - object.key("FirstName").string(var_125); + if let Some(var_127) = &input.first_name { + object.key("FirstName").string(var_127); } - if let Some(var_126) = &input.gender { - object.key("Gender").string(var_126.as_str()); + if let Some(var_128) = &input.gender { + object.key("Gender").string(var_128.as_str()); } - if let Some(var_127) = &input.home_phone_number { - object.key("HomePhoneNumber").string(var_127); + if let Some(var_129) = &input.home_phone_number { + object.key("HomePhoneNumber").string(var_129); } - if let Some(var_128) = &input.last_name { - object.key("LastName").string(var_128); + if let Some(var_130) = &input.last_name { + object.key("LastName").string(var_130); } - if let Some(var_129) = &input.mailing_address { - let mut object_130 = object.key("MailingAddress").start_object(); - crate::json_ser::serialize_structure_update_address(&mut object_130, var_129); - object_130.finish(); + if let Some(var_131) = &input.mailing_address { + let mut object_132 = object.key("MailingAddress").start_object(); + crate::json_ser::serialize_structure_update_address(&mut object_132, var_131); + object_132.finish(); } - if let Some(var_131) = &input.middle_name { - object.key("MiddleName").string(var_131); + if let Some(var_133) = &input.middle_name { + object.key("MiddleName").string(var_133); } - if let Some(var_132) = &input.mobile_phone_number { - object.key("MobilePhoneNumber").string(var_132); + if let Some(var_134) = &input.mobile_phone_number { + object.key("MobilePhoneNumber").string(var_134); } - if let Some(var_133) = &input.party_type { - object.key("PartyType").string(var_133.as_str()); + if let Some(var_135) = &input.party_type { + object.key("PartyType").string(var_135.as_str()); } - if let Some(var_134) = &input.personal_email_address { - object.key("PersonalEmailAddress").string(var_134); + if let Some(var_136) = &input.personal_email_address { + object.key("PersonalEmailAddress").string(var_136); } - if let Some(var_135) = &input.phone_number { - object.key("PhoneNumber").string(var_135); + if let Some(var_137) = &input.phone_number { + object.key("PhoneNumber").string(var_137); } - if let Some(var_136) = &input.profile_id { - object.key("ProfileId").string(var_136); + if let Some(var_138) = &input.profile_id { + object.key("ProfileId").string(var_138); } - if let Some(var_137) = &input.shipping_address { - let mut object_138 = object.key("ShippingAddress").start_object(); - crate::json_ser::serialize_structure_update_address(&mut object_138, var_137); - object_138.finish(); + if let Some(var_139) = &input.shipping_address { + let mut object_140 = object.key("ShippingAddress").start_object(); + crate::json_ser::serialize_structure_update_address(&mut object_140, var_139); + object_140.finish(); } } @@ -501,8 +506,8 @@ pub fn serialize_structure_matching_request( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MatchingRequest, ) { - if let Some(var_139) = &input.enabled { - object.key("Enabled").boolean(*var_139); + if let Some(var_141) = &input.enabled { + object.key("Enabled").boolean(*var_141); } } @@ -510,35 +515,53 @@ pub fn serialize_structure_address( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Address, ) { - if let Some(var_140) = &input.address1 { - object.key("Address1").string(var_140); + if let Some(var_142) = &input.address1 { + object.key("Address1").string(var_142); + } + if let Some(var_143) = &input.address2 { + object.key("Address2").string(var_143); } - if let Some(var_141) = &input.address2 { - object.key("Address2").string(var_141); + if let Some(var_144) = &input.address3 { + object.key("Address3").string(var_144); } - if let Some(var_142) = &input.address3 { - object.key("Address3").string(var_142); + if let Some(var_145) = &input.address4 { + object.key("Address4").string(var_145); } - if let Some(var_143) = &input.address4 { - object.key("Address4").string(var_143); + if let Some(var_146) = &input.city { + object.key("City").string(var_146); } - if let Some(var_144) = &input.city { - object.key("City").string(var_144); + if let Some(var_147) = &input.county { + object.key("County").string(var_147); } - if let Some(var_145) = &input.county { - object.key("County").string(var_145); + if let Some(var_148) = &input.state { + object.key("State").string(var_148); } - if let Some(var_146) = &input.state { - object.key("State").string(var_146); + if let Some(var_149) = &input.province { + object.key("Province").string(var_149); } - if let Some(var_147) = &input.province { - object.key("Province").string(var_147); + if let Some(var_150) = &input.country { + object.key("Country").string(var_150); } - if let Some(var_148) = &input.country { - object.key("Country").string(var_148); + if let Some(var_151) = &input.postal_code { + object.key("PostalCode").string(var_151); } - if let Some(var_149) = &input.postal_code { - object.key("PostalCode").string(var_149); +} + +pub fn serialize_structure_object_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ObjectFilter, +) { + if let Some(var_152) = &input.key_name { + object.key("KeyName").string(var_152); + } + if let Some(var_153) = &input.values { + let mut array_154 = object.key("Values").start_array(); + for item_155 in var_153 { + { + array_154.value().string(item_155); + } + } + array_154.finish(); } } @@ -546,74 +569,74 @@ pub fn serialize_structure_field_source_profile_ids( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FieldSourceProfileIds, ) { - if let Some(var_150) = &input.account_number { - object.key("AccountNumber").string(var_150); + if let Some(var_156) = &input.account_number { + object.key("AccountNumber").string(var_156); } - if let Some(var_151) = &input.additional_information { - object.key("AdditionalInformation").string(var_151); + if let Some(var_157) = &input.additional_information { + object.key("AdditionalInformation").string(var_157); } - if let Some(var_152) = &input.party_type { - object.key("PartyType").string(var_152); + if let Some(var_158) = &input.party_type { + object.key("PartyType").string(var_158); } - if let Some(var_153) = &input.business_name { - object.key("BusinessName").string(var_153); + if let Some(var_159) = &input.business_name { + object.key("BusinessName").string(var_159); } - if let Some(var_154) = &input.first_name { - object.key("FirstName").string(var_154); + if let Some(var_160) = &input.first_name { + object.key("FirstName").string(var_160); } - if let Some(var_155) = &input.middle_name { - object.key("MiddleName").string(var_155); + if let Some(var_161) = &input.middle_name { + object.key("MiddleName").string(var_161); } - if let Some(var_156) = &input.last_name { - object.key("LastName").string(var_156); + if let Some(var_162) = &input.last_name { + object.key("LastName").string(var_162); } - if let Some(var_157) = &input.birth_date { - object.key("BirthDate").string(var_157); + if let Some(var_163) = &input.birth_date { + object.key("BirthDate").string(var_163); } - if let Some(var_158) = &input.gender { - object.key("Gender").string(var_158); + if let Some(var_164) = &input.gender { + object.key("Gender").string(var_164); } - if let Some(var_159) = &input.phone_number { - object.key("PhoneNumber").string(var_159); + if let Some(var_165) = &input.phone_number { + object.key("PhoneNumber").string(var_165); } - if let Some(var_160) = &input.mobile_phone_number { - object.key("MobilePhoneNumber").string(var_160); + if let Some(var_166) = &input.mobile_phone_number { + object.key("MobilePhoneNumber").string(var_166); } - if let Some(var_161) = &input.home_phone_number { - object.key("HomePhoneNumber").string(var_161); + if let Some(var_167) = &input.home_phone_number { + object.key("HomePhoneNumber").string(var_167); } - if let Some(var_162) = &input.business_phone_number { - object.key("BusinessPhoneNumber").string(var_162); + if let Some(var_168) = &input.business_phone_number { + object.key("BusinessPhoneNumber").string(var_168); } - if let Some(var_163) = &input.email_address { - object.key("EmailAddress").string(var_163); + if let Some(var_169) = &input.email_address { + object.key("EmailAddress").string(var_169); } - if let Some(var_164) = &input.personal_email_address { - object.key("PersonalEmailAddress").string(var_164); + if let Some(var_170) = &input.personal_email_address { + object.key("PersonalEmailAddress").string(var_170); } - if let Some(var_165) = &input.business_email_address { - object.key("BusinessEmailAddress").string(var_165); + if let Some(var_171) = &input.business_email_address { + object.key("BusinessEmailAddress").string(var_171); } - if let Some(var_166) = &input.address { - object.key("Address").string(var_166); + if let Some(var_172) = &input.address { + object.key("Address").string(var_172); } - if let Some(var_167) = &input.shipping_address { - object.key("ShippingAddress").string(var_167); + if let Some(var_173) = &input.shipping_address { + object.key("ShippingAddress").string(var_173); } - if let Some(var_168) = &input.mailing_address { - object.key("MailingAddress").string(var_168); + if let Some(var_174) = &input.mailing_address { + object.key("MailingAddress").string(var_174); } - if let Some(var_169) = &input.billing_address { - object.key("BillingAddress").string(var_169); + if let Some(var_175) = &input.billing_address { + object.key("BillingAddress").string(var_175); } - if let Some(var_170) = &input.attributes { - let mut object_171 = object.key("Attributes").start_object(); - for (key_172, value_173) in var_170 { + if let Some(var_176) = &input.attributes { + let mut object_177 = object.key("Attributes").start_object(); + for (key_178, value_179) in var_176 { { - object_171.key(key_172).string(value_173); + object_177.key(key_178).string(value_179); } } - object_171.finish(); + object_177.finish(); } } @@ -621,35 +644,35 @@ pub fn serialize_structure_flow_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FlowDefinition, ) { - if let Some(var_174) = &input.description { - object.key("Description").string(var_174); + if let Some(var_180) = &input.description { + object.key("Description").string(var_180); } - if let Some(var_175) = &input.flow_name { - object.key("FlowName").string(var_175); + if let Some(var_181) = &input.flow_name { + object.key("FlowName").string(var_181); } - if let Some(var_176) = &input.kms_arn { - object.key("KmsArn").string(var_176); + if let Some(var_182) = &input.kms_arn { + object.key("KmsArn").string(var_182); } - if let Some(var_177) = &input.source_flow_config { - let mut object_178 = object.key("SourceFlowConfig").start_object(); - crate::json_ser::serialize_structure_source_flow_config(&mut object_178, var_177); - object_178.finish(); + if let Some(var_183) = &input.source_flow_config { + let mut object_184 = object.key("SourceFlowConfig").start_object(); + crate::json_ser::serialize_structure_source_flow_config(&mut object_184, var_183); + object_184.finish(); } - if let Some(var_179) = &input.tasks { - let mut array_180 = object.key("Tasks").start_array(); - for item_181 in var_179 { + if let Some(var_185) = &input.tasks { + let mut array_186 = object.key("Tasks").start_array(); + for item_187 in var_185 { { - let mut object_182 = array_180.value().start_object(); - crate::json_ser::serialize_structure_task(&mut object_182, item_181); - object_182.finish(); + let mut object_188 = array_186.value().start_object(); + crate::json_ser::serialize_structure_task(&mut object_188, item_187); + object_188.finish(); } } - array_180.finish(); + array_186.finish(); } - if let Some(var_183) = &input.trigger_config { - let mut object_184 = object.key("TriggerConfig").start_object(); - crate::json_ser::serialize_structure_trigger_config(&mut object_184, var_183); - object_184.finish(); + if let Some(var_189) = &input.trigger_config { + let mut object_190 = object.key("TriggerConfig").start_object(); + crate::json_ser::serialize_structure_trigger_config(&mut object_190, var_189); + object_190.finish(); } } @@ -657,14 +680,14 @@ pub fn serialize_structure_object_type_field( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ObjectTypeField, ) { - if let Some(var_185) = &input.source { - object.key("Source").string(var_185); + if let Some(var_191) = &input.source { + object.key("Source").string(var_191); } - if let Some(var_186) = &input.target { - object.key("Target").string(var_186); + if let Some(var_192) = &input.target { + object.key("Target").string(var_192); } - if let Some(var_187) = &input.content_type { - object.key("ContentType").string(var_187.as_str()); + if let Some(var_193) = &input.content_type { + object.key("ContentType").string(var_193.as_str()); } } @@ -672,23 +695,23 @@ pub fn serialize_structure_object_type_key( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ObjectTypeKey, ) { - if let Some(var_188) = &input.standard_identifiers { - let mut array_189 = object.key("StandardIdentifiers").start_array(); - for item_190 in var_188 { + if let Some(var_194) = &input.standard_identifiers { + let mut array_195 = object.key("StandardIdentifiers").start_array(); + for item_196 in var_194 { { - array_189.value().string(item_190.as_str()); + array_195.value().string(item_196.as_str()); } } - array_189.finish(); + array_195.finish(); } - if let Some(var_191) = &input.field_names { - let mut array_192 = object.key("FieldNames").start_array(); - for item_193 in var_191 { + if let Some(var_197) = &input.field_names { + let mut array_198 = object.key("FieldNames").start_array(); + for item_199 in var_197 { { - array_192.value().string(item_193); + array_198.value().string(item_199); } } - array_192.finish(); + array_198.finish(); } } @@ -696,35 +719,35 @@ pub fn serialize_structure_update_address( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UpdateAddress, ) { - if let Some(var_194) = &input.address1 { - object.key("Address1").string(var_194); + if let Some(var_200) = &input.address1 { + object.key("Address1").string(var_200); } - if let Some(var_195) = &input.address2 { - object.key("Address2").string(var_195); + if let Some(var_201) = &input.address2 { + object.key("Address2").string(var_201); } - if let Some(var_196) = &input.address3 { - object.key("Address3").string(var_196); + if let Some(var_202) = &input.address3 { + object.key("Address3").string(var_202); } - if let Some(var_197) = &input.address4 { - object.key("Address4").string(var_197); + if let Some(var_203) = &input.address4 { + object.key("Address4").string(var_203); } - if let Some(var_198) = &input.city { - object.key("City").string(var_198); + if let Some(var_204) = &input.city { + object.key("City").string(var_204); } - if let Some(var_199) = &input.county { - object.key("County").string(var_199); + if let Some(var_205) = &input.county { + object.key("County").string(var_205); } - if let Some(var_200) = &input.state { - object.key("State").string(var_200); + if let Some(var_206) = &input.state { + object.key("State").string(var_206); } - if let Some(var_201) = &input.province { - object.key("Province").string(var_201); + if let Some(var_207) = &input.province { + object.key("Province").string(var_207); } - if let Some(var_202) = &input.country { - object.key("Country").string(var_202); + if let Some(var_208) = &input.country { + object.key("Country").string(var_208); } - if let Some(var_203) = &input.postal_code { - object.key("PostalCode").string(var_203); + if let Some(var_209) = &input.postal_code { + object.key("PostalCode").string(var_209); } } @@ -732,21 +755,21 @@ pub fn serialize_structure_source_flow_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceFlowConfig, ) { - if let Some(var_204) = &input.connector_profile_name { - object.key("ConnectorProfileName").string(var_204); + if let Some(var_210) = &input.connector_profile_name { + object.key("ConnectorProfileName").string(var_210); } - if let Some(var_205) = &input.connector_type { - object.key("ConnectorType").string(var_205.as_str()); + if let Some(var_211) = &input.connector_type { + object.key("ConnectorType").string(var_211.as_str()); } - if let Some(var_206) = &input.incremental_pull_config { - let mut object_207 = object.key("IncrementalPullConfig").start_object(); - crate::json_ser::serialize_structure_incremental_pull_config(&mut object_207, var_206); - object_207.finish(); + if let Some(var_212) = &input.incremental_pull_config { + let mut object_213 = object.key("IncrementalPullConfig").start_object(); + crate::json_ser::serialize_structure_incremental_pull_config(&mut object_213, var_212); + object_213.finish(); } - if let Some(var_208) = &input.source_connector_properties { - let mut object_209 = object.key("SourceConnectorProperties").start_object(); - crate::json_ser::serialize_structure_source_connector_properties(&mut object_209, var_208); - object_209.finish(); + if let Some(var_214) = &input.source_connector_properties { + let mut object_215 = object.key("SourceConnectorProperties").start_object(); + crate::json_ser::serialize_structure_source_connector_properties(&mut object_215, var_214); + object_215.finish(); } } @@ -754,34 +777,34 @@ pub fn serialize_structure_task( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Task, ) { - if let Some(var_210) = &input.connector_operator { - let mut object_211 = object.key("ConnectorOperator").start_object(); - crate::json_ser::serialize_structure_connector_operator(&mut object_211, var_210); - object_211.finish(); + if let Some(var_216) = &input.connector_operator { + let mut object_217 = object.key("ConnectorOperator").start_object(); + crate::json_ser::serialize_structure_connector_operator(&mut object_217, var_216); + object_217.finish(); } - if let Some(var_212) = &input.destination_field { - object.key("DestinationField").string(var_212); + if let Some(var_218) = &input.destination_field { + object.key("DestinationField").string(var_218); } - if let Some(var_213) = &input.source_fields { - let mut array_214 = object.key("SourceFields").start_array(); - for item_215 in var_213 { + if let Some(var_219) = &input.source_fields { + let mut array_220 = object.key("SourceFields").start_array(); + for item_221 in var_219 { { - array_214.value().string(item_215); + array_220.value().string(item_221); } } - array_214.finish(); + array_220.finish(); } - if let Some(var_216) = &input.task_properties { - let mut object_217 = object.key("TaskProperties").start_object(); - for (key_218, value_219) in var_216 { + if let Some(var_222) = &input.task_properties { + let mut object_223 = object.key("TaskProperties").start_object(); + for (key_224, value_225) in var_222 { { - object_217.key(key_218.as_str()).string(value_219); + object_223.key(key_224.as_str()).string(value_225); } } - object_217.finish(); + object_223.finish(); } - if let Some(var_220) = &input.task_type { - object.key("TaskType").string(var_220.as_str()); + if let Some(var_226) = &input.task_type { + object.key("TaskType").string(var_226.as_str()); } } @@ -789,13 +812,13 @@ pub fn serialize_structure_trigger_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TriggerConfig, ) { - if let Some(var_221) = &input.trigger_type { - object.key("TriggerType").string(var_221.as_str()); + if let Some(var_227) = &input.trigger_type { + object.key("TriggerType").string(var_227.as_str()); } - if let Some(var_222) = &input.trigger_properties { - let mut object_223 = object.key("TriggerProperties").start_object(); - crate::json_ser::serialize_structure_trigger_properties(&mut object_223, var_222); - object_223.finish(); + if let Some(var_228) = &input.trigger_properties { + let mut object_229 = object.key("TriggerProperties").start_object(); + crate::json_ser::serialize_structure_trigger_properties(&mut object_229, var_228); + object_229.finish(); } } @@ -803,8 +826,8 @@ pub fn serialize_structure_incremental_pull_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IncrementalPullConfig, ) { - if let Some(var_224) = &input.datetime_type_field_name { - object.key("DatetimeTypeFieldName").string(var_224); + if let Some(var_230) = &input.datetime_type_field_name { + object.key("DatetimeTypeFieldName").string(var_230); } } @@ -812,33 +835,33 @@ pub fn serialize_structure_source_connector_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceConnectorProperties, ) { - if let Some(var_225) = &input.marketo { - let mut object_226 = object.key("Marketo").start_object(); - crate::json_ser::serialize_structure_marketo_source_properties(&mut object_226, var_225); - object_226.finish(); + if let Some(var_231) = &input.marketo { + let mut object_232 = object.key("Marketo").start_object(); + crate::json_ser::serialize_structure_marketo_source_properties(&mut object_232, var_231); + object_232.finish(); } - if let Some(var_227) = &input.s3 { - let mut object_228 = object.key("S3").start_object(); - crate::json_ser::serialize_structure_s3_source_properties(&mut object_228, var_227); - object_228.finish(); + if let Some(var_233) = &input.s3 { + let mut object_234 = object.key("S3").start_object(); + crate::json_ser::serialize_structure_s3_source_properties(&mut object_234, var_233); + object_234.finish(); } - if let Some(var_229) = &input.salesforce { - let mut object_230 = object.key("Salesforce").start_object(); - crate::json_ser::serialize_structure_salesforce_source_properties(&mut object_230, var_229); - object_230.finish(); + if let Some(var_235) = &input.salesforce { + let mut object_236 = object.key("Salesforce").start_object(); + crate::json_ser::serialize_structure_salesforce_source_properties(&mut object_236, var_235); + object_236.finish(); } - if let Some(var_231) = &input.service_now { - let mut object_232 = object.key("ServiceNow").start_object(); + if let Some(var_237) = &input.service_now { + let mut object_238 = object.key("ServiceNow").start_object(); crate::json_ser::serialize_structure_service_now_source_properties( - &mut object_232, - var_231, + &mut object_238, + var_237, ); - object_232.finish(); + object_238.finish(); } - if let Some(var_233) = &input.zendesk { - let mut object_234 = object.key("Zendesk").start_object(); - crate::json_ser::serialize_structure_zendesk_source_properties(&mut object_234, var_233); - object_234.finish(); + if let Some(var_239) = &input.zendesk { + let mut object_240 = object.key("Zendesk").start_object(); + crate::json_ser::serialize_structure_zendesk_source_properties(&mut object_240, var_239); + object_240.finish(); } } @@ -846,20 +869,20 @@ pub fn serialize_structure_connector_operator( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ConnectorOperator, ) { - if let Some(var_235) = &input.marketo { - object.key("Marketo").string(var_235.as_str()); + if let Some(var_241) = &input.marketo { + object.key("Marketo").string(var_241.as_str()); } - if let Some(var_236) = &input.s3 { - object.key("S3").string(var_236.as_str()); + if let Some(var_242) = &input.s3 { + object.key("S3").string(var_242.as_str()); } - if let Some(var_237) = &input.salesforce { - object.key("Salesforce").string(var_237.as_str()); + if let Some(var_243) = &input.salesforce { + object.key("Salesforce").string(var_243.as_str()); } - if let Some(var_238) = &input.service_now { - object.key("ServiceNow").string(var_238.as_str()); + if let Some(var_244) = &input.service_now { + object.key("ServiceNow").string(var_244.as_str()); } - if let Some(var_239) = &input.zendesk { - object.key("Zendesk").string(var_239.as_str()); + if let Some(var_245) = &input.zendesk { + object.key("Zendesk").string(var_245.as_str()); } } @@ -867,10 +890,10 @@ pub fn serialize_structure_trigger_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TriggerProperties, ) { - if let Some(var_240) = &input.scheduled { - let mut object_241 = object.key("Scheduled").start_object(); - crate::json_ser::serialize_structure_scheduled_trigger_properties(&mut object_241, var_240); - object_241.finish(); + if let Some(var_246) = &input.scheduled { + let mut object_247 = object.key("Scheduled").start_object(); + crate::json_ser::serialize_structure_scheduled_trigger_properties(&mut object_247, var_246); + object_247.finish(); } } @@ -878,8 +901,8 @@ pub fn serialize_structure_marketo_source_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MarketoSourceProperties, ) { - if let Some(var_242) = &input.object { - object.key("Object").string(var_242); + if let Some(var_248) = &input.object { + object.key("Object").string(var_248); } } @@ -887,11 +910,11 @@ pub fn serialize_structure_s3_source_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3SourceProperties, ) { - if let Some(var_243) = &input.bucket_name { - object.key("BucketName").string(var_243); + if let Some(var_249) = &input.bucket_name { + object.key("BucketName").string(var_249); } - if let Some(var_244) = &input.bucket_prefix { - object.key("BucketPrefix").string(var_244); + if let Some(var_250) = &input.bucket_prefix { + object.key("BucketPrefix").string(var_250); } } @@ -899,8 +922,8 @@ pub fn serialize_structure_salesforce_source_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SalesforceSourceProperties, ) { - if let Some(var_245) = &input.object { - object.key("Object").string(var_245); + if let Some(var_251) = &input.object { + object.key("Object").string(var_251); } if input.enable_dynamic_field_update { object @@ -918,8 +941,8 @@ pub fn serialize_structure_service_now_source_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ServiceNowSourceProperties, ) { - if let Some(var_246) = &input.object { - object.key("Object").string(var_246); + if let Some(var_252) = &input.object { + object.key("Object").string(var_252); } } @@ -927,8 +950,8 @@ pub fn serialize_structure_zendesk_source_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ZendeskSourceProperties, ) { - if let Some(var_247) = &input.object { - object.key("Object").string(var_247); + if let Some(var_253) = &input.object { + object.key("Object").string(var_253); } } @@ -936,34 +959,34 @@ pub fn serialize_structure_scheduled_trigger_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScheduledTriggerProperties, ) { - if let Some(var_248) = &input.schedule_expression { - object.key("ScheduleExpression").string(var_248); + if let Some(var_254) = &input.schedule_expression { + object.key("ScheduleExpression").string(var_254); } - if let Some(var_249) = &input.data_pull_mode { - object.key("DataPullMode").string(var_249.as_str()); + if let Some(var_255) = &input.data_pull_mode { + object.key("DataPullMode").string(var_255.as_str()); } - if let Some(var_250) = &input.schedule_start_time { + if let Some(var_256) = &input.schedule_start_time { object .key("ScheduleStartTime") - .instant(var_250, smithy_types::instant::Format::EpochSeconds); + .instant(var_256, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_251) = &input.schedule_end_time { + if let Some(var_257) = &input.schedule_end_time { object .key("ScheduleEndTime") - .instant(var_251, smithy_types::instant::Format::EpochSeconds); + .instant(var_257, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_252) = &input.timezone { - object.key("Timezone").string(var_252); + if let Some(var_258) = &input.timezone { + object.key("Timezone").string(var_258); } - if let Some(var_253) = &input.schedule_offset { + if let Some(var_259) = &input.schedule_offset { object.key("ScheduleOffset").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_253).into()), + smithy_types::Number::NegInt((*var_259).into()), ); } - if let Some(var_254) = &input.first_execution_from { + if let Some(var_260) = &input.first_execution_from { object .key("FirstExecutionFrom") - .instant(var_254, smithy_types::instant::Format::EpochSeconds); + .instant(var_260, smithy_types::instant::Format::EpochSeconds); } } diff --git a/sdk/customerprofiles/src/model.rs b/sdk/customerprofiles/src/model.rs index 244b422e2384..14513d33b66c 100644 --- a/sdk/customerprofiles/src/model.rs +++ b/sdk/customerprofiles/src/model.rs @@ -951,9 +951,9 @@ impl Address { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ObjectTypeKey { ///

          The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 - /// UNIQUE key but multiple PROFILE keys. PROFILE means that this key can be used to tie an - /// object to a PROFILE. UNIQUE means that it can be used to uniquely identify an object. If a - /// key a is marked as SECONDARY, it will be used to search for profiles after all other + /// UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an + /// object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object. + /// If a key a is marked as SECONDARY, it will be used to search for profiles after all other /// PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is /// not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the /// profile does not already exist before the object is ingested, otherwise it is only used for @@ -1037,6 +1037,8 @@ impl ObjectTypeKey { std::hash::Hash, )] pub enum StandardIdentifier { + Asset, + Case, LookupOnly, NewOnly, Profile, @@ -1048,6 +1050,8 @@ pub enum StandardIdentifier { impl std::convert::From<&str> for StandardIdentifier { fn from(s: &str) -> Self { match s { + "ASSET" => StandardIdentifier::Asset, + "CASE" => StandardIdentifier::Case, "LOOKUP_ONLY" => StandardIdentifier::LookupOnly, "NEW_ONLY" => StandardIdentifier::NewOnly, "PROFILE" => StandardIdentifier::Profile, @@ -1067,6 +1071,8 @@ impl std::str::FromStr for StandardIdentifier { impl StandardIdentifier { pub fn as_str(&self) -> &str { match self { + StandardIdentifier::Asset => "ASSET", + StandardIdentifier::Case => "CASE", StandardIdentifier::LookupOnly => "LOOKUP_ONLY", StandardIdentifier::NewOnly => "NEW_ONLY", StandardIdentifier::Profile => "PROFILE", @@ -1076,7 +1082,15 @@ impl StandardIdentifier { } } pub fn values() -> &'static [&'static str] { - &["LOOKUP_ONLY", "NEW_ONLY", "PROFILE", "SECONDARY", "UNIQUE"] + &[ + "ASSET", + "CASE", + "LOOKUP_ONLY", + "NEW_ONLY", + "PROFILE", + "SECONDARY", + "UNIQUE", + ] } } impl AsRef for StandardIdentifier { @@ -4056,6 +4070,74 @@ impl ListProfileObjectsItem { } } +///

          The filter applied to ListProfileObjects response to include profile objects with the specified index values. +/// This filter is only supported for ObjectTypeName _asset and _case.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ObjectFilter { + ///

          A searchable identifier of a standard profile object. The predefined keys you can use to search for _asset include: _assetId, _assetName, _serialNumber. + /// The predefined keys you can use to search for _case include: _caseId.

          + pub key_name: std::option::Option, + ///

          A list of key values.

          + pub values: std::option::Option>, +} +impl std::fmt::Debug for ObjectFilter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ObjectFilter"); + formatter.field("key_name", &self.key_name); + formatter.field("values", &self.values); + formatter.finish() + } +} +/// See [`ObjectFilter`](crate::model::ObjectFilter) +pub mod object_filter { + /// A builder for [`ObjectFilter`](crate::model::ObjectFilter) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) key_name: std::option::Option, + pub(crate) values: std::option::Option>, + } + impl Builder { + ///

          A searchable identifier of a standard profile object. The predefined keys you can use to search for _asset include: _assetId, _assetName, _serialNumber. + /// The predefined keys you can use to search for _case include: _caseId.

          + pub fn key_name(mut self, input: impl Into) -> Self { + self.key_name = Some(input.into()); + self + } + pub fn set_key_name(mut self, input: std::option::Option) -> Self { + self.key_name = input; + self + } + pub fn values(mut self, input: impl Into) -> Self { + let mut v = self.values.unwrap_or_default(); + v.push(input.into()); + self.values = Some(v); + self + } + pub fn set_values( + mut self, + input: std::option::Option>, + ) -> Self { + self.values = input; + self + } + /// Consumes the builder and constructs a [`ObjectFilter`](crate::model::ObjectFilter) + pub fn build(self) -> crate::model::ObjectFilter { + crate::model::ObjectFilter { + key_name: self.key_name, + values: self.values, + } + } + } +} +impl ObjectFilter { + /// Creates a new builder-style object to manufacture [`ObjectFilter`](crate::model::ObjectFilter) + pub fn builder() -> crate::model::object_filter::Builder { + crate::model::object_filter::Builder::default() + } +} + ///

          An integration in list of integrations.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/customerprofiles/src/operation.rs b/sdk/customerprofiles/src/operation.rs index 1dfa5e4b70ea..8a431910a490 100644 --- a/sdk/customerprofiles/src/operation.rs +++ b/sdk/customerprofiles/src/operation.rs @@ -33,6 +33,9 @@ impl smithy_http::response::ParseStrictResponse for AddProfileKey { /// domains, and each domain can have multiple third-party integrations.

          ///

          Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can /// be associated with one domain.

          +///

          Use this API or UpdateDomain to +/// enable identity +/// resolution: set Matching to true.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDomain { _private: (), @@ -312,7 +315,7 @@ impl smithy_http::response::ParseStrictResponse for GetIntegration { ///

          GetMatches returns potentially matching profiles, based on the results of the latest run /// of a machine learning process.

          /// -///

          Amazon Connect runs a batch process every Saturday at 12AM UTC to identify matching profiles. +///

          Amazon Connect starts a batch process every Saturday at 12AM UTC to identify matching profiles. /// The results are returned up to seven days after the Saturday run.

          ///
          ///

          Amazon Connect uses the following profile attributes to identify matches:

          @@ -345,6 +348,10 @@ impl smithy_http::response::ParseStrictResponse for GetIntegration { ///

          BusinessName

          ///
        • /// +///

          For example, two or more profiles—with spelling mistakes such as John Doe and Jhn Doe, or different casing +/// email addresses such as JOHN_DOE@ANYCOMPANY.COM and +/// johndoe@anycompany.com, or different phone number +/// formats such as 555-010-0000 and +1-555-010-0000—can be detected as belonging to the same customer John Doe and merged into a unified profile.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetMatches { _private: (), @@ -881,6 +888,9 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { ///

          Updates the properties of a domain, including creating or selecting a dead letter queue /// or an encryption key.

          ///

          After a domain is created, the name can’t be changed.

          +///

          Use this API or CreateDomain to +/// enable identity +/// resolution: set Matching to true.

          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDomain { _private: (), diff --git a/sdk/customerprofiles/src/output.rs b/sdk/customerprofiles/src/output.rs index d7b2f7673fd2..9e12a990e746 100644 --- a/sdk/customerprofiles/src/output.rs +++ b/sdk/customerprofiles/src/output.rs @@ -59,7 +59,10 @@ pub struct UpdateDomainOutput { ///

          The URL of the SQS dead letter queue, which is used for reporting errors associated with /// ingesting data from third party applications.

          pub dead_letter_queue_url: std::option::Option, - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub matching: std::option::Option, ///

          The timestamp of when the domain was created.

          pub created_at: std::option::Option, @@ -146,7 +149,10 @@ pub mod update_domain_output { self.dead_letter_queue_url = input; self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingResponse) -> Self { self.matching = Some(input); self @@ -1931,7 +1937,10 @@ pub struct GetDomainOutput { pub dead_letter_queue_url: std::option::Option, ///

          Usage-specific statistics about the domain.

          pub stats: std::option::Option, - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub matching: std::option::Option, ///

          The timestamp of when the domain was created.

          pub created_at: std::option::Option, @@ -2029,7 +2038,10 @@ pub mod get_domain_output { self.stats = input; self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingResponse) -> Self { self.matching = Some(input); self @@ -2440,7 +2452,10 @@ pub struct CreateDomainOutput { ///

          The URL of the SQS dead letter queue, which is used for reporting errors associated with /// ingesting data from third party applications.

          pub dead_letter_queue_url: std::option::Option, - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub matching: std::option::Option, ///

          The timestamp of when the domain was created.

          pub created_at: std::option::Option, @@ -2527,7 +2542,10 @@ pub mod create_domain_output { self.dead_letter_queue_url = input; self } - ///

          The process of matching duplicate profiles. This process runs every Saturday at 12AM.

          + ///

          The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains. + /// After that batch process completes, use the + /// GetMatches + /// API to return and review the results.

          pub fn matching(mut self, input: crate::model::MatchingResponse) -> Self { self.matching = Some(input); self diff --git a/sdk/databasemigration/Cargo.toml b/sdk/databasemigration/Cargo.toml index 06d1eb136736..2308c2cf6e97 100644 --- a/sdk/databasemigration/Cargo.toml +++ b/sdk/databasemigration/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-databasemigration" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Database Migration Service\n

          Database Migration Service (DMS) can migrate your data to and from the most\n widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL\n Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise\n (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as\n heterogeneous migrations between different database platforms, such as Oracle to MySQL or\n SQL Server to PostgreSQL.

          \n

          For more information about DMS, see What Is Database Migration Service?\n in the Database Migration Service User Guide.\n

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/databrew/Cargo.toml b/sdk/databrew/Cargo.toml index a97b785b9d6a..6d2612ec46f7 100644 --- a/sdk/databrew/Cargo.toml +++ b/sdk/databrew/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-databrew" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Glue DataBrew is a visual, cloud-scale data-preparation service. DataBrew\n simplifies data preparation tasks, targeting data issues that are hard to spot and\n time-consuming to fix. DataBrew empowers users of all technical levels to visualize the\n data and perform one-click data transformations, with no coding required.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/databrew/src/model.rs b/sdk/databrew/src/model.rs index 28b8f4cc411a..21abba864839 100644 --- a/sdk/databrew/src/model.rs +++ b/sdk/databrew/src/model.rs @@ -701,6 +701,7 @@ pub enum OutputFormat { Json, Orc, Parquet, + Tableauhyper, Xml, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), @@ -714,6 +715,7 @@ impl std::convert::From<&str> for OutputFormat { "JSON" => OutputFormat::Json, "ORC" => OutputFormat::Orc, "PARQUET" => OutputFormat::Parquet, + "TABLEAUHYPER" => OutputFormat::Tableauhyper, "XML" => OutputFormat::Xml, other => OutputFormat::Unknown(other.to_owned()), } @@ -735,6 +737,7 @@ impl OutputFormat { OutputFormat::Json => "JSON", OutputFormat::Orc => "ORC", OutputFormat::Parquet => "PARQUET", + OutputFormat::Tableauhyper => "TABLEAUHYPER", OutputFormat::Xml => "XML", OutputFormat::Unknown(s) => s.as_ref(), } @@ -747,6 +750,7 @@ impl OutputFormat { "JSON", "ORC", "PARQUET", + "TABLEAUHYPER", "XML", ] } diff --git a/sdk/dataexchange/Cargo.toml b/sdk/dataexchange/Cargo.toml index 101b71322015..a2798019e082 100644 --- a/sdk/dataexchange/Cargo.toml +++ b/sdk/dataexchange/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-dataexchange" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

          As a subscriber, you can view and access the data sets that you have an entitlement to through a subscription. You can use the APIS to download or copy your entitled data sets to Amazon S3 for use across a variety of AWS analytics and machine learning services.

          As a provider, you can create and manage your data sets that you would like to publish to a product. Being able to package and provide your data sets into products requires a few steps to determine eligibility. For more information, visit the AWS Data Exchange User Guide.

          A data set is a collection of data that can be changed or updated over time. Data sets can be updated using revisions, which represent a new version or incremental change to a data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data that can be stored as an Amazon S3 object. The asset can be a structured data file, an image file, or some other data file. Jobs are asynchronous import or export operations used to create or copy assets.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/datapipeline/Cargo.toml b/sdk/datapipeline/Cargo.toml index e7a99b9e287f..b9b8c42a5161 100644 --- a/sdk/datapipeline/Cargo.toml +++ b/sdk/datapipeline/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-datapipeline" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          AWS Data Pipeline configures and manages a data-driven workflow called a pipeline. AWS Data Pipeline \n handles the details of scheduling and ensuring that data dependencies are met so that your application \n can focus on processing the data.

          \n\n

          AWS Data Pipeline provides a JAR implementation of a task runner called AWS Data Pipeline Task Runner. \n AWS Data Pipeline Task Runner provides logic for common data management scenarios, such as performing \n database queries and running data analysis using Amazon Elastic MapReduce (Amazon EMR). You can use \n AWS Data Pipeline Task Runner as your task runner, or you can write your own task runner to provide \n custom data management.

          \n \n

          AWS Data Pipeline implements two main sets of functionality. Use the first set to create a pipeline \n and define data sources, schedules, dependencies, and the transforms to be performed on the data. \n Use the second set in your task runner application to receive the next task ready for processing. \n The logic for performing the task, such as querying the data, running data analysis, or converting \n the data from one format to another, is contained within the task runner. The task runner performs \n the task assigned to it by the web service, reporting progress to the web service as it does so. \n When the task is done, the task runner reports the final success or failure of the task to the web service.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/datasync/Cargo.toml b/sdk/datasync/Cargo.toml index 729105a363a8..707d9614e576 100644 --- a/sdk/datasync/Cargo.toml +++ b/sdk/datasync/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-datasync" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS DataSync\n\n

          AWS DataSync is a managed data transfer service that makes it simpler for you to\n automate moving data between on-premises storage and Amazon Simple Storage Service (Amazon S3)\n or Amazon Elastic File System (Amazon EFS).

          \n

          This API interface reference for AWS DataSync contains documentation for a\n programming interface that you can use to manage AWS DataSync.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/dax/Cargo.toml b/sdk/dax/Cargo.toml index 39be970a0190..31f3c44880b1 100644 --- a/sdk/dax/Cargo.toml +++ b/sdk/dax/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-dax" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          DAX is a managed caching service engineered for Amazon DynamoDB. DAX\n dramatically speeds up database reads by caching frequently-accessed data from DynamoDB, so\n applications can access that data with sub-millisecond latency. You can create a DAX\n cluster easily, using the AWS Management Console. With a few simple modifications to\n your code, your application can begin taking advantage of the DAX cluster and realize\n significant improvements in read performance.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/detective/Cargo.toml b/sdk/detective/Cargo.toml index 96905811cedf..a5fcecfb79e3 100644 --- a/sdk/detective/Cargo.toml +++ b/sdk/detective/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-detective" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Detective uses machine learning and purpose-built visualizations to help you analyze and\n investigate security issues across your Amazon Web Services (AWS) workloads. Detective automatically\n extracts time-based events such as login attempts, API calls, and network traffic from\n AWS CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by\n Amazon GuardDuty.

          \n

          The Detective API primarily supports the creation and management of behavior graphs. A\n behavior graph contains the extracted data from a set of member accounts, and is created\n and managed by an administrator account.

          \n

          Every behavior graph is specific to a Region. You can only use the API to manage graphs\n that belong to the Region that is associated with the currently selected endpoint.

          \n

          A Detective administrator account can use the Detective API to do the following:

          \n
            \n
          • \n

            Enable and disable Detective. Enabling Detective creates a new behavior graph.

            \n
          • \n
          • \n

            View the list of member accounts in a behavior graph.

            \n
          • \n
          • \n

            Add member accounts to a behavior graph.

            \n
          • \n
          • \n

            Remove member accounts from a behavior graph.

            \n
          • \n
          \n

          A member account can use the Detective API to do the following:

          \n
            \n
          • \n

            View the list of behavior graphs that they are invited to.

            \n
          • \n
          • \n

            Accept an invitation to contribute to a behavior graph.

            \n
          • \n
          • \n

            Decline an invitation to contribute to a behavior graph.

            \n
          • \n
          • \n

            Remove their account from a behavior graph.

            \n
          • \n
          \n

          All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail.

          \n \n

          We replaced the term \"master account\" with the term \"administrator account.\" An\n administrator account is used to centrally manage multiple accounts. In the case of\n Detective, the administrator account manages the accounts in their behavior graph.

          \n
          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/devicefarm/Cargo.toml b/sdk/devicefarm/Cargo.toml index 1ad57653a312..333427bae41d 100644 --- a/sdk/devicefarm/Cargo.toml +++ b/sdk/devicefarm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-devicefarm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Welcome to the AWS Device Farm API documentation, which contains APIs for:

          \n
            \n
          • \n

            Testing on desktop browsers

            \n

            Device Farm makes it possible for you to test your web applications on desktop browsers using\n Selenium. The APIs for desktop browser testing contain TestGrid in their names. For\n more information, see Testing Web\n Applications on Selenium with Device Farm.

            \n
          • \n
          • \n

            Testing on real mobile devices

            \n

            Device Farm makes it possible for you to test apps on physical phones, tablets, and other\n devices in the cloud. For more information, see the Device Farm Developer Guide.

            \n
          • \n
          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/devopsguru/Cargo.toml b/sdk/devopsguru/Cargo.toml index 6c7e42bf7096..7ce752fc3218 100644 --- a/sdk/devopsguru/Cargo.toml +++ b/sdk/devopsguru/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-devopsguru" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business\n\t\t\tcritical operational applications. You specify the AWS resources that you want DevOps Guru to cover,\n\t\t\tthen the Amazon CloudWatch metrics and AWS CloudTrail events related to those resources are analyzed. When\n\t\t\tanomalous behavior is detected, DevOps Guru creates an insight that includes\n\t\t\trecommendations, related events, and related metrics that can help you improve your\n\t\t\toperational applications. For more information, see What is Amazon DevOps Guru.

          \n\t\t\n\t\t

          \n\t\t\tYou can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is created. You can also enable DevOps Guru to generate \n\t\t\tan OpsItem in AWS Systems Manager for each insight to help you manage and track your work addressing insights.\n\t\t

          \n\t\t\n\t\t

          \n\t\t\tTo learn about the DevOps Guru workflow, see How DevOps Guru works. To \n\t\t\tlearn about DevOps Guru concepts, see Concepts in DevOps Guru.\n\t\t

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/directconnect/Cargo.toml b/sdk/directconnect/Cargo.toml index 7b13737d1b9a..d33f157e9613 100644 --- a/sdk/directconnect/Cargo.toml +++ b/sdk/directconnect/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-directconnect" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

          Direct Connect links your internal network to an Direct Connect location over a standard Ethernet fiber-optic cable. \n One end of the cable is connected to your router, the other to an Direct Connect router. With this connection\n in place, you can create virtual interfaces directly to the Cloud (for example, to Amazon EC2 \n and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A \n connection provides access to all Regions except the China (Beijing) and (China) Ningxia Regions. \n Amazon Web Services resources in the China Regions can only be accessed through locations associated with those Regions.

          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/directory/Cargo.toml b/sdk/directory/Cargo.toml index 671ddc091abf..5c497bd4407f 100644 --- a/sdk/directory/Cargo.toml +++ b/sdk/directory/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-directory" -version = "0.0.15-alpha" -description = "AWS Directory Service\n

          AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

          \n \n

          AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web\n Services.

          \n
          " +version = "0.0.16-alpha" +description = "Directory Service\n

          Directory Service is a web service that makes it easy for you to setup and run directories in the\n Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active\n Directory. This guide provides detailed information about Directory Service operations, data types,\n parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service\n Administration Guide.

          \n \n

          Amazon Web Services provides SDKs that consist of libraries and sample code for various\n programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs\n provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services\n services. For more information about the Amazon Web Services SDKs, including how to download and\n install them, see Tools for Amazon Web\n Services.

          \n
          " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/directory/src/client.rs b/sdk/directory/src/client.rs index 3d14b3f3a8de..ac06ac0b69e2 100644 --- a/sdk/directory/src/client.rs +++ b/sdk/directory/src/client.rs @@ -105,6 +105,11 @@ where pub fn describe_certificate(&self) -> fluent_builders::DescribeCertificate { fluent_builders::DescribeCertificate::new(self.handle.clone()) } + pub fn describe_client_authentication_settings( + &self, + ) -> fluent_builders::DescribeClientAuthenticationSettings { + fluent_builders::DescribeClientAuthenticationSettings::new(self.handle.clone()) + } pub fn describe_conditional_forwarders( &self, ) -> fluent_builders::DescribeConditionalForwarders { @@ -316,7 +321,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

          + ///

          IP address blocks, using CIDR format, of the traffic to route. This is often the IP + /// address block of the DNS server used for your self-managed domain.

          pub fn ip_routes(mut self, inp: impl Into) -> Self { self.inner = self.inner.ip_routes(inp); self @@ -328,9 +334,9 @@ pub mod fluent_builders { self.inner = self.inner.set_ip_routes(input); self } - ///

          If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for directory ID directory controllers." - /// Following are the new rules: - ///

          + ///

          If set to true, updates the inbound and outbound rules of the security group that has + /// the description: "Amazon Web Services created security group for directory ID + /// directory controllers." Following are the new rules:

          ///

          Inbound:

          ///
            ///
          • @@ -367,10 +373,12 @@ pub mod fluent_builders { ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: + /// 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: + /// 0.0.0.0/0

            ///
          • ///
          • ///

            Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

            @@ -392,7 +400,8 @@ pub mod fluent_builders { ///

            Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

            ///
          • ///
          - ///

          These security rules impact an internal network interface that is not exposed publicly.

          + ///

          These security rules impact an internal network interface that is not exposed + /// publicly.

          pub fn update_security_group_for_directory_controllers(mut self, input: bool) -> Self { self.inner = self .inner @@ -609,7 +618,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The fully qualified name of the on-premises directory, such as + ///

          The fully qualified name of your self-managed directory, such as /// corp.example.com.

          pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); @@ -619,7 +628,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

          The NetBIOS name of the on-premises directory, such as CORP.

          + ///

          The NetBIOS name of your self-managed directory, such as CORP.

          pub fn short_name(mut self, input: impl Into) -> Self { self.inner = self.inner.short_name(input); self @@ -628,7 +637,7 @@ pub mod fluent_builders { self.inner = self.inner.set_short_name(input); self } - ///

          The password for the on-premises user account.

          + ///

          The password for your self-managed user account.

          pub fn password(mut self, input: impl Into) -> Self { self.inner = self.inner.password(input); self @@ -722,7 +731,7 @@ pub mod fluent_builders { self } ///

          The requested alias.

          - ///

          The alias must be unique amongst all aliases in AWS. This operation throws an + ///

          The alias must be unique amongst all aliases in Amazon Web Services. This operation throws an /// EntityAlreadyExistsException error if the alias already exists.

          pub fn alias(mut self, input: impl Into) -> Self { self.inner = self.inner.alias(input); @@ -854,7 +863,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The directory ID of the AWS directory for which you are creating the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which you are creating the conditional + /// forwarder.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -863,7 +873,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.inner = self.inner.remote_domain_name(input); self @@ -1104,7 +1115,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The fully qualified domain name for the AWS Managed Microsoft AD directory, such as + ///

          The fully qualified domain name for the Managed Microsoft AD directory, such as /// corp.example.com. This name will resolve inside your VPC only. It does not need /// to be publicly resolvable.

          pub fn name(mut self, input: impl Into) -> Self { @@ -1115,7 +1126,9 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

          + ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a + /// NetBIOS name, it will default to the first part of your directory DNS. For example, + /// CORP for the directory DNS corp.example.com.

          pub fn short_name(mut self, input: impl Into) -> Self { self.inner = self.inner.short_name(input); self @@ -1134,7 +1147,8 @@ pub mod fluent_builders { self.inner = self.inner.set_password(input); self } - ///

          A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

          + ///

          A description for the directory. This label will appear on the Amazon Web Services console + /// Directory Details page after the directory is created.

          pub fn description(mut self, input: impl Into) -> Self { self.inner = self.inner.description(input); self @@ -1155,7 +1169,8 @@ pub mod fluent_builders { self.inner = self.inner.set_vpc_settings(input); self } - ///

          AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

          + ///

          Managed Microsoft AD is available in two editions: Standard and + /// Enterprise. Enterprise is the default.

          pub fn edition(mut self, input: crate::model::DirectoryEdition) -> Self { self.inner = self.inner.edition(input); self @@ -1167,7 +1182,7 @@ pub mod fluent_builders { self.inner = self.inner.set_edition(input); self } - ///

          The tags to be assigned to the AWS Managed Microsoft AD directory.

          + ///

          The tags to be assigned to the Managed Microsoft AD directory.

          pub fn tags(mut self, inp: impl Into) -> Self { self.inner = self.inner.tags(inp); self @@ -1261,7 +1276,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

          + ///

          The Directory ID of the Managed Microsoft AD directory for which to establish the trust + /// relationship.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -1270,7 +1286,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

          + ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the + /// trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.inner = self.inner.remote_domain_name(input); self @@ -1282,7 +1299,8 @@ pub mod fluent_builders { self.inner = self.inner.set_remote_domain_name(input); self } - ///

          The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

          + ///

          The trust password. The must be the same password that was used when creating the trust + /// relationship on the external domain.

          pub fn trust_password(mut self, input: impl Into) -> Self { self.inner = self.inner.trust_password(input); self @@ -1386,7 +1404,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting + /// the conditional forwarder.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.inner = self.inner.remote_domain_name(input); self @@ -1661,7 +1680,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

          + ///

          The Directory ID to remove as a publisher. This directory will no longer send messages + /// to the specified Amazon SNS topic.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -1670,7 +1690,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The name of the SNS topic from which to remove the directory as a publisher.

          + ///

          The name of the Amazon SNS topic from which to remove the directory as a + /// publisher.

          pub fn topic_name(mut self, input: impl Into) -> Self { self.inner = self.inner.topic_name(input); self @@ -1734,6 +1755,77 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct DescribeClientAuthenticationSettings { + handle: std::sync::Arc>, + inner: crate::input::describe_client_authentication_settings_input::Builder, + } + impl DescribeClientAuthenticationSettings { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeClientAuthenticationSettingsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

          The identifier of the directory for which to retrieve information.

          + pub fn directory_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.directory_id(input); + self + } + pub fn set_directory_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_directory_id(input); + self + } + ///

          The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

          + pub fn r#type(mut self, input: crate::model::ClientAuthenticationType) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

          The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

          The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + pub fn limit(mut self, input: i32) -> Self { + self.inner = self.inner.limit(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_limit(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct DescribeConditionalForwarders { handle: std::sync::Arc>, inner: crate::input::describe_conditional_forwarders_input::Builder, @@ -1764,7 +1856,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The directory ID for which to get the list of associated conditional forwarders.

          + ///

          The directory ID for which to get the list of associated conditional + /// forwarders.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -1773,7 +1866,9 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

          + ///

          The fully qualified domain names (FQDN) of the remote domains for which to get the list + /// of associated conditional forwarders. If this member is null, all conditional forwarders are + /// returned.

          pub fn remote_domain_names(mut self, inp: impl Into) -> Self { self.inner = self.inner.remote_domain_names(inp); self @@ -1882,7 +1977,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier of the directory for which to retrieve the domain controller information.

          + ///

          Identifier of the directory for which to retrieve the domain controller + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -1891,7 +1987,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          A list of identifiers for the domain controllers whose information will be provided.

          + ///

          A list of identifiers for the domain controllers whose information will be + /// provided.

          pub fn domain_controller_ids(mut self, inp: impl Into) -> Self { self.inner = self.inner.domain_controller_ids(inp); self @@ -1903,7 +2000,9 @@ pub mod fluent_builders { self.inner = self.inner.set_domain_controller_ids(input); self } - ///

          The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

          + ///

          The DescribeDomainControllers.NextToken value from a previous call + /// to DescribeDomainControllers. Pass null if this is the first call. + ///

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1953,7 +2052,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

          + ///

          The Directory ID for which to get the list of associated Amazon SNS topics. If this member + /// is null, associations for all Directory IDs are returned.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -1962,8 +2062,10 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

          - ///

          An empty list results in an InvalidParameterException being thrown.

          + ///

          A list of Amazon SNS topic names for which to obtain the information. If this member is + /// null, all associations for the specified Directory ID are returned.

          + ///

          An empty list results in an InvalidParameterException being + /// thrown.

          pub fn topic_names(mut self, inp: impl Into) -> Self { self.inner = self.inner.topic_names(inp); self @@ -2284,7 +2386,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The Directory ID of the AWS directory that is a part of the requested trust relationship.

          + ///

          The Directory ID of the Amazon Web Services directory that is a part of the requested trust + /// relationship.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -2293,7 +2396,9 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

          + ///

          A list of identifiers of the trust relationships for which to obtain the information. If + /// this member is null, all trust relationships that belong to the current account are + /// returned.

          ///

          An empty list results in an InvalidParameterException being thrown.

          pub fn trust_ids(mut self, inp: impl Into) -> Self { self.inner = self.inner.trust_ids(inp); @@ -2511,11 +2616,14 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

          - ///

          If the AD Connector service account does not have privileges to remove a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to disable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + ///

          The username of an alternate account to use to disable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to remove a service + /// principal name.

          + ///

          If the AD Connector service account does not have privileges to remove a service + /// principal name, you can specify an alternate account with the UserName + /// and Password parameters. These credentials are only used to disable + /// single sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub fn user_name(mut self, input: impl Into) -> Self { self.inner = self.inner.user_name(input); self @@ -2525,7 +2633,8 @@ pub mod fluent_builders { self } ///

          The password of an alternate account to use to disable single-sign on. This is only used - /// for AD Connector directories. For more information, see the UserName parameter.

          + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub fn password(mut self, input: impl Into) -> Self { self.inner = self.inner.password(input); self @@ -2577,7 +2686,7 @@ pub mod fluent_builders { } ///

          The type of client authentication to enable. Currently only the value SmartCard is /// supported. Smart card authentication in AD Connector requires that you enable Kerberos - /// Constrained Delegation for the Service User to the LDAP service in the on-premises AD. + /// Constrained Delegation for the Service User to the LDAP service in your self-managed AD. ///

          pub fn r#type(mut self, input: crate::model::ClientAuthenticationType) -> Self { self.inner = self.inner.r#type(input); @@ -2682,7 +2791,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub fn radius_settings(mut self, input: crate::model::RadiusSettings) -> Self { self.inner = self.inner.radius_settings(input); self @@ -2735,11 +2845,14 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

          + ///

          The username of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to add a service principal + /// name.

          ///

          If the AD Connector service account does not have privileges to add a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to enable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + /// name, you can specify an alternate account with the UserName and + /// Password parameters. These credentials are only used to enable single + /// sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub fn user_name(mut self, input: impl Into) -> Self { self.inner = self.inner.user_name(input); self @@ -2748,8 +2861,9 @@ pub mod fluent_builders { self.inner = self.inner.set_user_name(input); self } - ///

          The password of an alternate account to use to enable single-sign on. This is only used for - /// AD Connector directories. For more information, see the UserName parameter.

          + ///

          The password of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub fn password(mut self, input: impl Into) -> Self { self.inner = self.inner.password(input); self @@ -2925,7 +3039,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier (ID) of the directory for which you want to retrieve the IP addresses.

          + ///

          Identifier (ID) of the directory for which you want to retrieve the IP + /// addresses.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -2934,8 +3049,7 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The ListIpRoutes.NextToken value from a previous call to - /// ListIpRoutes. Pass null if this is the first call.

          + ///

          The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -2944,7 +3058,8 @@ pub mod fluent_builders { self.inner = self.inner.set_next_token(input); self } - ///

          Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + ///

          Maximum number of items to return. If this value is zero, the maximum number of items + /// is specified by the limitations of the operation.

          pub fn limit(mut self, input: i32) -> Self { self.inner = self.inner.limit(input); self @@ -2987,8 +3102,8 @@ pub mod fluent_builders { } ///

          If a DirectoryID is provided, lists only the log subscription /// associated with that directory. If no DirectoryId is provided, lists all - /// log subscriptions associated with your AWS account. If there are no log subscriptions for the - /// AWS account or the directory, an empty list will be returned.

          + /// log subscriptions associated with your Amazon Web Services account. If there are no log subscriptions for the + /// Amazon Web Services account or the directory, an empty list will be returned.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3047,7 +3162,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The identifier of the directory from which to retrieve the schema extension information.

          + ///

          The identifier of the directory from which to retrieve the schema extension + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3056,7 +3172,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

          + ///

          The ListSchemaExtensions.NextToken value from a previous call to + /// ListSchemaExtensions. Pass null if this is the first call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -3245,7 +3362,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The Directory ID that will publish status messages to the SNS topic.

          + ///

          The Directory ID that will publish status messages to the Amazon SNS topic.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3254,7 +3371,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

          + ///

          The Amazon SNS topic name to which the directory will publish status messages. This Amazon SNS + /// topic must be in the same region as the specified Directory ID.

          pub fn topic_name(mut self, input: impl Into) -> Self { self.inner = self.inner.topic_name(input); self @@ -3340,7 +3458,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier (ID) of the directory from which you want to remove the IP addresses.

          + ///

          Identifier (ID) of the directory from which you want to remove the IP + /// addresses.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3487,7 +3606,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user + ///

          Identifier of the Managed Microsoft AD or Simple AD directory in which the user /// resides.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); @@ -3588,8 +3707,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS - /// accounts.

          + ///

          Identifier of the Managed Microsoft AD directory that you want to share with other Amazon Web Services accounts.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3623,7 +3741,7 @@ pub mod fluent_builders { self } ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a directory sharing request (HANDSHAKE).

          pub fn share_method(mut self, input: crate::model::ShareMethod) -> Self { self.inner = self.inner.share_method(input); @@ -3668,7 +3786,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The identifier of the directory for which the schema extension will be applied to.

          + ///

          The identifier of the directory for which the schema extension will be applied + /// to.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3677,7 +3796,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          If true, creates a snapshot of the directory before applying the schema extension.

          + ///

          If true, creates a snapshot of the directory before applying the schema + /// extension.

          pub fn create_snapshot_before_schema_extension(mut self, input: bool) -> Self { self.inner = self.inner.create_snapshot_before_schema_extension(input); self @@ -3691,7 +3811,9 @@ pub mod fluent_builders { .set_create_snapshot_before_schema_extension(input); self } - ///

          The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.

          + ///

          The LDIF file represented as a string. To construct the LdifContent string, precede + /// each line as it would be formatted in an ldif file with \n. See the example request below for + /// more details. The file size can be no larger than 1MB.

          pub fn ldif_content(mut self, input: impl Into) -> Self { self.inner = self.inner.ldif_content(input); self @@ -3741,7 +3863,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The identifier of the AWS Managed Microsoft AD directory that you want to stop + ///

          The identifier of the Managed Microsoft AD directory that you want to stop /// sharing.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); @@ -3796,7 +3918,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The directory ID of the AWS directory for which to update the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which to update the conditional + /// forwarder.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3805,7 +3928,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.inner = self.inner.remote_domain_name(input); self @@ -3817,7 +3941,8 @@ pub mod fluent_builders { self.inner = self.inner.set_remote_domain_name(input); self } - ///

          The updated IP addresses of the remote DNS server associated with the conditional forwarder.

          + ///

          The updated IP addresses of the remote DNS server associated with the conditional + /// forwarder.

          pub fn dns_ip_addrs(mut self, inp: impl Into) -> Self { self.inner = self.inner.dns_ip_addrs(inp); self @@ -3861,7 +3986,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          Identifier of the directory to which the domain controllers will be added or removed.

          + ///

          Identifier of the directory to which the domain controllers will be added or + /// removed.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3911,7 +4037,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

          The identifier of the directory for which to update the RADIUS server information.

          + ///

          The identifier of the directory for which to update the RADIUS server + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.inner = self.inner.directory_id(input); self @@ -3920,7 +4047,8 @@ pub mod fluent_builders { self.inner = self.inner.set_directory_id(input); self } - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub fn radius_settings(mut self, input: crate::model::RadiusSettings) -> Self { self.inner = self.inner.radius_settings(input); self diff --git a/sdk/directory/src/error.rs b/sdk/directory/src/error.rs index 02bdcccd502b..f9179bb6304a 100644 --- a/sdk/directory/src/error.rs +++ b/sdk/directory/src/error.rs @@ -2614,6 +2614,155 @@ impl std::error::Error for DescribeCertificateError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeClientAuthenticationSettingsError { + pub kind: DescribeClientAuthenticationSettingsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeClientAuthenticationSettingsErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + ClientException(crate::error::ClientException), + DirectoryDoesNotExistException(crate::error::DirectoryDoesNotExistException), + InvalidParameterException(crate::error::InvalidParameterException), + ServiceException(crate::error::ServiceException), + UnsupportedOperationException(crate::error::UnsupportedOperationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeClientAuthenticationSettingsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeClientAuthenticationSettingsErrorKind::AccessDeniedException(_inner) => { + _inner.fmt(f) + } + DescribeClientAuthenticationSettingsErrorKind::ClientException(_inner) => _inner.fmt(f), + DescribeClientAuthenticationSettingsErrorKind::DirectoryDoesNotExistException( + _inner, + ) => _inner.fmt(f), + DescribeClientAuthenticationSettingsErrorKind::InvalidParameterException(_inner) => { + _inner.fmt(f) + } + DescribeClientAuthenticationSettingsErrorKind::ServiceException(_inner) => { + _inner.fmt(f) + } + DescribeClientAuthenticationSettingsErrorKind::UnsupportedOperationException( + _inner, + ) => _inner.fmt(f), + DescribeClientAuthenticationSettingsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeClientAuthenticationSettingsError { + fn code(&self) -> Option<&str> { + DescribeClientAuthenticationSettingsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DescribeClientAuthenticationSettingsError { + pub fn new( + kind: DescribeClientAuthenticationSettingsErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeClientAuthenticationSettingsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeClientAuthenticationSettingsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::AccessDeniedException(_) + ) + } + pub fn is_client_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::ClientException(_) + ) + } + pub fn is_directory_does_not_exist_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::DirectoryDoesNotExistException(_) + ) + } + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::InvalidParameterException(_) + ) + } + pub fn is_service_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::ServiceException(_) + ) + } + pub fn is_unsupported_operation_exception(&self) -> bool { + matches!( + &self.kind, + DescribeClientAuthenticationSettingsErrorKind::UnsupportedOperationException(_) + ) + } +} +impl std::error::Error for DescribeClientAuthenticationSettingsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeClientAuthenticationSettingsErrorKind::AccessDeniedException(_inner) => { + Some(_inner) + } + DescribeClientAuthenticationSettingsErrorKind::ClientException(_inner) => Some(_inner), + DescribeClientAuthenticationSettingsErrorKind::DirectoryDoesNotExistException( + _inner, + ) => Some(_inner), + DescribeClientAuthenticationSettingsErrorKind::InvalidParameterException(_inner) => { + Some(_inner) + } + DescribeClientAuthenticationSettingsErrorKind::ServiceException(_inner) => Some(_inner), + DescribeClientAuthenticationSettingsErrorKind::UnsupportedOperationException( + _inner, + ) => Some(_inner), + DescribeClientAuthenticationSettingsErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct DescribeConditionalForwardersError { @@ -7406,7 +7555,7 @@ impl std::error::Error for VerifyTrustError { pub struct UnsupportedOperationException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for UnsupportedOperationException { @@ -7451,7 +7600,7 @@ pub mod unsupported_operation_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7476,13 +7625,13 @@ impl UnsupportedOperationException { } } -///

          An exception has occurred in AWS Directory Service.

          +///

          An exception has occurred in Directory Service.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ServiceException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for ServiceException { @@ -7527,7 +7676,7 @@ pub mod service_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7558,7 +7707,7 @@ impl ServiceException { pub struct InvalidParameterException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidParameterException { @@ -7603,7 +7752,7 @@ pub mod invalid_parameter_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7634,7 +7783,7 @@ impl InvalidParameterException { pub struct EntityDoesNotExistException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for EntityDoesNotExistException { @@ -7679,7 +7828,7 @@ pub mod entity_does_not_exist_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7710,7 +7859,7 @@ impl EntityDoesNotExistException { pub struct ClientException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for ClientException { @@ -7755,7 +7904,7 @@ pub mod client_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7780,13 +7929,14 @@ impl ClientException { } } -///

          The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.

          +///

          The maximum allowed number of domain controllers per directory was exceeded. The +/// default limit per directory is 20 domain controllers.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DomainControllerLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DomainControllerLimitExceededException { @@ -7831,7 +7981,7 @@ pub mod domain_controller_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7862,7 +8012,7 @@ impl DomainControllerLimitExceededException { pub struct DirectoryUnavailableException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryUnavailableException { @@ -7907,7 +8057,7 @@ pub mod directory_unavailable_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -7938,7 +8088,7 @@ impl DirectoryUnavailableException { pub struct InvalidTargetException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidTargetException { @@ -7983,7 +8133,7 @@ pub mod invalid_target_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8008,13 +8158,13 @@ impl InvalidTargetException { } } -///

          The specified directory has not been shared with this AWS account.

          +///

          The specified directory has not been shared with this Amazon Web Services account.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DirectoryNotSharedException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryNotSharedException { @@ -8059,7 +8209,7 @@ pub mod directory_not_shared_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8085,14 +8235,14 @@ impl DirectoryNotSharedException { } ///

          The maximum number of manual snapshots for the directory has been reached. You can -/// use the GetSnapshotLimits operation to determine the snapshot limits for a -/// directory.

          +/// use the GetSnapshotLimits operation to determine the snapshot limits +/// for a directory.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SnapshotLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for SnapshotLimitExceededException { @@ -8137,7 +8287,7 @@ pub mod snapshot_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8162,13 +8312,14 @@ impl SnapshotLimitExceededException { } } -///

          The maximum number of AWS accounts that you can share with this directory has been reached.

          +///

          The maximum number of Amazon Web Services accounts that you can share with this directory has been +/// reached.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ShareLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for ShareLimitExceededException { @@ -8213,7 +8364,7 @@ pub mod share_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8238,13 +8389,13 @@ impl ShareLimitExceededException { } } -///

          Exception encountered while trying to access your AWS organization.

          +///

          Exception encountered while trying to access your Amazon Web Services organization.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct OrganizationsException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for OrganizationsException { @@ -8289,7 +8440,7 @@ pub mod organizations_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8314,13 +8465,13 @@ impl OrganizationsException { } } -///

          The specified directory has already been shared with this AWS account.

          +///

          The specified directory has already been shared with this Amazon Web Services account.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DirectoryAlreadySharedException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryAlreadySharedException { @@ -8365,7 +8516,7 @@ pub mod directory_already_shared_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8396,7 +8547,7 @@ impl DirectoryAlreadySharedException { pub struct AccessDeniedException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for AccessDeniedException { @@ -8441,7 +8592,7 @@ pub mod access_denied_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8472,7 +8623,7 @@ impl AccessDeniedException { pub struct UserDoesNotExistException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for UserDoesNotExistException { @@ -8517,7 +8668,7 @@ pub mod user_does_not_exist_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8542,13 +8693,14 @@ impl UserDoesNotExistException { } } -///

          The new password provided by the user does not meet the password complexity requirements defined in your directory.

          +///

          The new password provided by the user does not meet the password complexity +/// requirements defined in your directory.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InvalidPasswordException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidPasswordException { @@ -8593,7 +8745,7 @@ pub mod invalid_password_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8624,7 +8776,7 @@ impl InvalidPasswordException { pub struct DirectoryDoesNotExistException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryDoesNotExistException { @@ -8669,7 +8821,7 @@ pub mod directory_does_not_exist_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8700,7 +8852,7 @@ impl DirectoryDoesNotExistException { pub struct InvalidCertificateException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidCertificateException { @@ -8745,7 +8897,7 @@ pub mod invalid_certificate_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8776,7 +8928,7 @@ impl InvalidCertificateException { pub struct CertificateLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for CertificateLimitExceededException { @@ -8821,7 +8973,7 @@ pub mod certificate_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8852,7 +9004,7 @@ impl CertificateLimitExceededException { pub struct CertificateAlreadyExistsException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for CertificateAlreadyExistsException { @@ -8897,7 +9049,7 @@ pub mod certificate_already_exists_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -8928,7 +9080,7 @@ impl CertificateAlreadyExistsException { pub struct InvalidNextTokenException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidNextTokenException { @@ -8973,7 +9125,7 @@ pub mod invalid_next_token_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9004,7 +9156,7 @@ impl InvalidNextTokenException { pub struct InsufficientPermissionsException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InsufficientPermissionsException { @@ -9049,7 +9201,7 @@ pub mod insufficient_permissions_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9156,7 +9308,7 @@ impl AuthenticationFailedException { pub struct EntityAlreadyExistsException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for EntityAlreadyExistsException { @@ -9201,7 +9353,7 @@ pub mod entity_already_exists_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9233,7 +9385,7 @@ impl EntityAlreadyExistsException { pub struct NoAvailableCertificateException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for NoAvailableCertificateException { @@ -9278,7 +9430,7 @@ pub mod no_available_certificate_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9310,7 +9462,7 @@ impl NoAvailableCertificateException { pub struct InvalidLdapsStatusException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidLdapsStatusException { @@ -9358,7 +9510,7 @@ pub mod invalid_ldaps_status_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9389,7 +9541,7 @@ impl InvalidLdapsStatusException { pub struct InvalidClientAuthStatusException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for InvalidClientAuthStatusException { @@ -9434,7 +9586,7 @@ pub mod invalid_client_auth_status_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9465,7 +9617,7 @@ impl InvalidClientAuthStatusException { pub struct CertificateDoesNotExistException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for CertificateDoesNotExistException { @@ -9510,7 +9662,7 @@ pub mod certificate_does_not_exist_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9542,7 +9694,7 @@ impl CertificateDoesNotExistException { pub struct CertificateInUseException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for CertificateInUseException { @@ -9587,7 +9739,7 @@ pub mod certificate_in_use_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9613,14 +9765,14 @@ impl CertificateInUseException { } ///

          The maximum number of directories in the region has been reached. You can use the -/// GetDirectoryLimits operation to determine your directory limits in the -/// region.

          +/// GetDirectoryLimits operation to determine your directory limits in +/// the region.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DirectoryLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryLimitExceededException { @@ -9665,7 +9817,7 @@ pub mod directory_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9696,7 +9848,7 @@ impl DirectoryLimitExceededException { pub struct TagLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for TagLimitExceededException { @@ -9741,7 +9893,7 @@ pub mod tag_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9773,7 +9925,7 @@ impl TagLimitExceededException { pub struct RegionLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for RegionLimitExceededException { @@ -9818,7 +9970,7 @@ pub mod region_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9843,14 +9995,14 @@ impl RegionLimitExceededException { } } -///

          The Region you specified is the same Region where the AWS Managed Microsoft AD directory +///

          The Region you specified is the same Region where the Managed Microsoft AD directory /// was created. Specify a different Region and try again.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DirectoryAlreadyInRegionException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for DirectoryAlreadyInRegionException { @@ -9895,7 +10047,7 @@ pub mod directory_already_in_region_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -9920,13 +10072,14 @@ impl DirectoryAlreadyInRegionException { } } -///

          The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP address blocks.

          +///

          The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP +/// address blocks.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IpRouteLimitExceededException { ///

          The descriptive message for the exception.

          pub message: std::option::Option, - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub request_id: std::option::Option, } impl std::fmt::Debug for IpRouteLimitExceededException { @@ -9971,7 +10124,7 @@ pub mod ip_route_limit_exceeded_exception { self.message = input; self } - ///

          The AWS request identifier.

          + ///

          The Amazon Web Services request identifier.

          pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self diff --git a/sdk/directory/src/error_meta.rs b/sdk/directory/src/error_meta.rs index cbe6ae0c58d8..7f0f19e52a43 100644 --- a/sdk/directory/src/error_meta.rs +++ b/sdk/directory/src/error_meta.rs @@ -657,6 +657,26 @@ impl From> } } } +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::DescribeClientAuthenticationSettingsErrorKind::AccessDeniedException(inner) => Error::AccessDeniedException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::ClientException(inner) => Error::ClientException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::DirectoryDoesNotExistException(inner) => Error::DirectoryDoesNotExistException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::InvalidParameterException(inner) => Error::InvalidParameterException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::ServiceException(inner) => Error::ServiceException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::UnsupportedOperationException(inner) => Error::UnsupportedOperationException(inner), + crate::error::DescribeClientAuthenticationSettingsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { diff --git a/sdk/directory/src/input.rs b/sdk/directory/src/input.rs index 4e1ac0b76bad..50941fa1756b 100644 --- a/sdk/directory/src/input.rs +++ b/sdk/directory/src/input.rs @@ -176,9 +176,9 @@ pub mod add_ip_routes_input { self.ip_routes = input; self } - ///

          If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for directory ID directory controllers." - /// Following are the new rules: - ///

          + ///

          If set to true, updates the inbound and outbound rules of the security group that has + /// the description: "Amazon Web Services created security group for directory ID + /// directory controllers." Following are the new rules:

          ///

          Inbound:

          ///
            ///
          • @@ -215,10 +215,12 @@ pub mod add_ip_routes_input { ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: + /// 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: + /// 0.0.0.0/0

            ///
          • ///
          • ///

            Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

            @@ -240,7 +242,8 @@ pub mod add_ip_routes_input { ///

            Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

            ///
          • ///
          - ///

          These security rules impact an internal network interface that is not exposed publicly.

          + ///

          These security rules impact an internal network interface that is not exposed + /// publicly.

          pub fn update_security_group_for_directory_controllers(mut self, input: bool) -> Self { self.update_security_group_for_directory_controllers = Some(input); self @@ -858,7 +861,7 @@ pub mod connect_directory_input { pub(crate) tags: std::option::Option>, } impl Builder { - ///

          The fully qualified name of the on-premises directory, such as + ///

          The fully qualified name of your self-managed directory, such as /// corp.example.com.

          pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); @@ -868,7 +871,7 @@ pub mod connect_directory_input { self.name = input; self } - ///

          The NetBIOS name of the on-premises directory, such as CORP.

          + ///

          The NetBIOS name of your self-managed directory, such as CORP.

          pub fn short_name(mut self, input: impl Into) -> Self { self.short_name = Some(input.into()); self @@ -877,7 +880,7 @@ pub mod connect_directory_input { self.short_name = input; self } - ///

          The password for the on-premises user account.

          + ///

          The password for your self-managed user account.

          pub fn password(mut self, input: impl Into) -> Self { self.password = Some(input.into()); self @@ -1076,7 +1079,7 @@ pub mod create_alias_input { self } ///

          The requested alias.

          - ///

          The alias must be unique amongst all aliases in AWS. This operation throws an + ///

          The alias must be unique amongst all aliases in Amazon Web Services. This operation throws an /// EntityAlreadyExistsException error if the alias already exists.

          pub fn alias(mut self, input: impl Into) -> Self { self.alias = Some(input.into()); @@ -1412,7 +1415,8 @@ pub mod create_conditional_forwarder_input { pub(crate) dns_ip_addrs: std::option::Option>, } impl Builder { - ///

          The directory ID of the AWS directory for which you are creating the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which you are creating the conditional + /// forwarder.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -1421,7 +1425,8 @@ pub mod create_conditional_forwarder_input { self.directory_id = input; self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -1981,7 +1986,7 @@ pub mod create_microsoft_ad_input { pub(crate) tags: std::option::Option>, } impl Builder { - ///

          The fully qualified domain name for the AWS Managed Microsoft AD directory, such as + ///

          The fully qualified domain name for the Managed Microsoft AD directory, such as /// corp.example.com. This name will resolve inside your VPC only. It does not need /// to be publicly resolvable.

          pub fn name(mut self, input: impl Into) -> Self { @@ -1992,7 +1997,9 @@ pub mod create_microsoft_ad_input { self.name = input; self } - ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

          + ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a + /// NetBIOS name, it will default to the first part of your directory DNS. For example, + /// CORP for the directory DNS corp.example.com.

          pub fn short_name(mut self, input: impl Into) -> Self { self.short_name = Some(input.into()); self @@ -2011,7 +2018,8 @@ pub mod create_microsoft_ad_input { self.password = input; self } - ///

          A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

          + ///

          A description for the directory. This label will appear on the Amazon Web Services console + /// Directory Details page after the directory is created.

          pub fn description(mut self, input: impl Into) -> Self { self.description = Some(input.into()); self @@ -2032,7 +2040,8 @@ pub mod create_microsoft_ad_input { self.vpc_settings = input; self } - ///

          AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

          + ///

          Managed Microsoft AD is available in two editions: Standard and + /// Enterprise. Enterprise is the default.

          pub fn edition(mut self, input: crate::model::DirectoryEdition) -> Self { self.edition = Some(input); self @@ -2349,7 +2358,8 @@ pub mod create_trust_input { pub(crate) selective_auth: std::option::Option, } impl Builder { - ///

          The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

          + ///

          The Directory ID of the Managed Microsoft AD directory for which to establish the trust + /// relationship.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -2358,7 +2368,8 @@ pub mod create_trust_input { self.directory_id = input; self } - ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

          + ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the + /// trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -2370,7 +2381,8 @@ pub mod create_trust_input { self.remote_domain_name = input; self } - ///

          The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

          + ///

          The trust password. The must be the same password that was used when creating the trust + /// relationship on the external domain.

          pub fn trust_password(mut self, input: impl Into) -> Self { self.trust_password = Some(input.into()); self @@ -2578,7 +2590,8 @@ pub mod delete_conditional_forwarder_input { self.directory_id = input; self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting + /// the conditional forwarder.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -3445,7 +3458,8 @@ pub mod deregister_event_topic_input { pub(crate) topic_name: std::option::Option, } impl Builder { - ///

          The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

          + ///

          The Directory ID to remove as a publisher. This directory will no longer send messages + /// to the specified Amazon SNS topic.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -3454,7 +3468,8 @@ pub mod deregister_event_topic_input { self.directory_id = input; self } - ///

          The name of the SNS topic from which to remove the directory as a publisher.

          + ///

          The name of the Amazon SNS topic from which to remove the directory as a + /// publisher.

          pub fn topic_name(mut self, input: impl Into) -> Self { self.topic_name = Some(input.into()); self @@ -3738,6 +3753,186 @@ impl DescribeCertificateInput { } } +/// See [`DescribeClientAuthenticationSettingsInput`](crate::input::DescribeClientAuthenticationSettingsInput) +pub mod describe_client_authentication_settings_input { + /// A builder for [`DescribeClientAuthenticationSettingsInput`](crate::input::DescribeClientAuthenticationSettingsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) directory_id: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) limit: std::option::Option, + } + impl Builder { + ///

          The identifier of the directory for which to retrieve information.

          + pub fn directory_id(mut self, input: impl Into) -> Self { + self.directory_id = Some(input.into()); + self + } + pub fn set_directory_id(mut self, input: std::option::Option) -> Self { + self.directory_id = input; + self + } + ///

          The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

          + pub fn r#type(mut self, input: crate::model::ClientAuthenticationType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

          The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + pub fn limit(mut self, input: i32) -> Self { + self.limit = Some(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.limit = input; + self + } + /// Consumes the builder and constructs a [`DescribeClientAuthenticationSettingsInput`](crate::input::DescribeClientAuthenticationSettingsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeClientAuthenticationSettingsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeClientAuthenticationSettingsInput { + directory_id: self.directory_id, + r#type: self.r#type, + next_token: self.next_token, + limit: self.limit, + }) + } + } +} +#[doc(hidden)] +pub type DescribeClientAuthenticationSettingsInputOperationOutputAlias = + crate::operation::DescribeClientAuthenticationSettings; +#[doc(hidden)] +pub type DescribeClientAuthenticationSettingsInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl DescribeClientAuthenticationSettingsInput { + /// Consumes the builder and constructs an Operation<[`DescribeClientAuthenticationSettings`](crate::operation::DescribeClientAuthenticationSettings)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeClientAuthenticationSettings, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_describe_client_authentication_settings( + &self, + ) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeClientAuthenticationSettings::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeClientAuthenticationSettings", + "directoryservice", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "DirectoryService_20150416.DescribeClientAuthenticationSettings", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeClientAuthenticationSettingsInput`](crate::input::DescribeClientAuthenticationSettingsInput) + pub fn builder() -> crate::input::describe_client_authentication_settings_input::Builder { + crate::input::describe_client_authentication_settings_input::Builder::default() + } +} + /// See [`DescribeConditionalForwardersInput`](crate::input::DescribeConditionalForwardersInput) pub mod describe_conditional_forwarders_input { /// A builder for [`DescribeConditionalForwardersInput`](crate::input::DescribeConditionalForwardersInput) @@ -3748,7 +3943,8 @@ pub mod describe_conditional_forwarders_input { pub(crate) remote_domain_names: std::option::Option>, } impl Builder { - ///

          The directory ID for which to get the list of associated conditional forwarders.

          + ///

          The directory ID for which to get the list of associated conditional + /// forwarders.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -4072,7 +4268,8 @@ pub mod describe_domain_controllers_input { pub(crate) limit: std::option::Option, } impl Builder { - ///

          Identifier of the directory for which to retrieve the domain controller information.

          + ///

          Identifier of the directory for which to retrieve the domain controller + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -4094,7 +4291,9 @@ pub mod describe_domain_controllers_input { self.domain_controller_ids = input; self } - ///

          The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

          + ///

          The DescribeDomainControllers.NextToken value from a previous call + /// to DescribeDomainControllers. Pass null if this is the first call. + ///

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -4247,7 +4446,8 @@ pub mod describe_event_topics_input { pub(crate) topic_names: std::option::Option>, } impl Builder { - ///

          The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

          + ///

          The Directory ID for which to get the list of associated Amazon SNS topics. If this member + /// is null, associations for all Directory IDs are returned.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -5094,7 +5294,8 @@ pub mod describe_trusts_input { pub(crate) limit: std::option::Option, } impl Builder { - ///

          The Directory ID of the AWS directory that is a part of the requested trust relationship.

          + ///

          The Directory ID of the Amazon Web Services directory that is a part of the requested trust + /// relationship.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -5719,11 +5920,14 @@ pub mod disable_sso_input { self.directory_id = input; self } - ///

          The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

          - ///

          If the AD Connector service account does not have privileges to remove a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to disable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + ///

          The username of an alternate account to use to disable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to remove a service + /// principal name.

          + ///

          If the AD Connector service account does not have privileges to remove a service + /// principal name, you can specify an alternate account with the UserName + /// and Password parameters. These credentials are only used to disable + /// single sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub fn user_name(mut self, input: impl Into) -> Self { self.user_name = Some(input.into()); self @@ -5733,7 +5937,8 @@ pub mod disable_sso_input { self } ///

          The password of an alternate account to use to disable single-sign on. This is only used - /// for AD Connector directories. For more information, see the UserName parameter.

          + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub fn password(mut self, input: impl Into) -> Self { self.password = Some(input.into()); self @@ -5884,7 +6089,7 @@ pub mod enable_client_authentication_input { } ///

          The type of client authentication to enable. Currently only the value SmartCard is /// supported. Smart card authentication in AD Connector requires that you enable Kerberos - /// Constrained Delegation for the Service User to the LDAP service in the on-premises AD. + /// Constrained Delegation for the Service User to the LDAP service in your self-managed AD. ///

          pub fn r#type(mut self, input: crate::model::ClientAuthenticationType) -> Self { self.r#type = Some(input); @@ -6189,7 +6394,8 @@ pub mod enable_radius_input { self.directory_id = input; self } - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub fn radius_settings(mut self, input: crate::model::RadiusSettings) -> Self { self.radius_settings = Some(input); self @@ -6341,11 +6547,14 @@ pub mod enable_sso_input { self.directory_id = input; self } - ///

          The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

          + ///

          The username of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to add a service principal + /// name.

          ///

          If the AD Connector service account does not have privileges to add a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to enable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + /// name, you can specify an alternate account with the UserName and + /// Password parameters. These credentials are only used to enable single + /// sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub fn user_name(mut self, input: impl Into) -> Self { self.user_name = Some(input.into()); self @@ -6354,8 +6563,9 @@ pub mod enable_sso_input { self.user_name = input; self } - ///

          The password of an alternate account to use to enable single-sign on. This is only used for - /// AD Connector directories. For more information, see the UserName parameter.

          + ///

          The password of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub fn password(mut self, input: impl Into) -> Self { self.password = Some(input.into()); self @@ -6922,7 +7132,8 @@ pub mod list_ip_routes_input { pub(crate) limit: std::option::Option, } impl Builder { - ///

          Identifier (ID) of the directory for which you want to retrieve the IP addresses.

          + ///

          Identifier (ID) of the directory for which you want to retrieve the IP + /// addresses.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -6931,8 +7142,7 @@ pub mod list_ip_routes_input { self.directory_id = input; self } - ///

          The ListIpRoutes.NextToken value from a previous call to - /// ListIpRoutes. Pass null if this is the first call.

          + ///

          The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -6941,7 +7151,8 @@ pub mod list_ip_routes_input { self.next_token = input; self } - ///

          Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + ///

          Maximum number of items to return. If this value is zero, the maximum number of items + /// is specified by the limitations of the operation.

          pub fn limit(mut self, input: i32) -> Self { self.limit = Some(input); self @@ -7084,8 +7295,8 @@ pub mod list_log_subscriptions_input { impl Builder { ///

          If a DirectoryID is provided, lists only the log subscription /// associated with that directory. If no DirectoryId is provided, lists all - /// log subscriptions associated with your AWS account. If there are no log subscriptions for the - /// AWS account or the directory, an empty list will be returned.

          + /// log subscriptions associated with your Amazon Web Services account. If there are no log subscriptions for the + /// Amazon Web Services account or the directory, an empty list will be returned.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -7246,7 +7457,8 @@ pub mod list_schema_extensions_input { pub(crate) limit: std::option::Option, } impl Builder { - ///

          The identifier of the directory from which to retrieve the schema extension information.

          + ///

          The identifier of the directory from which to retrieve the schema extension + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -7255,7 +7467,8 @@ pub mod list_schema_extensions_input { self.directory_id = input; self } - ///

          The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

          + ///

          The ListSchemaExtensions.NextToken value from a previous call to + /// ListSchemaExtensions. Pass null if this is the first call.

          pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -7752,7 +7965,7 @@ pub mod register_event_topic_input { pub(crate) topic_name: std::option::Option, } impl Builder { - ///

          The Directory ID that will publish status messages to the SNS topic.

          + ///

          The Directory ID that will publish status messages to the Amazon SNS topic.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -7761,7 +7974,8 @@ pub mod register_event_topic_input { self.directory_id = input; self } - ///

          The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

          + ///

          The Amazon SNS topic name to which the directory will publish status messages. This Amazon SNS + /// topic must be in the same region as the specified Directory ID.

          pub fn topic_name(mut self, input: impl Into) -> Self { self.topic_name = Some(input.into()); self @@ -8045,7 +8259,8 @@ pub mod remove_ip_routes_input { pub(crate) cidr_ips: std::option::Option>, } impl Builder { - ///

          Identifier (ID) of the directory from which you want to remove the IP addresses.

          + ///

          Identifier (ID) of the directory from which you want to remove the IP + /// addresses.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -8490,7 +8705,7 @@ pub mod reset_user_password_input { pub(crate) new_password: std::option::Option, } impl Builder { - ///

          Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user + ///

          Identifier of the Managed Microsoft AD or Simple AD directory in which the user /// resides.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); @@ -8792,8 +9007,7 @@ pub mod share_directory_input { pub(crate) share_method: std::option::Option, } impl Builder { - ///

          Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS - /// accounts.

          + ///

          Identifier of the Managed Microsoft AD directory that you want to share with other Amazon Web Services accounts.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -8827,7 +9041,7 @@ pub mod share_directory_input { self } ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a directory sharing request (HANDSHAKE).

          pub fn share_method(mut self, input: crate::model::ShareMethod) -> Self { self.share_method = Some(input); @@ -8975,7 +9189,8 @@ pub mod start_schema_extension_input { pub(crate) description: std::option::Option, } impl Builder { - ///

          The identifier of the directory for which the schema extension will be applied to.

          + ///

          The identifier of the directory for which the schema extension will be applied + /// to.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -8984,7 +9199,8 @@ pub mod start_schema_extension_input { self.directory_id = input; self } - ///

          If true, creates a snapshot of the directory before applying the schema extension.

          + ///

          If true, creates a snapshot of the directory before applying the schema + /// extension.

          pub fn create_snapshot_before_schema_extension(mut self, input: bool) -> Self { self.create_snapshot_before_schema_extension = Some(input); self @@ -8996,7 +9212,9 @@ pub mod start_schema_extension_input { self.create_snapshot_before_schema_extension = input; self } - ///

          The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.

          + ///

          The LDIF file represented as a string. To construct the LdifContent string, precede + /// each line as it would be formatted in an ldif file with \n. See the example request below for + /// more details. The file size can be no larger than 1MB.

          pub fn ldif_content(mut self, input: impl Into) -> Self { self.ldif_content = Some(input.into()); self @@ -9150,7 +9368,7 @@ pub mod unshare_directory_input { pub(crate) unshare_target: std::option::Option, } impl Builder { - ///

          The identifier of the AWS Managed Microsoft AD directory that you want to stop + ///

          The identifier of the Managed Microsoft AD directory that you want to stop /// sharing.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); @@ -9305,7 +9523,8 @@ pub mod update_conditional_forwarder_input { pub(crate) dns_ip_addrs: std::option::Option>, } impl Builder { - ///

          The directory ID of the AWS directory for which to update the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which to update the conditional + /// forwarder.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -9314,7 +9533,8 @@ pub mod update_conditional_forwarder_input { self.directory_id = input; self } - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -9474,7 +9694,8 @@ pub mod update_number_of_domain_controllers_input { pub(crate) desired_number: std::option::Option, } impl Builder { - ///

          Identifier of the directory to which the domain controllers will be added or removed.

          + ///

          Identifier of the directory to which the domain controllers will be added or + /// removed.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -9628,7 +9849,8 @@ pub mod update_radius_input { pub(crate) radius_settings: std::option::Option, } impl Builder { - ///

          The identifier of the directory for which to update the RADIUS server information.

          + ///

          The identifier of the directory for which to update the RADIUS server + /// information.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -9637,7 +9859,8 @@ pub mod update_radius_input { self.directory_id = input; self } - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub fn radius_settings(mut self, input: crate::model::RadiusSettings) -> Self { self.radius_settings = Some(input); self @@ -10057,7 +10280,8 @@ impl VerifyTrustInput { } } -///

          Initiates the verification of an existing trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          +///

          Initiates the verification of an existing trust relationship between an Managed Microsoft AD +/// directory and an external domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct VerifyTrustInput { @@ -10093,9 +10317,11 @@ impl std::fmt::Debug for UpdateTrustInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateRadiusInput { - ///

          The identifier of the directory for which to update the RADIUS server information.

          + ///

          The identifier of the directory for which to update the RADIUS server + /// information.

          pub directory_id: std::option::Option, - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub radius_settings: std::option::Option, } impl std::fmt::Debug for UpdateRadiusInput { @@ -10110,7 +10336,8 @@ impl std::fmt::Debug for UpdateRadiusInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateNumberOfDomainControllersInput { - ///

          Identifier of the directory to which the domain controllers will be added or removed.

          + ///

          Identifier of the directory to which the domain controllers will be added or + /// removed.

          pub directory_id: std::option::Option, ///

          The number of domain controllers desired in the directory.

          pub desired_number: i32, @@ -10128,11 +10355,14 @@ impl std::fmt::Debug for UpdateNumberOfDomainControllersInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateConditionalForwarderInput { - ///

          The directory ID of the AWS directory for which to update the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which to update the conditional + /// forwarder.

          pub directory_id: std::option::Option, - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub remote_domain_name: std::option::Option, - ///

          The updated IP addresses of the remote DNS server associated with the conditional forwarder.

          + ///

          The updated IP addresses of the remote DNS server associated with the conditional + /// forwarder.

          pub dns_ip_addrs: std::option::Option>, } impl std::fmt::Debug for UpdateConditionalForwarderInput { @@ -10148,7 +10378,7 @@ impl std::fmt::Debug for UpdateConditionalForwarderInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UnshareDirectoryInput { - ///

          The identifier of the AWS Managed Microsoft AD directory that you want to stop + ///

          The identifier of the Managed Microsoft AD directory that you want to stop /// sharing.

          pub directory_id: std::option::Option, ///

          Identifier for the directory consumer account with whom the directory has to be @@ -10167,11 +10397,15 @@ impl std::fmt::Debug for UnshareDirectoryInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartSchemaExtensionInput { - ///

          The identifier of the directory for which the schema extension will be applied to.

          + ///

          The identifier of the directory for which the schema extension will be applied + /// to.

          pub directory_id: std::option::Option, - ///

          If true, creates a snapshot of the directory before applying the schema extension.

          + ///

          If true, creates a snapshot of the directory before applying the schema + /// extension.

          pub create_snapshot_before_schema_extension: bool, - ///

          The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.

          + ///

          The LDIF file represented as a string. To construct the LdifContent string, precede + /// each line as it would be formatted in an ldif file with \n. See the example request below for + /// more details. The file size can be no larger than 1MB.

          pub ldif_content: std::option::Option, ///

          A description of the schema extension.

          pub description: std::option::Option, @@ -10193,8 +10427,7 @@ impl std::fmt::Debug for StartSchemaExtensionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ShareDirectoryInput { - ///

          Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS - /// accounts.

          + ///

          Identifier of the Managed Microsoft AD directory that you want to share with other Amazon Web Services accounts.

          pub directory_id: std::option::Option, ///

          A directory share request that is sent by the directory owner to the directory consumer. /// The request includes a typed message to help the directory consumer administrator determine @@ -10204,7 +10437,7 @@ pub struct ShareDirectoryInput { /// shared.

          pub share_target: std::option::Option, ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a directory sharing request (HANDSHAKE).

          pub share_method: std::option::Option, } @@ -10237,7 +10470,7 @@ impl std::fmt::Debug for RestoreFromSnapshotInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResetUserPasswordInput { - ///

          Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user + ///

          Identifier of the Managed Microsoft AD or Simple AD directory in which the user /// resides.

          pub directory_id: std::option::Option, ///

          The user name of the user whose password will be reset.

          @@ -10289,7 +10522,8 @@ impl std::fmt::Debug for RemoveRegionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RemoveIpRoutesInput { - ///

          Identifier (ID) of the directory from which you want to remove the IP addresses.

          + ///

          Identifier (ID) of the directory from which you want to remove the IP + /// addresses.

          pub directory_id: std::option::Option, ///

          IP address blocks that you want to remove.

          pub cidr_ips: std::option::Option>, @@ -10322,9 +10556,10 @@ impl std::fmt::Debug for RejectSharedDirectoryInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegisterEventTopicInput { - ///

          The Directory ID that will publish status messages to the SNS topic.

          + ///

          The Directory ID that will publish status messages to the Amazon SNS topic.

          pub directory_id: std::option::Option, - ///

          The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

          + ///

          The Amazon SNS topic name to which the directory will publish status messages. This Amazon SNS + /// topic must be in the same region as the specified Directory ID.

          pub topic_name: std::option::Option, } impl std::fmt::Debug for RegisterEventTopicInput { @@ -10382,9 +10617,11 @@ impl std::fmt::Debug for ListTagsForResourceInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListSchemaExtensionsInput { - ///

          The identifier of the directory from which to retrieve the schema extension information.

          + ///

          The identifier of the directory from which to retrieve the schema extension + /// information.

          pub directory_id: std::option::Option, - ///

          The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

          + ///

          The ListSchemaExtensions.NextToken value from a previous call to + /// ListSchemaExtensions. Pass null if this is the first call.

          pub next_token: std::option::Option, ///

          The maximum number of items to return.

          pub limit: std::option::Option, @@ -10404,8 +10641,8 @@ impl std::fmt::Debug for ListSchemaExtensionsInput { pub struct ListLogSubscriptionsInput { ///

          If a DirectoryID is provided, lists only the log subscription /// associated with that directory. If no DirectoryId is provided, lists all - /// log subscriptions associated with your AWS account. If there are no log subscriptions for the - /// AWS account or the directory, an empty list will be returned.

          + /// log subscriptions associated with your Amazon Web Services account. If there are no log subscriptions for the + /// Amazon Web Services account or the directory, an empty list will be returned.

          pub directory_id: std::option::Option, ///

          The token for the next set of items to return.

          pub next_token: std::option::Option, @@ -10425,12 +10662,13 @@ impl std::fmt::Debug for ListLogSubscriptionsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListIpRoutesInput { - ///

          Identifier (ID) of the directory for which you want to retrieve the IP addresses.

          + ///

          Identifier (ID) of the directory for which you want to retrieve the IP + /// addresses.

          pub directory_id: std::option::Option, - ///

          The ListIpRoutes.NextToken value from a previous call to - /// ListIpRoutes. Pass null if this is the first call.

          + ///

          The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

          pub next_token: std::option::Option, - ///

          Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + ///

          Maximum number of items to return. If this value is zero, the maximum number of items + /// is specified by the limitations of the operation.

          pub limit: std::option::Option, } impl std::fmt::Debug for ListIpRoutesInput { @@ -10498,14 +10736,18 @@ impl std::fmt::Debug for GetDirectoryLimitsInput { pub struct EnableSsoInput { ///

          The identifier of the directory for which to enable single-sign on.

          pub directory_id: std::option::Option, - ///

          The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

          + ///

          The username of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to add a service principal + /// name.

          ///

          If the AD Connector service account does not have privileges to add a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to enable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + /// name, you can specify an alternate account with the UserName and + /// Password parameters. These credentials are only used to enable single + /// sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub user_name: std::option::Option, - ///

          The password of an alternate account to use to enable single-sign on. This is only used for - /// AD Connector directories. For more information, see the UserName parameter.

          + ///

          The password of an alternate account to use to enable single-sign on. This is only used + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub password: std::option::Option, } impl std::fmt::Debug for EnableSsoInput { @@ -10524,7 +10766,8 @@ impl std::fmt::Debug for EnableSsoInput { pub struct EnableRadiusInput { ///

          The identifier of the directory for which to enable MFA.

          pub directory_id: std::option::Option, - ///

          A RadiusSettings object that contains information about the RADIUS server.

          + ///

          A RadiusSettings object that contains information about the RADIUS + /// server.

          pub radius_settings: std::option::Option, } impl std::fmt::Debug for EnableRadiusInput { @@ -10561,7 +10804,7 @@ pub struct EnableClientAuthenticationInput { pub directory_id: std::option::Option, ///

          The type of client authentication to enable. Currently only the value SmartCard is /// supported. Smart card authentication in AD Connector requires that you enable Kerberos - /// Constrained Delegation for the Service User to the LDAP service in the on-premises AD. + /// Constrained Delegation for the Service User to the LDAP service in your self-managed AD. ///

          pub r#type: std::option::Option, } @@ -10580,14 +10823,18 @@ impl std::fmt::Debug for EnableClientAuthenticationInput { pub struct DisableSsoInput { ///

          The identifier of the directory for which to disable single-sign on.

          pub directory_id: std::option::Option, - ///

          The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

          - ///

          If the AD Connector service account does not have privileges to remove a service principal - /// name, you can specify an alternate account with the UserName and Password - /// parameters. These credentials are only used to disable single sign-on and are not stored by - /// the service. The AD Connector service account is not changed.

          + ///

          The username of an alternate account to use to disable single-sign on. This is only used + /// for AD Connector directories. This account must have privileges to remove a service + /// principal name.

          + ///

          If the AD Connector service account does not have privileges to remove a service + /// principal name, you can specify an alternate account with the UserName + /// and Password parameters. These credentials are only used to disable + /// single sign-on and are not stored by the service. The AD Connector service account is not + /// changed.

          pub user_name: std::option::Option, ///

          The password of an alternate account to use to disable single-sign on. This is only used - /// for AD Connector directories. For more information, see the UserName parameter.

          + /// for AD Connector directories. For more information, see the UserName + /// parameter.

          pub password: std::option::Option, } impl std::fmt::Debug for DisableSsoInput { @@ -10650,13 +10897,18 @@ impl std::fmt::Debug for DisableClientAuthenticationInput { } } -///

          Describes the trust relationships for a particular AWS Managed Microsoft AD directory. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

          +///

          Describes the trust relationships for a particular Managed Microsoft AD directory. If no input +/// parameters are provided, such as directory ID or trust ID, this request describes all the +/// trust relationships.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeTrustsInput { - ///

          The Directory ID of the AWS directory that is a part of the requested trust relationship.

          + ///

          The Directory ID of the Amazon Web Services directory that is a part of the requested trust + /// relationship.

          pub directory_id: std::option::Option, - ///

          A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

          + ///

          A list of identifiers of the trust relationships for which to obtain the information. If + /// this member is null, all trust relationships that belong to the current account are + /// returned.

          ///

          An empty list results in an InvalidParameterException being thrown.

          pub trust_ids: std::option::Option>, ///

          The DescribeTrustsResult.NextToken value from a previous call to @@ -10775,10 +11027,13 @@ impl std::fmt::Debug for DescribeLdapsSettingsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeEventTopicsInput { - ///

          The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

          + ///

          The Directory ID for which to get the list of associated Amazon SNS topics. If this member + /// is null, associations for all Directory IDs are returned.

          pub directory_id: std::option::Option, - ///

          A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

          - ///

          An empty list results in an InvalidParameterException being thrown.

          + ///

          A list of Amazon SNS topic names for which to obtain the information. If this member is + /// null, all associations for the specified Directory ID are returned.

          + ///

          An empty list results in an InvalidParameterException being + /// thrown.

          pub topic_names: std::option::Option>, } impl std::fmt::Debug for DescribeEventTopicsInput { @@ -10793,11 +11048,15 @@ impl std::fmt::Debug for DescribeEventTopicsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeDomainControllersInput { - ///

          Identifier of the directory for which to retrieve the domain controller information.

          + ///

          Identifier of the directory for which to retrieve the domain controller + /// information.

          pub directory_id: std::option::Option, - ///

          A list of identifiers for the domain controllers whose information will be provided.

          + ///

          A list of identifiers for the domain controllers whose information will be + /// provided.

          pub domain_controller_ids: std::option::Option>, - ///

          The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

          + ///

          The DescribeDomainControllers.NextToken value from a previous call + /// to DescribeDomainControllers. Pass null if this is the first call. + ///

          pub next_token: std::option::Option, ///

          The maximum number of items to return.

          pub limit: std::option::Option, @@ -10841,9 +11100,12 @@ impl std::fmt::Debug for DescribeDirectoriesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeConditionalForwardersInput { - ///

          The directory ID for which to get the list of associated conditional forwarders.

          + ///

          The directory ID for which to get the list of associated conditional + /// forwarders.

          pub directory_id: std::option::Option, - ///

          The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

          + ///

          The fully qualified domain names (FQDN) of the remote domains for which to get the list + /// of associated conditional forwarders. If this member is null, all conditional forwarders are + /// returned.

          pub remote_domain_names: std::option::Option>, } impl std::fmt::Debug for DescribeConditionalForwardersInput { @@ -10855,6 +11117,29 @@ impl std::fmt::Debug for DescribeConditionalForwardersInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeClientAuthenticationSettingsInput { + ///

          The identifier of the directory for which to retrieve information.

          + pub directory_id: std::option::Option, + ///

          The type of client authentication for which to retrieve information. If no type is specified, a list of all client authentication types that are supported for the specified directory is retrieved.

          + pub r#type: std::option::Option, + ///

          The DescribeClientAuthenticationSettingsResult.NextToken value from a previous call to DescribeClientAuthenticationSettings. Pass null if this is the first call.

          + pub next_token: std::option::Option, + ///

          The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

          + pub limit: std::option::Option, +} +impl std::fmt::Debug for DescribeClientAuthenticationSettingsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClientAuthenticationSettingsInput"); + formatter.field("directory_id", &self.directory_id); + formatter.field("r#type", &self.r#type); + formatter.field("next_token", &self.next_token); + formatter.field("limit", &self.limit); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeCertificateInput { @@ -10872,13 +11157,15 @@ impl std::fmt::Debug for DescribeCertificateInput { } } -///

          Removes the specified directory as a publisher to the specified SNS topic.

          +///

          Removes the specified directory as a publisher to the specified Amazon SNS topic.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeregisterEventTopicInput { - ///

          The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

          + ///

          The Directory ID to remove as a publisher. This directory will no longer send messages + /// to the specified Amazon SNS topic.

          pub directory_id: std::option::Option, - ///

          The name of the SNS topic from which to remove the directory as a publisher.

          + ///

          The name of the Amazon SNS topic from which to remove the directory as a + /// publisher.

          pub topic_name: std::option::Option, } impl std::fmt::Debug for DeregisterEventTopicInput { @@ -10907,7 +11194,8 @@ impl std::fmt::Debug for DeregisterCertificateInput { } } -///

          Deletes the local side of an existing trust relationship between the AWS Managed Microsoft AD directory and the external domain.

          +///

          Deletes the local side of an existing trust relationship between the Managed Microsoft AD +/// directory and the external domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteTrustInput { @@ -10978,7 +11266,8 @@ impl std::fmt::Debug for DeleteDirectoryInput { pub struct DeleteConditionalForwarderInput { ///

          The directory ID for which you are deleting the conditional forwarder.

          pub directory_id: std::option::Option, - ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you are deleting + /// the conditional forwarder.

          pub remote_domain_name: std::option::Option, } impl std::fmt::Debug for DeleteConditionalForwarderInput { @@ -10990,16 +11279,23 @@ impl std::fmt::Debug for DeleteConditionalForwarderInput { } } -///

          AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

          -///

          This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          +///

          Directory Service for Microsoft Active Directory allows you to configure trust relationships. For +/// example, you can establish a trust between your Managed Microsoft AD directory, and your existing +/// self-managed Microsoft Active Directory. This would allow you to provide users and groups +/// access to resources in either domain, with a single set of credentials.

          +///

          This action initiates the creation of the Amazon Web Services side of a trust relationship between an +/// Managed Microsoft AD directory and an external domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateTrustInput { - ///

          The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

          + ///

          The Directory ID of the Managed Microsoft AD directory for which to establish the trust + /// relationship.

          pub directory_id: std::option::Option, - ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

          + ///

          The Fully Qualified Domain Name (FQDN) of the external domain for which to create the + /// trust relationship.

          pub remote_domain_name: std::option::Option, - ///

          The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

          + ///

          The trust password. The must be the same password that was used when creating the trust + /// relationship on the external domain.

          pub trust_password: std::option::Option, ///

          The direction of the trust relationship.

          pub trust_direction: std::option::Option, @@ -11045,26 +11341,30 @@ impl std::fmt::Debug for CreateSnapshotInput { } } -///

          Creates an AWS Managed Microsoft AD directory.

          +///

          Creates an Managed Microsoft AD directory.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateMicrosoftAdInput { - ///

          The fully qualified domain name for the AWS Managed Microsoft AD directory, such as + ///

          The fully qualified domain name for the Managed Microsoft AD directory, such as /// corp.example.com. This name will resolve inside your VPC only. It does not need /// to be publicly resolvable.

          pub name: std::option::Option, - ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

          + ///

          The NetBIOS name for your domain, such as CORP. If you don't specify a + /// NetBIOS name, it will default to the first part of your directory DNS. For example, + /// CORP for the directory DNS corp.example.com.

          pub short_name: std::option::Option, ///

          The password for the default administrative user named Admin.

          ///

          If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

          pub password: std::option::Option, - ///

          A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

          + ///

          A description for the directory. This label will appear on the Amazon Web Services console + /// Directory Details page after the directory is created.

          pub description: std::option::Option, ///

          Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

          pub vpc_settings: std::option::Option, - ///

          AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

          + ///

          Managed Microsoft AD is available in two editions: Standard and + /// Enterprise. Enterprise is the default.

          pub edition: std::option::Option, - ///

          The tags to be assigned to the AWS Managed Microsoft AD directory.

          + ///

          The tags to be assigned to the Managed Microsoft AD directory.

          pub tags: std::option::Option>, } impl std::fmt::Debug for CreateMicrosoftAdInput { @@ -11162,13 +11462,17 @@ impl std::fmt::Debug for CreateDirectoryInput { } } -///

          Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.

          +///

          Initiates the creation of a conditional forwarder for your Directory Service for Microsoft Active +/// Directory. Conditional forwarders are required in order to set up a trust relationship with +/// another domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateConditionalForwarderInput { - ///

          The directory ID of the AWS directory for which you are creating the conditional forwarder.

          + ///

          The directory ID of the Amazon Web Services directory for which you are creating the conditional + /// forwarder.

          pub directory_id: std::option::Option, - ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

          + ///

          The fully qualified domain name (FQDN) of the remote domain with which you will set up + /// a trust relationship.

          pub remote_domain_name: std::option::Option, ///

          The IP addresses of the remote DNS server associated with RemoteDomainName.

          pub dns_ip_addrs: std::option::Option>, @@ -11221,7 +11525,7 @@ pub struct CreateAliasInput { ///

          The identifier of the directory for which to create the alias.

          pub directory_id: std::option::Option, ///

          The requested alias.

          - ///

          The alias must be unique amongst all aliases in AWS. This operation throws an + ///

          The alias must be unique amongst all aliases in Amazon Web Services. This operation throws an /// EntityAlreadyExistsException error if the alias already exists.

          pub alias: std::option::Option, } @@ -11238,12 +11542,12 @@ impl std::fmt::Debug for CreateAliasInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ConnectDirectoryInput { - ///

          The fully qualified name of the on-premises directory, such as + ///

          The fully qualified name of your self-managed directory, such as /// corp.example.com.

          pub name: std::option::Option, - ///

          The NetBIOS name of the on-premises directory, such as CORP.

          + ///

          The NetBIOS name of your self-managed directory, such as CORP.

          pub short_name: std::option::Option, - ///

          The password for the on-premises user account.

          + ///

          The password for your self-managed user account.

          pub password: std::option::Option, ///

          A description for the directory.

          pub description: std::option::Option, @@ -11329,11 +11633,12 @@ impl std::fmt::Debug for AddRegionInput { pub struct AddIpRoutesInput { ///

          Identifier (ID) of the directory to which to add the address block.

          pub directory_id: std::option::Option, - ///

          IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

          + ///

          IP address blocks, using CIDR format, of the traffic to route. This is often the IP + /// address block of the DNS server used for your self-managed domain.

          pub ip_routes: std::option::Option>, - ///

          If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for directory ID directory controllers." - /// Following are the new rules: - ///

          + ///

          If set to true, updates the inbound and outbound rules of the security group that has + /// the description: "Amazon Web Services created security group for directory ID + /// directory controllers." Following are the new rules:

          ///

          Inbound:

          ///
            ///
          • @@ -11370,10 +11675,12 @@ pub struct AddIpRoutesInput { ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: + /// 0.0.0.0/0

            ///
          • ///
          • - ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

            + ///

            Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: + /// 0.0.0.0/0

            ///
          • ///
          • ///

            Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

            @@ -11395,7 +11702,8 @@ pub struct AddIpRoutesInput { ///

            Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

            ///
          • ///
          - ///

          These security rules impact an internal network interface that is not exposed publicly.

          + ///

          These security rules impact an internal network interface that is not exposed + /// publicly.

          pub update_security_group_for_directory_controllers: bool, } impl std::fmt::Debug for AddIpRoutesInput { diff --git a/sdk/directory/src/json_deser.rs b/sdk/directory/src/json_deser.rs index 7173b3c5a406..e05b928afcda 100644 --- a/sdk/directory/src/json_deser.rs +++ b/sdk/directory/src/json_deser.rs @@ -1420,6 +1420,55 @@ pub fn deser_operation_describe_certificate( Ok(builder) } +pub fn deser_operation_describe_client_authentication_settings( + input: &[u8], + mut builder: crate::output::describe_client_authentication_settings_output::Builder, +) -> Result< + crate::output::describe_client_authentication_settings_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ClientAuthenticationSettingsInfo" => { + builder = builder.set_client_authentication_settings_info( + crate::json_deser::deser_list_client_authentication_settings_info( + tokens, + )?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_describe_conditional_forwarders( input: &[u8], mut builder: crate::output::describe_conditional_forwarders_output::Builder, @@ -3347,6 +3396,47 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_client_authentication_settings_info<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_client_authentication_setting_info( + tokens, + )?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_conditional_forwarders<'a, I>( tokens: &mut std::iter::Peekable, @@ -4090,6 +4180,78 @@ where } } +pub fn deser_structure_client_authentication_setting_info<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ClientAuthenticationSettingInfo::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Type" => { + builder = builder.set_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ClientAuthenticationType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Status" => { + builder = builder.set_status( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ClientAuthenticationStatus::from( + u.as_ref(), + ) + }) + }) + .transpose()?, + ); + } + "LastUpdatedDateTime" => { + builder = builder.set_last_updated_date_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_conditional_forwarder<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> diff --git a/sdk/directory/src/json_ser.rs b/sdk/directory/src/json_ser.rs index 7d9ef7fe9c74..6e760093308c 100644 --- a/sdk/directory/src/json_ser.rs +++ b/sdk/directory/src/json_ser.rs @@ -403,21 +403,42 @@ pub fn serialize_structure_describe_certificate_input( } } -pub fn serialize_structure_describe_conditional_forwarders_input( +pub fn serialize_structure_describe_client_authentication_settings_input( object: &mut smithy_json::serialize::JsonObjectWriter, - input: &crate::input::DescribeConditionalForwardersInput, + input: &crate::input::DescribeClientAuthenticationSettingsInput, ) { if let Some(var_91) = &input.directory_id { object.key("DirectoryId").string(var_91); } - if let Some(var_92) = &input.remote_domain_names { - let mut array_93 = object.key("RemoteDomainNames").start_array(); - for item_94 in var_92 { + if let Some(var_92) = &input.r#type { + object.key("Type").string(var_92.as_str()); + } + if let Some(var_93) = &input.next_token { + object.key("NextToken").string(var_93); + } + if let Some(var_94) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_94).into()), + ); + } +} + +pub fn serialize_structure_describe_conditional_forwarders_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeConditionalForwardersInput, +) { + if let Some(var_95) = &input.directory_id { + object.key("DirectoryId").string(var_95); + } + if let Some(var_96) = &input.remote_domain_names { + let mut array_97 = object.key("RemoteDomainNames").start_array(); + for item_98 in var_96 { { - array_93.value().string(item_94); + array_97.value().string(item_98); } } - array_93.finish(); + array_97.finish(); } } @@ -425,22 +446,22 @@ pub fn serialize_structure_describe_directories_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDirectoriesInput, ) { - if let Some(var_95) = &input.directory_ids { - let mut array_96 = object.key("DirectoryIds").start_array(); - for item_97 in var_95 { + if let Some(var_99) = &input.directory_ids { + let mut array_100 = object.key("DirectoryIds").start_array(); + for item_101 in var_99 { { - array_96.value().string(item_97); + array_100.value().string(item_101); } } - array_96.finish(); + array_100.finish(); } - if let Some(var_98) = &input.next_token { - object.key("NextToken").string(var_98); + if let Some(var_102) = &input.next_token { + object.key("NextToken").string(var_102); } - if let Some(var_99) = &input.limit { + if let Some(var_103) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_99).into()), + smithy_types::Number::NegInt((*var_103).into()), ); } } @@ -449,25 +470,25 @@ pub fn serialize_structure_describe_domain_controllers_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDomainControllersInput, ) { - if let Some(var_100) = &input.directory_id { - object.key("DirectoryId").string(var_100); + if let Some(var_104) = &input.directory_id { + object.key("DirectoryId").string(var_104); } - if let Some(var_101) = &input.domain_controller_ids { - let mut array_102 = object.key("DomainControllerIds").start_array(); - for item_103 in var_101 { + if let Some(var_105) = &input.domain_controller_ids { + let mut array_106 = object.key("DomainControllerIds").start_array(); + for item_107 in var_105 { { - array_102.value().string(item_103); + array_106.value().string(item_107); } } - array_102.finish(); + array_106.finish(); } - if let Some(var_104) = &input.next_token { - object.key("NextToken").string(var_104); + if let Some(var_108) = &input.next_token { + object.key("NextToken").string(var_108); } - if let Some(var_105) = &input.limit { + if let Some(var_109) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_105).into()), + smithy_types::Number::NegInt((*var_109).into()), ); } } @@ -476,17 +497,17 @@ pub fn serialize_structure_describe_event_topics_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEventTopicsInput, ) { - if let Some(var_106) = &input.directory_id { - object.key("DirectoryId").string(var_106); + if let Some(var_110) = &input.directory_id { + object.key("DirectoryId").string(var_110); } - if let Some(var_107) = &input.topic_names { - let mut array_108 = object.key("TopicNames").start_array(); - for item_109 in var_107 { + if let Some(var_111) = &input.topic_names { + let mut array_112 = object.key("TopicNames").start_array(); + for item_113 in var_111 { { - array_108.value().string(item_109); + array_112.value().string(item_113); } } - array_108.finish(); + array_112.finish(); } } @@ -494,19 +515,19 @@ pub fn serialize_structure_describe_ldaps_settings_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeLdapsSettingsInput, ) { - if let Some(var_110) = &input.directory_id { - object.key("DirectoryId").string(var_110); + if let Some(var_114) = &input.directory_id { + object.key("DirectoryId").string(var_114); } - if let Some(var_111) = &input.r#type { - object.key("Type").string(var_111.as_str()); + if let Some(var_115) = &input.r#type { + object.key("Type").string(var_115.as_str()); } - if let Some(var_112) = &input.next_token { - object.key("NextToken").string(var_112); + if let Some(var_116) = &input.next_token { + object.key("NextToken").string(var_116); } - if let Some(var_113) = &input.limit { + if let Some(var_117) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_113).into()), + smithy_types::Number::NegInt((*var_117).into()), ); } } @@ -515,14 +536,14 @@ pub fn serialize_structure_describe_regions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeRegionsInput, ) { - if let Some(var_114) = &input.directory_id { - object.key("DirectoryId").string(var_114); + if let Some(var_118) = &input.directory_id { + object.key("DirectoryId").string(var_118); } - if let Some(var_115) = &input.region_name { - object.key("RegionName").string(var_115); + if let Some(var_119) = &input.region_name { + object.key("RegionName").string(var_119); } - if let Some(var_116) = &input.next_token { - object.key("NextToken").string(var_116); + if let Some(var_120) = &input.next_token { + object.key("NextToken").string(var_120); } } @@ -530,25 +551,25 @@ pub fn serialize_structure_describe_shared_directories_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeSharedDirectoriesInput, ) { - if let Some(var_117) = &input.owner_directory_id { - object.key("OwnerDirectoryId").string(var_117); + if let Some(var_121) = &input.owner_directory_id { + object.key("OwnerDirectoryId").string(var_121); } - if let Some(var_118) = &input.shared_directory_ids { - let mut array_119 = object.key("SharedDirectoryIds").start_array(); - for item_120 in var_118 { + if let Some(var_122) = &input.shared_directory_ids { + let mut array_123 = object.key("SharedDirectoryIds").start_array(); + for item_124 in var_122 { { - array_119.value().string(item_120); + array_123.value().string(item_124); } } - array_119.finish(); + array_123.finish(); } - if let Some(var_121) = &input.next_token { - object.key("NextToken").string(var_121); + if let Some(var_125) = &input.next_token { + object.key("NextToken").string(var_125); } - if let Some(var_122) = &input.limit { + if let Some(var_126) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_122).into()), + smithy_types::Number::NegInt((*var_126).into()), ); } } @@ -557,25 +578,25 @@ pub fn serialize_structure_describe_snapshots_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeSnapshotsInput, ) { - if let Some(var_123) = &input.directory_id { - object.key("DirectoryId").string(var_123); + if let Some(var_127) = &input.directory_id { + object.key("DirectoryId").string(var_127); } - if let Some(var_124) = &input.snapshot_ids { - let mut array_125 = object.key("SnapshotIds").start_array(); - for item_126 in var_124 { + if let Some(var_128) = &input.snapshot_ids { + let mut array_129 = object.key("SnapshotIds").start_array(); + for item_130 in var_128 { { - array_125.value().string(item_126); + array_129.value().string(item_130); } } - array_125.finish(); + array_129.finish(); } - if let Some(var_127) = &input.next_token { - object.key("NextToken").string(var_127); + if let Some(var_131) = &input.next_token { + object.key("NextToken").string(var_131); } - if let Some(var_128) = &input.limit { + if let Some(var_132) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_128).into()), + smithy_types::Number::NegInt((*var_132).into()), ); } } @@ -584,25 +605,25 @@ pub fn serialize_structure_describe_trusts_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeTrustsInput, ) { - if let Some(var_129) = &input.directory_id { - object.key("DirectoryId").string(var_129); + if let Some(var_133) = &input.directory_id { + object.key("DirectoryId").string(var_133); } - if let Some(var_130) = &input.trust_ids { - let mut array_131 = object.key("TrustIds").start_array(); - for item_132 in var_130 { + if let Some(var_134) = &input.trust_ids { + let mut array_135 = object.key("TrustIds").start_array(); + for item_136 in var_134 { { - array_131.value().string(item_132); + array_135.value().string(item_136); } } - array_131.finish(); + array_135.finish(); } - if let Some(var_133) = &input.next_token { - object.key("NextToken").string(var_133); + if let Some(var_137) = &input.next_token { + object.key("NextToken").string(var_137); } - if let Some(var_134) = &input.limit { + if let Some(var_138) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_134).into()), + smithy_types::Number::NegInt((*var_138).into()), ); } } @@ -611,11 +632,11 @@ pub fn serialize_structure_disable_client_authentication_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisableClientAuthenticationInput, ) { - if let Some(var_135) = &input.directory_id { - object.key("DirectoryId").string(var_135); + if let Some(var_139) = &input.directory_id { + object.key("DirectoryId").string(var_139); } - if let Some(var_136) = &input.r#type { - object.key("Type").string(var_136.as_str()); + if let Some(var_140) = &input.r#type { + object.key("Type").string(var_140.as_str()); } } @@ -623,11 +644,11 @@ pub fn serialize_structure_disable_ldaps_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisableLdapsInput, ) { - if let Some(var_137) = &input.directory_id { - object.key("DirectoryId").string(var_137); + if let Some(var_141) = &input.directory_id { + object.key("DirectoryId").string(var_141); } - if let Some(var_138) = &input.r#type { - object.key("Type").string(var_138.as_str()); + if let Some(var_142) = &input.r#type { + object.key("Type").string(var_142.as_str()); } } @@ -635,8 +656,8 @@ pub fn serialize_structure_disable_radius_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisableRadiusInput, ) { - if let Some(var_139) = &input.directory_id { - object.key("DirectoryId").string(var_139); + if let Some(var_143) = &input.directory_id { + object.key("DirectoryId").string(var_143); } } @@ -644,14 +665,14 @@ pub fn serialize_structure_disable_sso_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisableSsoInput, ) { - if let Some(var_140) = &input.directory_id { - object.key("DirectoryId").string(var_140); + if let Some(var_144) = &input.directory_id { + object.key("DirectoryId").string(var_144); } - if let Some(var_141) = &input.user_name { - object.key("UserName").string(var_141); + if let Some(var_145) = &input.user_name { + object.key("UserName").string(var_145); } - if let Some(var_142) = &input.password { - object.key("Password").string(var_142); + if let Some(var_146) = &input.password { + object.key("Password").string(var_146); } } @@ -659,11 +680,11 @@ pub fn serialize_structure_enable_client_authentication_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::EnableClientAuthenticationInput, ) { - if let Some(var_143) = &input.directory_id { - object.key("DirectoryId").string(var_143); + if let Some(var_147) = &input.directory_id { + object.key("DirectoryId").string(var_147); } - if let Some(var_144) = &input.r#type { - object.key("Type").string(var_144.as_str()); + if let Some(var_148) = &input.r#type { + object.key("Type").string(var_148.as_str()); } } @@ -671,11 +692,11 @@ pub fn serialize_structure_enable_ldaps_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::EnableLdapsInput, ) { - if let Some(var_145) = &input.directory_id { - object.key("DirectoryId").string(var_145); + if let Some(var_149) = &input.directory_id { + object.key("DirectoryId").string(var_149); } - if let Some(var_146) = &input.r#type { - object.key("Type").string(var_146.as_str()); + if let Some(var_150) = &input.r#type { + object.key("Type").string(var_150.as_str()); } } @@ -683,13 +704,13 @@ pub fn serialize_structure_enable_radius_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::EnableRadiusInput, ) { - if let Some(var_147) = &input.directory_id { - object.key("DirectoryId").string(var_147); + if let Some(var_151) = &input.directory_id { + object.key("DirectoryId").string(var_151); } - if let Some(var_148) = &input.radius_settings { - let mut object_149 = object.key("RadiusSettings").start_object(); - crate::json_ser::serialize_structure_radius_settings(&mut object_149, var_148); - object_149.finish(); + if let Some(var_152) = &input.radius_settings { + let mut object_153 = object.key("RadiusSettings").start_object(); + crate::json_ser::serialize_structure_radius_settings(&mut object_153, var_152); + object_153.finish(); } } @@ -697,14 +718,14 @@ pub fn serialize_structure_enable_sso_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::EnableSsoInput, ) { - if let Some(var_150) = &input.directory_id { - object.key("DirectoryId").string(var_150); + if let Some(var_154) = &input.directory_id { + object.key("DirectoryId").string(var_154); } - if let Some(var_151) = &input.user_name { - object.key("UserName").string(var_151); + if let Some(var_155) = &input.user_name { + object.key("UserName").string(var_155); } - if let Some(var_152) = &input.password { - object.key("Password").string(var_152); + if let Some(var_156) = &input.password { + object.key("Password").string(var_156); } } @@ -712,8 +733,8 @@ pub fn serialize_structure_get_snapshot_limits_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSnapshotLimitsInput, ) { - if let Some(var_153) = &input.directory_id { - object.key("DirectoryId").string(var_153); + if let Some(var_157) = &input.directory_id { + object.key("DirectoryId").string(var_157); } } @@ -721,16 +742,16 @@ pub fn serialize_structure_list_certificates_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListCertificatesInput, ) { - if let Some(var_154) = &input.directory_id { - object.key("DirectoryId").string(var_154); + if let Some(var_158) = &input.directory_id { + object.key("DirectoryId").string(var_158); } - if let Some(var_155) = &input.next_token { - object.key("NextToken").string(var_155); + if let Some(var_159) = &input.next_token { + object.key("NextToken").string(var_159); } - if let Some(var_156) = &input.limit { + if let Some(var_160) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_156).into()), + smithy_types::Number::NegInt((*var_160).into()), ); } } @@ -739,16 +760,16 @@ pub fn serialize_structure_list_ip_routes_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListIpRoutesInput, ) { - if let Some(var_157) = &input.directory_id { - object.key("DirectoryId").string(var_157); + if let Some(var_161) = &input.directory_id { + object.key("DirectoryId").string(var_161); } - if let Some(var_158) = &input.next_token { - object.key("NextToken").string(var_158); + if let Some(var_162) = &input.next_token { + object.key("NextToken").string(var_162); } - if let Some(var_159) = &input.limit { + if let Some(var_163) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_159).into()), + smithy_types::Number::NegInt((*var_163).into()), ); } } @@ -757,16 +778,16 @@ pub fn serialize_structure_list_log_subscriptions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListLogSubscriptionsInput, ) { - if let Some(var_160) = &input.directory_id { - object.key("DirectoryId").string(var_160); + if let Some(var_164) = &input.directory_id { + object.key("DirectoryId").string(var_164); } - if let Some(var_161) = &input.next_token { - object.key("NextToken").string(var_161); + if let Some(var_165) = &input.next_token { + object.key("NextToken").string(var_165); } - if let Some(var_162) = &input.limit { + if let Some(var_166) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_162).into()), + smithy_types::Number::NegInt((*var_166).into()), ); } } @@ -775,16 +796,16 @@ pub fn serialize_structure_list_schema_extensions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListSchemaExtensionsInput, ) { - if let Some(var_163) = &input.directory_id { - object.key("DirectoryId").string(var_163); + if let Some(var_167) = &input.directory_id { + object.key("DirectoryId").string(var_167); } - if let Some(var_164) = &input.next_token { - object.key("NextToken").string(var_164); + if let Some(var_168) = &input.next_token { + object.key("NextToken").string(var_168); } - if let Some(var_165) = &input.limit { + if let Some(var_169) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_165).into()), + smithy_types::Number::NegInt((*var_169).into()), ); } } @@ -793,16 +814,16 @@ pub fn serialize_structure_list_tags_for_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTagsForResourceInput, ) { - if let Some(var_166) = &input.resource_id { - object.key("ResourceId").string(var_166); + if let Some(var_170) = &input.resource_id { + object.key("ResourceId").string(var_170); } - if let Some(var_167) = &input.next_token { - object.key("NextToken").string(var_167); + if let Some(var_171) = &input.next_token { + object.key("NextToken").string(var_171); } - if let Some(var_168) = &input.limit { + if let Some(var_172) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_168).into()), + smithy_types::Number::NegInt((*var_172).into()), ); } } @@ -811,19 +832,19 @@ pub fn serialize_structure_register_certificate_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RegisterCertificateInput, ) { - if let Some(var_169) = &input.directory_id { - object.key("DirectoryId").string(var_169); + if let Some(var_173) = &input.directory_id { + object.key("DirectoryId").string(var_173); } - if let Some(var_170) = &input.certificate_data { - object.key("CertificateData").string(var_170); + if let Some(var_174) = &input.certificate_data { + object.key("CertificateData").string(var_174); } - if let Some(var_171) = &input.r#type { - object.key("Type").string(var_171.as_str()); + if let Some(var_175) = &input.r#type { + object.key("Type").string(var_175.as_str()); } - if let Some(var_172) = &input.client_cert_auth_settings { - let mut object_173 = object.key("ClientCertAuthSettings").start_object(); - crate::json_ser::serialize_structure_client_cert_auth_settings(&mut object_173, var_172); - object_173.finish(); + if let Some(var_176) = &input.client_cert_auth_settings { + let mut object_177 = object.key("ClientCertAuthSettings").start_object(); + crate::json_ser::serialize_structure_client_cert_auth_settings(&mut object_177, var_176); + object_177.finish(); } } @@ -831,11 +852,11 @@ pub fn serialize_structure_register_event_topic_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RegisterEventTopicInput, ) { - if let Some(var_174) = &input.directory_id { - object.key("DirectoryId").string(var_174); + if let Some(var_178) = &input.directory_id { + object.key("DirectoryId").string(var_178); } - if let Some(var_175) = &input.topic_name { - object.key("TopicName").string(var_175); + if let Some(var_179) = &input.topic_name { + object.key("TopicName").string(var_179); } } @@ -843,8 +864,8 @@ pub fn serialize_structure_reject_shared_directory_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RejectSharedDirectoryInput, ) { - if let Some(var_176) = &input.shared_directory_id { - object.key("SharedDirectoryId").string(var_176); + if let Some(var_180) = &input.shared_directory_id { + object.key("SharedDirectoryId").string(var_180); } } @@ -852,17 +873,17 @@ pub fn serialize_structure_remove_ip_routes_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RemoveIpRoutesInput, ) { - if let Some(var_177) = &input.directory_id { - object.key("DirectoryId").string(var_177); + if let Some(var_181) = &input.directory_id { + object.key("DirectoryId").string(var_181); } - if let Some(var_178) = &input.cidr_ips { - let mut array_179 = object.key("CidrIps").start_array(); - for item_180 in var_178 { + if let Some(var_182) = &input.cidr_ips { + let mut array_183 = object.key("CidrIps").start_array(); + for item_184 in var_182 { { - array_179.value().string(item_180); + array_183.value().string(item_184); } } - array_179.finish(); + array_183.finish(); } } @@ -870,8 +891,8 @@ pub fn serialize_structure_remove_region_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RemoveRegionInput, ) { - if let Some(var_181) = &input.directory_id { - object.key("DirectoryId").string(var_181); + if let Some(var_185) = &input.directory_id { + object.key("DirectoryId").string(var_185); } } @@ -879,17 +900,17 @@ pub fn serialize_structure_remove_tags_from_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RemoveTagsFromResourceInput, ) { - if let Some(var_182) = &input.resource_id { - object.key("ResourceId").string(var_182); + if let Some(var_186) = &input.resource_id { + object.key("ResourceId").string(var_186); } - if let Some(var_183) = &input.tag_keys { - let mut array_184 = object.key("TagKeys").start_array(); - for item_185 in var_183 { + if let Some(var_187) = &input.tag_keys { + let mut array_188 = object.key("TagKeys").start_array(); + for item_189 in var_187 { { - array_184.value().string(item_185); + array_188.value().string(item_189); } } - array_184.finish(); + array_188.finish(); } } @@ -897,14 +918,14 @@ pub fn serialize_structure_reset_user_password_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ResetUserPasswordInput, ) { - if let Some(var_186) = &input.directory_id { - object.key("DirectoryId").string(var_186); + if let Some(var_190) = &input.directory_id { + object.key("DirectoryId").string(var_190); } - if let Some(var_187) = &input.user_name { - object.key("UserName").string(var_187); + if let Some(var_191) = &input.user_name { + object.key("UserName").string(var_191); } - if let Some(var_188) = &input.new_password { - object.key("NewPassword").string(var_188); + if let Some(var_192) = &input.new_password { + object.key("NewPassword").string(var_192); } } @@ -912,8 +933,8 @@ pub fn serialize_structure_restore_from_snapshot_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RestoreFromSnapshotInput, ) { - if let Some(var_189) = &input.snapshot_id { - object.key("SnapshotId").string(var_189); + if let Some(var_193) = &input.snapshot_id { + object.key("SnapshotId").string(var_193); } } @@ -921,19 +942,19 @@ pub fn serialize_structure_share_directory_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ShareDirectoryInput, ) { - if let Some(var_190) = &input.directory_id { - object.key("DirectoryId").string(var_190); + if let Some(var_194) = &input.directory_id { + object.key("DirectoryId").string(var_194); } - if let Some(var_191) = &input.share_notes { - object.key("ShareNotes").string(var_191); + if let Some(var_195) = &input.share_notes { + object.key("ShareNotes").string(var_195); } - if let Some(var_192) = &input.share_target { - let mut object_193 = object.key("ShareTarget").start_object(); - crate::json_ser::serialize_structure_share_target(&mut object_193, var_192); - object_193.finish(); + if let Some(var_196) = &input.share_target { + let mut object_197 = object.key("ShareTarget").start_object(); + crate::json_ser::serialize_structure_share_target(&mut object_197, var_196); + object_197.finish(); } - if let Some(var_194) = &input.share_method { - object.key("ShareMethod").string(var_194.as_str()); + if let Some(var_198) = &input.share_method { + object.key("ShareMethod").string(var_198.as_str()); } } @@ -941,19 +962,19 @@ pub fn serialize_structure_start_schema_extension_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartSchemaExtensionInput, ) { - if let Some(var_195) = &input.directory_id { - object.key("DirectoryId").string(var_195); + if let Some(var_199) = &input.directory_id { + object.key("DirectoryId").string(var_199); } { object .key("CreateSnapshotBeforeSchemaExtension") .boolean(input.create_snapshot_before_schema_extension); } - if let Some(var_196) = &input.ldif_content { - object.key("LdifContent").string(var_196); + if let Some(var_200) = &input.ldif_content { + object.key("LdifContent").string(var_200); } - if let Some(var_197) = &input.description { - object.key("Description").string(var_197); + if let Some(var_201) = &input.description { + object.key("Description").string(var_201); } } @@ -961,13 +982,13 @@ pub fn serialize_structure_unshare_directory_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UnshareDirectoryInput, ) { - if let Some(var_198) = &input.directory_id { - object.key("DirectoryId").string(var_198); + if let Some(var_202) = &input.directory_id { + object.key("DirectoryId").string(var_202); } - if let Some(var_199) = &input.unshare_target { - let mut object_200 = object.key("UnshareTarget").start_object(); - crate::json_ser::serialize_structure_unshare_target(&mut object_200, var_199); - object_200.finish(); + if let Some(var_203) = &input.unshare_target { + let mut object_204 = object.key("UnshareTarget").start_object(); + crate::json_ser::serialize_structure_unshare_target(&mut object_204, var_203); + object_204.finish(); } } @@ -975,20 +996,20 @@ pub fn serialize_structure_update_conditional_forwarder_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateConditionalForwarderInput, ) { - if let Some(var_201) = &input.directory_id { - object.key("DirectoryId").string(var_201); + if let Some(var_205) = &input.directory_id { + object.key("DirectoryId").string(var_205); } - if let Some(var_202) = &input.remote_domain_name { - object.key("RemoteDomainName").string(var_202); + if let Some(var_206) = &input.remote_domain_name { + object.key("RemoteDomainName").string(var_206); } - if let Some(var_203) = &input.dns_ip_addrs { - let mut array_204 = object.key("DnsIpAddrs").start_array(); - for item_205 in var_203 { + if let Some(var_207) = &input.dns_ip_addrs { + let mut array_208 = object.key("DnsIpAddrs").start_array(); + for item_209 in var_207 { { - array_204.value().string(item_205); + array_208.value().string(item_209); } } - array_204.finish(); + array_208.finish(); } } @@ -996,8 +1017,8 @@ pub fn serialize_structure_update_number_of_domain_controllers_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateNumberOfDomainControllersInput, ) { - if let Some(var_206) = &input.directory_id { - object.key("DirectoryId").string(var_206); + if let Some(var_210) = &input.directory_id { + object.key("DirectoryId").string(var_210); } { object.key("DesiredNumber").number( @@ -1011,13 +1032,13 @@ pub fn serialize_structure_update_radius_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRadiusInput, ) { - if let Some(var_207) = &input.directory_id { - object.key("DirectoryId").string(var_207); + if let Some(var_211) = &input.directory_id { + object.key("DirectoryId").string(var_211); } - if let Some(var_208) = &input.radius_settings { - let mut object_209 = object.key("RadiusSettings").start_object(); - crate::json_ser::serialize_structure_radius_settings(&mut object_209, var_208); - object_209.finish(); + if let Some(var_212) = &input.radius_settings { + let mut object_213 = object.key("RadiusSettings").start_object(); + crate::json_ser::serialize_structure_radius_settings(&mut object_213, var_212); + object_213.finish(); } } @@ -1025,11 +1046,11 @@ pub fn serialize_structure_update_trust_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateTrustInput, ) { - if let Some(var_210) = &input.trust_id { - object.key("TrustId").string(var_210); + if let Some(var_214) = &input.trust_id { + object.key("TrustId").string(var_214); } - if let Some(var_211) = &input.selective_auth { - object.key("SelectiveAuth").string(var_211.as_str()); + if let Some(var_215) = &input.selective_auth { + object.key("SelectiveAuth").string(var_215.as_str()); } } @@ -1037,8 +1058,8 @@ pub fn serialize_structure_verify_trust_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::VerifyTrustInput, ) { - if let Some(var_212) = &input.trust_id { - object.key("TrustId").string(var_212); + if let Some(var_216) = &input.trust_id { + object.key("TrustId").string(var_216); } } @@ -1046,11 +1067,11 @@ pub fn serialize_structure_ip_route( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IpRoute, ) { - if let Some(var_213) = &input.cidr_ip { - object.key("CidrIp").string(var_213); + if let Some(var_217) = &input.cidr_ip { + object.key("CidrIp").string(var_217); } - if let Some(var_214) = &input.description { - object.key("Description").string(var_214); + if let Some(var_218) = &input.description { + object.key("Description").string(var_218); } } @@ -1058,17 +1079,17 @@ pub fn serialize_structure_directory_vpc_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DirectoryVpcSettings, ) { - if let Some(var_215) = &input.vpc_id { - object.key("VpcId").string(var_215); + if let Some(var_219) = &input.vpc_id { + object.key("VpcId").string(var_219); } - if let Some(var_216) = &input.subnet_ids { - let mut array_217 = object.key("SubnetIds").start_array(); - for item_218 in var_216 { + if let Some(var_220) = &input.subnet_ids { + let mut array_221 = object.key("SubnetIds").start_array(); + for item_222 in var_220 { { - array_217.value().string(item_218); + array_221.value().string(item_222); } } - array_217.finish(); + array_221.finish(); } } @@ -1076,11 +1097,11 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_219) = &input.key { - object.key("Key").string(var_219); + if let Some(var_223) = &input.key { + object.key("Key").string(var_223); } - if let Some(var_220) = &input.value { - object.key("Value").string(var_220); + if let Some(var_224) = &input.value { + object.key("Value").string(var_224); } } @@ -1088,29 +1109,29 @@ pub fn serialize_structure_directory_connect_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DirectoryConnectSettings, ) { - if let Some(var_221) = &input.vpc_id { - object.key("VpcId").string(var_221); + if let Some(var_225) = &input.vpc_id { + object.key("VpcId").string(var_225); } - if let Some(var_222) = &input.subnet_ids { - let mut array_223 = object.key("SubnetIds").start_array(); - for item_224 in var_222 { + if let Some(var_226) = &input.subnet_ids { + let mut array_227 = object.key("SubnetIds").start_array(); + for item_228 in var_226 { { - array_223.value().string(item_224); + array_227.value().string(item_228); } } - array_223.finish(); + array_227.finish(); } - if let Some(var_225) = &input.customer_dns_ips { - let mut array_226 = object.key("CustomerDnsIps").start_array(); - for item_227 in var_225 { + if let Some(var_229) = &input.customer_dns_ips { + let mut array_230 = object.key("CustomerDnsIps").start_array(); + for item_231 in var_229 { { - array_226.value().string(item_227); + array_230.value().string(item_231); } } - array_226.finish(); + array_230.finish(); } - if let Some(var_228) = &input.customer_user_name { - object.key("CustomerUserName").string(var_228); + if let Some(var_232) = &input.customer_user_name { + object.key("CustomerUserName").string(var_232); } } @@ -1118,11 +1139,11 @@ pub fn serialize_structure_attribute( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Attribute, ) { - if let Some(var_229) = &input.name { - object.key("Name").string(var_229); + if let Some(var_233) = &input.name { + object.key("Name").string(var_233); } - if let Some(var_230) = &input.value { - object.key("Value").string(var_230); + if let Some(var_234) = &input.value { + object.key("Value").string(var_234); } } @@ -1130,14 +1151,14 @@ pub fn serialize_structure_radius_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RadiusSettings, ) { - if let Some(var_231) = &input.radius_servers { - let mut array_232 = object.key("RadiusServers").start_array(); - for item_233 in var_231 { + if let Some(var_235) = &input.radius_servers { + let mut array_236 = object.key("RadiusServers").start_array(); + for item_237 in var_235 { { - array_232.value().string(item_233); + array_236.value().string(item_237); } } - array_232.finish(); + array_236.finish(); } if input.radius_port != 0 { object.key("RadiusPort").number( @@ -1157,16 +1178,16 @@ pub fn serialize_structure_radius_settings( smithy_types::Number::NegInt((input.radius_retries).into()), ); } - if let Some(var_234) = &input.shared_secret { - object.key("SharedSecret").string(var_234); + if let Some(var_238) = &input.shared_secret { + object.key("SharedSecret").string(var_238); } - if let Some(var_235) = &input.authentication_protocol { + if let Some(var_239) = &input.authentication_protocol { object .key("AuthenticationProtocol") - .string(var_235.as_str()); + .string(var_239.as_str()); } - if let Some(var_236) = &input.display_label { - object.key("DisplayLabel").string(var_236); + if let Some(var_240) = &input.display_label { + object.key("DisplayLabel").string(var_240); } if input.use_same_username { object @@ -1179,8 +1200,8 @@ pub fn serialize_structure_client_cert_auth_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ClientCertAuthSettings, ) { - if let Some(var_237) = &input.ocsp_url { - object.key("OCSPUrl").string(var_237); + if let Some(var_241) = &input.ocsp_url { + object.key("OCSPUrl").string(var_241); } } @@ -1188,11 +1209,11 @@ pub fn serialize_structure_share_target( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ShareTarget, ) { - if let Some(var_238) = &input.id { - object.key("Id").string(var_238); + if let Some(var_242) = &input.id { + object.key("Id").string(var_242); } - if let Some(var_239) = &input.r#type { - object.key("Type").string(var_239.as_str()); + if let Some(var_243) = &input.r#type { + object.key("Type").string(var_243.as_str()); } } @@ -1200,10 +1221,10 @@ pub fn serialize_structure_unshare_target( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UnshareTarget, ) { - if let Some(var_240) = &input.id { - object.key("Id").string(var_240); + if let Some(var_244) = &input.id { + object.key("Id").string(var_244); } - if let Some(var_241) = &input.r#type { - object.key("Type").string(var_241.as_str()); + if let Some(var_245) = &input.r#type { + object.key("Type").string(var_245.as_str()); } } diff --git a/sdk/directory/src/lib.rs b/sdk/directory/src/lib.rs index 48a58a6bebc9..bb0d73138304 100644 --- a/sdk/directory/src/lib.rs +++ b/sdk/directory/src/lib.rs @@ -4,10 +4,18 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//! AWS Directory Service -//!

          AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

          +//! Directory Service +//!

          Directory Service is a web service that makes it easy for you to setup and run directories in the +//! Amazon Web Services cloud, or connect your Amazon Web Services resources with an existing self-managed Microsoft Active +//! Directory. This guide provides detailed information about Directory Service operations, data types, +//! parameters, and errors. For information about Directory Services features, see Directory Service and the Directory Service +//! Administration Guide.

          //! -//!

          AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web +//!

          Amazon Web Services provides SDKs that consist of libraries and sample code for various +//! programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs +//! provide a convenient way to create programmatic access to Directory Service and other Amazon Web Services +//! services. For more information about the Amazon Web Services SDKs, including how to download and +//! install them, see Tools for Amazon Web //! Services.

          //!
          diff --git a/sdk/directory/src/model.rs b/sdk/directory/src/model.rs index de19fc40f18f..f18ec03435e1 100644 --- a/sdk/directory/src/model.rs +++ b/sdk/directory/src/model.rs @@ -49,17 +49,22 @@ impl AsRef for SelectiveAuth { } } -///

          Contains information about a Remote Authentication Dial In User Service (RADIUS) server.

          +///

          Contains information about a Remote Authentication Dial In User Service (RADIUS) +/// server.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RadiusSettings { - ///

          An array of strings that contains the fully qualified domain name (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server load balancer.

          + ///

          An array of strings that contains the fully qualified domain name (FQDN) or IP + /// addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your RADIUS server + /// load balancer.

          pub radius_servers: std::option::Option>, - ///

          The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

          + ///

          The port that your RADIUS server is using for communications. Your self-managed + /// network must allow inbound traffic over this port from the Directory Service servers.

          pub radius_port: i32, ///

          The amount of time, in seconds, to wait for the RADIUS server to respond.

          pub radius_timeout: i32, - ///

          The maximum number of times that communication with the RADIUS server is attempted.

          + ///

          The maximum number of times that communication with the RADIUS server is + /// attempted.

          pub radius_retries: i32, ///

          Required for enabling RADIUS on the directory.

          pub shared_secret: std::option::Option, @@ -114,7 +119,8 @@ pub mod radius_settings { self.radius_servers = input; self } - ///

          The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

          + ///

          The port that your RADIUS server is using for communications. Your self-managed + /// network must allow inbound traffic over this port from the Directory Service servers.

          pub fn radius_port(mut self, input: i32) -> Self { self.radius_port = Some(input); self @@ -132,7 +138,8 @@ pub mod radius_settings { self.radius_timeout = input; self } - ///

          The maximum number of times that communication with the RADIUS server is attempted.

          + ///

          The maximum number of times that communication with the RADIUS server is + /// attempted.

          pub fn radius_retries(mut self, input: i32) -> Self { self.radius_retries = Some(input); self @@ -588,9 +595,14 @@ impl AsRef for CertificateType { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { - ///

          Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          + ///

          Required name of the tag. The string value can be Unicode characters and cannot be + /// prefixed with "aws:". The string can contain only the set of Unicode letters, digits, + /// white-space, '_', '.', '/', '=', '+', '-' (Java regex: + /// "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          pub key: std::option::Option, - ///

          The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          + ///

          The optional value of the tag. The string value can be Unicode characters. The string + /// can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' + /// (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          pub value: std::option::Option, } impl std::fmt::Debug for Tag { @@ -611,7 +623,10 @@ pub mod tag { pub(crate) value: std::option::Option, } impl Builder { - ///

          Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          + ///

          Required name of the tag. The string value can be Unicode characters and cannot be + /// prefixed with "aws:". The string can contain only the set of Unicode letters, digits, + /// white-space, '_', '.', '/', '=', '+', '-' (Java regex: + /// "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          pub fn key(mut self, input: impl Into) -> Self { self.key = Some(input.into()); self @@ -620,7 +635,9 @@ pub mod tag { self.key = input; self } - ///

          The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          + ///

          The optional value of the tag. The string value can be Unicode characters. The string + /// can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' + /// (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

          pub fn value(mut self, input: impl Into) -> Self { self.value = Some(input.into()); self @@ -659,7 +676,8 @@ pub struct SchemaExtensionInfo { pub schema_extension_status: std::option::Option, ///

          The reason for the SchemaExtensionStatus.

          pub schema_extension_status_reason: std::option::Option, - ///

          The date and time that the schema extension started being applied to the directory.

          + ///

          The date and time that the schema extension started being applied to the + /// directory.

          pub start_date_time: std::option::Option, ///

          The date and time that the schema extension was completed.

          pub end_date_time: std::option::Option, @@ -756,7 +774,8 @@ pub mod schema_extension_info { self.schema_extension_status_reason = input; self } - ///

          The date and time that the schema extension started being applied to the directory.

          + ///

          The date and time that the schema extension started being applied to the + /// directory.

          pub fn start_date_time(mut self, input: smithy_types::Instant) -> Self { self.start_date_time = Some(input); self @@ -1447,11 +1466,11 @@ pub struct DirectoryLimits { pub cloud_only_directories_current_count: std::option::Option, ///

          Indicates if the cloud directory limit has been reached.

          pub cloud_only_directories_limit_reached: bool, - ///

          The maximum number of AWS Managed Microsoft AD directories allowed in the region.

          + ///

          The maximum number of Managed Microsoft AD directories allowed in the region.

          pub cloud_only_microsoft_ad_limit: std::option::Option, - ///

          The current number of AWS Managed Microsoft AD directories in the region.

          + ///

          The current number of Managed Microsoft AD directories in the region.

          pub cloud_only_microsoft_ad_current_count: std::option::Option, - ///

          Indicates if the AWS Managed Microsoft AD directory limit has been reached.

          + ///

          Indicates if the Managed Microsoft AD directory limit has been reached.

          pub cloud_only_microsoft_ad_limit_reached: bool, ///

          The maximum number of connected directories allowed in the Region.

          pub connected_directories_limit: std::option::Option, @@ -1552,7 +1571,7 @@ pub mod directory_limits { self.cloud_only_directories_limit_reached = input; self } - ///

          The maximum number of AWS Managed Microsoft AD directories allowed in the region.

          + ///

          The maximum number of Managed Microsoft AD directories allowed in the region.

          pub fn cloud_only_microsoft_ad_limit(mut self, input: i32) -> Self { self.cloud_only_microsoft_ad_limit = Some(input); self @@ -1564,7 +1583,7 @@ pub mod directory_limits { self.cloud_only_microsoft_ad_limit = input; self } - ///

          The current number of AWS Managed Microsoft AD directories in the region.

          + ///

          The current number of Managed Microsoft AD directories in the region.

          pub fn cloud_only_microsoft_ad_current_count(mut self, input: i32) -> Self { self.cloud_only_microsoft_ad_current_count = Some(input); self @@ -1576,7 +1595,7 @@ pub mod directory_limits { self.cloud_only_microsoft_ad_current_count = input; self } - ///

          Indicates if the AWS Managed Microsoft AD directory limit has been reached.

          + ///

          Indicates if the Managed Microsoft AD directory limit has been reached.

          pub fn cloud_only_microsoft_ad_limit_reached(mut self, input: bool) -> Self { self.cloud_only_microsoft_ad_limit_reached = Some(input); self @@ -1744,15 +1763,17 @@ impl AsRef for ClientAuthenticationType { } } -///

          Describes a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

          +///

          Describes a trust relationship between an Managed Microsoft AD directory and an external +/// domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Trust { - ///

          The Directory ID of the AWS directory involved in the trust relationship.

          + ///

          The Directory ID of the Amazon Web Services directory involved in the trust relationship.

          pub directory_id: std::option::Option, ///

          The unique ID of the trust relationship.

          pub trust_id: std::option::Option, - ///

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

          + ///

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust + /// relationship.

          pub remote_domain_name: std::option::Option, ///

          The trust relationship type. Forest is the default.

          pub trust_type: std::option::Option, @@ -1810,7 +1831,7 @@ pub mod trust { pub(crate) selective_auth: std::option::Option, } impl Builder { - ///

          The Directory ID of the AWS directory involved in the trust relationship.

          + ///

          The Directory ID of the Amazon Web Services directory involved in the trust relationship.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -1828,7 +1849,8 @@ pub mod trust { self.trust_id = input; self } - ///

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

          + ///

          The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust + /// relationship.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -2387,7 +2409,7 @@ pub struct SharedDirectory { ///

          Identifier of the directory in the directory owner account.

          pub owner_directory_id: std::option::Option, ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a shared directory request (HANDSHAKE).

          pub share_method: std::option::Option, ///

          Identifier of the directory consumer account that has access to the shared directory @@ -2396,7 +2418,7 @@ pub struct SharedDirectory { ///

          Identifier of the shared directory in the directory consumer account. This identifier is /// different for each directory owner account.

          pub shared_directory_id: std::option::Option, - ///

          Current directory status of the shared AWS Managed Microsoft AD directory.

          + ///

          Current directory status of the shared Managed Microsoft AD directory.

          pub share_status: std::option::Option, ///

          A directory share request that is sent by the directory owner to the directory consumer. /// The request includes a typed message to help the directory consumer administrator determine @@ -2465,7 +2487,7 @@ pub mod shared_directory { self } ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a shared directory request (HANDSHAKE).

          pub fn share_method(mut self, input: crate::model::ShareMethod) -> Self { self.share_method = Some(input); @@ -2504,7 +2526,7 @@ pub mod shared_directory { self.shared_directory_id = input; self } - ///

          Current directory status of the shared AWS Managed Microsoft AD directory.

          + ///

          Current directory status of the shared Managed Microsoft AD directory.

          pub fn share_status(mut self, input: crate::model::ShareStatus) -> Self { self.share_status = Some(input); self @@ -2852,7 +2874,7 @@ pub struct DirectoryVpcSettings { ///

          The identifier of the VPC in which to create the directory.

          pub vpc_id: std::option::Option, ///

          The identifiers of the subnets for the directory servers. The two subnets must be in - /// different Availability Zones. AWS Directory Service creates a directory server and a DNS + /// different Availability Zones. Directory Service creates a directory server and a DNS /// server in each of these subnets.

          pub subnet_ids: std::option::Option>, } @@ -3191,17 +3213,18 @@ impl AsRef for LdapsStatus { } } -///

          Information about SNS topic and AWS Directory Service directory associations.

          +///

          Information about Amazon SNS topic and Directory Service directory associations.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EventTopic { - ///

          The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

          + ///

          The Directory ID of an Directory Service directory that will publish status messages to an Amazon SNS + /// topic.

          pub directory_id: std::option::Option, - ///

          The name of an AWS SNS topic the receives status messages from the directory.

          + ///

          The name of an Amazon SNS topic the receives status messages from the directory.

          pub topic_name: std::option::Option, - ///

          The SNS topic ARN (Amazon Resource Name).

          + ///

          The Amazon SNS topic ARN (Amazon Resource Name).

          pub topic_arn: std::option::Option, - ///

          The date and time of when you associated your directory with the SNS topic.

          + ///

          The date and time of when you associated your directory with the Amazon SNS topic.

          pub created_date_time: std::option::Option, ///

          The topic registration status.

          pub status: std::option::Option, @@ -3230,7 +3253,8 @@ pub mod event_topic { pub(crate) status: std::option::Option, } impl Builder { - ///

          The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

          + ///

          The Directory ID of an Directory Service directory that will publish status messages to an Amazon SNS + /// topic.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -3239,7 +3263,7 @@ pub mod event_topic { self.directory_id = input; self } - ///

          The name of an AWS SNS topic the receives status messages from the directory.

          + ///

          The name of an Amazon SNS topic the receives status messages from the directory.

          pub fn topic_name(mut self, input: impl Into) -> Self { self.topic_name = Some(input.into()); self @@ -3248,7 +3272,7 @@ pub mod event_topic { self.topic_name = input; self } - ///

          The SNS topic ARN (Amazon Resource Name).

          + ///

          The Amazon SNS topic ARN (Amazon Resource Name).

          pub fn topic_arn(mut self, input: impl Into) -> Self { self.topic_arn = Some(input.into()); self @@ -3257,7 +3281,7 @@ pub mod event_topic { self.topic_arn = input; self } - ///

          The date and time of when you associated your directory with the SNS topic.

          + ///

          The date and time of when you associated your directory with the Amazon SNS topic.

          pub fn created_date_time(mut self, input: smithy_types::Instant) -> Self { self.created_date_time = Some(input); self @@ -3620,7 +3644,7 @@ impl AsRef for DomainControllerStatus { } } -///

          Contains information about an AWS Directory Service directory.

          +///

          Contains information about an Directory Service directory.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DirectoryDescription { @@ -3647,14 +3671,14 @@ pub struct DirectoryDescription { ///

          The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD /// directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For /// an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers - /// in the on-premises directory to which the AD Connector is connected.

          + /// in your self-managed directory to which the AD Connector is connected.

          pub dns_ip_addrs: std::option::Option>, ///

          The current stage of the directory.

          pub stage: std::option::Option, - ///

          Current directory status of the shared AWS Managed Microsoft AD directory.

          + ///

          Current directory status of the shared Managed Microsoft AD directory.

          pub share_status: std::option::Option, ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a shared directory request (HANDSHAKE).

          pub share_method: std::option::Option, ///

          A directory share request that is sent by the directory owner to the directory consumer. @@ -3669,7 +3693,7 @@ pub struct DirectoryDescription { pub r#type: std::option::Option, ///

          A DirectoryVpcSettingsDescription object that contains additional /// information about a directory. This member is only present if the directory is a Simple AD or - /// Managed AD directory.

          + /// Managed Microsoft AD directory.

          pub vpc_settings: std::option::Option, ///

          A DirectoryConnectSettingsDescription object that contains additional /// information about an AD Connector directory. This member is only present if the directory is @@ -3684,9 +3708,10 @@ pub struct DirectoryDescription { pub stage_reason: std::option::Option, ///

          Indicates if single sign-on is enabled for the directory. For more information, see EnableSso and DisableSso.

          pub sso_enabled: bool, - ///

          The desired number of domain controllers in the directory if the directory is Microsoft AD.

          + ///

          The desired number of domain controllers in the directory if the directory is Microsoft + /// AD.

          pub desired_number_of_domain_controllers: i32, - ///

          Describes the AWS Managed Microsoft AD directory in the directory owner account.

          + ///

          Describes the Managed Microsoft AD directory in the directory owner account.

          pub owner_directory_description: std::option::Option, ///

          Lists the Regions where the directory has replicated.

          pub regions_info: std::option::Option, @@ -3870,7 +3895,7 @@ pub mod directory_description { self.stage = input; self } - ///

          Current directory status of the shared AWS Managed Microsoft AD directory.

          + ///

          Current directory status of the shared Managed Microsoft AD directory.

          pub fn share_status(mut self, input: crate::model::ShareStatus) -> Self { self.share_status = Some(input); self @@ -3883,7 +3908,7 @@ pub mod directory_description { self } ///

          The method used when sharing a directory to determine whether the directory should be - /// shared within your AWS organization (ORGANIZATIONS) or with any AWS account by + /// shared within your Amazon Web Services organization (ORGANIZATIONS) or with any Amazon Web Services account by /// sending a shared directory request (HANDSHAKE).

          pub fn share_method(mut self, input: crate::model::ShareMethod) -> Self { self.share_method = Some(input); @@ -3942,7 +3967,7 @@ pub mod directory_description { } ///

          A DirectoryVpcSettingsDescription object that contains additional /// information about a directory. This member is only present if the directory is a Simple AD or - /// Managed AD directory.

          + /// Managed Microsoft AD directory.

          pub fn vpc_settings( mut self, input: crate::model::DirectoryVpcSettingsDescription, @@ -4017,7 +4042,8 @@ pub mod directory_description { self.sso_enabled = input; self } - ///

          The desired number of domain controllers in the directory if the directory is Microsoft AD.

          + ///

          The desired number of domain controllers in the directory if the directory is Microsoft + /// AD.

          pub fn desired_number_of_domain_controllers(mut self, input: i32) -> Self { self.desired_number_of_domain_controllers = Some(input); self @@ -4029,7 +4055,7 @@ pub mod directory_description { self.desired_number_of_domain_controllers = input; self } - ///

          Describes the AWS Managed Microsoft AD directory in the directory owner account.

          + ///

          Describes the Managed Microsoft AD directory in the directory owner account.

          pub fn owner_directory_description( mut self, input: crate::model::OwnerDirectoryDescription, @@ -4102,7 +4128,7 @@ impl DirectoryDescription { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegionsInfo { - ///

          The Region where the AWS Managed Microsoft AD directory was originally created.

          + ///

          The Region where the Managed Microsoft AD directory was originally created.

          pub primary_region: std::option::Option, ///

          Lists the Regions where the directory has been replicated, excluding the primary /// Region.

          @@ -4126,7 +4152,7 @@ pub mod regions_info { pub(crate) additional_regions: std::option::Option>, } impl Builder { - ///

          The Region where the AWS Managed Microsoft AD directory was originally created.

          + ///

          The Region where the Managed Microsoft AD directory was originally created.

          pub fn primary_region(mut self, input: impl Into) -> Self { self.primary_region = Some(input.into()); self @@ -4172,7 +4198,7 @@ impl RegionsInfo { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct OwnerDirectoryDescription { - ///

          Identifier of the AWS Managed Microsoft AD directory in the directory owner + ///

          Identifier of the Managed Microsoft AD directory in the directory owner /// account.

          pub directory_id: std::option::Option, ///

          Identifier of the directory owner account.

          @@ -4213,7 +4239,7 @@ pub mod owner_directory_description { pub(crate) radius_status: std::option::Option, } impl Builder { - ///

          Identifier of the AWS Managed Microsoft AD directory in the directory owner + ///

          Identifier of the Managed Microsoft AD directory in the directory owner /// account.

          pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); @@ -4466,7 +4492,7 @@ pub struct DirectoryConnectSettingsDescription { pub vpc_id: std::option::Option, ///

          A list of subnet identifiers in the VPC that the AD Connector is in.

          pub subnet_ids: std::option::Option>, - ///

          The user name of the service account in the on-premises directory.

          + ///

          The user name of the service account in your self-managed directory.

          pub customer_user_name: std::option::Option, ///

          The security group identifier for the AD Connector directory.

          pub security_group_id: std::option::Option, @@ -4523,7 +4549,7 @@ pub mod directory_connect_settings_description { self.subnet_ids = input; self } - ///

          The user name of the service account in the on-premises directory.

          + ///

          The user name of the service account in your self-managed directory.

          pub fn customer_user_name(mut self, input: impl Into) -> Self { self.customer_user_name = Some(input.into()); self @@ -4754,17 +4780,21 @@ impl AsRef for DirectorySize { } } -///

          Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.

          +///

          Points to a remote domain with which you are setting up a trust relationship. +/// Conditional forwarders are required in order to set up a trust relationship with another +/// domain.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ConditionalForwarder { - ///

          The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

          + ///

          The fully qualified domain name (FQDN) of the remote domains pointed to by the + /// conditional forwarder.

          pub remote_domain_name: std::option::Option, - ///

          The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

          + ///

          The IP addresses of the remote DNS server associated with RemoteDomainName. This is the + /// IP address of the DNS server that your conditional forwarder points to.

          pub dns_ip_addrs: std::option::Option>, ///

          The replication scope of the conditional forwarder. The only allowed value is - /// Domain, which will replicate the conditional forwarder to all of the - /// domain controllers for your AWS directory.

          + /// Domain, which will replicate the conditional forwarder to all of the domain + /// controllers for your Amazon Web Services directory.

          pub replication_scope: std::option::Option, } impl std::fmt::Debug for ConditionalForwarder { @@ -4787,7 +4817,8 @@ pub mod conditional_forwarder { pub(crate) replication_scope: std::option::Option, } impl Builder { - ///

          The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

          + ///

          The fully qualified domain name (FQDN) of the remote domains pointed to by the + /// conditional forwarder.

          pub fn remote_domain_name(mut self, input: impl Into) -> Self { self.remote_domain_name = Some(input.into()); self @@ -4813,8 +4844,8 @@ pub mod conditional_forwarder { self } ///

          The replication scope of the conditional forwarder. The only allowed value is - /// Domain, which will replicate the conditional forwarder to all of the - /// domain controllers for your AWS directory.

          + /// Domain, which will replicate the conditional forwarder to all of the domain + /// controllers for your Amazon Web Services directory.

          pub fn replication_scope(mut self, input: crate::model::ReplicationScope) -> Self { self.replication_scope = Some(input); self @@ -4890,6 +4921,140 @@ impl AsRef for ReplicationScope { } } +///

          Contains information about a client authentication method for a directory.

          +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ClientAuthenticationSettingInfo { + ///

          The type of client authentication for the specified directory. If no type is specified, a list of all client authentication types that are supported for the directory is retrieved.

          + pub r#type: std::option::Option, + ///

          Whether the client authentication type is enabled or disabled for the specified directory.

          + pub status: std::option::Option, + ///

          The date and time when the status of the client authentication type was last updated.

          + pub last_updated_date_time: std::option::Option, +} +impl std::fmt::Debug for ClientAuthenticationSettingInfo { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ClientAuthenticationSettingInfo"); + formatter.field("r#type", &self.r#type); + formatter.field("status", &self.status); + formatter.field("last_updated_date_time", &self.last_updated_date_time); + formatter.finish() + } +} +/// See [`ClientAuthenticationSettingInfo`](crate::model::ClientAuthenticationSettingInfo) +pub mod client_authentication_setting_info { + /// A builder for [`ClientAuthenticationSettingInfo`](crate::model::ClientAuthenticationSettingInfo) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) r#type: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) last_updated_date_time: std::option::Option, + } + impl Builder { + ///

          The type of client authentication for the specified directory. If no type is specified, a list of all client authentication types that are supported for the directory is retrieved.

          + pub fn r#type(mut self, input: crate::model::ClientAuthenticationType) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type( + mut self, + input: std::option::Option, + ) -> Self { + self.r#type = input; + self + } + ///

          Whether the client authentication type is enabled or disabled for the specified directory.

          + pub fn status(mut self, input: crate::model::ClientAuthenticationStatus) -> Self { + self.status = Some(input); + self + } + pub fn set_status( + mut self, + input: std::option::Option, + ) -> Self { + self.status = input; + self + } + ///

          The date and time when the status of the client authentication type was last updated.

          + pub fn last_updated_date_time(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_date_time = Some(input); + self + } + pub fn set_last_updated_date_time( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_date_time = input; + self + } + /// Consumes the builder and constructs a [`ClientAuthenticationSettingInfo`](crate::model::ClientAuthenticationSettingInfo) + pub fn build(self) -> crate::model::ClientAuthenticationSettingInfo { + crate::model::ClientAuthenticationSettingInfo { + r#type: self.r#type, + status: self.status, + last_updated_date_time: self.last_updated_date_time, + } + } + } +} +impl ClientAuthenticationSettingInfo { + /// Creates a new builder-style object to manufacture [`ClientAuthenticationSettingInfo`](crate::model::ClientAuthenticationSettingInfo) + pub fn builder() -> crate::model::client_authentication_setting_info::Builder { + crate::model::client_authentication_setting_info::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ClientAuthenticationStatus { + Disabled, + Enabled, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ClientAuthenticationStatus { + fn from(s: &str) -> Self { + match s { + "Disabled" => ClientAuthenticationStatus::Disabled, + "Enabled" => ClientAuthenticationStatus::Enabled, + other => ClientAuthenticationStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ClientAuthenticationStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ClientAuthenticationStatus::from(s)) + } +} +impl ClientAuthenticationStatus { + pub fn as_str(&self) -> &str { + match self { + ClientAuthenticationStatus::Disabled => "Disabled", + ClientAuthenticationStatus::Enabled => "Enabled", + ClientAuthenticationStatus::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["Disabled", "Enabled"] + } +} +impl AsRef for ClientAuthenticationStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

          Information about the certificate.

          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -5210,10 +5375,10 @@ pub struct DirectoryConnectSettings { pub vpc_id: std::option::Option, ///

          A list of subnet identifiers in the VPC in which the AD Connector is created.

          pub subnet_ids: std::option::Option>, - ///

          A list of one or more IP addresses of DNS servers or domain controllers in the on-premises + ///

          A list of one or more IP addresses of DNS servers or domain controllers in your self-managed /// directory.

          pub customer_dns_ips: std::option::Option>, - ///

          The user name of an account in the on-premises directory that is used to connect to the + ///

          The user name of an account in your self-managed directory that is used to connect to the /// directory. This account must have the following permissions:

          ///
            ///
          • @@ -5285,7 +5450,7 @@ pub mod directory_connect_settings { self.customer_dns_ips = input; self } - ///

            The user name of an account in the on-premises directory that is used to connect to the + ///

            The user name of an account in your self-managed directory that is used to connect to the /// directory. This account must have the following permissions:

            ///
              ///
            • @@ -5327,11 +5492,14 @@ impl DirectoryConnectSettings { } } -///

              IP address block. This is often the address block of the DNS server used for your on-premises domain.

              +///

              IP address block. This is often the address block of the DNS server used for your +/// self-managed domain.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IpRoute { - ///

              IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

              + ///

              IP address block using CIDR format, for example 10.0.0.0/24. This is often the + /// address block of the DNS server used for your self-managed domain. For a single IP address + /// use a CIDR address block with /32. For example 10.0.0.0/32.

              pub cidr_ip: std::option::Option, ///

              Description of the address block.

              pub description: std::option::Option, @@ -5354,7 +5522,9 @@ pub mod ip_route { pub(crate) description: std::option::Option, } impl Builder { - ///

              IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

              + ///

              IP address block using CIDR format, for example 10.0.0.0/24. This is often the + /// address block of the DNS server used for your self-managed domain. For a single IP address + /// use a CIDR address block with /32. For example 10.0.0.0/32.

              pub fn cidr_ip(mut self, input: impl Into) -> Self { self.cidr_ip = Some(input.into()); self diff --git a/sdk/directory/src/operation.rs b/sdk/directory/src/operation.rs index 3cb6a96f34cd..a9cc9e166010 100644 --- a/sdk/directory/src/operation.rs +++ b/sdk/directory/src/operation.rs @@ -27,8 +27,14 @@ impl smithy_http::response::ParseStrictResponse for AcceptSharedDirectory { } } -///

              If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

              -///

              Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

              +///

              If the DNS server for your self-managed domain uses a publicly addressable IP address, +/// you must add a CIDR address block to correctly route traffic to and from your Microsoft AD +/// on Amazon Web Services. AddIpRoutes adds this address block. You can +/// also use AddIpRoutes to facilitate routing traffic that uses public IP +/// ranges from your Microsoft AD on Amazon Web Services to a peer VPC.

              +///

              Before you call AddIpRoutes, ensure that all of the required +/// permissions have been explicitly granted through a policy. For details about what +/// permissions are required to run the AddIpRoutes operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddIpRoutes { _private: (), @@ -79,7 +85,9 @@ impl smithy_http::response::ParseStrictResponse for AddRegion { } } -///

              Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

              +///

              Adds or overwrites one or more tags for the specified directory. Each directory can +/// have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be +/// unique to each resource.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AddTagsToResource { _private: (), @@ -107,7 +115,11 @@ impl smithy_http::response::ParseStrictResponse for AddTagsToResource { } } -///

              Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

              +///

              Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema +/// extension has started replicating to all domain controllers, the task can no longer be +/// canceled. A schema extension can be canceled during any of the following states; +/// Initializing, CreatingSnapshot, and +/// UpdatingSchema.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CancelSchemaExtension { _private: (), @@ -135,10 +147,10 @@ impl smithy_http::response::ParseStrictResponse for CancelSchemaExtension { } } -///

              Creates an AD Connector to connect to an on-premises directory.

              +///

              Creates an AD Connector to connect to a self-managed directory.

              ///

              Before you call ConnectDirectory, ensure that all of the required permissions /// have been explicitly granted through a policy. For details about what permissions are required -/// to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions +/// to run the ConnectDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions /// Reference.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ConnectDirectory { @@ -224,7 +236,9 @@ impl smithy_http::response::ParseStrictResponse for CreateComputer { } } -///

              Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain.

              +///

              Creates a conditional forwarder associated with your Amazon Web Services directory. Conditional +/// forwarders are required in order to set up a trust relationship with another domain. The +/// conditional forwarder points to the trusted domain.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateConditionalForwarder { _private: (), @@ -252,11 +266,11 @@ impl smithy_http::response::ParseStrictResponse for CreateConditionalForwarder { } } -///

              Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin +///

              Creates a Simple AD directory. For more information, see Simple Active Directory in the Directory Service Admin /// Guide.

              ///

              Before you call CreateDirectory, ensure that all of the required permissions /// have been explicitly granted through a policy. For details about what permissions are required -/// to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions +/// to run the CreateDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions /// Reference.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateDirectory { @@ -286,7 +300,7 @@ impl smithy_http::response::ParseStrictResponse for CreateDirectory { } ///

              Creates a subscription to forward real-time Directory Service domain controller security -/// logs to the specified Amazon CloudWatch log group in your AWS account.

              +/// logs to the specified Amazon CloudWatch log group in your Amazon Web Services account.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateLogSubscription { _private: (), @@ -314,8 +328,10 @@ impl smithy_http::response::ParseStrictResponse for CreateLogSubscription { } } -///

              Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide.

              -///

              Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

              +///

              Creates a Microsoft AD directory in the Amazon Web Services Cloud. For more information, see Managed Microsoft AD in the Directory Service Admin Guide.

              +///

              Before you call CreateMicrosoftAD, ensure that all of the required +/// permissions have been explicitly granted through a policy. For details about what permissions +/// are required to run the CreateMicrosoftAD operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateMicrosoftAD { _private: (), @@ -343,7 +359,7 @@ impl smithy_http::response::ParseStrictResponse for CreateMicrosoftAD { } } -///

              Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.

              +///

              Creates a snapshot of a Simple AD or Microsoft AD directory in the Amazon Web Services cloud.

              /// ///

              You cannot take snapshots of AD Connector directories.

              ///
              @@ -372,8 +388,13 @@ impl smithy_http::response::ParseStrictResponse for CreateSnapshot { } } -///

              AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

              -///

              This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust.

              +///

              Directory Service for Microsoft Active Directory allows you to configure trust relationships. For +/// example, you can establish a trust between your Managed Microsoft AD directory, and your existing +/// self-managed Microsoft Active Directory. This would allow you to provide users and groups +/// access to resources in either domain, with a single set of credentials.

              +///

              This action initiates the creation of the Amazon Web Services side of a trust relationship between an +/// Managed Microsoft AD directory and an external domain. You can create either a forest trust or an +/// external trust.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateTrust { _private: (), @@ -399,7 +420,8 @@ impl smithy_http::response::ParseStrictResponse for CreateTrust { } } -///

              Deletes a conditional forwarder that has been set up for your AWS directory.

              +///

              Deletes a conditional forwarder that has been set up for your Amazon Web Services +/// directory.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteConditionalForwarder { _private: (), @@ -427,10 +449,10 @@ impl smithy_http::response::ParseStrictResponse for DeleteConditionalForwarder { } } -///

              Deletes an AWS Directory Service directory.

              +///

              Deletes an Directory Service directory.

              ///

              Before you call DeleteDirectory, ensure that all of the required permissions /// have been explicitly granted through a policy. For details about what permissions are required -/// to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions +/// to run the DeleteDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions /// Reference.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteDirectory { @@ -513,7 +535,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteSnapshot { } } -///

              Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.

              +///

              Deletes an existing trust relationship between your Managed Microsoft AD directory and an external +/// domain.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteTrust { _private: (), @@ -567,7 +590,7 @@ impl smithy_http::response::ParseStrictResponse for DeregisterCertificate { } } -///

              Removes the specified directory as a publisher to the specified SNS topic.

              +///

              Removes the specified directory as a publisher to the specified Amazon SNS topic.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeregisterEventTopic { _private: (), @@ -623,8 +646,38 @@ impl smithy_http::response::ParseStrictResponse for DescribeCertificate { } } +///

              Retrieves information about the type of client authentication for the specified directory, if the type is specified. If no type is specified, information about all client authentication types that are supported for the specified directory is retrieved. Currently, only SmartCard is supported. +///

              +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeClientAuthenticationSettings { + _private: (), +} +impl DescribeClientAuthenticationSettings { + /// Creates a new builder-style object to manufacture [`DescribeClientAuthenticationSettingsInput`](crate::input::DescribeClientAuthenticationSettingsInput) + pub fn builder() -> crate::input::describe_client_authentication_settings_input::Builder { + crate::input::describe_client_authentication_settings_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeClientAuthenticationSettings { + type Output = std::result::Result< + crate::output::DescribeClientAuthenticationSettingsOutput, + crate::error::DescribeClientAuthenticationSettingsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_client_authentication_settings_error(response) + } else { + crate::operation_deser::parse_describe_client_authentication_settings_response(response) + } + } +} + ///

              Obtains information about the conditional forwarders for this account.

              -///

              If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID.

              +///

              If no input parameters are provided for RemoteDomainNames, this request describes all +/// conditional forwarders for the specified directory ID.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeConditionalForwarders { _private: (), @@ -718,8 +771,10 @@ impl smithy_http::response::ParseStrictResponse for DescribeDomainControllers { } } -///

              Obtains information about which SNS topics receive status messages from the specified directory.

              -///

              If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

              +///

              Obtains information about which Amazon SNS topics receive status messages from the specified +/// directory.

              +///

              If no input parameters are provided, such as DirectoryId or TopicName, this request +/// describes all of the associations in the account.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeEventTopics { _private: (), @@ -867,7 +922,8 @@ impl smithy_http::response::ParseStrictResponse for DescribeSnapshots { } ///

              Obtains information about the trust relationships for this account.

              -///

              If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

              +///

              If no input parameters are provided, such as DirectoryId or TrustIds, this request +/// describes all the trust relationships belonging to the account.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeTrusts { _private: (), @@ -947,7 +1003,8 @@ impl smithy_http::response::ParseStrictResponse for DisableLDAPS { } } -///

              Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

              +///

              Disables multi-factor authentication (MFA) with the Remote Authentication Dial In +/// User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisableRadius { _private: (), @@ -1053,7 +1110,8 @@ impl smithy_http::response::ParseStrictResponse for EnableLDAPS { } } -///

              Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

              +///

              Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User +/// Service (RADIUS) server for an AD Connector or Microsoft AD directory.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableRadius { _private: (), @@ -1079,7 +1137,9 @@ impl smithy_http::response::ParseStrictResponse for EnableRadius { } } -///

              Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately.

              +///

              Enables single sign-on for a directory. Single sign-on allows users in your directory to +/// access certain Amazon Web Services services from a computer joined to the directory without having to enter +/// their credentials separately.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct EnableSso { _private: (), @@ -1214,7 +1274,7 @@ impl smithy_http::response::ParseStrictResponse for ListIpRoutes { } } -///

              Lists the active log subscriptions for the AWS account.

              +///

              Lists the active log subscriptions for the Amazon Web Services account.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListLogSubscriptions { _private: (), @@ -1326,7 +1386,11 @@ impl smithy_http::response::ParseStrictResponse for RegisterCertificate { } } -///

              Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

              +///

              Associates a directory with an Amazon SNS topic. This establishes the directory as a +/// publisher to the specified Amazon SNS topic. You can then receive email or text (SMS) messages when +/// the status of your directory changes. You get notified if your directory goes from an Active +/// status to an Impaired or Inoperable status. You also receive a notification when the directory +/// returns to an Active status.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RegisterEventTopic { _private: (), @@ -1464,7 +1528,7 @@ impl smithy_http::response::ParseStrictResponse for RemoveTagsFromResource { } } -///

              Resets the password for any user in your AWS Managed Microsoft AD or Simple AD +///

              Resets the password for any user in your Managed Microsoft AD or Simple AD /// directory.

              ///

              You can reset the password for any user in your directory with the following /// exceptions:

              @@ -1475,11 +1539,10 @@ impl smithy_http::response::ParseStrictResponse for RemoveTagsFromResource { /// Admins
              group except for the administrator user.

              ///
            • ///
            • -///

              For AWS Managed Microsoft AD, you can only reset the password for a user that is in an +///

              For Managed Microsoft AD, you can only reset the password for a user that is in an /// OU based off of the NetBIOS name that you typed when you created your directory. For -/// example, you cannot reset the password for a user in the AWS -/// Reserved OU. For more information about the OU structure for an AWS Managed -/// Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration +/// example, you cannot reset the password for a user in the Amazon Web Services +/// Reserved OU. For more information about the OU structure for an Managed Microsoft AD directory, see What Gets Created in the Directory Service Administration /// Guide.

              ///
            • ///
            @@ -1543,16 +1606,16 @@ impl smithy_http::response::ParseStrictResponse for RestoreFromSnapshot { } } -///

            Shares a specified directory (DirectoryId) in your AWS account (directory -/// owner) with another AWS account (directory consumer). With this operation you can use your -/// directory from any AWS account and from any Amazon VPC within an AWS Region.

            -///

            When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a +///

            Shares a specified directory (DirectoryId) in your Amazon Web Services account (directory +/// owner) with another Amazon Web Services account (directory consumer). With this operation you can use your +/// directory from any Amazon Web Services account and from any Amazon VPC within an Amazon Web Services Region.

            +///

            When you share your Managed Microsoft AD directory, Directory Service creates a /// shared directory in the directory consumer account. This shared directory contains the /// metadata to provide access to the directory within the directory owner account. The shared /// directory is visible in all VPCs in the directory consumer account.

            ///

            The ShareMethod parameter determines whether the specified directory can be -/// shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It -/// also determines whether you can share the directory with any other AWS account either inside +/// shared between Amazon Web Services accounts inside the same Amazon Web Services organization (ORGANIZATIONS). It +/// also determines whether you can share the directory with any other Amazon Web Services account either inside /// or outside of the organization (HANDSHAKE).

            ///

            The ShareNotes parameter is only used when HANDSHAKE is called, /// which sends a directory sharing request to the directory consumer.

            @@ -1637,7 +1700,8 @@ impl smithy_http::response::ParseStrictResponse for UnshareDirectory { } } -///

            Updates a conditional forwarder that has been set up for your AWS directory.

            +///

            Updates a conditional forwarder that has been set up for your Amazon Web Services +/// directory.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateConditionalForwarder { _private: (), @@ -1665,7 +1729,11 @@ impl smithy_http::response::ParseStrictResponse for UpdateConditionalForwarder { } } -///

            Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

            +///

            Adds or removes domain controllers to or from the directory. Based on the difference +/// between current value and new value (provided through this API call), domain controllers will +/// be added or removed. It may take up to 45 minutes for any new domain controllers to become +/// fully active once the requested number of domain controllers is updated. During this time, you +/// cannot make another update request.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateNumberOfDomainControllers { _private: (), @@ -1693,7 +1761,8 @@ impl smithy_http::response::ParseStrictResponse for UpdateNumberOfDomainControll } } -///

            Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.

            +///

            Updates the Remote Authentication Dial In User Service (RADIUS) server information +/// for an AD Connector or Microsoft AD directory.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateRadius { _private: (), @@ -1719,7 +1788,8 @@ impl smithy_http::response::ParseStrictResponse for UpdateRadius { } } -///

            Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.

            +///

            Updates the trust that has been set up between your Managed Microsoft AD directory and an +/// self-managed Active Directory.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateTrust { _private: (), @@ -1745,8 +1815,10 @@ impl smithy_http::response::ParseStrictResponse for UpdateTrust { } } -///

            AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

            -///

            This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain.

            +///

            Directory Service for Microsoft Active Directory allows you to configure and verify trust +/// relationships.

            +///

            This action verifies a trust relationship between your Managed Microsoft AD directory and an +/// external domain.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct VerifyTrust { _private: (), diff --git a/sdk/directory/src/operation_deser.rs b/sdk/directory/src/operation_deser.rs index ee86215ab1eb..2c6daee1d53d 100644 --- a/sdk/directory/src/operation_deser.rs +++ b/sdk/directory/src/operation_deser.rs @@ -3213,6 +3213,133 @@ pub fn parse_describe_certificate_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_client_authentication_settings_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeClientAuthenticationSettingsOutput, + crate::error::DescribeClientAuthenticationSettingsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeClientAuthenticationSettingsError::unhandled(generic)) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::AccessDeniedException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ClientException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::ClientException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::client_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_client_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "DirectoryDoesNotExistException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::DirectoryDoesNotExistException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::directory_does_not_exist_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_directory_does_not_exist_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "InvalidParameterException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::InvalidParameterException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "ServiceException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::ServiceException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::service_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "UnsupportedOperationException" => crate::error::DescribeClientAuthenticationSettingsError { meta: generic, kind: crate::error::DescribeClientAuthenticationSettingsErrorKind::UnsupportedOperationException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::unsupported_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_unsupported_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::DescribeClientAuthenticationSettingsError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_client_authentication_settings_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeClientAuthenticationSettingsOutput, + crate::error::DescribeClientAuthenticationSettingsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::describe_client_authentication_settings_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_client_authentication_settings( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeClientAuthenticationSettingsError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_describe_conditional_forwarders_error( response: &http::Response, diff --git a/sdk/directory/src/operation_ser.rs b/sdk/directory/src/operation_ser.rs index 3cbdf35d38dd..24dfed77e562 100644 --- a/sdk/directory/src/operation_ser.rs +++ b/sdk/directory/src/operation_ser.rs @@ -219,6 +219,19 @@ pub fn serialize_operation_describe_certificate( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_describe_client_authentication_settings( + input: &crate::input::DescribeClientAuthenticationSettingsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_client_authentication_settings_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_describe_conditional_forwarders( input: &crate::input::DescribeConditionalForwardersInput, ) -> Result { diff --git a/sdk/directory/src/output.rs b/sdk/directory/src/output.rs index dd01df4cd200..1573ff017da9 100644 --- a/sdk/directory/src/output.rs +++ b/sdk/directory/src/output.rs @@ -49,7 +49,7 @@ impl VerifyTrustOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateTrustOutput { - ///

            The AWS request identifier.

            + ///

            The Amazon Web Services request identifier.

            pub request_id: std::option::Option, ///

            Identifier of the trust relationship.

            pub trust_id: std::option::Option, @@ -72,7 +72,7 @@ pub mod update_trust_output { pub(crate) trust_id: std::option::Option, } impl Builder { - ///

            The AWS request identifier.

            + ///

            The Amazon Web Services request identifier.

            pub fn request_id(mut self, input: impl Into) -> Self { self.request_id = Some(input.into()); self @@ -690,7 +690,9 @@ pub struct ListSchemaExtensionsOutput { ///

            Information about the schema extensions applied to the directory.

            pub schema_extensions_info: std::option::Option>, - ///

            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the NextToken + /// parameter in a subsequent call to ListSchemaExtensions to retrieve the next set + /// of items.

            pub next_token: std::option::Option, } impl std::fmt::Debug for ListSchemaExtensionsOutput { @@ -728,7 +730,9 @@ pub mod list_schema_extensions_output { self.schema_extensions_info = input; self } - ///

            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the NextToken + /// parameter in a subsequent call to ListSchemaExtensions to retrieve the next set + /// of items.

            pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -756,8 +760,7 @@ impl ListSchemaExtensionsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListLogSubscriptionsOutput { - ///

            A list of active LogSubscription objects for calling the AWS - /// account.

            + ///

            A list of active LogSubscription objects for calling the Amazon Web Services account.

            pub log_subscriptions: std::option::Option>, ///

            The token for the next set of items to return.

            pub next_token: std::option::Option, @@ -827,8 +830,8 @@ impl ListLogSubscriptionsOutput { pub struct ListIpRoutesOutput { ///

            A list of IpRoutes.

            pub ip_routes_info: std::option::Option>, - ///

            If not null, more results are available. Pass this value for the NextToken parameter - /// in a subsequent call to ListIpRoutes to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the + /// NextToken parameter in a subsequent call to ListIpRoutes to retrieve the next set of items.

            pub next_token: std::option::Option, } impl std::fmt::Debug for ListIpRoutesOutput { @@ -862,8 +865,8 @@ pub mod list_ip_routes_output { self.ip_routes_info = input; self } - ///

            If not null, more results are available. Pass this value for the NextToken parameter - /// in a subsequent call to ListIpRoutes to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the + /// NextToken parameter in a subsequent call to ListIpRoutes to retrieve the next set of items.

            pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -1016,7 +1019,7 @@ impl GetSnapshotLimitsOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetDirectoryLimitsOutput { ///

            A DirectoryLimits object that contains the directory limits for the - /// current rRegion.

            + /// current Region.

            pub directory_limits: std::option::Option, } impl std::fmt::Debug for GetDirectoryLimitsOutput { @@ -1036,7 +1039,7 @@ pub mod get_directory_limits_output { } impl Builder { ///

            A DirectoryLimits object that contains the directory limits for the - /// current rRegion.

            + /// current Region.

            pub fn directory_limits(mut self, input: crate::model::DirectoryLimits) -> Self { self.directory_limits = Some(input); self @@ -1305,12 +1308,12 @@ impl DisableClientAuthenticationOutput { pub struct DescribeTrustsOutput { ///

            The list of Trust objects that were retrieved.

            ///

            It is possible that this list contains less than the number of items specified in the - /// Limit member of the request. This occurs if there are less than the requested - /// number of items left to retrieve, or if the limitations of the operation have been + /// Limit member of the request. This occurs if there are less than the + /// requested number of items left to retrieve, or if the limitations of the operation have been /// exceeded.

            pub trusts: std::option::Option>, - ///

            If not null, more results are available. Pass this value for the NextToken parameter - /// in a subsequent call to DescribeTrusts to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the + /// NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

            pub next_token: std::option::Option, } impl std::fmt::Debug for DescribeTrustsOutput { @@ -1344,8 +1347,8 @@ pub mod describe_trusts_output { self.trusts = input; self } - ///

            If not null, more results are available. Pass this value for the NextToken parameter - /// in a subsequent call to DescribeTrusts to retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the + /// NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

            pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -1658,7 +1661,8 @@ impl DescribeLdapsSettingsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeEventTopicsOutput { - ///

            A list of SNS topic names that receive status messages from the specified Directory ID.

            + ///

            A list of Amazon SNS topic names that receive status messages from the specified Directory + /// ID.

            pub event_topics: std::option::Option>, } impl std::fmt::Debug for DescribeEventTopicsOutput { @@ -1710,7 +1714,9 @@ impl DescribeEventTopicsOutput { pub struct DescribeDomainControllersOutput { ///

            List of the DomainController objects that were retrieved.

            pub domain_controllers: std::option::Option>, - ///

            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the NextToken + /// parameter in a subsequent call to DescribeDomainControllers retrieve the + /// next set of items.

            pub next_token: std::option::Option, } impl std::fmt::Debug for DescribeDomainControllersOutput { @@ -1748,7 +1754,9 @@ pub mod describe_domain_controllers_output { self.domain_controllers = input; self } - ///

            If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

            + ///

            If not null, more results are available. Pass this value for the NextToken + /// parameter in a subsequent call to DescribeDomainControllers retrieve the + /// next set of items.

            pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -1907,6 +1915,82 @@ impl DescribeConditionalForwardersOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeClientAuthenticationSettingsOutput { + ///

            Information about the type of client authentication for the specified directory. The following information is retrieved: The date and time when the status of the client authentication type was last updated, whether the client authentication type is enabled or disabled, and the type of client authentication.

            + pub client_authentication_settings_info: + std::option::Option>, + ///

            The next token used to retrieve the client authentication settings if the number of setting types exceeds + /// page limit and there is another page.

            + pub next_token: std::option::Option, +} +impl std::fmt::Debug for DescribeClientAuthenticationSettingsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeClientAuthenticationSettingsOutput"); + formatter.field( + "client_authentication_settings_info", + &self.client_authentication_settings_info, + ); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`DescribeClientAuthenticationSettingsOutput`](crate::output::DescribeClientAuthenticationSettingsOutput) +pub mod describe_client_authentication_settings_output { + /// A builder for [`DescribeClientAuthenticationSettingsOutput`](crate::output::DescribeClientAuthenticationSettingsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) client_authentication_settings_info: + std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn client_authentication_settings_info( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.client_authentication_settings_info.unwrap_or_default(); + v.push(input.into()); + self.client_authentication_settings_info = Some(v); + self + } + pub fn set_client_authentication_settings_info( + mut self, + input: std::option::Option< + std::vec::Vec, + >, + ) -> Self { + self.client_authentication_settings_info = input; + self + } + ///

            The next token used to retrieve the client authentication settings if the number of setting types exceeds + /// page limit and there is another page.

            + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`DescribeClientAuthenticationSettingsOutput`](crate::output::DescribeClientAuthenticationSettingsOutput) + pub fn build(self) -> crate::output::DescribeClientAuthenticationSettingsOutput { + crate::output::DescribeClientAuthenticationSettingsOutput { + client_authentication_settings_info: self.client_authentication_settings_info, + next_token: self.next_token, + } + } + } +} +impl DescribeClientAuthenticationSettingsOutput { + /// Creates a new builder-style object to manufacture [`DescribeClientAuthenticationSettingsOutput`](crate::output::DescribeClientAuthenticationSettingsOutput) + pub fn builder() -> crate::output::describe_client_authentication_settings_output::Builder { + crate::output::describe_client_authentication_settings_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeCertificateOutput { diff --git a/sdk/dlm/Cargo.toml b/sdk/dlm/Cargo.toml index 0515e8f4f3ed..5de02d9e8b65 100644 --- a/sdk/dlm/Cargo.toml +++ b/sdk/dlm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-dlm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Data Lifecycle Manager\n\t\t

            With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create\n\t\t\tlifecycle policies, which are used to automate operations on the specified\n\t\t\tresources.

            \n\t\t

            Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM\n\t\t\twith Amazon EBS, see Automating the Amazon EBS\n\t\t\t\tSnapshot Lifecycle in the Amazon EC2 User Guide.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/docdb/Cargo.toml b/sdk/docdb/Cargo.toml index 2eee8a9b9146..1c3f013fd9e5 100644 --- a/sdk/docdb/Cargo.toml +++ b/sdk/docdb/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-docdb" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

            Amazon DocumentDB API documentation

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/dynamodb/Cargo.toml b/sdk/dynamodb/Cargo.toml index 6ccce5cf63fc..c7e974ecebaf 100644 --- a/sdk/dynamodb/Cargo.toml +++ b/sdk/dynamodb/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-dynamodb" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon DynamoDB\n\n\n

            Amazon DynamoDB is a fully managed NoSQL database service that provides fast and\n predictable performance with seamless scalability. DynamoDB lets you offload the\n administrative burdens of operating and scaling a distributed database, so that you don't have\n to worry about hardware provisioning, setup and configuration, replication, software patching,\n or cluster scaling.

            \n\n

            With DynamoDB, you can create database tables that can store and retrieve any amount of\n data, and serve any level of request traffic. You can scale up or scale down your tables'\n throughput capacity without downtime or performance degradation, and use the AWS Management\n Console to monitor resource utilization and performance metrics.

            \n\n

            DynamoDB automatically spreads the data and traffic for your tables over a sufficient\n number of servers to handle your throughput and storage requirements, while maintaining\n consistent and fast performance. All of your data is stored on solid state disks (SSDs) and\n automatically replicated across multiple Availability Zones in an AWS region, providing\n built-in high availability and data durability.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/dynamodb/src/model.rs b/sdk/dynamodb/src/model.rs index 5ebe0ca77746..893020001349 100644 --- a/sdk/dynamodb/src/model.rs +++ b/sdk/dynamodb/src/model.rs @@ -5624,7 +5624,7 @@ pub enum AttributeValue { Ss(std::vec::Vec), } impl AttributeValue { - pub fn as_b(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_b(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let AttributeValue::B(val) = &self { Ok(&val) } else { @@ -5634,7 +5634,7 @@ impl AttributeValue { pub fn is_b(&self) -> bool { self.as_b().is_ok() } - pub fn as_bool(&self) -> Result<&bool, &Self> { + pub fn as_bool(&self) -> std::result::Result<&bool, &Self> { if let AttributeValue::Bool(val) = &self { Ok(&val) } else { @@ -5644,7 +5644,7 @@ impl AttributeValue { pub fn is_bool(&self) -> bool { self.as_bool().is_ok() } - pub fn as_bs(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_bs(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Bs(val) = &self { Ok(&val) } else { @@ -5654,7 +5654,7 @@ impl AttributeValue { pub fn is_bs(&self) -> bool { self.as_bs().is_ok() } - pub fn as_l(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_l(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::L(val) = &self { Ok(&val) } else { @@ -5666,8 +5666,10 @@ impl AttributeValue { } pub fn as_m( &self, - ) -> Result<&std::collections::HashMap, &Self> - { + ) -> std::result::Result< + &std::collections::HashMap, + &Self, + > { if let AttributeValue::M(val) = &self { Ok(&val) } else { @@ -5677,7 +5679,7 @@ impl AttributeValue { pub fn is_m(&self) -> bool { self.as_m().is_ok() } - pub fn as_n(&self) -> Result<&std::string::String, &Self> { + pub fn as_n(&self) -> std::result::Result<&std::string::String, &Self> { if let AttributeValue::N(val) = &self { Ok(&val) } else { @@ -5687,7 +5689,7 @@ impl AttributeValue { pub fn is_n(&self) -> bool { self.as_n().is_ok() } - pub fn as_ns(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_ns(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Ns(val) = &self { Ok(&val) } else { @@ -5697,7 +5699,7 @@ impl AttributeValue { pub fn is_ns(&self) -> bool { self.as_ns().is_ok() } - pub fn as_null(&self) -> Result<&bool, &Self> { + pub fn as_null(&self) -> std::result::Result<&bool, &Self> { if let AttributeValue::Null(val) = &self { Ok(&val) } else { @@ -5707,7 +5709,7 @@ impl AttributeValue { pub fn is_null(&self) -> bool { self.as_null().is_ok() } - pub fn as_s(&self) -> Result<&std::string::String, &Self> { + pub fn as_s(&self) -> std::result::Result<&std::string::String, &Self> { if let AttributeValue::S(val) = &self { Ok(&val) } else { @@ -5717,7 +5719,7 @@ impl AttributeValue { pub fn is_s(&self) -> bool { self.as_s().is_ok() } - pub fn as_ss(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_ss(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Ss(val) = &self { Ok(&val) } else { diff --git a/sdk/dynamodbstreams/Cargo.toml b/sdk/dynamodbstreams/Cargo.toml index 9192d948a9da..52eafd983b02 100644 --- a/sdk/dynamodbstreams/Cargo.toml +++ b/sdk/dynamodbstreams/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-dynamodbstreams" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon DynamoDB\n\n

            Amazon DynamoDB Streams provides API actions for accessing streams and processing\n stream records. To learn more about application development with Streams, see Capturing\n Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer\n Guide.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/dynamodbstreams/src/model.rs b/sdk/dynamodbstreams/src/model.rs index b1ac8bc3ebcc..9bec949654cb 100644 --- a/sdk/dynamodbstreams/src/model.rs +++ b/sdk/dynamodbstreams/src/model.rs @@ -759,7 +759,7 @@ pub enum AttributeValue { Ss(std::vec::Vec), } impl AttributeValue { - pub fn as_b(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_b(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let AttributeValue::B(val) = &self { Ok(&val) } else { @@ -769,7 +769,7 @@ impl AttributeValue { pub fn is_b(&self) -> bool { self.as_b().is_ok() } - pub fn as_bool(&self) -> Result<&bool, &Self> { + pub fn as_bool(&self) -> std::result::Result<&bool, &Self> { if let AttributeValue::Bool(val) = &self { Ok(&val) } else { @@ -779,7 +779,7 @@ impl AttributeValue { pub fn is_bool(&self) -> bool { self.as_bool().is_ok() } - pub fn as_bs(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_bs(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Bs(val) = &self { Ok(&val) } else { @@ -789,7 +789,7 @@ impl AttributeValue { pub fn is_bs(&self) -> bool { self.as_bs().is_ok() } - pub fn as_l(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_l(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::L(val) = &self { Ok(&val) } else { @@ -801,8 +801,10 @@ impl AttributeValue { } pub fn as_m( &self, - ) -> Result<&std::collections::HashMap, &Self> - { + ) -> std::result::Result< + &std::collections::HashMap, + &Self, + > { if let AttributeValue::M(val) = &self { Ok(&val) } else { @@ -812,7 +814,7 @@ impl AttributeValue { pub fn is_m(&self) -> bool { self.as_m().is_ok() } - pub fn as_n(&self) -> Result<&std::string::String, &Self> { + pub fn as_n(&self) -> std::result::Result<&std::string::String, &Self> { if let AttributeValue::N(val) = &self { Ok(&val) } else { @@ -822,7 +824,7 @@ impl AttributeValue { pub fn is_n(&self) -> bool { self.as_n().is_ok() } - pub fn as_ns(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_ns(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Ns(val) = &self { Ok(&val) } else { @@ -832,7 +834,7 @@ impl AttributeValue { pub fn is_ns(&self) -> bool { self.as_ns().is_ok() } - pub fn as_null(&self) -> Result<&bool, &Self> { + pub fn as_null(&self) -> std::result::Result<&bool, &Self> { if let AttributeValue::Null(val) = &self { Ok(&val) } else { @@ -842,7 +844,7 @@ impl AttributeValue { pub fn is_null(&self) -> bool { self.as_null().is_ok() } - pub fn as_s(&self) -> Result<&std::string::String, &Self> { + pub fn as_s(&self) -> std::result::Result<&std::string::String, &Self> { if let AttributeValue::S(val) = &self { Ok(&val) } else { @@ -852,7 +854,7 @@ impl AttributeValue { pub fn is_s(&self) -> bool { self.as_s().is_ok() } - pub fn as_ss(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_ss(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValue::Ss(val) = &self { Ok(&val) } else { diff --git a/sdk/ebs/Cargo.toml b/sdk/ebs/Cargo.toml index d0861268a19e..20698b1740c9 100644 --- a/sdk/ebs/Cargo.toml +++ b/sdk/ebs/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ebs" -version = "0.0.15-alpha" -description = "

            You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to \n \t\tyour snapshots, read data on your snapshots, and identify the differences or changes between \n \t\ttwo snapshots. If you’re an independent software vendor (ISV) who offers backup services for \n \t\tAmazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on \n \t\tyour EBS volumes through snapshots. This can be done without having to create new volumes \n \t\tfrom snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.

            \n \t\t\n \t

            You can create incremental snapshots directly from data on-premises into EBS volumes and the \n \t\tcloud to use for quick disaster recovery. With the ability to write and read snapshots, you can \n \t\twrite your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can \n \t\trestore it back to AWS or on-premises from the snapshot. You no longer need to build and \n \t\tmaintain complex mechanisms to copy data to and from Amazon EBS.

            \n\n\n

            This API reference provides detailed information about the actions, data types,\n parameters, and errors of the EBS direct APIs. For more information about the elements that\n make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User\n Guide. For more information about the supported AWS Regions, endpoints,\n and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in\n the AWS General Reference.

            " +version = "0.0.16-alpha" +description = "

            You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create Amazon EBS snapshots, write data directly to \n \t\tyour snapshots, read data on your snapshots, and identify the differences or changes between \n \t\ttwo snapshots. If you’re an independent software vendor (ISV) who offers backup services for \n \t\tAmazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on \n \t\tyour Amazon EBS volumes through snapshots. This can be done without having to create new volumes \n \t\tfrom snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.

            \n \t\t\n \t

            You can create incremental snapshots directly from data on-premises into volumes and the \n \t\tcloud to use for quick disaster recovery. With the ability to write and read snapshots, you can \n \t\twrite your on-premises data to an snapshot during a disaster. Then after recovery, you can \n \t\trestore it back to Amazon Web Services or on-premises from the snapshot. You no longer need to build and \n \t\tmaintain complex mechanisms to copy data to and from Amazon EBS.

            \n\n\n

            This API reference provides detailed information about the actions, data types,\n parameters, and errors of the EBS direct APIs. For more information about the elements that\n make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User\n Guide. For more information about the supported Amazon Web Services Regions, endpoints,\n and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in\n the Amazon Web Services General Reference.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/ebs/src/client.rs b/sdk/ebs/src/client.rs index 145244a4e02a..e248ccf24d77 100644 --- a/sdk/ebs/src/client.rs +++ b/sdk/ebs/src/client.rs @@ -453,7 +453,7 @@ pub mod fluent_builders { self } ///

            The size of the data to write to the block, in bytes. Currently, the only supported - /// size is 524288.

            + /// size is 524288 bytes.

            ///

            Valid values: 524288 ///

            pub fn data_length(mut self, input: i32) -> Self { @@ -580,7 +580,7 @@ pub mod fluent_builders { /// request, if the original request completes successfully. The subsequent retries with the same /// client token return the result from the original successful request and they have no additional /// effect.

            - ///

            If you do not specify a client token, one is automatically generated by the AWS SDK.

            + ///

            If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

            ///

            For more information, see /// Idempotency for StartSnapshot API in the Amazon Elastic Compute Cloud User Guide.

            pub fn client_token(mut self, input: impl Into) -> Self { @@ -595,11 +595,11 @@ pub mod fluent_builders { /// true. To create an unencrypted snapshot, omit this parameter.

            ///

            If you specify a value for ParentSnapshotId, omit /// this parameter.

            - ///

            If you specify true, the snapshot is encrypted using the CMK specified + ///

            If you specify true, the snapshot is encrypted using the KMS key specified /// using the KmsKeyArn parameter. If no value is specified - /// for KmsKeyArn, the default CMK for your account is - /// used. If no default CMK has been specified for your account, the AWS managed CMK is used. - /// To set a default CMK for your account, use + /// for KmsKeyArn, the default KMS key for your account is + /// used. If no default KMS key has been specified for your account, the Amazon Web Services managed KMS key is used. + /// To set a default KMS key for your account, use /// ModifyEbsDefaultKmsKeyId.

            ///

            If your account is enabled for encryption by default, you cannot set this parameter to /// false. In this case, you can omit this parameter.

            @@ -613,14 +613,14 @@ pub mod fluent_builders { self.inner = self.inner.set_encrypted(input); self } - ///

            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) - /// customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a - /// CMK, the default AWS managed CMK is used.

            + ///

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) + /// key to be used to encrypt the snapshot. If you do not specify a + /// KMS key, the default Amazon Web Services managed KMS key is used.

            ///

            If you specify a ParentSnapshotId, omit this - /// parameter; the snapshot will be encrypted using the same CMK that was used to encrypt + /// parameter; the snapshot will be encrypted using the same KMS key that was used to encrypt /// the parent snapshot.

            ///

            If Encrypted is set to true, - /// you must specify a CMK ARN.

            + /// you must specify a KMS key ARN.

            pub fn kms_key_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.kms_key_arn(input); self diff --git a/sdk/ebs/src/input.rs b/sdk/ebs/src/input.rs index 6c0a4130d2cc..3c4ed5c41ea4 100644 --- a/sdk/ebs/src/input.rs +++ b/sdk/ebs/src/input.rs @@ -980,7 +980,7 @@ pub mod put_snapshot_block_input { self } ///

            The size of the data to write to the block, in bytes. Currently, the only supported - /// size is 524288.

            + /// size is 524288 bytes.

            ///

            Valid values: 524288 ///

            pub fn data_length(mut self, input: i32) -> Self { @@ -1333,7 +1333,7 @@ pub mod start_snapshot_input { /// request, if the original request completes successfully. The subsequent retries with the same /// client token return the result from the original successful request and they have no additional /// effect.

            - ///

            If you do not specify a client token, one is automatically generated by the AWS SDK.

            + ///

            If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

            ///

            For more information, see /// Idempotency for StartSnapshot API in the Amazon Elastic Compute Cloud User Guide.

            pub fn client_token(mut self, input: impl Into) -> Self { @@ -1348,11 +1348,11 @@ pub mod start_snapshot_input { /// true. To create an unencrypted snapshot, omit this parameter.

            ///

            If you specify a value for ParentSnapshotId, omit /// this parameter.

            - ///

            If you specify true, the snapshot is encrypted using the CMK specified + ///

            If you specify true, the snapshot is encrypted using the KMS key specified /// using the KmsKeyArn parameter. If no value is specified - /// for KmsKeyArn, the default CMK for your account is - /// used. If no default CMK has been specified for your account, the AWS managed CMK is used. - /// To set a default CMK for your account, use + /// for KmsKeyArn, the default KMS key for your account is + /// used. If no default KMS key has been specified for your account, the Amazon Web Services managed KMS key is used. + /// To set a default KMS key for your account, use /// ModifyEbsDefaultKmsKeyId.

            ///

            If your account is enabled for encryption by default, you cannot set this parameter to /// false. In this case, you can omit this parameter.

            @@ -1366,14 +1366,14 @@ pub mod start_snapshot_input { self.encrypted = input; self } - ///

            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) - /// customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a - /// CMK, the default AWS managed CMK is used.

            + ///

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) + /// key to be used to encrypt the snapshot. If you do not specify a + /// KMS key, the default Amazon Web Services managed KMS key is used.

            ///

            If you specify a ParentSnapshotId, omit this - /// parameter; the snapshot will be encrypted using the same CMK that was used to encrypt + /// parameter; the snapshot will be encrypted using the same KMS key that was used to encrypt /// the parent snapshot.

            ///

            If Encrypted is set to true, - /// you must specify a CMK ARN.

            + /// you must specify a KMS key ARN.

            pub fn kms_key_arn(mut self, input: impl Into) -> Self { self.kms_key_arn = Some(input.into()); self @@ -1543,7 +1543,7 @@ pub struct StartSnapshotInput { /// request, if the original request completes successfully. The subsequent retries with the same /// client token return the result from the original successful request and they have no additional /// effect.

            - ///

            If you do not specify a client token, one is automatically generated by the AWS SDK.

            + ///

            If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

            ///

            For more information, see /// Idempotency for StartSnapshot API in the Amazon Elastic Compute Cloud User Guide.

            pub client_token: std::option::Option, @@ -1551,25 +1551,25 @@ pub struct StartSnapshotInput { /// true. To create an unencrypted snapshot, omit this parameter.

            ///

            If you specify a value for ParentSnapshotId, omit /// this parameter.

            - ///

            If you specify true, the snapshot is encrypted using the CMK specified + ///

            If you specify true, the snapshot is encrypted using the KMS key specified /// using the KmsKeyArn parameter. If no value is specified - /// for KmsKeyArn, the default CMK for your account is - /// used. If no default CMK has been specified for your account, the AWS managed CMK is used. - /// To set a default CMK for your account, use + /// for KmsKeyArn, the default KMS key for your account is + /// used. If no default KMS key has been specified for your account, the Amazon Web Services managed KMS key is used. + /// To set a default KMS key for your account, use /// ModifyEbsDefaultKmsKeyId.

            ///

            If your account is enabled for encryption by default, you cannot set this parameter to /// false. In this case, you can omit this parameter.

            ///

            For more information, see /// Using encryption in the Amazon Elastic Compute Cloud User Guide.

            pub encrypted: std::option::Option, - ///

            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) - /// customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a - /// CMK, the default AWS managed CMK is used.

            + ///

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) + /// key to be used to encrypt the snapshot. If you do not specify a + /// KMS key, the default Amazon Web Services managed KMS key is used.

            ///

            If you specify a ParentSnapshotId, omit this - /// parameter; the snapshot will be encrypted using the same CMK that was used to encrypt + /// parameter; the snapshot will be encrypted using the same KMS key that was used to encrypt /// the parent snapshot.

            ///

            If Encrypted is set to true, - /// you must specify a CMK ARN.

            + /// you must specify a KMS key ARN.

            pub kms_key_arn: std::option::Option, ///

            The amount of time (in minutes) after which the snapshot is automatically cancelled /// if:

            @@ -1622,7 +1622,7 @@ pub struct PutSnapshotBlockInput { /// Guide
            .

            pub block_data: smithy_http::byte_stream::ByteStream, ///

            The size of the data to write to the block, in bytes. Currently, the only supported - /// size is 524288.

            + /// size is 524288 bytes.

            ///

            Valid values: 524288 ///

            pub data_length: std::option::Option, diff --git a/sdk/ebs/src/lib.rs b/sdk/ebs/src/lib.rs index fb4050778b66..82df5ee49995 100644 --- a/sdk/ebs/src/lib.rs +++ b/sdk/ebs/src/lib.rs @@ -4,23 +4,23 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//!

            You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to +//!

            You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create Amazon EBS snapshots, write data directly to //! your snapshots, read data on your snapshots, and identify the differences or changes between //! two snapshots. If you’re an independent software vendor (ISV) who offers backup services for //! Amazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on -//! your EBS volumes through snapshots. This can be done without having to create new volumes +//! your Amazon EBS volumes through snapshots. This can be done without having to create new volumes //! from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.

            -//!

            You can create incremental snapshots directly from data on-premises into EBS volumes and the +//!

            You can create incremental snapshots directly from data on-premises into volumes and the //! cloud to use for quick disaster recovery. With the ability to write and read snapshots, you can -//! write your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can -//! restore it back to AWS or on-premises from the snapshot. You no longer need to build and +//! write your on-premises data to an snapshot during a disaster. Then after recovery, you can +//! restore it back to Amazon Web Services or on-premises from the snapshot. You no longer need to build and //! maintain complex mechanisms to copy data to and from Amazon EBS.

            //!

            This API reference provides detailed information about the actions, data types, //! parameters, and errors of the EBS direct APIs. For more information about the elements that -//! make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User -//! Guide. For more information about the supported AWS Regions, endpoints, +//! make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User +//! Guide. For more information about the supported Amazon Web Services Regions, endpoints, //! and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in -//! the AWS General Reference.

            +//! the Amazon Web Services General Reference.

            // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. pub use error_meta::Error; diff --git a/sdk/ebs/src/operation.rs b/sdk/ebs/src/operation.rs index 502f347ecc5d..310ca656f462 100644 --- a/sdk/ebs/src/operation.rs +++ b/sdk/ebs/src/operation.rs @@ -468,7 +468,7 @@ mod list_snapshot_blocks_request_test { ///

            Writes a block of data to a snapshot. If the specified block contains /// data, the existing data is overwritten. The target snapshot must be in the /// pending state.

            -///

            Data written to a snapshot must be aligned with 512-byte sectors.

            +///

            Data written to a snapshot must be aligned with 512-KiB sectors.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutSnapshotBlock { _private: (), diff --git a/sdk/ebs/src/output.rs b/sdk/ebs/src/output.rs index d76cd02380c7..356d8f0c3755 100644 --- a/sdk/ebs/src/output.rs +++ b/sdk/ebs/src/output.rs @@ -6,7 +6,7 @@ pub struct StartSnapshotOutput { pub description: std::option::Option, ///

            The ID of the snapshot.

            pub snapshot_id: std::option::Option, - ///

            The AWS account ID of the snapshot owner.

            + ///

            The Amazon Web Services account ID of the snapshot owner.

            pub owner_id: std::option::Option, ///

            The status of the snapshot.

            pub status: std::option::Option, @@ -22,8 +22,7 @@ pub struct StartSnapshotOutput { pub tags: std::option::Option>, ///

            The ID of the parent snapshot.

            pub parent_snapshot_id: std::option::Option, - ///

            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer - /// master key (CMK) used to encrypt the snapshot.

            + ///

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used to encrypt the snapshot.

            pub kms_key_arn: std::option::Option, } impl std::fmt::Debug for StartSnapshotOutput { @@ -78,7 +77,7 @@ pub mod start_snapshot_output { self.snapshot_id = input; self } - ///

            The AWS account ID of the snapshot owner.

            + ///

            The Amazon Web Services account ID of the snapshot owner.

            pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); self @@ -148,8 +147,7 @@ pub mod start_snapshot_output { self.parent_snapshot_id = input; self } - ///

            The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer - /// master key (CMK) used to encrypt the snapshot.

            + ///

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used to encrypt the snapshot.

            pub fn kms_key_arn(mut self, input: impl Into) -> Self { self.kms_key_arn = Some(input.into()); self @@ -254,7 +252,7 @@ pub struct ListSnapshotBlocksOutput { pub expiry_time: std::option::Option, ///

            The size of the volume in GB.

            pub volume_size: std::option::Option, - ///

            The size of the block.

            + ///

            The size of the blocks in the snapshot, in bytes.

            pub block_size: std::option::Option, ///

            The token to use to retrieve the next page of results. This value is null when there /// are no more results to return.

            @@ -318,7 +316,7 @@ pub mod list_snapshot_blocks_output { self.volume_size = input; self } - ///

            The size of the block.

            + ///

            The size of the blocks in the snapshot, in bytes.

            pub fn block_size(mut self, input: i32) -> Self { self.block_size = Some(input); self @@ -365,7 +363,7 @@ pub struct ListChangedBlocksOutput { pub expiry_time: std::option::Option, ///

            The size of the volume in GB.

            pub volume_size: std::option::Option, - ///

            The size of the block.

            + ///

            The size of the blocks in the snapshot, in bytes.

            pub block_size: std::option::Option, ///

            The token to use to retrieve the next page of results. This value is null when there /// are no more results to return.

            @@ -429,7 +427,7 @@ pub mod list_changed_blocks_output { self.volume_size = input; self } - ///

            The size of the block.

            + ///

            The size of the blocks in the snapshot, in bytes.

            pub fn block_size(mut self, input: i32) -> Self { self.block_size = Some(input); self diff --git a/sdk/ec2/Cargo.toml b/sdk/ec2/Cargo.toml index 614ea834834d..c9c0b5af47ac 100644 --- a/sdk/ec2/Cargo.toml +++ b/sdk/ec2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ec2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elastic Compute Cloud\n

            Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

            \n

            To learn more, see the following resources:

            \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ec2/src/client.rs b/sdk/ec2/src/client.rs index ccce56de9801..1da4222cd6e0 100644 --- a/sdk/ec2/src/client.rs +++ b/sdk/ec2/src/client.rs @@ -7547,6 +7547,17 @@ pub mod fluent_builders { self.inner = self.inner.set_dry_run(input); self } + ///

            The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

            + ///

            Default: rsa + ///

            + pub fn key_type(mut self, input: crate::model::KeyType) -> Self { + self.inner = self.inner.key_type(input); + self + } + pub fn set_key_type(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_key_type(input); + self + } ///

            The tags to apply to the new key pair.

            pub fn tag_specifications( mut self, diff --git a/sdk/ec2/src/input.rs b/sdk/ec2/src/input.rs index 79da7cb84759..07fdd9d09c24 100644 --- a/sdk/ec2/src/input.rs +++ b/sdk/ec2/src/input.rs @@ -11950,6 +11950,7 @@ pub mod create_key_pair_input { pub struct Builder { pub(crate) key_name: std::option::Option, pub(crate) dry_run: std::option::Option, + pub(crate) key_type: std::option::Option, pub(crate) tag_specifications: std::option::Option>, } @@ -11975,6 +11976,17 @@ pub mod create_key_pair_input { self.dry_run = input; self } + ///

            The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

            + ///

            Default: rsa + ///

            + pub fn key_type(mut self, input: crate::model::KeyType) -> Self { + self.key_type = Some(input); + self + } + pub fn set_key_type(mut self, input: std::option::Option) -> Self { + self.key_type = input; + self + } pub fn tag_specifications( mut self, input: impl Into, @@ -11999,6 +12011,7 @@ pub mod create_key_pair_input { Ok(crate::input::CreateKeyPairInput { key_name: self.key_name, dry_run: self.dry_run, + key_type: self.key_type, tag_specifications: self.tag_specifications, }) } @@ -103851,6 +103864,10 @@ pub struct CreateKeyPairInput { /// and provides an error response. If you have the required permissions, the error response is DryRunOperation. /// Otherwise, it is UnauthorizedOperation.

            pub dry_run: std::option::Option, + ///

            The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

            + ///

            Default: rsa + ///

            + pub key_type: std::option::Option, ///

            The tags to apply to the new key pair.

            pub tag_specifications: std::option::Option>, } @@ -103859,6 +103876,7 @@ impl std::fmt::Debug for CreateKeyPairInput { let mut formatter = f.debug_struct("CreateKeyPairInput"); formatter.field("key_name", &self.key_name); formatter.field("dry_run", &self.dry_run); + formatter.field("key_type", &self.key_type); formatter.field("tag_specifications", &self.tag_specifications); formatter.finish() } diff --git a/sdk/ec2/src/model.rs b/sdk/ec2/src/model.rs index ce1f2466bcc9..81057f213295 100644 --- a/sdk/ec2/src/model.rs +++ b/sdk/ec2/src/model.rs @@ -57784,11 +57784,32 @@ impl LaunchTemplateVersion { pub struct KeyPairInfo { ///

            The ID of the key pair.

            pub key_pair_id: std::option::Option, - ///

            If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. - /// If you used ImportKeyPair to provide Amazon Web Services the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

            + ///

            If you used CreateKeyPair to create the key pair:

            + ///
              + ///
            • + ///

              For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. + ///

              + ///
            • + ///
            • + ///

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + /// is the default for OpenSSH, starting with OpenSSH 6.8.

              + ///
            • + ///
            + ///

            If you used ImportKeyPair to provide Amazon Web Services the public key:

            + ///
              + ///
            • + ///

              For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

              + ///
            • + ///
            • + ///

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + /// digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

              + ///
            • + ///
            pub key_fingerprint: std::option::Option, ///

            The name of the key pair.

            pub key_name: std::option::Option, + ///

            The type of key pair.

            + pub key_type: std::option::Option, ///

            Any tags applied to the key pair.

            pub tags: std::option::Option>, } @@ -57798,6 +57819,7 @@ impl std::fmt::Debug for KeyPairInfo { formatter.field("key_pair_id", &self.key_pair_id); formatter.field("key_fingerprint", &self.key_fingerprint); formatter.field("key_name", &self.key_name); + formatter.field("key_type", &self.key_type); formatter.field("tags", &self.tags); formatter.finish() } @@ -57811,6 +57833,7 @@ pub mod key_pair_info { pub(crate) key_pair_id: std::option::Option, pub(crate) key_fingerprint: std::option::Option, pub(crate) key_name: std::option::Option, + pub(crate) key_type: std::option::Option, pub(crate) tags: std::option::Option>, } impl Builder { @@ -57823,8 +57846,27 @@ pub mod key_pair_info { self.key_pair_id = input; self } - ///

            If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. - /// If you used ImportKeyPair to provide Amazon Web Services the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

            + ///

            If you used CreateKeyPair to create the key pair:

            + ///
              + ///
            • + ///

              For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. + ///

              + ///
            • + ///
            • + ///

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + /// is the default for OpenSSH, starting with OpenSSH 6.8.

              + ///
            • + ///
            + ///

            If you used ImportKeyPair to provide Amazon Web Services the public key:

            + ///
              + ///
            • + ///

              For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

              + ///
            • + ///
            • + ///

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + /// digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

              + ///
            • + ///
            pub fn key_fingerprint(mut self, input: impl Into) -> Self { self.key_fingerprint = Some(input.into()); self @@ -57845,6 +57887,15 @@ pub mod key_pair_info { self.key_name = input; self } + ///

            The type of key pair.

            + pub fn key_type(mut self, input: crate::model::KeyType) -> Self { + self.key_type = Some(input); + self + } + pub fn set_key_type(mut self, input: std::option::Option) -> Self { + self.key_type = input; + self + } pub fn tags(mut self, input: impl Into) -> Self { let mut v = self.tags.unwrap_or_default(); v.push(input.into()); @@ -57864,6 +57915,7 @@ pub mod key_pair_info { key_pair_id: self.key_pair_id, key_fingerprint: self.key_fingerprint, key_name: self.key_name, + key_type: self.key_type, tags: self.tags, } } @@ -57876,6 +57928,56 @@ impl KeyPairInfo { } } +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum KeyType { + Ed25519, + Rsa, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for KeyType { + fn from(s: &str) -> Self { + match s { + "ed25519" => KeyType::Ed25519, + "rsa" => KeyType::Rsa, + other => KeyType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for KeyType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(KeyType::from(s)) + } +} +impl KeyType { + pub fn as_str(&self) -> &str { + match self { + KeyType::Ed25519 => "ed25519", + KeyType::Rsa => "rsa", + KeyType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["ed25519", "rsa"] + } +} +impl AsRef for KeyType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

            Describes an IPv6 address pool.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/ec2/src/operation.rs b/sdk/ec2/src/operation.rs index 51a4bc84dea1..6f75332a40b2 100644 --- a/sdk/ec2/src/operation.rs +++ b/sdk/ec2/src/operation.rs @@ -2116,15 +2116,15 @@ impl smithy_http::response::ParseStrictResponse for CreateInternetGateway { } } -///

            Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public +///

            Creates an ED25519 or 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public /// key and displays the private key for you to save to a file. The private key is returned /// as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name /// already exists, Amazon EC2 returns an error.

            -///

            You can have up to five thousand key pairs per Region.

            -///

            The key pair returned to you is available only in the Region in which you create it. +///

            The key pair returned to you is available only in the Amazon Web Services Region in which you create it. /// If you prefer, you can create your own key pair using a third-party tool and upload it /// to any Region using ImportKeyPair.

            -///

            For more information, see Key Pairs in the +///

            You can have up to 5,000 key pairs per Amazon Web Services Region.

            +///

            For more information, see Amazon EC2 key pairs in the /// Amazon Elastic Compute Cloud User Guide.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateKeyPair { @@ -2722,9 +2722,9 @@ impl smithy_http::response::ParseStrictResponse for CreateRouteTable { ///

            Creates a security group.

            ///

            A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. /// For more information, see -/// Amazon EC2 Security Groups in +/// Amazon EC2 security groups in /// the Amazon Elastic Compute Cloud User Guide and -/// Security Groups for Your VPC in the +/// Security groups for your VPC in the /// Amazon Virtual Private Cloud User Guide.

            ///

            When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

            ///

            You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

            @@ -7213,7 +7213,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeIpv6Pools { } ///

            Describes the specified key pairs or all of your key pairs.

            -///

            For more information about key pairs, see Key Pairs +///

            For more information about key pairs, see Amazon EC2 key pairs /// in the Amazon Elastic Compute Cloud User Guide.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeKeyPairs { @@ -8207,9 +8207,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeSecurityGroupRules { ///

            Describes the specified security groups or all of your security groups.

            ///

            A security group is for use with instances either in the EC2-Classic platform /// or in a specific VPC. For more information, see -/// Amazon EC2 Security Groups in +/// Amazon EC2 security groups in /// the Amazon Elastic Compute Cloud User Guide and -/// Security Groups for Your VPC in the +/// Security groups for your VPC in the /// Amazon Virtual Private Cloud User Guide.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeSecurityGroups { @@ -11574,11 +11574,11 @@ impl smithy_http::response::ParseStrictResponse for ImportInstance { } } -///

            Imports the public key from an RSA key pair that you created with a third-party tool. +///

            Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. /// Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you /// (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. /// The private key is never transferred between you and Amazon Web Services.

            -///

            For more information about key pairs, see Key Pairs +///

            For more information about key pairs, see Amazon EC2 key pairs /// in the Amazon Elastic Compute Cloud User Guide.

            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ImportKeyPair { diff --git a/sdk/ec2/src/operation_ser.rs b/sdk/ec2/src/operation_ser.rs index ed1d2a482183..72b492aa9d3d 100644 --- a/sdk/ec2/src/operation_ser.rs +++ b/sdk/ec2/src/operation_ser.rs @@ -2487,15 +2487,20 @@ pub fn serialize_operation_create_key_pair( scope_726.boolean(*var_727); } #[allow(unused_mut)] - let mut scope_728 = writer.prefix("TagSpecification"); - if let Some(var_729) = &input.tag_specifications { - let mut list_731 = scope_728.start_list(true, Some("item")); - for item_730 in var_729 { + let mut scope_728 = writer.prefix("KeyType"); + if let Some(var_729) = &input.key_type { + scope_728.string(var_729.as_str()); + } + #[allow(unused_mut)] + let mut scope_730 = writer.prefix("TagSpecification"); + if let Some(var_731) = &input.tag_specifications { + let mut list_733 = scope_730.start_list(true, Some("item")); + for item_732 in var_731 { #[allow(unused_mut)] - let mut entry_732 = list_731.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_732, item_730); + let mut entry_734 = list_733.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_734, item_732); } - list_731.finish(); + list_733.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2508,40 +2513,40 @@ pub fn serialize_operation_create_launch_template( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateLaunchTemplate", "2016-11-15"); #[allow(unused_mut)] - let mut scope_733 = writer.prefix("DryRun"); - if let Some(var_734) = &input.dry_run { - scope_733.boolean(*var_734); + let mut scope_735 = writer.prefix("DryRun"); + if let Some(var_736) = &input.dry_run { + scope_735.boolean(*var_736); } #[allow(unused_mut)] - let mut scope_735 = writer.prefix("ClientToken"); - if let Some(var_736) = &input.client_token { - scope_735.string(var_736); - } - #[allow(unused_mut)] - let mut scope_737 = writer.prefix("LaunchTemplateName"); - if let Some(var_738) = &input.launch_template_name { + let mut scope_737 = writer.prefix("ClientToken"); + if let Some(var_738) = &input.client_token { scope_737.string(var_738); } #[allow(unused_mut)] - let mut scope_739 = writer.prefix("VersionDescription"); - if let Some(var_740) = &input.version_description { + let mut scope_739 = writer.prefix("LaunchTemplateName"); + if let Some(var_740) = &input.launch_template_name { scope_739.string(var_740); } #[allow(unused_mut)] - let mut scope_741 = writer.prefix("LaunchTemplateData"); - if let Some(var_742) = &input.launch_template_data { - crate::query_ser::serialize_structure_request_launch_template_data(scope_741, var_742); + let mut scope_741 = writer.prefix("VersionDescription"); + if let Some(var_742) = &input.version_description { + scope_741.string(var_742); } #[allow(unused_mut)] - let mut scope_743 = writer.prefix("TagSpecification"); - if let Some(var_744) = &input.tag_specifications { - let mut list_746 = scope_743.start_list(true, Some("item")); - for item_745 in var_744 { + let mut scope_743 = writer.prefix("LaunchTemplateData"); + if let Some(var_744) = &input.launch_template_data { + crate::query_ser::serialize_structure_request_launch_template_data(scope_743, var_744); + } + #[allow(unused_mut)] + let mut scope_745 = writer.prefix("TagSpecification"); + if let Some(var_746) = &input.tag_specifications { + let mut list_748 = scope_745.start_list(true, Some("item")); + for item_747 in var_746 { #[allow(unused_mut)] - let mut entry_747 = list_746.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_747, item_745); + let mut entry_749 = list_748.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_749, item_747); } - list_746.finish(); + list_748.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2555,39 +2560,39 @@ pub fn serialize_operation_create_launch_template_version( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateLaunchTemplateVersion", "2016-11-15"); #[allow(unused_mut)] - let mut scope_748 = writer.prefix("DryRun"); - if let Some(var_749) = &input.dry_run { - scope_748.boolean(*var_749); - } - #[allow(unused_mut)] - let mut scope_750 = writer.prefix("ClientToken"); - if let Some(var_751) = &input.client_token { - scope_750.string(var_751); + let mut scope_750 = writer.prefix("DryRun"); + if let Some(var_751) = &input.dry_run { + scope_750.boolean(*var_751); } #[allow(unused_mut)] - let mut scope_752 = writer.prefix("LaunchTemplateId"); - if let Some(var_753) = &input.launch_template_id { + let mut scope_752 = writer.prefix("ClientToken"); + if let Some(var_753) = &input.client_token { scope_752.string(var_753); } #[allow(unused_mut)] - let mut scope_754 = writer.prefix("LaunchTemplateName"); - if let Some(var_755) = &input.launch_template_name { + let mut scope_754 = writer.prefix("LaunchTemplateId"); + if let Some(var_755) = &input.launch_template_id { scope_754.string(var_755); } #[allow(unused_mut)] - let mut scope_756 = writer.prefix("SourceVersion"); - if let Some(var_757) = &input.source_version { + let mut scope_756 = writer.prefix("LaunchTemplateName"); + if let Some(var_757) = &input.launch_template_name { scope_756.string(var_757); } #[allow(unused_mut)] - let mut scope_758 = writer.prefix("VersionDescription"); - if let Some(var_759) = &input.version_description { + let mut scope_758 = writer.prefix("SourceVersion"); + if let Some(var_759) = &input.source_version { scope_758.string(var_759); } #[allow(unused_mut)] - let mut scope_760 = writer.prefix("LaunchTemplateData"); - if let Some(var_761) = &input.launch_template_data { - crate::query_ser::serialize_structure_request_launch_template_data(scope_760, var_761); + let mut scope_760 = writer.prefix("VersionDescription"); + if let Some(var_761) = &input.version_description { + scope_760.string(var_761); + } + #[allow(unused_mut)] + let mut scope_762 = writer.prefix("LaunchTemplateData"); + if let Some(var_763) = &input.launch_template_data { + crate::query_ser::serialize_structure_request_launch_template_data(scope_762, var_763); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2601,24 +2606,24 @@ pub fn serialize_operation_create_local_gateway_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateLocalGatewayRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_762 = writer.prefix("DestinationCidrBlock"); - if let Some(var_763) = &input.destination_cidr_block { - scope_762.string(var_763); + let mut scope_764 = writer.prefix("DestinationCidrBlock"); + if let Some(var_765) = &input.destination_cidr_block { + scope_764.string(var_765); } #[allow(unused_mut)] - let mut scope_764 = writer.prefix("LocalGatewayRouteTableId"); - if let Some(var_765) = &input.local_gateway_route_table_id { - scope_764.string(var_765); + let mut scope_766 = writer.prefix("LocalGatewayRouteTableId"); + if let Some(var_767) = &input.local_gateway_route_table_id { + scope_766.string(var_767); } #[allow(unused_mut)] - let mut scope_766 = writer.prefix("DryRun"); - if let Some(var_767) = &input.dry_run { - scope_766.boolean(*var_767); + let mut scope_768 = writer.prefix("DryRun"); + if let Some(var_769) = &input.dry_run { + scope_768.boolean(*var_769); } #[allow(unused_mut)] - let mut scope_768 = writer.prefix("LocalGatewayVirtualInterfaceGroupId"); - if let Some(var_769) = &input.local_gateway_virtual_interface_group_id { - scope_768.string(var_769); + let mut scope_770 = writer.prefix("LocalGatewayVirtualInterfaceGroupId"); + if let Some(var_771) = &input.local_gateway_virtual_interface_group_id { + scope_770.string(var_771); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2635,30 +2640,30 @@ pub fn serialize_operation_create_local_gateway_route_table_vpc_association( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_770 = writer.prefix("LocalGatewayRouteTableId"); - if let Some(var_771) = &input.local_gateway_route_table_id { - scope_770.string(var_771); + let mut scope_772 = writer.prefix("LocalGatewayRouteTableId"); + if let Some(var_773) = &input.local_gateway_route_table_id { + scope_772.string(var_773); } #[allow(unused_mut)] - let mut scope_772 = writer.prefix("VpcId"); - if let Some(var_773) = &input.vpc_id { - scope_772.string(var_773); + let mut scope_774 = writer.prefix("VpcId"); + if let Some(var_775) = &input.vpc_id { + scope_774.string(var_775); } #[allow(unused_mut)] - let mut scope_774 = writer.prefix("TagSpecification"); - if let Some(var_775) = &input.tag_specifications { - let mut list_777 = scope_774.start_list(true, Some("item")); - for item_776 in var_775 { + let mut scope_776 = writer.prefix("TagSpecification"); + if let Some(var_777) = &input.tag_specifications { + let mut list_779 = scope_776.start_list(true, Some("item")); + for item_778 in var_777 { #[allow(unused_mut)] - let mut entry_778 = list_777.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_778, item_776); + let mut entry_780 = list_779.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_780, item_778); } - list_777.finish(); + list_779.finish(); } #[allow(unused_mut)] - let mut scope_779 = writer.prefix("DryRun"); - if let Some(var_780) = &input.dry_run { - scope_779.boolean(*var_780); + let mut scope_781 = writer.prefix("DryRun"); + if let Some(var_782) = &input.dry_run { + scope_781.boolean(*var_782); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2672,54 +2677,54 @@ pub fn serialize_operation_create_managed_prefix_list( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateManagedPrefixList", "2016-11-15"); #[allow(unused_mut)] - let mut scope_781 = writer.prefix("DryRun"); - if let Some(var_782) = &input.dry_run { - scope_781.boolean(*var_782); + let mut scope_783 = writer.prefix("DryRun"); + if let Some(var_784) = &input.dry_run { + scope_783.boolean(*var_784); } #[allow(unused_mut)] - let mut scope_783 = writer.prefix("PrefixListName"); - if let Some(var_784) = &input.prefix_list_name { - scope_783.string(var_784); + let mut scope_785 = writer.prefix("PrefixListName"); + if let Some(var_786) = &input.prefix_list_name { + scope_785.string(var_786); } #[allow(unused_mut)] - let mut scope_785 = writer.prefix("Entry"); - if let Some(var_786) = &input.entries { - let mut list_788 = scope_785.start_list(true, None); - for item_787 in var_786 { + let mut scope_787 = writer.prefix("Entry"); + if let Some(var_788) = &input.entries { + let mut list_790 = scope_787.start_list(true, None); + for item_789 in var_788 { #[allow(unused_mut)] - let mut entry_789 = list_788.entry(); - crate::query_ser::serialize_structure_add_prefix_list_entry(entry_789, item_787); + let mut entry_791 = list_790.entry(); + crate::query_ser::serialize_structure_add_prefix_list_entry(entry_791, item_789); } - list_788.finish(); + list_790.finish(); } #[allow(unused_mut)] - let mut scope_790 = writer.prefix("MaxEntries"); - if let Some(var_791) = &input.max_entries { - scope_790.number( + let mut scope_792 = writer.prefix("MaxEntries"); + if let Some(var_793) = &input.max_entries { + scope_792.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_791).into()), + smithy_types::Number::NegInt((*var_793).into()), ); } #[allow(unused_mut)] - let mut scope_792 = writer.prefix("TagSpecification"); - if let Some(var_793) = &input.tag_specifications { - let mut list_795 = scope_792.start_list(true, Some("item")); - for item_794 in var_793 { + let mut scope_794 = writer.prefix("TagSpecification"); + if let Some(var_795) = &input.tag_specifications { + let mut list_797 = scope_794.start_list(true, Some("item")); + for item_796 in var_795 { #[allow(unused_mut)] - let mut entry_796 = list_795.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_796, item_794); + let mut entry_798 = list_797.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_798, item_796); } - list_795.finish(); + list_797.finish(); } #[allow(unused_mut)] - let mut scope_797 = writer.prefix("AddressFamily"); - if let Some(var_798) = &input.address_family { - scope_797.string(var_798); + let mut scope_799 = writer.prefix("AddressFamily"); + if let Some(var_800) = &input.address_family { + scope_799.string(var_800); } #[allow(unused_mut)] - let mut scope_799 = writer.prefix("ClientToken"); - if let Some(var_800) = &input.client_token { - scope_799.string(var_800); + let mut scope_801 = writer.prefix("ClientToken"); + if let Some(var_802) = &input.client_token { + scope_801.string(var_802); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2732,40 +2737,40 @@ pub fn serialize_operation_create_nat_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNatGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_801 = writer.prefix("AllocationId"); - if let Some(var_802) = &input.allocation_id { - scope_801.string(var_802); + let mut scope_803 = writer.prefix("AllocationId"); + if let Some(var_804) = &input.allocation_id { + scope_803.string(var_804); } #[allow(unused_mut)] - let mut scope_803 = writer.prefix("ClientToken"); - if let Some(var_804) = &input.client_token { - scope_803.string(var_804); + let mut scope_805 = writer.prefix("ClientToken"); + if let Some(var_806) = &input.client_token { + scope_805.string(var_806); } #[allow(unused_mut)] - let mut scope_805 = writer.prefix("DryRun"); - if let Some(var_806) = &input.dry_run { - scope_805.boolean(*var_806); + let mut scope_807 = writer.prefix("DryRun"); + if let Some(var_808) = &input.dry_run { + scope_807.boolean(*var_808); } #[allow(unused_mut)] - let mut scope_807 = writer.prefix("SubnetId"); - if let Some(var_808) = &input.subnet_id { - scope_807.string(var_808); + let mut scope_809 = writer.prefix("SubnetId"); + if let Some(var_810) = &input.subnet_id { + scope_809.string(var_810); } #[allow(unused_mut)] - let mut scope_809 = writer.prefix("TagSpecification"); - if let Some(var_810) = &input.tag_specifications { - let mut list_812 = scope_809.start_list(true, Some("item")); - for item_811 in var_810 { + let mut scope_811 = writer.prefix("TagSpecification"); + if let Some(var_812) = &input.tag_specifications { + let mut list_814 = scope_811.start_list(true, Some("item")); + for item_813 in var_812 { #[allow(unused_mut)] - let mut entry_813 = list_812.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_813, item_811); + let mut entry_815 = list_814.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_815, item_813); } - list_812.finish(); + list_814.finish(); } #[allow(unused_mut)] - let mut scope_814 = writer.prefix("ConnectivityType"); - if let Some(var_815) = &input.connectivity_type { - scope_814.string(var_815.as_str()); + let mut scope_816 = writer.prefix("ConnectivityType"); + if let Some(var_817) = &input.connectivity_type { + scope_816.string(var_817.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2778,25 +2783,25 @@ pub fn serialize_operation_create_network_acl( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNetworkAcl", "2016-11-15"); #[allow(unused_mut)] - let mut scope_816 = writer.prefix("DryRun"); - if let Some(var_817) = &input.dry_run { - scope_816.boolean(*var_817); + let mut scope_818 = writer.prefix("DryRun"); + if let Some(var_819) = &input.dry_run { + scope_818.boolean(*var_819); } #[allow(unused_mut)] - let mut scope_818 = writer.prefix("VpcId"); - if let Some(var_819) = &input.vpc_id { - scope_818.string(var_819); + let mut scope_820 = writer.prefix("VpcId"); + if let Some(var_821) = &input.vpc_id { + scope_820.string(var_821); } #[allow(unused_mut)] - let mut scope_820 = writer.prefix("TagSpecification"); - if let Some(var_821) = &input.tag_specifications { - let mut list_823 = scope_820.start_list(true, Some("item")); - for item_822 in var_821 { + let mut scope_822 = writer.prefix("TagSpecification"); + if let Some(var_823) = &input.tag_specifications { + let mut list_825 = scope_822.start_list(true, Some("item")); + for item_824 in var_823 { #[allow(unused_mut)] - let mut entry_824 = list_823.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_824, item_822); + let mut entry_826 = list_825.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_826, item_824); } - list_823.finish(); + list_825.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2810,56 +2815,56 @@ pub fn serialize_operation_create_network_acl_entry( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNetworkAclEntry", "2016-11-15"); #[allow(unused_mut)] - let mut scope_825 = writer.prefix("CidrBlock"); - if let Some(var_826) = &input.cidr_block { - scope_825.string(var_826); - } - #[allow(unused_mut)] - let mut scope_827 = writer.prefix("DryRun"); - if let Some(var_828) = &input.dry_run { - scope_827.boolean(*var_828); + let mut scope_827 = writer.prefix("CidrBlock"); + if let Some(var_828) = &input.cidr_block { + scope_827.string(var_828); } #[allow(unused_mut)] - let mut scope_829 = writer.prefix("Egress"); - if let Some(var_830) = &input.egress { + let mut scope_829 = writer.prefix("DryRun"); + if let Some(var_830) = &input.dry_run { scope_829.boolean(*var_830); } #[allow(unused_mut)] - let mut scope_831 = writer.prefix("Icmp"); - if let Some(var_832) = &input.icmp_type_code { - crate::query_ser::serialize_structure_icmp_type_code(scope_831, var_832); + let mut scope_831 = writer.prefix("Egress"); + if let Some(var_832) = &input.egress { + scope_831.boolean(*var_832); } #[allow(unused_mut)] - let mut scope_833 = writer.prefix("Ipv6CidrBlock"); - if let Some(var_834) = &input.ipv6_cidr_block { - scope_833.string(var_834); + let mut scope_833 = writer.prefix("Icmp"); + if let Some(var_834) = &input.icmp_type_code { + crate::query_ser::serialize_structure_icmp_type_code(scope_833, var_834); } #[allow(unused_mut)] - let mut scope_835 = writer.prefix("NetworkAclId"); - if let Some(var_836) = &input.network_acl_id { + let mut scope_835 = writer.prefix("Ipv6CidrBlock"); + if let Some(var_836) = &input.ipv6_cidr_block { scope_835.string(var_836); } #[allow(unused_mut)] - let mut scope_837 = writer.prefix("PortRange"); - if let Some(var_838) = &input.port_range { - crate::query_ser::serialize_structure_port_range(scope_837, var_838); + let mut scope_837 = writer.prefix("NetworkAclId"); + if let Some(var_838) = &input.network_acl_id { + scope_837.string(var_838); } #[allow(unused_mut)] - let mut scope_839 = writer.prefix("Protocol"); - if let Some(var_840) = &input.protocol { - scope_839.string(var_840); + let mut scope_839 = writer.prefix("PortRange"); + if let Some(var_840) = &input.port_range { + crate::query_ser::serialize_structure_port_range(scope_839, var_840); } #[allow(unused_mut)] - let mut scope_841 = writer.prefix("RuleAction"); - if let Some(var_842) = &input.rule_action { - scope_841.string(var_842.as_str()); + let mut scope_841 = writer.prefix("Protocol"); + if let Some(var_842) = &input.protocol { + scope_841.string(var_842); } #[allow(unused_mut)] - let mut scope_843 = writer.prefix("RuleNumber"); - if let Some(var_844) = &input.rule_number { - scope_843.number( + let mut scope_843 = writer.prefix("RuleAction"); + if let Some(var_844) = &input.rule_action { + scope_843.string(var_844.as_str()); + } + #[allow(unused_mut)] + let mut scope_845 = writer.prefix("RuleNumber"); + if let Some(var_846) = &input.rule_number { + scope_845.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_844).into()), + smithy_types::Number::NegInt((*var_846).into()), ); } writer.finish(); @@ -2874,58 +2879,58 @@ pub fn serialize_operation_create_network_insights_path( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNetworkInsightsPath", "2016-11-15"); #[allow(unused_mut)] - let mut scope_845 = writer.prefix("SourceIp"); - if let Some(var_846) = &input.source_ip { - scope_845.string(var_846); - } - #[allow(unused_mut)] - let mut scope_847 = writer.prefix("DestinationIp"); - if let Some(var_848) = &input.destination_ip { + let mut scope_847 = writer.prefix("SourceIp"); + if let Some(var_848) = &input.source_ip { scope_847.string(var_848); } #[allow(unused_mut)] - let mut scope_849 = writer.prefix("Source"); - if let Some(var_850) = &input.source { + let mut scope_849 = writer.prefix("DestinationIp"); + if let Some(var_850) = &input.destination_ip { scope_849.string(var_850); } #[allow(unused_mut)] - let mut scope_851 = writer.prefix("Destination"); - if let Some(var_852) = &input.destination { + let mut scope_851 = writer.prefix("Source"); + if let Some(var_852) = &input.source { scope_851.string(var_852); } #[allow(unused_mut)] - let mut scope_853 = writer.prefix("Protocol"); - if let Some(var_854) = &input.protocol { - scope_853.string(var_854.as_str()); + let mut scope_853 = writer.prefix("Destination"); + if let Some(var_854) = &input.destination { + scope_853.string(var_854); } #[allow(unused_mut)] - let mut scope_855 = writer.prefix("DestinationPort"); - if let Some(var_856) = &input.destination_port { - scope_855.number( + let mut scope_855 = writer.prefix("Protocol"); + if let Some(var_856) = &input.protocol { + scope_855.string(var_856.as_str()); + } + #[allow(unused_mut)] + let mut scope_857 = writer.prefix("DestinationPort"); + if let Some(var_858) = &input.destination_port { + scope_857.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_856).into()), + smithy_types::Number::NegInt((*var_858).into()), ); } #[allow(unused_mut)] - let mut scope_857 = writer.prefix("TagSpecification"); - if let Some(var_858) = &input.tag_specifications { - let mut list_860 = scope_857.start_list(true, Some("item")); - for item_859 in var_858 { + let mut scope_859 = writer.prefix("TagSpecification"); + if let Some(var_860) = &input.tag_specifications { + let mut list_862 = scope_859.start_list(true, Some("item")); + for item_861 in var_860 { #[allow(unused_mut)] - let mut entry_861 = list_860.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_861, item_859); + let mut entry_863 = list_862.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_863, item_861); } - list_860.finish(); + list_862.finish(); } #[allow(unused_mut)] - let mut scope_862 = writer.prefix("DryRun"); - if let Some(var_863) = &input.dry_run { - scope_862.boolean(*var_863); + let mut scope_864 = writer.prefix("DryRun"); + if let Some(var_865) = &input.dry_run { + scope_864.boolean(*var_865); } #[allow(unused_mut)] - let mut scope_864 = writer.prefix("ClientToken"); - if let Some(var_865) = &input.client_token { - scope_864.string(var_865); + let mut scope_866 = writer.prefix("ClientToken"); + if let Some(var_867) = &input.client_token { + scope_866.string(var_867); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -2939,138 +2944,138 @@ pub fn serialize_operation_create_network_interface( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNetworkInterface", "2016-11-15"); #[allow(unused_mut)] - let mut scope_866 = writer.prefix("Description"); - if let Some(var_867) = &input.description { - scope_866.string(var_867); + let mut scope_868 = writer.prefix("Description"); + if let Some(var_869) = &input.description { + scope_868.string(var_869); } #[allow(unused_mut)] - let mut scope_868 = writer.prefix("DryRun"); - if let Some(var_869) = &input.dry_run { - scope_868.boolean(*var_869); + let mut scope_870 = writer.prefix("DryRun"); + if let Some(var_871) = &input.dry_run { + scope_870.boolean(*var_871); } #[allow(unused_mut)] - let mut scope_870 = writer.prefix("SecurityGroupId"); - if let Some(var_871) = &input.groups { - let mut list_873 = scope_870.start_list(true, Some("SecurityGroupId")); - for item_872 in var_871 { + let mut scope_872 = writer.prefix("SecurityGroupId"); + if let Some(var_873) = &input.groups { + let mut list_875 = scope_872.start_list(true, Some("SecurityGroupId")); + for item_874 in var_873 { #[allow(unused_mut)] - let mut entry_874 = list_873.entry(); - entry_874.string(item_872); + let mut entry_876 = list_875.entry(); + entry_876.string(item_874); } - list_873.finish(); + list_875.finish(); } #[allow(unused_mut)] - let mut scope_875 = writer.prefix("Ipv6AddressCount"); - if let Some(var_876) = &input.ipv6_address_count { - scope_875.number( + let mut scope_877 = writer.prefix("Ipv6AddressCount"); + if let Some(var_878) = &input.ipv6_address_count { + scope_877.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_876).into()), + smithy_types::Number::NegInt((*var_878).into()), ); } #[allow(unused_mut)] - let mut scope_877 = writer.prefix("Ipv6Addresses"); - if let Some(var_878) = &input.ipv6_addresses { - let mut list_880 = scope_877.start_list(true, Some("item")); - for item_879 in var_878 { + let mut scope_879 = writer.prefix("Ipv6Addresses"); + if let Some(var_880) = &input.ipv6_addresses { + let mut list_882 = scope_879.start_list(true, Some("item")); + for item_881 in var_880 { #[allow(unused_mut)] - let mut entry_881 = list_880.entry(); - crate::query_ser::serialize_structure_instance_ipv6_address(entry_881, item_879); + let mut entry_883 = list_882.entry(); + crate::query_ser::serialize_structure_instance_ipv6_address(entry_883, item_881); } - list_880.finish(); + list_882.finish(); } #[allow(unused_mut)] - let mut scope_882 = writer.prefix("PrivateIpAddress"); - if let Some(var_883) = &input.private_ip_address { - scope_882.string(var_883); + let mut scope_884 = writer.prefix("PrivateIpAddress"); + if let Some(var_885) = &input.private_ip_address { + scope_884.string(var_885); } #[allow(unused_mut)] - let mut scope_884 = writer.prefix("PrivateIpAddresses"); - if let Some(var_885) = &input.private_ip_addresses { - let mut list_887 = scope_884.start_list(true, Some("item")); - for item_886 in var_885 { + let mut scope_886 = writer.prefix("PrivateIpAddresses"); + if let Some(var_887) = &input.private_ip_addresses { + let mut list_889 = scope_886.start_list(true, Some("item")); + for item_888 in var_887 { #[allow(unused_mut)] - let mut entry_888 = list_887.entry(); + let mut entry_890 = list_889.entry(); crate::query_ser::serialize_structure_private_ip_address_specification( - entry_888, item_886, + entry_890, item_888, ); } - list_887.finish(); + list_889.finish(); } #[allow(unused_mut)] - let mut scope_889 = writer.prefix("SecondaryPrivateIpAddressCount"); - if let Some(var_890) = &input.secondary_private_ip_address_count { - scope_889.number( + let mut scope_891 = writer.prefix("SecondaryPrivateIpAddressCount"); + if let Some(var_892) = &input.secondary_private_ip_address_count { + scope_891.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_890).into()), + smithy_types::Number::NegInt((*var_892).into()), ); } #[allow(unused_mut)] - let mut scope_891 = writer.prefix("Ipv4Prefix"); - if let Some(var_892) = &input.ipv4_prefixes { - let mut list_894 = scope_891.start_list(true, Some("item")); - for item_893 in var_892 { + let mut scope_893 = writer.prefix("Ipv4Prefix"); + if let Some(var_894) = &input.ipv4_prefixes { + let mut list_896 = scope_893.start_list(true, Some("item")); + for item_895 in var_894 { #[allow(unused_mut)] - let mut entry_895 = list_894.entry(); + let mut entry_897 = list_896.entry(); crate::query_ser::serialize_structure_ipv4_prefix_specification_request( - entry_895, item_893, + entry_897, item_895, ); } - list_894.finish(); + list_896.finish(); } #[allow(unused_mut)] - let mut scope_896 = writer.prefix("Ipv4PrefixCount"); - if let Some(var_897) = &input.ipv4_prefix_count { - scope_896.number( + let mut scope_898 = writer.prefix("Ipv4PrefixCount"); + if let Some(var_899) = &input.ipv4_prefix_count { + scope_898.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_897).into()), + smithy_types::Number::NegInt((*var_899).into()), ); } #[allow(unused_mut)] - let mut scope_898 = writer.prefix("Ipv6Prefix"); - if let Some(var_899) = &input.ipv6_prefixes { - let mut list_901 = scope_898.start_list(true, Some("item")); - for item_900 in var_899 { + let mut scope_900 = writer.prefix("Ipv6Prefix"); + if let Some(var_901) = &input.ipv6_prefixes { + let mut list_903 = scope_900.start_list(true, Some("item")); + for item_902 in var_901 { #[allow(unused_mut)] - let mut entry_902 = list_901.entry(); + let mut entry_904 = list_903.entry(); crate::query_ser::serialize_structure_ipv6_prefix_specification_request( - entry_902, item_900, + entry_904, item_902, ); } - list_901.finish(); + list_903.finish(); } #[allow(unused_mut)] - let mut scope_903 = writer.prefix("Ipv6PrefixCount"); - if let Some(var_904) = &input.ipv6_prefix_count { - scope_903.number( + let mut scope_905 = writer.prefix("Ipv6PrefixCount"); + if let Some(var_906) = &input.ipv6_prefix_count { + scope_905.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_904).into()), + smithy_types::Number::NegInt((*var_906).into()), ); } #[allow(unused_mut)] - let mut scope_905 = writer.prefix("InterfaceType"); - if let Some(var_906) = &input.interface_type { - scope_905.string(var_906.as_str()); + let mut scope_907 = writer.prefix("InterfaceType"); + if let Some(var_908) = &input.interface_type { + scope_907.string(var_908.as_str()); } #[allow(unused_mut)] - let mut scope_907 = writer.prefix("SubnetId"); - if let Some(var_908) = &input.subnet_id { - scope_907.string(var_908); + let mut scope_909 = writer.prefix("SubnetId"); + if let Some(var_910) = &input.subnet_id { + scope_909.string(var_910); } #[allow(unused_mut)] - let mut scope_909 = writer.prefix("TagSpecification"); - if let Some(var_910) = &input.tag_specifications { - let mut list_912 = scope_909.start_list(true, Some("item")); - for item_911 in var_910 { + let mut scope_911 = writer.prefix("TagSpecification"); + if let Some(var_912) = &input.tag_specifications { + let mut list_914 = scope_911.start_list(true, Some("item")); + for item_913 in var_912 { #[allow(unused_mut)] - let mut entry_913 = list_912.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_913, item_911); + let mut entry_915 = list_914.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_915, item_913); } - list_912.finish(); + list_914.finish(); } #[allow(unused_mut)] - let mut scope_914 = writer.prefix("ClientToken"); - if let Some(var_915) = &input.client_token { - scope_914.string(var_915); + let mut scope_916 = writer.prefix("ClientToken"); + if let Some(var_917) = &input.client_token { + scope_916.string(var_917); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3084,29 +3089,29 @@ pub fn serialize_operation_create_network_interface_permission( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateNetworkInterfacePermission", "2016-11-15"); #[allow(unused_mut)] - let mut scope_916 = writer.prefix("NetworkInterfaceId"); - if let Some(var_917) = &input.network_interface_id { - scope_916.string(var_917); - } - #[allow(unused_mut)] - let mut scope_918 = writer.prefix("AwsAccountId"); - if let Some(var_919) = &input.aws_account_id { + let mut scope_918 = writer.prefix("NetworkInterfaceId"); + if let Some(var_919) = &input.network_interface_id { scope_918.string(var_919); } #[allow(unused_mut)] - let mut scope_920 = writer.prefix("AwsService"); - if let Some(var_921) = &input.aws_service { + let mut scope_920 = writer.prefix("AwsAccountId"); + if let Some(var_921) = &input.aws_account_id { scope_920.string(var_921); } #[allow(unused_mut)] - let mut scope_922 = writer.prefix("Permission"); - if let Some(var_923) = &input.permission { - scope_922.string(var_923.as_str()); + let mut scope_922 = writer.prefix("AwsService"); + if let Some(var_923) = &input.aws_service { + scope_922.string(var_923); } #[allow(unused_mut)] - let mut scope_924 = writer.prefix("DryRun"); - if let Some(var_925) = &input.dry_run { - scope_924.boolean(*var_925); + let mut scope_924 = writer.prefix("Permission"); + if let Some(var_925) = &input.permission { + scope_924.string(var_925.as_str()); + } + #[allow(unused_mut)] + let mut scope_926 = writer.prefix("DryRun"); + if let Some(var_927) = &input.dry_run { + scope_926.boolean(*var_927); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3119,38 +3124,38 @@ pub fn serialize_operation_create_placement_group( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreatePlacementGroup", "2016-11-15"); #[allow(unused_mut)] - let mut scope_926 = writer.prefix("DryRun"); - if let Some(var_927) = &input.dry_run { - scope_926.boolean(*var_927); + let mut scope_928 = writer.prefix("DryRun"); + if let Some(var_929) = &input.dry_run { + scope_928.boolean(*var_929); } #[allow(unused_mut)] - let mut scope_928 = writer.prefix("GroupName"); - if let Some(var_929) = &input.group_name { - scope_928.string(var_929); + let mut scope_930 = writer.prefix("GroupName"); + if let Some(var_931) = &input.group_name { + scope_930.string(var_931); } #[allow(unused_mut)] - let mut scope_930 = writer.prefix("Strategy"); - if let Some(var_931) = &input.strategy { - scope_930.string(var_931.as_str()); + let mut scope_932 = writer.prefix("Strategy"); + if let Some(var_933) = &input.strategy { + scope_932.string(var_933.as_str()); } #[allow(unused_mut)] - let mut scope_932 = writer.prefix("PartitionCount"); - if let Some(var_933) = &input.partition_count { - scope_932.number( + let mut scope_934 = writer.prefix("PartitionCount"); + if let Some(var_935) = &input.partition_count { + scope_934.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_933).into()), + smithy_types::Number::NegInt((*var_935).into()), ); } #[allow(unused_mut)] - let mut scope_934 = writer.prefix("TagSpecification"); - if let Some(var_935) = &input.tag_specifications { - let mut list_937 = scope_934.start_list(true, Some("item")); - for item_936 in var_935 { + let mut scope_936 = writer.prefix("TagSpecification"); + if let Some(var_937) = &input.tag_specifications { + let mut list_939 = scope_936.start_list(true, Some("item")); + for item_938 in var_937 { #[allow(unused_mut)] - let mut entry_938 = list_937.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_938, item_936); + let mut entry_940 = list_939.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_940, item_938); } - list_937.finish(); + list_939.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3164,35 +3169,35 @@ pub fn serialize_operation_create_replace_root_volume_task( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateReplaceRootVolumeTask", "2016-11-15"); #[allow(unused_mut)] - let mut scope_939 = writer.prefix("InstanceId"); - if let Some(var_940) = &input.instance_id { - scope_939.string(var_940); - } - #[allow(unused_mut)] - let mut scope_941 = writer.prefix("SnapshotId"); - if let Some(var_942) = &input.snapshot_id { + let mut scope_941 = writer.prefix("InstanceId"); + if let Some(var_942) = &input.instance_id { scope_941.string(var_942); } #[allow(unused_mut)] - let mut scope_943 = writer.prefix("ClientToken"); - if let Some(var_944) = &input.client_token { + let mut scope_943 = writer.prefix("SnapshotId"); + if let Some(var_944) = &input.snapshot_id { scope_943.string(var_944); } #[allow(unused_mut)] - let mut scope_945 = writer.prefix("DryRun"); - if let Some(var_946) = &input.dry_run { - scope_945.boolean(*var_946); + let mut scope_945 = writer.prefix("ClientToken"); + if let Some(var_946) = &input.client_token { + scope_945.string(var_946); + } + #[allow(unused_mut)] + let mut scope_947 = writer.prefix("DryRun"); + if let Some(var_948) = &input.dry_run { + scope_947.boolean(*var_948); } #[allow(unused_mut)] - let mut scope_947 = writer.prefix("TagSpecification"); - if let Some(var_948) = &input.tag_specifications { - let mut list_950 = scope_947.start_list(true, Some("item")); - for item_949 in var_948 { + let mut scope_949 = writer.prefix("TagSpecification"); + if let Some(var_950) = &input.tag_specifications { + let mut list_952 = scope_949.start_list(true, Some("item")); + for item_951 in var_950 { #[allow(unused_mut)] - let mut entry_951 = list_950.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_951, item_949); + let mut entry_953 = list_952.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_953, item_951); } - list_950.finish(); + list_952.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3206,33 +3211,33 @@ pub fn serialize_operation_create_reserved_instances_listing( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateReservedInstancesListing", "2016-11-15"); #[allow(unused_mut)] - let mut scope_952 = writer.prefix("ClientToken"); - if let Some(var_953) = &input.client_token { - scope_952.string(var_953); + let mut scope_954 = writer.prefix("ClientToken"); + if let Some(var_955) = &input.client_token { + scope_954.string(var_955); } #[allow(unused_mut)] - let mut scope_954 = writer.prefix("InstanceCount"); - if let Some(var_955) = &input.instance_count { - scope_954.number( + let mut scope_956 = writer.prefix("InstanceCount"); + if let Some(var_957) = &input.instance_count { + scope_956.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_955).into()), + smithy_types::Number::NegInt((*var_957).into()), ); } #[allow(unused_mut)] - let mut scope_956 = writer.prefix("PriceSchedules"); - if let Some(var_957) = &input.price_schedules { - let mut list_959 = scope_956.start_list(true, Some("item")); - for item_958 in var_957 { + let mut scope_958 = writer.prefix("PriceSchedules"); + if let Some(var_959) = &input.price_schedules { + let mut list_961 = scope_958.start_list(true, Some("item")); + for item_960 in var_959 { #[allow(unused_mut)] - let mut entry_960 = list_959.entry(); - crate::query_ser::serialize_structure_price_schedule_specification(entry_960, item_958); + let mut entry_962 = list_961.entry(); + crate::query_ser::serialize_structure_price_schedule_specification(entry_962, item_960); } - list_959.finish(); + list_961.finish(); } #[allow(unused_mut)] - let mut scope_961 = writer.prefix("ReservedInstancesId"); - if let Some(var_962) = &input.reserved_instances_id { - scope_961.string(var_962); + let mut scope_963 = writer.prefix("ReservedInstancesId"); + if let Some(var_964) = &input.reserved_instances_id { + scope_963.string(var_964); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3246,35 +3251,35 @@ pub fn serialize_operation_create_restore_image_task( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateRestoreImageTask", "2016-11-15"); #[allow(unused_mut)] - let mut scope_963 = writer.prefix("Bucket"); - if let Some(var_964) = &input.bucket { - scope_963.string(var_964); - } - #[allow(unused_mut)] - let mut scope_965 = writer.prefix("ObjectKey"); - if let Some(var_966) = &input.object_key { + let mut scope_965 = writer.prefix("Bucket"); + if let Some(var_966) = &input.bucket { scope_965.string(var_966); } #[allow(unused_mut)] - let mut scope_967 = writer.prefix("Name"); - if let Some(var_968) = &input.name { + let mut scope_967 = writer.prefix("ObjectKey"); + if let Some(var_968) = &input.object_key { scope_967.string(var_968); } #[allow(unused_mut)] - let mut scope_969 = writer.prefix("TagSpecification"); - if let Some(var_970) = &input.tag_specifications { - let mut list_972 = scope_969.start_list(true, Some("item")); - for item_971 in var_970 { + let mut scope_969 = writer.prefix("Name"); + if let Some(var_970) = &input.name { + scope_969.string(var_970); + } + #[allow(unused_mut)] + let mut scope_971 = writer.prefix("TagSpecification"); + if let Some(var_972) = &input.tag_specifications { + let mut list_974 = scope_971.start_list(true, Some("item")); + for item_973 in var_972 { #[allow(unused_mut)] - let mut entry_973 = list_972.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_973, item_971); + let mut entry_975 = list_974.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_975, item_973); } - list_972.finish(); + list_974.finish(); } #[allow(unused_mut)] - let mut scope_974 = writer.prefix("DryRun"); - if let Some(var_975) = &input.dry_run { - scope_974.boolean(*var_975); + let mut scope_976 = writer.prefix("DryRun"); + if let Some(var_977) = &input.dry_run { + scope_976.boolean(*var_977); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3287,80 +3292,80 @@ pub fn serialize_operation_create_route( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_976 = writer.prefix("DestinationCidrBlock"); - if let Some(var_977) = &input.destination_cidr_block { - scope_976.string(var_977); - } - #[allow(unused_mut)] - let mut scope_978 = writer.prefix("DestinationIpv6CidrBlock"); - if let Some(var_979) = &input.destination_ipv6_cidr_block { + let mut scope_978 = writer.prefix("DestinationCidrBlock"); + if let Some(var_979) = &input.destination_cidr_block { scope_978.string(var_979); } #[allow(unused_mut)] - let mut scope_980 = writer.prefix("DestinationPrefixListId"); - if let Some(var_981) = &input.destination_prefix_list_id { + let mut scope_980 = writer.prefix("DestinationIpv6CidrBlock"); + if let Some(var_981) = &input.destination_ipv6_cidr_block { scope_980.string(var_981); } #[allow(unused_mut)] - let mut scope_982 = writer.prefix("DryRun"); - if let Some(var_983) = &input.dry_run { - scope_982.boolean(*var_983); + let mut scope_982 = writer.prefix("DestinationPrefixListId"); + if let Some(var_983) = &input.destination_prefix_list_id { + scope_982.string(var_983); } #[allow(unused_mut)] - let mut scope_984 = writer.prefix("VpcEndpointId"); - if let Some(var_985) = &input.vpc_endpoint_id { - scope_984.string(var_985); + let mut scope_984 = writer.prefix("DryRun"); + if let Some(var_985) = &input.dry_run { + scope_984.boolean(*var_985); } #[allow(unused_mut)] - let mut scope_986 = writer.prefix("EgressOnlyInternetGatewayId"); - if let Some(var_987) = &input.egress_only_internet_gateway_id { + let mut scope_986 = writer.prefix("VpcEndpointId"); + if let Some(var_987) = &input.vpc_endpoint_id { scope_986.string(var_987); } #[allow(unused_mut)] - let mut scope_988 = writer.prefix("GatewayId"); - if let Some(var_989) = &input.gateway_id { + let mut scope_988 = writer.prefix("EgressOnlyInternetGatewayId"); + if let Some(var_989) = &input.egress_only_internet_gateway_id { scope_988.string(var_989); } #[allow(unused_mut)] - let mut scope_990 = writer.prefix("InstanceId"); - if let Some(var_991) = &input.instance_id { + let mut scope_990 = writer.prefix("GatewayId"); + if let Some(var_991) = &input.gateway_id { scope_990.string(var_991); } #[allow(unused_mut)] - let mut scope_992 = writer.prefix("NatGatewayId"); - if let Some(var_993) = &input.nat_gateway_id { + let mut scope_992 = writer.prefix("InstanceId"); + if let Some(var_993) = &input.instance_id { scope_992.string(var_993); } #[allow(unused_mut)] - let mut scope_994 = writer.prefix("TransitGatewayId"); - if let Some(var_995) = &input.transit_gateway_id { + let mut scope_994 = writer.prefix("NatGatewayId"); + if let Some(var_995) = &input.nat_gateway_id { scope_994.string(var_995); } #[allow(unused_mut)] - let mut scope_996 = writer.prefix("LocalGatewayId"); - if let Some(var_997) = &input.local_gateway_id { + let mut scope_996 = writer.prefix("TransitGatewayId"); + if let Some(var_997) = &input.transit_gateway_id { scope_996.string(var_997); } #[allow(unused_mut)] - let mut scope_998 = writer.prefix("CarrierGatewayId"); - if let Some(var_999) = &input.carrier_gateway_id { + let mut scope_998 = writer.prefix("LocalGatewayId"); + if let Some(var_999) = &input.local_gateway_id { scope_998.string(var_999); } #[allow(unused_mut)] - let mut scope_1000 = writer.prefix("NetworkInterfaceId"); - if let Some(var_1001) = &input.network_interface_id { + let mut scope_1000 = writer.prefix("CarrierGatewayId"); + if let Some(var_1001) = &input.carrier_gateway_id { scope_1000.string(var_1001); } #[allow(unused_mut)] - let mut scope_1002 = writer.prefix("RouteTableId"); - if let Some(var_1003) = &input.route_table_id { + let mut scope_1002 = writer.prefix("NetworkInterfaceId"); + if let Some(var_1003) = &input.network_interface_id { scope_1002.string(var_1003); } #[allow(unused_mut)] - let mut scope_1004 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_1005) = &input.vpc_peering_connection_id { + let mut scope_1004 = writer.prefix("RouteTableId"); + if let Some(var_1005) = &input.route_table_id { scope_1004.string(var_1005); } + #[allow(unused_mut)] + let mut scope_1006 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_1007) = &input.vpc_peering_connection_id { + scope_1006.string(var_1007); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -3372,25 +3377,25 @@ pub fn serialize_operation_create_route_table( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateRouteTable", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1006 = writer.prefix("DryRun"); - if let Some(var_1007) = &input.dry_run { - scope_1006.boolean(*var_1007); + let mut scope_1008 = writer.prefix("DryRun"); + if let Some(var_1009) = &input.dry_run { + scope_1008.boolean(*var_1009); } #[allow(unused_mut)] - let mut scope_1008 = writer.prefix("VpcId"); - if let Some(var_1009) = &input.vpc_id { - scope_1008.string(var_1009); + let mut scope_1010 = writer.prefix("VpcId"); + if let Some(var_1011) = &input.vpc_id { + scope_1010.string(var_1011); } #[allow(unused_mut)] - let mut scope_1010 = writer.prefix("TagSpecification"); - if let Some(var_1011) = &input.tag_specifications { - let mut list_1013 = scope_1010.start_list(true, Some("item")); - for item_1012 in var_1011 { + let mut scope_1012 = writer.prefix("TagSpecification"); + if let Some(var_1013) = &input.tag_specifications { + let mut list_1015 = scope_1012.start_list(true, Some("item")); + for item_1014 in var_1013 { #[allow(unused_mut)] - let mut entry_1014 = list_1013.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1014, item_1012); + let mut entry_1016 = list_1015.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1016, item_1014); } - list_1013.finish(); + list_1015.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3403,35 +3408,35 @@ pub fn serialize_operation_create_security_group( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSecurityGroup", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1015 = writer.prefix("GroupDescription"); - if let Some(var_1016) = &input.description { - scope_1015.string(var_1016); - } - #[allow(unused_mut)] - let mut scope_1017 = writer.prefix("GroupName"); - if let Some(var_1018) = &input.group_name { + let mut scope_1017 = writer.prefix("GroupDescription"); + if let Some(var_1018) = &input.description { scope_1017.string(var_1018); } #[allow(unused_mut)] - let mut scope_1019 = writer.prefix("VpcId"); - if let Some(var_1020) = &input.vpc_id { + let mut scope_1019 = writer.prefix("GroupName"); + if let Some(var_1020) = &input.group_name { scope_1019.string(var_1020); } #[allow(unused_mut)] - let mut scope_1021 = writer.prefix("TagSpecification"); - if let Some(var_1022) = &input.tag_specifications { - let mut list_1024 = scope_1021.start_list(true, Some("item")); - for item_1023 in var_1022 { + let mut scope_1021 = writer.prefix("VpcId"); + if let Some(var_1022) = &input.vpc_id { + scope_1021.string(var_1022); + } + #[allow(unused_mut)] + let mut scope_1023 = writer.prefix("TagSpecification"); + if let Some(var_1024) = &input.tag_specifications { + let mut list_1026 = scope_1023.start_list(true, Some("item")); + for item_1025 in var_1024 { #[allow(unused_mut)] - let mut entry_1025 = list_1024.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1025, item_1023); + let mut entry_1027 = list_1026.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1027, item_1025); } - list_1024.finish(); + list_1026.finish(); } #[allow(unused_mut)] - let mut scope_1026 = writer.prefix("DryRun"); - if let Some(var_1027) = &input.dry_run { - scope_1026.boolean(*var_1027); + let mut scope_1028 = writer.prefix("DryRun"); + if let Some(var_1029) = &input.dry_run { + scope_1028.boolean(*var_1029); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3444,35 +3449,35 @@ pub fn serialize_operation_create_snapshot( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSnapshot", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1028 = writer.prefix("Description"); - if let Some(var_1029) = &input.description { - scope_1028.string(var_1029); - } - #[allow(unused_mut)] - let mut scope_1030 = writer.prefix("OutpostArn"); - if let Some(var_1031) = &input.outpost_arn { + let mut scope_1030 = writer.prefix("Description"); + if let Some(var_1031) = &input.description { scope_1030.string(var_1031); } #[allow(unused_mut)] - let mut scope_1032 = writer.prefix("VolumeId"); - if let Some(var_1033) = &input.volume_id { + let mut scope_1032 = writer.prefix("OutpostArn"); + if let Some(var_1033) = &input.outpost_arn { scope_1032.string(var_1033); } #[allow(unused_mut)] - let mut scope_1034 = writer.prefix("TagSpecification"); - if let Some(var_1035) = &input.tag_specifications { - let mut list_1037 = scope_1034.start_list(true, Some("item")); - for item_1036 in var_1035 { + let mut scope_1034 = writer.prefix("VolumeId"); + if let Some(var_1035) = &input.volume_id { + scope_1034.string(var_1035); + } + #[allow(unused_mut)] + let mut scope_1036 = writer.prefix("TagSpecification"); + if let Some(var_1037) = &input.tag_specifications { + let mut list_1039 = scope_1036.start_list(true, Some("item")); + for item_1038 in var_1037 { #[allow(unused_mut)] - let mut entry_1038 = list_1037.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1038, item_1036); + let mut entry_1040 = list_1039.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1040, item_1038); } - list_1037.finish(); + list_1039.finish(); } #[allow(unused_mut)] - let mut scope_1039 = writer.prefix("DryRun"); - if let Some(var_1040) = &input.dry_run { - scope_1039.boolean(*var_1040); + let mut scope_1041 = writer.prefix("DryRun"); + if let Some(var_1042) = &input.dry_run { + scope_1041.boolean(*var_1042); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3485,40 +3490,40 @@ pub fn serialize_operation_create_snapshots( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSnapshots", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1041 = writer.prefix("Description"); - if let Some(var_1042) = &input.description { - scope_1041.string(var_1042); + let mut scope_1043 = writer.prefix("Description"); + if let Some(var_1044) = &input.description { + scope_1043.string(var_1044); } #[allow(unused_mut)] - let mut scope_1043 = writer.prefix("InstanceSpecification"); - if let Some(var_1044) = &input.instance_specification { - crate::query_ser::serialize_structure_instance_specification(scope_1043, var_1044); + let mut scope_1045 = writer.prefix("InstanceSpecification"); + if let Some(var_1046) = &input.instance_specification { + crate::query_ser::serialize_structure_instance_specification(scope_1045, var_1046); } #[allow(unused_mut)] - let mut scope_1045 = writer.prefix("OutpostArn"); - if let Some(var_1046) = &input.outpost_arn { - scope_1045.string(var_1046); + let mut scope_1047 = writer.prefix("OutpostArn"); + if let Some(var_1048) = &input.outpost_arn { + scope_1047.string(var_1048); } #[allow(unused_mut)] - let mut scope_1047 = writer.prefix("TagSpecification"); - if let Some(var_1048) = &input.tag_specifications { - let mut list_1050 = scope_1047.start_list(true, Some("item")); - for item_1049 in var_1048 { + let mut scope_1049 = writer.prefix("TagSpecification"); + if let Some(var_1050) = &input.tag_specifications { + let mut list_1052 = scope_1049.start_list(true, Some("item")); + for item_1051 in var_1050 { #[allow(unused_mut)] - let mut entry_1051 = list_1050.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1051, item_1049); + let mut entry_1053 = list_1052.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1053, item_1051); } - list_1050.finish(); + list_1052.finish(); } #[allow(unused_mut)] - let mut scope_1052 = writer.prefix("DryRun"); - if let Some(var_1053) = &input.dry_run { - scope_1052.boolean(*var_1053); + let mut scope_1054 = writer.prefix("DryRun"); + if let Some(var_1055) = &input.dry_run { + scope_1054.boolean(*var_1055); } #[allow(unused_mut)] - let mut scope_1054 = writer.prefix("CopyTagsFromSource"); - if let Some(var_1055) = &input.copy_tags_from_source { - scope_1054.string(var_1055.as_str()); + let mut scope_1056 = writer.prefix("CopyTagsFromSource"); + if let Some(var_1057) = &input.copy_tags_from_source { + scope_1056.string(var_1057.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3532,19 +3537,19 @@ pub fn serialize_operation_create_spot_datafeed_subscription( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSpotDatafeedSubscription", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1056 = writer.prefix("Bucket"); - if let Some(var_1057) = &input.bucket { - scope_1056.string(var_1057); + let mut scope_1058 = writer.prefix("Bucket"); + if let Some(var_1059) = &input.bucket { + scope_1058.string(var_1059); } #[allow(unused_mut)] - let mut scope_1058 = writer.prefix("DryRun"); - if let Some(var_1059) = &input.dry_run { - scope_1058.boolean(*var_1059); + let mut scope_1060 = writer.prefix("DryRun"); + if let Some(var_1061) = &input.dry_run { + scope_1060.boolean(*var_1061); } #[allow(unused_mut)] - let mut scope_1060 = writer.prefix("Prefix"); - if let Some(var_1061) = &input.prefix { - scope_1060.string(var_1061); + let mut scope_1062 = writer.prefix("Prefix"); + if let Some(var_1063) = &input.prefix { + scope_1062.string(var_1063); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3557,30 +3562,30 @@ pub fn serialize_operation_create_store_image_task( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateStoreImageTask", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1062 = writer.prefix("ImageId"); - if let Some(var_1063) = &input.image_id { - scope_1062.string(var_1063); + let mut scope_1064 = writer.prefix("ImageId"); + if let Some(var_1065) = &input.image_id { + scope_1064.string(var_1065); } #[allow(unused_mut)] - let mut scope_1064 = writer.prefix("Bucket"); - if let Some(var_1065) = &input.bucket { - scope_1064.string(var_1065); + let mut scope_1066 = writer.prefix("Bucket"); + if let Some(var_1067) = &input.bucket { + scope_1066.string(var_1067); } #[allow(unused_mut)] - let mut scope_1066 = writer.prefix("S3ObjectTag"); - if let Some(var_1067) = &input.s3_object_tags { - let mut list_1069 = scope_1066.start_list(true, Some("item")); - for item_1068 in var_1067 { + let mut scope_1068 = writer.prefix("S3ObjectTag"); + if let Some(var_1069) = &input.s3_object_tags { + let mut list_1071 = scope_1068.start_list(true, Some("item")); + for item_1070 in var_1069 { #[allow(unused_mut)] - let mut entry_1070 = list_1069.entry(); - crate::query_ser::serialize_structure_s3_object_tag(entry_1070, item_1068); + let mut entry_1072 = list_1071.entry(); + crate::query_ser::serialize_structure_s3_object_tag(entry_1072, item_1070); } - list_1069.finish(); + list_1071.finish(); } #[allow(unused_mut)] - let mut scope_1071 = writer.prefix("DryRun"); - if let Some(var_1072) = &input.dry_run { - scope_1071.boolean(*var_1072); + let mut scope_1073 = writer.prefix("DryRun"); + if let Some(var_1074) = &input.dry_run { + scope_1073.boolean(*var_1074); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3593,50 +3598,50 @@ pub fn serialize_operation_create_subnet( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSubnet", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1073 = writer.prefix("TagSpecification"); - if let Some(var_1074) = &input.tag_specifications { - let mut list_1076 = scope_1073.start_list(true, Some("item")); - for item_1075 in var_1074 { + let mut scope_1075 = writer.prefix("TagSpecification"); + if let Some(var_1076) = &input.tag_specifications { + let mut list_1078 = scope_1075.start_list(true, Some("item")); + for item_1077 in var_1076 { #[allow(unused_mut)] - let mut entry_1077 = list_1076.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1077, item_1075); + let mut entry_1079 = list_1078.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1079, item_1077); } - list_1076.finish(); + list_1078.finish(); } #[allow(unused_mut)] - let mut scope_1078 = writer.prefix("AvailabilityZone"); - if let Some(var_1079) = &input.availability_zone { - scope_1078.string(var_1079); - } - #[allow(unused_mut)] - let mut scope_1080 = writer.prefix("AvailabilityZoneId"); - if let Some(var_1081) = &input.availability_zone_id { + let mut scope_1080 = writer.prefix("AvailabilityZone"); + if let Some(var_1081) = &input.availability_zone { scope_1080.string(var_1081); } #[allow(unused_mut)] - let mut scope_1082 = writer.prefix("Ipv6CidrBlock"); - if let Some(var_1083) = &input.ipv6_cidr_block { + let mut scope_1082 = writer.prefix("AvailabilityZoneId"); + if let Some(var_1083) = &input.availability_zone_id { scope_1082.string(var_1083); } #[allow(unused_mut)] - let mut scope_1084 = writer.prefix("OutpostArn"); - if let Some(var_1085) = &input.outpost_arn { + let mut scope_1084 = writer.prefix("Ipv6CidrBlock"); + if let Some(var_1085) = &input.ipv6_cidr_block { scope_1084.string(var_1085); } #[allow(unused_mut)] - let mut scope_1086 = writer.prefix("VpcId"); - if let Some(var_1087) = &input.vpc_id { + let mut scope_1086 = writer.prefix("OutpostArn"); + if let Some(var_1087) = &input.outpost_arn { scope_1086.string(var_1087); } #[allow(unused_mut)] - let mut scope_1088 = writer.prefix("DryRun"); - if let Some(var_1089) = &input.dry_run { - scope_1088.boolean(*var_1089); + let mut scope_1088 = writer.prefix("VpcId"); + if let Some(var_1089) = &input.vpc_id { + scope_1088.string(var_1089); + } + #[allow(unused_mut)] + let mut scope_1090 = writer.prefix("DryRun"); + if let Some(var_1091) = &input.dry_run { + scope_1090.boolean(*var_1091); } #[allow(unused_mut)] - let mut scope_1090 = writer.prefix("CidrBlock"); - if let Some(var_1091) = &input.cidr_block { - scope_1090.string(var_1091); + let mut scope_1092 = writer.prefix("CidrBlock"); + if let Some(var_1093) = &input.cidr_block { + scope_1092.string(var_1093); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3650,40 +3655,40 @@ pub fn serialize_operation_create_subnet_cidr_reservation( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateSubnetCidrReservation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1092 = writer.prefix("TagSpecification"); - if let Some(var_1093) = &input.tag_specifications { - let mut list_1095 = scope_1092.start_list(true, Some("item")); - for item_1094 in var_1093 { + let mut scope_1094 = writer.prefix("TagSpecification"); + if let Some(var_1095) = &input.tag_specifications { + let mut list_1097 = scope_1094.start_list(true, Some("item")); + for item_1096 in var_1095 { #[allow(unused_mut)] - let mut entry_1096 = list_1095.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1096, item_1094); + let mut entry_1098 = list_1097.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1098, item_1096); } - list_1095.finish(); + list_1097.finish(); } #[allow(unused_mut)] - let mut scope_1097 = writer.prefix("SubnetId"); - if let Some(var_1098) = &input.subnet_id { - scope_1097.string(var_1098); + let mut scope_1099 = writer.prefix("SubnetId"); + if let Some(var_1100) = &input.subnet_id { + scope_1099.string(var_1100); } #[allow(unused_mut)] - let mut scope_1099 = writer.prefix("Cidr"); - if let Some(var_1100) = &input.cidr { - scope_1099.string(var_1100); + let mut scope_1101 = writer.prefix("Cidr"); + if let Some(var_1102) = &input.cidr { + scope_1101.string(var_1102); } #[allow(unused_mut)] - let mut scope_1101 = writer.prefix("ReservationType"); - if let Some(var_1102) = &input.reservation_type { - scope_1101.string(var_1102.as_str()); + let mut scope_1103 = writer.prefix("ReservationType"); + if let Some(var_1104) = &input.reservation_type { + scope_1103.string(var_1104.as_str()); } #[allow(unused_mut)] - let mut scope_1103 = writer.prefix("Description"); - if let Some(var_1104) = &input.description { - scope_1103.string(var_1104); + let mut scope_1105 = writer.prefix("Description"); + if let Some(var_1106) = &input.description { + scope_1105.string(var_1106); } #[allow(unused_mut)] - let mut scope_1105 = writer.prefix("DryRun"); - if let Some(var_1106) = &input.dry_run { - scope_1105.boolean(*var_1106); + let mut scope_1107 = writer.prefix("DryRun"); + if let Some(var_1108) = &input.dry_run { + scope_1107.boolean(*var_1108); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3696,31 +3701,31 @@ pub fn serialize_operation_create_tags( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTags", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1107 = writer.prefix("DryRun"); - if let Some(var_1108) = &input.dry_run { - scope_1107.boolean(*var_1108); + let mut scope_1109 = writer.prefix("DryRun"); + if let Some(var_1110) = &input.dry_run { + scope_1109.boolean(*var_1110); } #[allow(unused_mut)] - let mut scope_1109 = writer.prefix("ResourceId"); - if let Some(var_1110) = &input.resources { - let mut list_1112 = scope_1109.start_list(true, None); - for item_1111 in var_1110 { + let mut scope_1111 = writer.prefix("ResourceId"); + if let Some(var_1112) = &input.resources { + let mut list_1114 = scope_1111.start_list(true, None); + for item_1113 in var_1112 { #[allow(unused_mut)] - let mut entry_1113 = list_1112.entry(); - entry_1113.string(item_1111); + let mut entry_1115 = list_1114.entry(); + entry_1115.string(item_1113); } - list_1112.finish(); + list_1114.finish(); } #[allow(unused_mut)] - let mut scope_1114 = writer.prefix("Tag"); - if let Some(var_1115) = &input.tags { - let mut list_1117 = scope_1114.start_list(true, Some("item")); - for item_1116 in var_1115 { + let mut scope_1116 = writer.prefix("Tag"); + if let Some(var_1117) = &input.tags { + let mut list_1119 = scope_1116.start_list(true, Some("item")); + for item_1118 in var_1117 { #[allow(unused_mut)] - let mut entry_1118 = list_1117.entry(); - crate::query_ser::serialize_structure_tag(entry_1118, item_1116); + let mut entry_1120 = list_1119.entry(); + crate::query_ser::serialize_structure_tag(entry_1120, item_1118); } - list_1117.finish(); + list_1119.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3734,30 +3739,30 @@ pub fn serialize_operation_create_traffic_mirror_filter( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTrafficMirrorFilter", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1119 = writer.prefix("Description"); - if let Some(var_1120) = &input.description { - scope_1119.string(var_1120); + let mut scope_1121 = writer.prefix("Description"); + if let Some(var_1122) = &input.description { + scope_1121.string(var_1122); } #[allow(unused_mut)] - let mut scope_1121 = writer.prefix("TagSpecification"); - if let Some(var_1122) = &input.tag_specifications { - let mut list_1124 = scope_1121.start_list(true, Some("item")); - for item_1123 in var_1122 { + let mut scope_1123 = writer.prefix("TagSpecification"); + if let Some(var_1124) = &input.tag_specifications { + let mut list_1126 = scope_1123.start_list(true, Some("item")); + for item_1125 in var_1124 { #[allow(unused_mut)] - let mut entry_1125 = list_1124.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1125, item_1123); + let mut entry_1127 = list_1126.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1127, item_1125); } - list_1124.finish(); + list_1126.finish(); } #[allow(unused_mut)] - let mut scope_1126 = writer.prefix("DryRun"); - if let Some(var_1127) = &input.dry_run { - scope_1126.boolean(*var_1127); + let mut scope_1128 = writer.prefix("DryRun"); + if let Some(var_1129) = &input.dry_run { + scope_1128.boolean(*var_1129); } #[allow(unused_mut)] - let mut scope_1128 = writer.prefix("ClientToken"); - if let Some(var_1129) = &input.client_token { - scope_1128.string(var_1129); + let mut scope_1130 = writer.prefix("ClientToken"); + if let Some(var_1131) = &input.client_token { + scope_1130.string(var_1131); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3771,74 +3776,74 @@ pub fn serialize_operation_create_traffic_mirror_filter_rule( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTrafficMirrorFilterRule", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1130 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_1131) = &input.traffic_mirror_filter_id { - scope_1130.string(var_1131); + let mut scope_1132 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_1133) = &input.traffic_mirror_filter_id { + scope_1132.string(var_1133); } #[allow(unused_mut)] - let mut scope_1132 = writer.prefix("TrafficDirection"); - if let Some(var_1133) = &input.traffic_direction { - scope_1132.string(var_1133.as_str()); + let mut scope_1134 = writer.prefix("TrafficDirection"); + if let Some(var_1135) = &input.traffic_direction { + scope_1134.string(var_1135.as_str()); } #[allow(unused_mut)] - let mut scope_1134 = writer.prefix("RuleNumber"); - if let Some(var_1135) = &input.rule_number { - scope_1134.number( + let mut scope_1136 = writer.prefix("RuleNumber"); + if let Some(var_1137) = &input.rule_number { + scope_1136.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1135).into()), + smithy_types::Number::NegInt((*var_1137).into()), ); } #[allow(unused_mut)] - let mut scope_1136 = writer.prefix("RuleAction"); - if let Some(var_1137) = &input.rule_action { - scope_1136.string(var_1137.as_str()); + let mut scope_1138 = writer.prefix("RuleAction"); + if let Some(var_1139) = &input.rule_action { + scope_1138.string(var_1139.as_str()); } #[allow(unused_mut)] - let mut scope_1138 = writer.prefix("DestinationPortRange"); - if let Some(var_1139) = &input.destination_port_range { + let mut scope_1140 = writer.prefix("DestinationPortRange"); + if let Some(var_1141) = &input.destination_port_range { crate::query_ser::serialize_structure_traffic_mirror_port_range_request( - scope_1138, var_1139, + scope_1140, var_1141, ); } #[allow(unused_mut)] - let mut scope_1140 = writer.prefix("SourcePortRange"); - if let Some(var_1141) = &input.source_port_range { + let mut scope_1142 = writer.prefix("SourcePortRange"); + if let Some(var_1143) = &input.source_port_range { crate::query_ser::serialize_structure_traffic_mirror_port_range_request( - scope_1140, var_1141, + scope_1142, var_1143, ); } #[allow(unused_mut)] - let mut scope_1142 = writer.prefix("Protocol"); - if let Some(var_1143) = &input.protocol { - scope_1142.number( + let mut scope_1144 = writer.prefix("Protocol"); + if let Some(var_1145) = &input.protocol { + scope_1144.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1143).into()), + smithy_types::Number::NegInt((*var_1145).into()), ); } #[allow(unused_mut)] - let mut scope_1144 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1145) = &input.destination_cidr_block { - scope_1144.string(var_1145); - } - #[allow(unused_mut)] - let mut scope_1146 = writer.prefix("SourceCidrBlock"); - if let Some(var_1147) = &input.source_cidr_block { + let mut scope_1146 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1147) = &input.destination_cidr_block { scope_1146.string(var_1147); } #[allow(unused_mut)] - let mut scope_1148 = writer.prefix("Description"); - if let Some(var_1149) = &input.description { + let mut scope_1148 = writer.prefix("SourceCidrBlock"); + if let Some(var_1149) = &input.source_cidr_block { scope_1148.string(var_1149); } #[allow(unused_mut)] - let mut scope_1150 = writer.prefix("DryRun"); - if let Some(var_1151) = &input.dry_run { - scope_1150.boolean(*var_1151); + let mut scope_1150 = writer.prefix("Description"); + if let Some(var_1151) = &input.description { + scope_1150.string(var_1151); + } + #[allow(unused_mut)] + let mut scope_1152 = writer.prefix("DryRun"); + if let Some(var_1153) = &input.dry_run { + scope_1152.boolean(*var_1153); } #[allow(unused_mut)] - let mut scope_1152 = writer.prefix("ClientToken"); - if let Some(var_1153) = &input.client_token { - scope_1152.string(var_1153); + let mut scope_1154 = writer.prefix("ClientToken"); + if let Some(var_1155) = &input.client_token { + scope_1154.string(var_1155); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3852,69 +3857,69 @@ pub fn serialize_operation_create_traffic_mirror_session( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTrafficMirrorSession", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1154 = writer.prefix("NetworkInterfaceId"); - if let Some(var_1155) = &input.network_interface_id { - scope_1154.string(var_1155); - } - #[allow(unused_mut)] - let mut scope_1156 = writer.prefix("TrafficMirrorTargetId"); - if let Some(var_1157) = &input.traffic_mirror_target_id { + let mut scope_1156 = writer.prefix("NetworkInterfaceId"); + if let Some(var_1157) = &input.network_interface_id { scope_1156.string(var_1157); } #[allow(unused_mut)] - let mut scope_1158 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_1159) = &input.traffic_mirror_filter_id { + let mut scope_1158 = writer.prefix("TrafficMirrorTargetId"); + if let Some(var_1159) = &input.traffic_mirror_target_id { scope_1158.string(var_1159); } #[allow(unused_mut)] - let mut scope_1160 = writer.prefix("PacketLength"); - if let Some(var_1161) = &input.packet_length { - scope_1160.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1161).into()), - ); + let mut scope_1160 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_1161) = &input.traffic_mirror_filter_id { + scope_1160.string(var_1161); } #[allow(unused_mut)] - let mut scope_1162 = writer.prefix("SessionNumber"); - if let Some(var_1163) = &input.session_number { + let mut scope_1162 = writer.prefix("PacketLength"); + if let Some(var_1163) = &input.packet_length { scope_1162.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_1163).into()), ); } #[allow(unused_mut)] - let mut scope_1164 = writer.prefix("VirtualNetworkId"); - if let Some(var_1165) = &input.virtual_network_id { + let mut scope_1164 = writer.prefix("SessionNumber"); + if let Some(var_1165) = &input.session_number { scope_1164.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_1165).into()), ); } #[allow(unused_mut)] - let mut scope_1166 = writer.prefix("Description"); - if let Some(var_1167) = &input.description { - scope_1166.string(var_1167); + let mut scope_1166 = writer.prefix("VirtualNetworkId"); + if let Some(var_1167) = &input.virtual_network_id { + scope_1166.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_1167).into()), + ); + } + #[allow(unused_mut)] + let mut scope_1168 = writer.prefix("Description"); + if let Some(var_1169) = &input.description { + scope_1168.string(var_1169); } #[allow(unused_mut)] - let mut scope_1168 = writer.prefix("TagSpecification"); - if let Some(var_1169) = &input.tag_specifications { - let mut list_1171 = scope_1168.start_list(true, Some("item")); - for item_1170 in var_1169 { + let mut scope_1170 = writer.prefix("TagSpecification"); + if let Some(var_1171) = &input.tag_specifications { + let mut list_1173 = scope_1170.start_list(true, Some("item")); + for item_1172 in var_1171 { #[allow(unused_mut)] - let mut entry_1172 = list_1171.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1172, item_1170); + let mut entry_1174 = list_1173.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1174, item_1172); } - list_1171.finish(); + list_1173.finish(); } #[allow(unused_mut)] - let mut scope_1173 = writer.prefix("DryRun"); - if let Some(var_1174) = &input.dry_run { - scope_1173.boolean(*var_1174); + let mut scope_1175 = writer.prefix("DryRun"); + if let Some(var_1176) = &input.dry_run { + scope_1175.boolean(*var_1176); } #[allow(unused_mut)] - let mut scope_1175 = writer.prefix("ClientToken"); - if let Some(var_1176) = &input.client_token { - scope_1175.string(var_1176); + let mut scope_1177 = writer.prefix("ClientToken"); + if let Some(var_1178) = &input.client_token { + scope_1177.string(var_1178); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3928,40 +3933,40 @@ pub fn serialize_operation_create_traffic_mirror_target( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTrafficMirrorTarget", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1177 = writer.prefix("NetworkInterfaceId"); - if let Some(var_1178) = &input.network_interface_id { - scope_1177.string(var_1178); - } - #[allow(unused_mut)] - let mut scope_1179 = writer.prefix("NetworkLoadBalancerArn"); - if let Some(var_1180) = &input.network_load_balancer_arn { + let mut scope_1179 = writer.prefix("NetworkInterfaceId"); + if let Some(var_1180) = &input.network_interface_id { scope_1179.string(var_1180); } #[allow(unused_mut)] - let mut scope_1181 = writer.prefix("Description"); - if let Some(var_1182) = &input.description { + let mut scope_1181 = writer.prefix("NetworkLoadBalancerArn"); + if let Some(var_1182) = &input.network_load_balancer_arn { scope_1181.string(var_1182); } #[allow(unused_mut)] - let mut scope_1183 = writer.prefix("TagSpecification"); - if let Some(var_1184) = &input.tag_specifications { - let mut list_1186 = scope_1183.start_list(true, Some("item")); - for item_1185 in var_1184 { + let mut scope_1183 = writer.prefix("Description"); + if let Some(var_1184) = &input.description { + scope_1183.string(var_1184); + } + #[allow(unused_mut)] + let mut scope_1185 = writer.prefix("TagSpecification"); + if let Some(var_1186) = &input.tag_specifications { + let mut list_1188 = scope_1185.start_list(true, Some("item")); + for item_1187 in var_1186 { #[allow(unused_mut)] - let mut entry_1187 = list_1186.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1187, item_1185); + let mut entry_1189 = list_1188.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1189, item_1187); } - list_1186.finish(); + list_1188.finish(); } #[allow(unused_mut)] - let mut scope_1188 = writer.prefix("DryRun"); - if let Some(var_1189) = &input.dry_run { - scope_1188.boolean(*var_1189); + let mut scope_1190 = writer.prefix("DryRun"); + if let Some(var_1191) = &input.dry_run { + scope_1190.boolean(*var_1191); } #[allow(unused_mut)] - let mut scope_1190 = writer.prefix("ClientToken"); - if let Some(var_1191) = &input.client_token { - scope_1190.string(var_1191); + let mut scope_1192 = writer.prefix("ClientToken"); + if let Some(var_1193) = &input.client_token { + scope_1192.string(var_1193); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -3974,30 +3979,30 @@ pub fn serialize_operation_create_transit_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1192 = writer.prefix("Description"); - if let Some(var_1193) = &input.description { - scope_1192.string(var_1193); + let mut scope_1194 = writer.prefix("Description"); + if let Some(var_1195) = &input.description { + scope_1194.string(var_1195); } #[allow(unused_mut)] - let mut scope_1194 = writer.prefix("Options"); - if let Some(var_1195) = &input.options { - crate::query_ser::serialize_structure_transit_gateway_request_options(scope_1194, var_1195); + let mut scope_1196 = writer.prefix("Options"); + if let Some(var_1197) = &input.options { + crate::query_ser::serialize_structure_transit_gateway_request_options(scope_1196, var_1197); } #[allow(unused_mut)] - let mut scope_1196 = writer.prefix("TagSpecification"); - if let Some(var_1197) = &input.tag_specifications { - let mut list_1199 = scope_1196.start_list(true, Some("item")); - for item_1198 in var_1197 { + let mut scope_1198 = writer.prefix("TagSpecification"); + if let Some(var_1199) = &input.tag_specifications { + let mut list_1201 = scope_1198.start_list(true, Some("item")); + for item_1200 in var_1199 { #[allow(unused_mut)] - let mut entry_1200 = list_1199.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1200, item_1198); + let mut entry_1202 = list_1201.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1202, item_1200); } - list_1199.finish(); + list_1201.finish(); } #[allow(unused_mut)] - let mut scope_1201 = writer.prefix("DryRun"); - if let Some(var_1202) = &input.dry_run { - scope_1201.boolean(*var_1202); + let mut scope_1203 = writer.prefix("DryRun"); + if let Some(var_1204) = &input.dry_run { + scope_1203.boolean(*var_1204); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4011,32 +4016,32 @@ pub fn serialize_operation_create_transit_gateway_connect( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGatewayConnect", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1203 = writer.prefix("TransportTransitGatewayAttachmentId"); - if let Some(var_1204) = &input.transport_transit_gateway_attachment_id { - scope_1203.string(var_1204); + let mut scope_1205 = writer.prefix("TransportTransitGatewayAttachmentId"); + if let Some(var_1206) = &input.transport_transit_gateway_attachment_id { + scope_1205.string(var_1206); } #[allow(unused_mut)] - let mut scope_1205 = writer.prefix("Options"); - if let Some(var_1206) = &input.options { + let mut scope_1207 = writer.prefix("Options"); + if let Some(var_1208) = &input.options { crate::query_ser::serialize_structure_create_transit_gateway_connect_request_options( - scope_1205, var_1206, + scope_1207, var_1208, ); } #[allow(unused_mut)] - let mut scope_1207 = writer.prefix("TagSpecification"); - if let Some(var_1208) = &input.tag_specifications { - let mut list_1210 = scope_1207.start_list(true, Some("item")); - for item_1209 in var_1208 { + let mut scope_1209 = writer.prefix("TagSpecification"); + if let Some(var_1210) = &input.tag_specifications { + let mut list_1212 = scope_1209.start_list(true, Some("item")); + for item_1211 in var_1210 { #[allow(unused_mut)] - let mut entry_1211 = list_1210.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1211, item_1209); + let mut entry_1213 = list_1212.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1213, item_1211); } - list_1210.finish(); + list_1212.finish(); } #[allow(unused_mut)] - let mut scope_1212 = writer.prefix("DryRun"); - if let Some(var_1213) = &input.dry_run { - scope_1212.boolean(*var_1213); + let mut scope_1214 = writer.prefix("DryRun"); + if let Some(var_1215) = &input.dry_run { + scope_1214.boolean(*var_1215); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4050,53 +4055,53 @@ pub fn serialize_operation_create_transit_gateway_connect_peer( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGatewayConnectPeer", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1214 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1215) = &input.transit_gateway_attachment_id { - scope_1214.string(var_1215); - } - #[allow(unused_mut)] - let mut scope_1216 = writer.prefix("TransitGatewayAddress"); - if let Some(var_1217) = &input.transit_gateway_address { + let mut scope_1216 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1217) = &input.transit_gateway_attachment_id { scope_1216.string(var_1217); } #[allow(unused_mut)] - let mut scope_1218 = writer.prefix("PeerAddress"); - if let Some(var_1219) = &input.peer_address { + let mut scope_1218 = writer.prefix("TransitGatewayAddress"); + if let Some(var_1219) = &input.transit_gateway_address { scope_1218.string(var_1219); } #[allow(unused_mut)] - let mut scope_1220 = writer.prefix("BgpOptions"); - if let Some(var_1221) = &input.bgp_options { + let mut scope_1220 = writer.prefix("PeerAddress"); + if let Some(var_1221) = &input.peer_address { + scope_1220.string(var_1221); + } + #[allow(unused_mut)] + let mut scope_1222 = writer.prefix("BgpOptions"); + if let Some(var_1223) = &input.bgp_options { crate::query_ser::serialize_structure_transit_gateway_connect_request_bgp_options( - scope_1220, var_1221, + scope_1222, var_1223, ); } #[allow(unused_mut)] - let mut scope_1222 = writer.prefix("InsideCidrBlocks"); - if let Some(var_1223) = &input.inside_cidr_blocks { - let mut list_1225 = scope_1222.start_list(true, Some("item")); - for item_1224 in var_1223 { + let mut scope_1224 = writer.prefix("InsideCidrBlocks"); + if let Some(var_1225) = &input.inside_cidr_blocks { + let mut list_1227 = scope_1224.start_list(true, Some("item")); + for item_1226 in var_1225 { #[allow(unused_mut)] - let mut entry_1226 = list_1225.entry(); - entry_1226.string(item_1224); + let mut entry_1228 = list_1227.entry(); + entry_1228.string(item_1226); } - list_1225.finish(); + list_1227.finish(); } #[allow(unused_mut)] - let mut scope_1227 = writer.prefix("TagSpecification"); - if let Some(var_1228) = &input.tag_specifications { - let mut list_1230 = scope_1227.start_list(true, Some("item")); - for item_1229 in var_1228 { + let mut scope_1229 = writer.prefix("TagSpecification"); + if let Some(var_1230) = &input.tag_specifications { + let mut list_1232 = scope_1229.start_list(true, Some("item")); + for item_1231 in var_1230 { #[allow(unused_mut)] - let mut entry_1231 = list_1230.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1231, item_1229); + let mut entry_1233 = list_1232.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1233, item_1231); } - list_1230.finish(); + list_1232.finish(); } #[allow(unused_mut)] - let mut scope_1232 = writer.prefix("DryRun"); - if let Some(var_1233) = &input.dry_run { - scope_1232.boolean(*var_1233); + let mut scope_1234 = writer.prefix("DryRun"); + if let Some(var_1235) = &input.dry_run { + scope_1234.boolean(*var_1235); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4113,30 +4118,30 @@ pub fn serialize_operation_create_transit_gateway_multicast_domain( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1234 = writer.prefix("TransitGatewayId"); - if let Some(var_1235) = &input.transit_gateway_id { - scope_1234.string(var_1235); + let mut scope_1236 = writer.prefix("TransitGatewayId"); + if let Some(var_1237) = &input.transit_gateway_id { + scope_1236.string(var_1237); } #[allow(unused_mut)] - let mut scope_1236 = writer.prefix("Options"); - if let Some(var_1237) = &input.options { - crate::query_ser::serialize_structure_create_transit_gateway_multicast_domain_request_options(scope_1236, var_1237); + let mut scope_1238 = writer.prefix("Options"); + if let Some(var_1239) = &input.options { + crate::query_ser::serialize_structure_create_transit_gateway_multicast_domain_request_options(scope_1238, var_1239); } #[allow(unused_mut)] - let mut scope_1238 = writer.prefix("TagSpecification"); - if let Some(var_1239) = &input.tag_specifications { - let mut list_1241 = scope_1238.start_list(true, Some("item")); - for item_1240 in var_1239 { + let mut scope_1240 = writer.prefix("TagSpecification"); + if let Some(var_1241) = &input.tag_specifications { + let mut list_1243 = scope_1240.start_list(true, Some("item")); + for item_1242 in var_1241 { #[allow(unused_mut)] - let mut entry_1242 = list_1241.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1242, item_1240); + let mut entry_1244 = list_1243.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1244, item_1242); } - list_1241.finish(); + list_1243.finish(); } #[allow(unused_mut)] - let mut scope_1243 = writer.prefix("DryRun"); - if let Some(var_1244) = &input.dry_run { - scope_1243.boolean(*var_1244); + let mut scope_1245 = writer.prefix("DryRun"); + if let Some(var_1246) = &input.dry_run { + scope_1245.boolean(*var_1246); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4153,40 +4158,40 @@ pub fn serialize_operation_create_transit_gateway_peering_attachment( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1245 = writer.prefix("TransitGatewayId"); - if let Some(var_1246) = &input.transit_gateway_id { - scope_1245.string(var_1246); - } - #[allow(unused_mut)] - let mut scope_1247 = writer.prefix("PeerTransitGatewayId"); - if let Some(var_1248) = &input.peer_transit_gateway_id { + let mut scope_1247 = writer.prefix("TransitGatewayId"); + if let Some(var_1248) = &input.transit_gateway_id { scope_1247.string(var_1248); } #[allow(unused_mut)] - let mut scope_1249 = writer.prefix("PeerAccountId"); - if let Some(var_1250) = &input.peer_account_id { + let mut scope_1249 = writer.prefix("PeerTransitGatewayId"); + if let Some(var_1250) = &input.peer_transit_gateway_id { scope_1249.string(var_1250); } #[allow(unused_mut)] - let mut scope_1251 = writer.prefix("PeerRegion"); - if let Some(var_1252) = &input.peer_region { + let mut scope_1251 = writer.prefix("PeerAccountId"); + if let Some(var_1252) = &input.peer_account_id { scope_1251.string(var_1252); } #[allow(unused_mut)] - let mut scope_1253 = writer.prefix("TagSpecification"); - if let Some(var_1254) = &input.tag_specifications { - let mut list_1256 = scope_1253.start_list(true, Some("item")); - for item_1255 in var_1254 { + let mut scope_1253 = writer.prefix("PeerRegion"); + if let Some(var_1254) = &input.peer_region { + scope_1253.string(var_1254); + } + #[allow(unused_mut)] + let mut scope_1255 = writer.prefix("TagSpecification"); + if let Some(var_1256) = &input.tag_specifications { + let mut list_1258 = scope_1255.start_list(true, Some("item")); + for item_1257 in var_1256 { #[allow(unused_mut)] - let mut entry_1257 = list_1256.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1257, item_1255); + let mut entry_1259 = list_1258.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1259, item_1257); } - list_1256.finish(); + list_1258.finish(); } #[allow(unused_mut)] - let mut scope_1258 = writer.prefix("DryRun"); - if let Some(var_1259) = &input.dry_run { - scope_1258.boolean(*var_1259); + let mut scope_1260 = writer.prefix("DryRun"); + if let Some(var_1261) = &input.dry_run { + scope_1260.boolean(*var_1261); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4203,30 +4208,30 @@ pub fn serialize_operation_create_transit_gateway_prefix_list_reference( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1260 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_1261) = &input.transit_gateway_route_table_id { - scope_1260.string(var_1261); - } - #[allow(unused_mut)] - let mut scope_1262 = writer.prefix("PrefixListId"); - if let Some(var_1263) = &input.prefix_list_id { + let mut scope_1262 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_1263) = &input.transit_gateway_route_table_id { scope_1262.string(var_1263); } #[allow(unused_mut)] - let mut scope_1264 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1265) = &input.transit_gateway_attachment_id { + let mut scope_1264 = writer.prefix("PrefixListId"); + if let Some(var_1265) = &input.prefix_list_id { scope_1264.string(var_1265); } #[allow(unused_mut)] - let mut scope_1266 = writer.prefix("Blackhole"); - if let Some(var_1267) = &input.blackhole { - scope_1266.boolean(*var_1267); + let mut scope_1266 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1267) = &input.transit_gateway_attachment_id { + scope_1266.string(var_1267); } #[allow(unused_mut)] - let mut scope_1268 = writer.prefix("DryRun"); - if let Some(var_1269) = &input.dry_run { + let mut scope_1268 = writer.prefix("Blackhole"); + if let Some(var_1269) = &input.blackhole { scope_1268.boolean(*var_1269); } + #[allow(unused_mut)] + let mut scope_1270 = writer.prefix("DryRun"); + if let Some(var_1271) = &input.dry_run { + scope_1270.boolean(*var_1271); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -4239,30 +4244,30 @@ pub fn serialize_operation_create_transit_gateway_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGatewayRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1270 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1271) = &input.destination_cidr_block { - scope_1270.string(var_1271); - } - #[allow(unused_mut)] - let mut scope_1272 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_1273) = &input.transit_gateway_route_table_id { + let mut scope_1272 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1273) = &input.destination_cidr_block { scope_1272.string(var_1273); } #[allow(unused_mut)] - let mut scope_1274 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1275) = &input.transit_gateway_attachment_id { + let mut scope_1274 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_1275) = &input.transit_gateway_route_table_id { scope_1274.string(var_1275); } #[allow(unused_mut)] - let mut scope_1276 = writer.prefix("Blackhole"); - if let Some(var_1277) = &input.blackhole { - scope_1276.boolean(*var_1277); + let mut scope_1276 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1277) = &input.transit_gateway_attachment_id { + scope_1276.string(var_1277); } #[allow(unused_mut)] - let mut scope_1278 = writer.prefix("DryRun"); - if let Some(var_1279) = &input.dry_run { + let mut scope_1278 = writer.prefix("Blackhole"); + if let Some(var_1279) = &input.blackhole { scope_1278.boolean(*var_1279); } + #[allow(unused_mut)] + let mut scope_1280 = writer.prefix("DryRun"); + if let Some(var_1281) = &input.dry_run { + scope_1280.boolean(*var_1281); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -4275,25 +4280,25 @@ pub fn serialize_operation_create_transit_gateway_route_table( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGatewayRouteTable", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1280 = writer.prefix("TransitGatewayId"); - if let Some(var_1281) = &input.transit_gateway_id { - scope_1280.string(var_1281); + let mut scope_1282 = writer.prefix("TransitGatewayId"); + if let Some(var_1283) = &input.transit_gateway_id { + scope_1282.string(var_1283); } #[allow(unused_mut)] - let mut scope_1282 = writer.prefix("TagSpecifications"); - if let Some(var_1283) = &input.tag_specifications { - let mut list_1285 = scope_1282.start_list(true, Some("item")); - for item_1284 in var_1283 { + let mut scope_1284 = writer.prefix("TagSpecifications"); + if let Some(var_1285) = &input.tag_specifications { + let mut list_1287 = scope_1284.start_list(true, Some("item")); + for item_1286 in var_1285 { #[allow(unused_mut)] - let mut entry_1286 = list_1285.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1286, item_1284); + let mut entry_1288 = list_1287.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1288, item_1286); } - list_1285.finish(); + list_1287.finish(); } #[allow(unused_mut)] - let mut scope_1287 = writer.prefix("DryRun"); - if let Some(var_1288) = &input.dry_run { - scope_1287.boolean(*var_1288); + let mut scope_1289 = writer.prefix("DryRun"); + if let Some(var_1290) = &input.dry_run { + scope_1289.boolean(*var_1290); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4307,48 +4312,48 @@ pub fn serialize_operation_create_transit_gateway_vpc_attachment( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateTransitGatewayVpcAttachment", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1289 = writer.prefix("TransitGatewayId"); - if let Some(var_1290) = &input.transit_gateway_id { - scope_1289.string(var_1290); + let mut scope_1291 = writer.prefix("TransitGatewayId"); + if let Some(var_1292) = &input.transit_gateway_id { + scope_1291.string(var_1292); } #[allow(unused_mut)] - let mut scope_1291 = writer.prefix("VpcId"); - if let Some(var_1292) = &input.vpc_id { - scope_1291.string(var_1292); + let mut scope_1293 = writer.prefix("VpcId"); + if let Some(var_1294) = &input.vpc_id { + scope_1293.string(var_1294); } #[allow(unused_mut)] - let mut scope_1293 = writer.prefix("SubnetIds"); - if let Some(var_1294) = &input.subnet_ids { - let mut list_1296 = scope_1293.start_list(true, Some("item")); - for item_1295 in var_1294 { + let mut scope_1295 = writer.prefix("SubnetIds"); + if let Some(var_1296) = &input.subnet_ids { + let mut list_1298 = scope_1295.start_list(true, Some("item")); + for item_1297 in var_1296 { #[allow(unused_mut)] - let mut entry_1297 = list_1296.entry(); - entry_1297.string(item_1295); + let mut entry_1299 = list_1298.entry(); + entry_1299.string(item_1297); } - list_1296.finish(); + list_1298.finish(); } #[allow(unused_mut)] - let mut scope_1298 = writer.prefix("Options"); - if let Some(var_1299) = &input.options { + let mut scope_1300 = writer.prefix("Options"); + if let Some(var_1301) = &input.options { crate::query_ser::serialize_structure_create_transit_gateway_vpc_attachment_request_options( - scope_1298, var_1299, + scope_1300, var_1301, ); } #[allow(unused_mut)] - let mut scope_1300 = writer.prefix("TagSpecifications"); - if let Some(var_1301) = &input.tag_specifications { - let mut list_1303 = scope_1300.start_list(true, Some("item")); - for item_1302 in var_1301 { + let mut scope_1302 = writer.prefix("TagSpecifications"); + if let Some(var_1303) = &input.tag_specifications { + let mut list_1305 = scope_1302.start_list(true, Some("item")); + for item_1304 in var_1303 { #[allow(unused_mut)] - let mut entry_1304 = list_1303.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1304, item_1302); + let mut entry_1306 = list_1305.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1306, item_1304); } - list_1303.finish(); + list_1305.finish(); } #[allow(unused_mut)] - let mut scope_1305 = writer.prefix("DryRun"); - if let Some(var_1306) = &input.dry_run { - scope_1305.boolean(*var_1306); + let mut scope_1307 = writer.prefix("DryRun"); + if let Some(var_1308) = &input.dry_run { + scope_1307.boolean(*var_1308); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4361,84 +4366,84 @@ pub fn serialize_operation_create_volume( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVolume", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1307 = writer.prefix("AvailabilityZone"); - if let Some(var_1308) = &input.availability_zone { - scope_1307.string(var_1308); + let mut scope_1309 = writer.prefix("AvailabilityZone"); + if let Some(var_1310) = &input.availability_zone { + scope_1309.string(var_1310); } #[allow(unused_mut)] - let mut scope_1309 = writer.prefix("Encrypted"); - if let Some(var_1310) = &input.encrypted { - scope_1309.boolean(*var_1310); + let mut scope_1311 = writer.prefix("Encrypted"); + if let Some(var_1312) = &input.encrypted { + scope_1311.boolean(*var_1312); } #[allow(unused_mut)] - let mut scope_1311 = writer.prefix("Iops"); - if let Some(var_1312) = &input.iops { - scope_1311.number( + let mut scope_1313 = writer.prefix("Iops"); + if let Some(var_1314) = &input.iops { + scope_1313.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1312).into()), + smithy_types::Number::NegInt((*var_1314).into()), ); } #[allow(unused_mut)] - let mut scope_1313 = writer.prefix("KmsKeyId"); - if let Some(var_1314) = &input.kms_key_id { - scope_1313.string(var_1314); + let mut scope_1315 = writer.prefix("KmsKeyId"); + if let Some(var_1316) = &input.kms_key_id { + scope_1315.string(var_1316); } #[allow(unused_mut)] - let mut scope_1315 = writer.prefix("OutpostArn"); - if let Some(var_1316) = &input.outpost_arn { - scope_1315.string(var_1316); + let mut scope_1317 = writer.prefix("OutpostArn"); + if let Some(var_1318) = &input.outpost_arn { + scope_1317.string(var_1318); } #[allow(unused_mut)] - let mut scope_1317 = writer.prefix("Size"); - if let Some(var_1318) = &input.size { - scope_1317.number( + let mut scope_1319 = writer.prefix("Size"); + if let Some(var_1320) = &input.size { + scope_1319.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1318).into()), + smithy_types::Number::NegInt((*var_1320).into()), ); } #[allow(unused_mut)] - let mut scope_1319 = writer.prefix("SnapshotId"); - if let Some(var_1320) = &input.snapshot_id { - scope_1319.string(var_1320); + let mut scope_1321 = writer.prefix("SnapshotId"); + if let Some(var_1322) = &input.snapshot_id { + scope_1321.string(var_1322); } #[allow(unused_mut)] - let mut scope_1321 = writer.prefix("VolumeType"); - if let Some(var_1322) = &input.volume_type { - scope_1321.string(var_1322.as_str()); + let mut scope_1323 = writer.prefix("VolumeType"); + if let Some(var_1324) = &input.volume_type { + scope_1323.string(var_1324.as_str()); } #[allow(unused_mut)] - let mut scope_1323 = writer.prefix("DryRun"); - if let Some(var_1324) = &input.dry_run { - scope_1323.boolean(*var_1324); + let mut scope_1325 = writer.prefix("DryRun"); + if let Some(var_1326) = &input.dry_run { + scope_1325.boolean(*var_1326); } #[allow(unused_mut)] - let mut scope_1325 = writer.prefix("TagSpecification"); - if let Some(var_1326) = &input.tag_specifications { - let mut list_1328 = scope_1325.start_list(true, Some("item")); - for item_1327 in var_1326 { + let mut scope_1327 = writer.prefix("TagSpecification"); + if let Some(var_1328) = &input.tag_specifications { + let mut list_1330 = scope_1327.start_list(true, Some("item")); + for item_1329 in var_1328 { #[allow(unused_mut)] - let mut entry_1329 = list_1328.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1329, item_1327); + let mut entry_1331 = list_1330.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1331, item_1329); } - list_1328.finish(); + list_1330.finish(); } #[allow(unused_mut)] - let mut scope_1330 = writer.prefix("MultiAttachEnabled"); - if let Some(var_1331) = &input.multi_attach_enabled { - scope_1330.boolean(*var_1331); + let mut scope_1332 = writer.prefix("MultiAttachEnabled"); + if let Some(var_1333) = &input.multi_attach_enabled { + scope_1332.boolean(*var_1333); } #[allow(unused_mut)] - let mut scope_1332 = writer.prefix("Throughput"); - if let Some(var_1333) = &input.throughput { - scope_1332.number( + let mut scope_1334 = writer.prefix("Throughput"); + if let Some(var_1335) = &input.throughput { + scope_1334.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1333).into()), + smithy_types::Number::NegInt((*var_1335).into()), ); } #[allow(unused_mut)] - let mut scope_1334 = writer.prefix("ClientToken"); - if let Some(var_1335) = &input.client_token { - scope_1334.string(var_1335); + let mut scope_1336 = writer.prefix("ClientToken"); + if let Some(var_1337) = &input.client_token { + scope_1336.string(var_1337); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4451,50 +4456,50 @@ pub fn serialize_operation_create_vpc( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpc", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1336 = writer.prefix("CidrBlock"); - if let Some(var_1337) = &input.cidr_block { - scope_1336.string(var_1337); + let mut scope_1338 = writer.prefix("CidrBlock"); + if let Some(var_1339) = &input.cidr_block { + scope_1338.string(var_1339); } #[allow(unused_mut)] - let mut scope_1338 = writer.prefix("AmazonProvidedIpv6CidrBlock"); - if let Some(var_1339) = &input.amazon_provided_ipv6_cidr_block { - scope_1338.boolean(*var_1339); + let mut scope_1340 = writer.prefix("AmazonProvidedIpv6CidrBlock"); + if let Some(var_1341) = &input.amazon_provided_ipv6_cidr_block { + scope_1340.boolean(*var_1341); } #[allow(unused_mut)] - let mut scope_1340 = writer.prefix("Ipv6Pool"); - if let Some(var_1341) = &input.ipv6_pool { - scope_1340.string(var_1341); + let mut scope_1342 = writer.prefix("Ipv6Pool"); + if let Some(var_1343) = &input.ipv6_pool { + scope_1342.string(var_1343); } #[allow(unused_mut)] - let mut scope_1342 = writer.prefix("Ipv6CidrBlock"); - if let Some(var_1343) = &input.ipv6_cidr_block { - scope_1342.string(var_1343); + let mut scope_1344 = writer.prefix("Ipv6CidrBlock"); + if let Some(var_1345) = &input.ipv6_cidr_block { + scope_1344.string(var_1345); } #[allow(unused_mut)] - let mut scope_1344 = writer.prefix("DryRun"); - if let Some(var_1345) = &input.dry_run { - scope_1344.boolean(*var_1345); + let mut scope_1346 = writer.prefix("DryRun"); + if let Some(var_1347) = &input.dry_run { + scope_1346.boolean(*var_1347); } #[allow(unused_mut)] - let mut scope_1346 = writer.prefix("InstanceTenancy"); - if let Some(var_1347) = &input.instance_tenancy { - scope_1346.string(var_1347.as_str()); + let mut scope_1348 = writer.prefix("InstanceTenancy"); + if let Some(var_1349) = &input.instance_tenancy { + scope_1348.string(var_1349.as_str()); } #[allow(unused_mut)] - let mut scope_1348 = writer.prefix("Ipv6CidrBlockNetworkBorderGroup"); - if let Some(var_1349) = &input.ipv6_cidr_block_network_border_group { - scope_1348.string(var_1349); + let mut scope_1350 = writer.prefix("Ipv6CidrBlockNetworkBorderGroup"); + if let Some(var_1351) = &input.ipv6_cidr_block_network_border_group { + scope_1350.string(var_1351); } #[allow(unused_mut)] - let mut scope_1350 = writer.prefix("TagSpecification"); - if let Some(var_1351) = &input.tag_specifications { - let mut list_1353 = scope_1350.start_list(true, Some("item")); - for item_1352 in var_1351 { + let mut scope_1352 = writer.prefix("TagSpecification"); + if let Some(var_1353) = &input.tag_specifications { + let mut list_1355 = scope_1352.start_list(true, Some("item")); + for item_1354 in var_1353 { #[allow(unused_mut)] - let mut entry_1354 = list_1353.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1354, item_1352); + let mut entry_1356 = list_1355.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1356, item_1354); } - list_1353.finish(); + list_1355.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4507,83 +4512,83 @@ pub fn serialize_operation_create_vpc_endpoint( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpcEndpoint", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1355 = writer.prefix("DryRun"); - if let Some(var_1356) = &input.dry_run { - scope_1355.boolean(*var_1356); + let mut scope_1357 = writer.prefix("DryRun"); + if let Some(var_1358) = &input.dry_run { + scope_1357.boolean(*var_1358); } #[allow(unused_mut)] - let mut scope_1357 = writer.prefix("VpcEndpointType"); - if let Some(var_1358) = &input.vpc_endpoint_type { - scope_1357.string(var_1358.as_str()); + let mut scope_1359 = writer.prefix("VpcEndpointType"); + if let Some(var_1360) = &input.vpc_endpoint_type { + scope_1359.string(var_1360.as_str()); } #[allow(unused_mut)] - let mut scope_1359 = writer.prefix("VpcId"); - if let Some(var_1360) = &input.vpc_id { - scope_1359.string(var_1360); - } - #[allow(unused_mut)] - let mut scope_1361 = writer.prefix("ServiceName"); - if let Some(var_1362) = &input.service_name { + let mut scope_1361 = writer.prefix("VpcId"); + if let Some(var_1362) = &input.vpc_id { scope_1361.string(var_1362); } #[allow(unused_mut)] - let mut scope_1363 = writer.prefix("PolicyDocument"); - if let Some(var_1364) = &input.policy_document { + let mut scope_1363 = writer.prefix("ServiceName"); + if let Some(var_1364) = &input.service_name { scope_1363.string(var_1364); } #[allow(unused_mut)] - let mut scope_1365 = writer.prefix("RouteTableId"); - if let Some(var_1366) = &input.route_table_ids { - let mut list_1368 = scope_1365.start_list(true, Some("item")); - for item_1367 in var_1366 { + let mut scope_1365 = writer.prefix("PolicyDocument"); + if let Some(var_1366) = &input.policy_document { + scope_1365.string(var_1366); + } + #[allow(unused_mut)] + let mut scope_1367 = writer.prefix("RouteTableId"); + if let Some(var_1368) = &input.route_table_ids { + let mut list_1370 = scope_1367.start_list(true, Some("item")); + for item_1369 in var_1368 { #[allow(unused_mut)] - let mut entry_1369 = list_1368.entry(); - entry_1369.string(item_1367); + let mut entry_1371 = list_1370.entry(); + entry_1371.string(item_1369); } - list_1368.finish(); + list_1370.finish(); } #[allow(unused_mut)] - let mut scope_1370 = writer.prefix("SubnetId"); - if let Some(var_1371) = &input.subnet_ids { - let mut list_1373 = scope_1370.start_list(true, Some("item")); - for item_1372 in var_1371 { + let mut scope_1372 = writer.prefix("SubnetId"); + if let Some(var_1373) = &input.subnet_ids { + let mut list_1375 = scope_1372.start_list(true, Some("item")); + for item_1374 in var_1373 { #[allow(unused_mut)] - let mut entry_1374 = list_1373.entry(); - entry_1374.string(item_1372); + let mut entry_1376 = list_1375.entry(); + entry_1376.string(item_1374); } - list_1373.finish(); + list_1375.finish(); } #[allow(unused_mut)] - let mut scope_1375 = writer.prefix("SecurityGroupId"); - if let Some(var_1376) = &input.security_group_ids { - let mut list_1378 = scope_1375.start_list(true, Some("item")); - for item_1377 in var_1376 { + let mut scope_1377 = writer.prefix("SecurityGroupId"); + if let Some(var_1378) = &input.security_group_ids { + let mut list_1380 = scope_1377.start_list(true, Some("item")); + for item_1379 in var_1378 { #[allow(unused_mut)] - let mut entry_1379 = list_1378.entry(); - entry_1379.string(item_1377); + let mut entry_1381 = list_1380.entry(); + entry_1381.string(item_1379); } - list_1378.finish(); + list_1380.finish(); } #[allow(unused_mut)] - let mut scope_1380 = writer.prefix("ClientToken"); - if let Some(var_1381) = &input.client_token { - scope_1380.string(var_1381); + let mut scope_1382 = writer.prefix("ClientToken"); + if let Some(var_1383) = &input.client_token { + scope_1382.string(var_1383); } #[allow(unused_mut)] - let mut scope_1382 = writer.prefix("PrivateDnsEnabled"); - if let Some(var_1383) = &input.private_dns_enabled { - scope_1382.boolean(*var_1383); + let mut scope_1384 = writer.prefix("PrivateDnsEnabled"); + if let Some(var_1385) = &input.private_dns_enabled { + scope_1384.boolean(*var_1385); } #[allow(unused_mut)] - let mut scope_1384 = writer.prefix("TagSpecification"); - if let Some(var_1385) = &input.tag_specifications { - let mut list_1387 = scope_1384.start_list(true, Some("item")); - for item_1386 in var_1385 { + let mut scope_1386 = writer.prefix("TagSpecification"); + if let Some(var_1387) = &input.tag_specifications { + let mut list_1389 = scope_1386.start_list(true, Some("item")); + for item_1388 in var_1387 { #[allow(unused_mut)] - let mut entry_1388 = list_1387.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1388, item_1386); + let mut entry_1390 = list_1389.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1390, item_1388); } - list_1387.finish(); + list_1389.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4600,40 +4605,40 @@ pub fn serialize_operation_create_vpc_endpoint_connection_notification( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1389 = writer.prefix("DryRun"); - if let Some(var_1390) = &input.dry_run { - scope_1389.boolean(*var_1390); + let mut scope_1391 = writer.prefix("DryRun"); + if let Some(var_1392) = &input.dry_run { + scope_1391.boolean(*var_1392); } #[allow(unused_mut)] - let mut scope_1391 = writer.prefix("ServiceId"); - if let Some(var_1392) = &input.service_id { - scope_1391.string(var_1392); - } - #[allow(unused_mut)] - let mut scope_1393 = writer.prefix("VpcEndpointId"); - if let Some(var_1394) = &input.vpc_endpoint_id { + let mut scope_1393 = writer.prefix("ServiceId"); + if let Some(var_1394) = &input.service_id { scope_1393.string(var_1394); } #[allow(unused_mut)] - let mut scope_1395 = writer.prefix("ConnectionNotificationArn"); - if let Some(var_1396) = &input.connection_notification_arn { + let mut scope_1395 = writer.prefix("VpcEndpointId"); + if let Some(var_1396) = &input.vpc_endpoint_id { scope_1395.string(var_1396); } #[allow(unused_mut)] - let mut scope_1397 = writer.prefix("ConnectionEvents"); - if let Some(var_1398) = &input.connection_events { - let mut list_1400 = scope_1397.start_list(true, Some("item")); - for item_1399 in var_1398 { + let mut scope_1397 = writer.prefix("ConnectionNotificationArn"); + if let Some(var_1398) = &input.connection_notification_arn { + scope_1397.string(var_1398); + } + #[allow(unused_mut)] + let mut scope_1399 = writer.prefix("ConnectionEvents"); + if let Some(var_1400) = &input.connection_events { + let mut list_1402 = scope_1399.start_list(true, Some("item")); + for item_1401 in var_1400 { #[allow(unused_mut)] - let mut entry_1401 = list_1400.entry(); - entry_1401.string(item_1399); + let mut entry_1403 = list_1402.entry(); + entry_1403.string(item_1401); } - list_1400.finish(); + list_1402.finish(); } #[allow(unused_mut)] - let mut scope_1402 = writer.prefix("ClientToken"); - if let Some(var_1403) = &input.client_token { - scope_1402.string(var_1403); + let mut scope_1404 = writer.prefix("ClientToken"); + if let Some(var_1405) = &input.client_token { + scope_1404.string(var_1405); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4650,57 +4655,57 @@ pub fn serialize_operation_create_vpc_endpoint_service_configuration( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1404 = writer.prefix("DryRun"); - if let Some(var_1405) = &input.dry_run { - scope_1404.boolean(*var_1405); + let mut scope_1406 = writer.prefix("DryRun"); + if let Some(var_1407) = &input.dry_run { + scope_1406.boolean(*var_1407); } #[allow(unused_mut)] - let mut scope_1406 = writer.prefix("AcceptanceRequired"); - if let Some(var_1407) = &input.acceptance_required { - scope_1406.boolean(*var_1407); + let mut scope_1408 = writer.prefix("AcceptanceRequired"); + if let Some(var_1409) = &input.acceptance_required { + scope_1408.boolean(*var_1409); } #[allow(unused_mut)] - let mut scope_1408 = writer.prefix("PrivateDnsName"); - if let Some(var_1409) = &input.private_dns_name { - scope_1408.string(var_1409); + let mut scope_1410 = writer.prefix("PrivateDnsName"); + if let Some(var_1411) = &input.private_dns_name { + scope_1410.string(var_1411); } #[allow(unused_mut)] - let mut scope_1410 = writer.prefix("NetworkLoadBalancerArn"); - if let Some(var_1411) = &input.network_load_balancer_arns { - let mut list_1413 = scope_1410.start_list(true, Some("item")); - for item_1412 in var_1411 { + let mut scope_1412 = writer.prefix("NetworkLoadBalancerArn"); + if let Some(var_1413) = &input.network_load_balancer_arns { + let mut list_1415 = scope_1412.start_list(true, Some("item")); + for item_1414 in var_1413 { #[allow(unused_mut)] - let mut entry_1414 = list_1413.entry(); - entry_1414.string(item_1412); + let mut entry_1416 = list_1415.entry(); + entry_1416.string(item_1414); } - list_1413.finish(); + list_1415.finish(); } #[allow(unused_mut)] - let mut scope_1415 = writer.prefix("GatewayLoadBalancerArn"); - if let Some(var_1416) = &input.gateway_load_balancer_arns { - let mut list_1418 = scope_1415.start_list(true, Some("item")); - for item_1417 in var_1416 { + let mut scope_1417 = writer.prefix("GatewayLoadBalancerArn"); + if let Some(var_1418) = &input.gateway_load_balancer_arns { + let mut list_1420 = scope_1417.start_list(true, Some("item")); + for item_1419 in var_1418 { #[allow(unused_mut)] - let mut entry_1419 = list_1418.entry(); - entry_1419.string(item_1417); + let mut entry_1421 = list_1420.entry(); + entry_1421.string(item_1419); } - list_1418.finish(); + list_1420.finish(); } #[allow(unused_mut)] - let mut scope_1420 = writer.prefix("ClientToken"); - if let Some(var_1421) = &input.client_token { - scope_1420.string(var_1421); + let mut scope_1422 = writer.prefix("ClientToken"); + if let Some(var_1423) = &input.client_token { + scope_1422.string(var_1423); } #[allow(unused_mut)] - let mut scope_1422 = writer.prefix("TagSpecification"); - if let Some(var_1423) = &input.tag_specifications { - let mut list_1425 = scope_1422.start_list(true, Some("item")); - for item_1424 in var_1423 { + let mut scope_1424 = writer.prefix("TagSpecification"); + if let Some(var_1425) = &input.tag_specifications { + let mut list_1427 = scope_1424.start_list(true, Some("item")); + for item_1426 in var_1425 { #[allow(unused_mut)] - let mut entry_1426 = list_1425.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1426, item_1424); + let mut entry_1428 = list_1427.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1428, item_1426); } - list_1425.finish(); + list_1427.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4714,40 +4719,40 @@ pub fn serialize_operation_create_vpc_peering_connection( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpcPeeringConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1427 = writer.prefix("DryRun"); - if let Some(var_1428) = &input.dry_run { - scope_1427.boolean(*var_1428); - } - #[allow(unused_mut)] - let mut scope_1429 = writer.prefix("PeerOwnerId"); - if let Some(var_1430) = &input.peer_owner_id { - scope_1429.string(var_1430); + let mut scope_1429 = writer.prefix("DryRun"); + if let Some(var_1430) = &input.dry_run { + scope_1429.boolean(*var_1430); } #[allow(unused_mut)] - let mut scope_1431 = writer.prefix("PeerVpcId"); - if let Some(var_1432) = &input.peer_vpc_id { + let mut scope_1431 = writer.prefix("PeerOwnerId"); + if let Some(var_1432) = &input.peer_owner_id { scope_1431.string(var_1432); } #[allow(unused_mut)] - let mut scope_1433 = writer.prefix("VpcId"); - if let Some(var_1434) = &input.vpc_id { + let mut scope_1433 = writer.prefix("PeerVpcId"); + if let Some(var_1434) = &input.peer_vpc_id { scope_1433.string(var_1434); } #[allow(unused_mut)] - let mut scope_1435 = writer.prefix("PeerRegion"); - if let Some(var_1436) = &input.peer_region { + let mut scope_1435 = writer.prefix("VpcId"); + if let Some(var_1436) = &input.vpc_id { scope_1435.string(var_1436); } #[allow(unused_mut)] - let mut scope_1437 = writer.prefix("TagSpecification"); - if let Some(var_1438) = &input.tag_specifications { - let mut list_1440 = scope_1437.start_list(true, Some("item")); - for item_1439 in var_1438 { + let mut scope_1437 = writer.prefix("PeerRegion"); + if let Some(var_1438) = &input.peer_region { + scope_1437.string(var_1438); + } + #[allow(unused_mut)] + let mut scope_1439 = writer.prefix("TagSpecification"); + if let Some(var_1440) = &input.tag_specifications { + let mut list_1442 = scope_1439.start_list(true, Some("item")); + for item_1441 in var_1440 { #[allow(unused_mut)] - let mut entry_1441 = list_1440.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1441, item_1439); + let mut entry_1443 = list_1442.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1443, item_1441); } - list_1440.finish(); + list_1442.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4760,47 +4765,47 @@ pub fn serialize_operation_create_vpn_connection( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpnConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1442 = writer.prefix("CustomerGatewayId"); - if let Some(var_1443) = &input.customer_gateway_id { - scope_1442.string(var_1443); - } - #[allow(unused_mut)] - let mut scope_1444 = writer.prefix("Type"); - if let Some(var_1445) = &input.r#type { + let mut scope_1444 = writer.prefix("CustomerGatewayId"); + if let Some(var_1445) = &input.customer_gateway_id { scope_1444.string(var_1445); } #[allow(unused_mut)] - let mut scope_1446 = writer.prefix("VpnGatewayId"); - if let Some(var_1447) = &input.vpn_gateway_id { + let mut scope_1446 = writer.prefix("Type"); + if let Some(var_1447) = &input.r#type { scope_1446.string(var_1447); } #[allow(unused_mut)] - let mut scope_1448 = writer.prefix("TransitGatewayId"); - if let Some(var_1449) = &input.transit_gateway_id { + let mut scope_1448 = writer.prefix("VpnGatewayId"); + if let Some(var_1449) = &input.vpn_gateway_id { scope_1448.string(var_1449); } #[allow(unused_mut)] - let mut scope_1450 = writer.prefix("DryRun"); - if let Some(var_1451) = &input.dry_run { - scope_1450.boolean(*var_1451); + let mut scope_1450 = writer.prefix("TransitGatewayId"); + if let Some(var_1451) = &input.transit_gateway_id { + scope_1450.string(var_1451); + } + #[allow(unused_mut)] + let mut scope_1452 = writer.prefix("DryRun"); + if let Some(var_1453) = &input.dry_run { + scope_1452.boolean(*var_1453); } #[allow(unused_mut)] - let mut scope_1452 = writer.prefix("Options"); - if let Some(var_1453) = &input.options { + let mut scope_1454 = writer.prefix("Options"); + if let Some(var_1455) = &input.options { crate::query_ser::serialize_structure_vpn_connection_options_specification( - scope_1452, var_1453, + scope_1454, var_1455, ); } #[allow(unused_mut)] - let mut scope_1454 = writer.prefix("TagSpecification"); - if let Some(var_1455) = &input.tag_specifications { - let mut list_1457 = scope_1454.start_list(true, Some("item")); - for item_1456 in var_1455 { + let mut scope_1456 = writer.prefix("TagSpecification"); + if let Some(var_1457) = &input.tag_specifications { + let mut list_1459 = scope_1456.start_list(true, Some("item")); + for item_1458 in var_1457 { #[allow(unused_mut)] - let mut entry_1458 = list_1457.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1458, item_1456); + let mut entry_1460 = list_1459.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1460, item_1458); } - list_1457.finish(); + list_1459.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4814,14 +4819,14 @@ pub fn serialize_operation_create_vpn_connection_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpnConnectionRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1459 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1460) = &input.destination_cidr_block { - scope_1459.string(var_1460); + let mut scope_1461 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1462) = &input.destination_cidr_block { + scope_1461.string(var_1462); } #[allow(unused_mut)] - let mut scope_1461 = writer.prefix("VpnConnectionId"); - if let Some(var_1462) = &input.vpn_connection_id { - scope_1461.string(var_1462); + let mut scope_1463 = writer.prefix("VpnConnectionId"); + if let Some(var_1464) = &input.vpn_connection_id { + scope_1463.string(var_1464); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4834,38 +4839,38 @@ pub fn serialize_operation_create_vpn_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "CreateVpnGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1463 = writer.prefix("AvailabilityZone"); - if let Some(var_1464) = &input.availability_zone { - scope_1463.string(var_1464); + let mut scope_1465 = writer.prefix("AvailabilityZone"); + if let Some(var_1466) = &input.availability_zone { + scope_1465.string(var_1466); } #[allow(unused_mut)] - let mut scope_1465 = writer.prefix("Type"); - if let Some(var_1466) = &input.r#type { - scope_1465.string(var_1466.as_str()); + let mut scope_1467 = writer.prefix("Type"); + if let Some(var_1468) = &input.r#type { + scope_1467.string(var_1468.as_str()); } #[allow(unused_mut)] - let mut scope_1467 = writer.prefix("TagSpecification"); - if let Some(var_1468) = &input.tag_specifications { - let mut list_1470 = scope_1467.start_list(true, Some("item")); - for item_1469 in var_1468 { + let mut scope_1469 = writer.prefix("TagSpecification"); + if let Some(var_1470) = &input.tag_specifications { + let mut list_1472 = scope_1469.start_list(true, Some("item")); + for item_1471 in var_1470 { #[allow(unused_mut)] - let mut entry_1471 = list_1470.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_1471, item_1469); + let mut entry_1473 = list_1472.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_1473, item_1471); } - list_1470.finish(); + list_1472.finish(); } #[allow(unused_mut)] - let mut scope_1472 = writer.prefix("AmazonSideAsn"); - if let Some(var_1473) = &input.amazon_side_asn { - scope_1472.number( + let mut scope_1474 = writer.prefix("AmazonSideAsn"); + if let Some(var_1475) = &input.amazon_side_asn { + scope_1474.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1473).into()), + smithy_types::Number::NegInt((*var_1475).into()), ); } #[allow(unused_mut)] - let mut scope_1474 = writer.prefix("DryRun"); - if let Some(var_1475) = &input.dry_run { - scope_1474.boolean(*var_1475); + let mut scope_1476 = writer.prefix("DryRun"); + if let Some(var_1477) = &input.dry_run { + scope_1476.boolean(*var_1477); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4878,14 +4883,14 @@ pub fn serialize_operation_delete_carrier_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteCarrierGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1476 = writer.prefix("CarrierGatewayId"); - if let Some(var_1477) = &input.carrier_gateway_id { - scope_1476.string(var_1477); + let mut scope_1478 = writer.prefix("CarrierGatewayId"); + if let Some(var_1479) = &input.carrier_gateway_id { + scope_1478.string(var_1479); } #[allow(unused_mut)] - let mut scope_1478 = writer.prefix("DryRun"); - if let Some(var_1479) = &input.dry_run { - scope_1478.boolean(*var_1479); + let mut scope_1480 = writer.prefix("DryRun"); + if let Some(var_1481) = &input.dry_run { + scope_1480.boolean(*var_1481); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4899,14 +4904,14 @@ pub fn serialize_operation_delete_client_vpn_endpoint( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteClientVpnEndpoint", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1480 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1481) = &input.client_vpn_endpoint_id { - scope_1480.string(var_1481); + let mut scope_1482 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1483) = &input.client_vpn_endpoint_id { + scope_1482.string(var_1483); } #[allow(unused_mut)] - let mut scope_1482 = writer.prefix("DryRun"); - if let Some(var_1483) = &input.dry_run { - scope_1482.boolean(*var_1483); + let mut scope_1484 = writer.prefix("DryRun"); + if let Some(var_1485) = &input.dry_run { + scope_1484.boolean(*var_1485); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4919,24 +4924,24 @@ pub fn serialize_operation_delete_client_vpn_route( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteClientVpnRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1484 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1485) = &input.client_vpn_endpoint_id { - scope_1484.string(var_1485); - } - #[allow(unused_mut)] - let mut scope_1486 = writer.prefix("TargetVpcSubnetId"); - if let Some(var_1487) = &input.target_vpc_subnet_id { + let mut scope_1486 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1487) = &input.client_vpn_endpoint_id { scope_1486.string(var_1487); } #[allow(unused_mut)] - let mut scope_1488 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1489) = &input.destination_cidr_block { + let mut scope_1488 = writer.prefix("TargetVpcSubnetId"); + if let Some(var_1489) = &input.target_vpc_subnet_id { scope_1488.string(var_1489); } #[allow(unused_mut)] - let mut scope_1490 = writer.prefix("DryRun"); - if let Some(var_1491) = &input.dry_run { - scope_1490.boolean(*var_1491); + let mut scope_1490 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1491) = &input.destination_cidr_block { + scope_1490.string(var_1491); + } + #[allow(unused_mut)] + let mut scope_1492 = writer.prefix("DryRun"); + if let Some(var_1493) = &input.dry_run { + scope_1492.boolean(*var_1493); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4950,14 +4955,14 @@ pub fn serialize_operation_delete_customer_gateway( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteCustomerGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1492 = writer.prefix("CustomerGatewayId"); - if let Some(var_1493) = &input.customer_gateway_id { - scope_1492.string(var_1493); + let mut scope_1494 = writer.prefix("CustomerGatewayId"); + if let Some(var_1495) = &input.customer_gateway_id { + scope_1494.string(var_1495); } #[allow(unused_mut)] - let mut scope_1494 = writer.prefix("DryRun"); - if let Some(var_1495) = &input.dry_run { - scope_1494.boolean(*var_1495); + let mut scope_1496 = writer.prefix("DryRun"); + if let Some(var_1497) = &input.dry_run { + scope_1496.boolean(*var_1497); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4970,14 +4975,14 @@ pub fn serialize_operation_delete_dhcp_options( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteDhcpOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1496 = writer.prefix("DhcpOptionsId"); - if let Some(var_1497) = &input.dhcp_options_id { - scope_1496.string(var_1497); + let mut scope_1498 = writer.prefix("DhcpOptionsId"); + if let Some(var_1499) = &input.dhcp_options_id { + scope_1498.string(var_1499); } #[allow(unused_mut)] - let mut scope_1498 = writer.prefix("DryRun"); - if let Some(var_1499) = &input.dry_run { - scope_1498.boolean(*var_1499); + let mut scope_1500 = writer.prefix("DryRun"); + if let Some(var_1501) = &input.dry_run { + scope_1500.boolean(*var_1501); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -4991,14 +4996,14 @@ pub fn serialize_operation_delete_egress_only_internet_gateway( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteEgressOnlyInternetGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1500 = writer.prefix("DryRun"); - if let Some(var_1501) = &input.dry_run { - scope_1500.boolean(*var_1501); + let mut scope_1502 = writer.prefix("DryRun"); + if let Some(var_1503) = &input.dry_run { + scope_1502.boolean(*var_1503); } #[allow(unused_mut)] - let mut scope_1502 = writer.prefix("EgressOnlyInternetGatewayId"); - if let Some(var_1503) = &input.egress_only_internet_gateway_id { - scope_1502.string(var_1503); + let mut scope_1504 = writer.prefix("EgressOnlyInternetGatewayId"); + if let Some(var_1505) = &input.egress_only_internet_gateway_id { + scope_1504.string(var_1505); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5011,25 +5016,25 @@ pub fn serialize_operation_delete_fleets( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteFleets", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1504 = writer.prefix("DryRun"); - if let Some(var_1505) = &input.dry_run { - scope_1504.boolean(*var_1505); + let mut scope_1506 = writer.prefix("DryRun"); + if let Some(var_1507) = &input.dry_run { + scope_1506.boolean(*var_1507); } #[allow(unused_mut)] - let mut scope_1506 = writer.prefix("FleetId"); - if let Some(var_1507) = &input.fleet_ids { - let mut list_1509 = scope_1506.start_list(true, None); - for item_1508 in var_1507 { + let mut scope_1508 = writer.prefix("FleetId"); + if let Some(var_1509) = &input.fleet_ids { + let mut list_1511 = scope_1508.start_list(true, None); + for item_1510 in var_1509 { #[allow(unused_mut)] - let mut entry_1510 = list_1509.entry(); - entry_1510.string(item_1508); + let mut entry_1512 = list_1511.entry(); + entry_1512.string(item_1510); } - list_1509.finish(); + list_1511.finish(); } #[allow(unused_mut)] - let mut scope_1511 = writer.prefix("TerminateInstances"); - if let Some(var_1512) = &input.terminate_instances { - scope_1511.boolean(*var_1512); + let mut scope_1513 = writer.prefix("TerminateInstances"); + if let Some(var_1514) = &input.terminate_instances { + scope_1513.boolean(*var_1514); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5042,20 +5047,20 @@ pub fn serialize_operation_delete_flow_logs( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteFlowLogs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1513 = writer.prefix("DryRun"); - if let Some(var_1514) = &input.dry_run { - scope_1513.boolean(*var_1514); + let mut scope_1515 = writer.prefix("DryRun"); + if let Some(var_1516) = &input.dry_run { + scope_1515.boolean(*var_1516); } #[allow(unused_mut)] - let mut scope_1515 = writer.prefix("FlowLogId"); - if let Some(var_1516) = &input.flow_log_ids { - let mut list_1518 = scope_1515.start_list(true, Some("item")); - for item_1517 in var_1516 { + let mut scope_1517 = writer.prefix("FlowLogId"); + if let Some(var_1518) = &input.flow_log_ids { + let mut list_1520 = scope_1517.start_list(true, Some("item")); + for item_1519 in var_1518 { #[allow(unused_mut)] - let mut entry_1519 = list_1518.entry(); - entry_1519.string(item_1517); + let mut entry_1521 = list_1520.entry(); + entry_1521.string(item_1519); } - list_1518.finish(); + list_1520.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5068,14 +5073,14 @@ pub fn serialize_operation_delete_fpga_image( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteFpgaImage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1520 = writer.prefix("DryRun"); - if let Some(var_1521) = &input.dry_run { - scope_1520.boolean(*var_1521); + let mut scope_1522 = writer.prefix("DryRun"); + if let Some(var_1523) = &input.dry_run { + scope_1522.boolean(*var_1523); } #[allow(unused_mut)] - let mut scope_1522 = writer.prefix("FpgaImageId"); - if let Some(var_1523) = &input.fpga_image_id { - scope_1522.string(var_1523); + let mut scope_1524 = writer.prefix("FpgaImageId"); + if let Some(var_1525) = &input.fpga_image_id { + scope_1524.string(var_1525); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5089,19 +5094,19 @@ pub fn serialize_operation_delete_instance_event_window( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteInstanceEventWindow", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1524 = writer.prefix("DryRun"); - if let Some(var_1525) = &input.dry_run { - scope_1524.boolean(*var_1525); + let mut scope_1526 = writer.prefix("DryRun"); + if let Some(var_1527) = &input.dry_run { + scope_1526.boolean(*var_1527); } #[allow(unused_mut)] - let mut scope_1526 = writer.prefix("ForceDelete"); - if let Some(var_1527) = &input.force_delete { - scope_1526.boolean(*var_1527); + let mut scope_1528 = writer.prefix("ForceDelete"); + if let Some(var_1529) = &input.force_delete { + scope_1528.boolean(*var_1529); } #[allow(unused_mut)] - let mut scope_1528 = writer.prefix("InstanceEventWindowId"); - if let Some(var_1529) = &input.instance_event_window_id { - scope_1528.string(var_1529); + let mut scope_1530 = writer.prefix("InstanceEventWindowId"); + if let Some(var_1531) = &input.instance_event_window_id { + scope_1530.string(var_1531); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5115,14 +5120,14 @@ pub fn serialize_operation_delete_internet_gateway( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteInternetGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1530 = writer.prefix("DryRun"); - if let Some(var_1531) = &input.dry_run { - scope_1530.boolean(*var_1531); + let mut scope_1532 = writer.prefix("DryRun"); + if let Some(var_1533) = &input.dry_run { + scope_1532.boolean(*var_1533); } #[allow(unused_mut)] - let mut scope_1532 = writer.prefix("InternetGatewayId"); - if let Some(var_1533) = &input.internet_gateway_id { - scope_1532.string(var_1533); + let mut scope_1534 = writer.prefix("InternetGatewayId"); + if let Some(var_1535) = &input.internet_gateway_id { + scope_1534.string(var_1535); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5135,19 +5140,19 @@ pub fn serialize_operation_delete_key_pair( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteKeyPair", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1534 = writer.prefix("KeyName"); - if let Some(var_1535) = &input.key_name { - scope_1534.string(var_1535); + let mut scope_1536 = writer.prefix("KeyName"); + if let Some(var_1537) = &input.key_name { + scope_1536.string(var_1537); } #[allow(unused_mut)] - let mut scope_1536 = writer.prefix("KeyPairId"); - if let Some(var_1537) = &input.key_pair_id { - scope_1536.string(var_1537); + let mut scope_1538 = writer.prefix("KeyPairId"); + if let Some(var_1539) = &input.key_pair_id { + scope_1538.string(var_1539); } #[allow(unused_mut)] - let mut scope_1538 = writer.prefix("DryRun"); - if let Some(var_1539) = &input.dry_run { - scope_1538.boolean(*var_1539); + let mut scope_1540 = writer.prefix("DryRun"); + if let Some(var_1541) = &input.dry_run { + scope_1540.boolean(*var_1541); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5160,19 +5165,19 @@ pub fn serialize_operation_delete_launch_template( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteLaunchTemplate", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1540 = writer.prefix("DryRun"); - if let Some(var_1541) = &input.dry_run { - scope_1540.boolean(*var_1541); + let mut scope_1542 = writer.prefix("DryRun"); + if let Some(var_1543) = &input.dry_run { + scope_1542.boolean(*var_1543); } #[allow(unused_mut)] - let mut scope_1542 = writer.prefix("LaunchTemplateId"); - if let Some(var_1543) = &input.launch_template_id { - scope_1542.string(var_1543); + let mut scope_1544 = writer.prefix("LaunchTemplateId"); + if let Some(var_1545) = &input.launch_template_id { + scope_1544.string(var_1545); } #[allow(unused_mut)] - let mut scope_1544 = writer.prefix("LaunchTemplateName"); - if let Some(var_1545) = &input.launch_template_name { - scope_1544.string(var_1545); + let mut scope_1546 = writer.prefix("LaunchTemplateName"); + if let Some(var_1547) = &input.launch_template_name { + scope_1546.string(var_1547); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5186,30 +5191,30 @@ pub fn serialize_operation_delete_launch_template_versions( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteLaunchTemplateVersions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1546 = writer.prefix("DryRun"); - if let Some(var_1547) = &input.dry_run { - scope_1546.boolean(*var_1547); + let mut scope_1548 = writer.prefix("DryRun"); + if let Some(var_1549) = &input.dry_run { + scope_1548.boolean(*var_1549); } #[allow(unused_mut)] - let mut scope_1548 = writer.prefix("LaunchTemplateId"); - if let Some(var_1549) = &input.launch_template_id { - scope_1548.string(var_1549); + let mut scope_1550 = writer.prefix("LaunchTemplateId"); + if let Some(var_1551) = &input.launch_template_id { + scope_1550.string(var_1551); } #[allow(unused_mut)] - let mut scope_1550 = writer.prefix("LaunchTemplateName"); - if let Some(var_1551) = &input.launch_template_name { - scope_1550.string(var_1551); + let mut scope_1552 = writer.prefix("LaunchTemplateName"); + if let Some(var_1553) = &input.launch_template_name { + scope_1552.string(var_1553); } #[allow(unused_mut)] - let mut scope_1552 = writer.prefix("LaunchTemplateVersion"); - if let Some(var_1553) = &input.versions { - let mut list_1555 = scope_1552.start_list(true, Some("item")); - for item_1554 in var_1553 { + let mut scope_1554 = writer.prefix("LaunchTemplateVersion"); + if let Some(var_1555) = &input.versions { + let mut list_1557 = scope_1554.start_list(true, Some("item")); + for item_1556 in var_1555 { #[allow(unused_mut)] - let mut entry_1556 = list_1555.entry(); - entry_1556.string(item_1554); + let mut entry_1558 = list_1557.entry(); + entry_1558.string(item_1556); } - list_1555.finish(); + list_1557.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5223,19 +5228,19 @@ pub fn serialize_operation_delete_local_gateway_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteLocalGatewayRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1557 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1558) = &input.destination_cidr_block { - scope_1557.string(var_1558); + let mut scope_1559 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1560) = &input.destination_cidr_block { + scope_1559.string(var_1560); } #[allow(unused_mut)] - let mut scope_1559 = writer.prefix("LocalGatewayRouteTableId"); - if let Some(var_1560) = &input.local_gateway_route_table_id { - scope_1559.string(var_1560); + let mut scope_1561 = writer.prefix("LocalGatewayRouteTableId"); + if let Some(var_1562) = &input.local_gateway_route_table_id { + scope_1561.string(var_1562); } #[allow(unused_mut)] - let mut scope_1561 = writer.prefix("DryRun"); - if let Some(var_1562) = &input.dry_run { - scope_1561.boolean(*var_1562); + let mut scope_1563 = writer.prefix("DryRun"); + if let Some(var_1564) = &input.dry_run { + scope_1563.boolean(*var_1564); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5252,14 +5257,14 @@ pub fn serialize_operation_delete_local_gateway_route_table_vpc_association( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1563 = writer.prefix("LocalGatewayRouteTableVpcAssociationId"); - if let Some(var_1564) = &input.local_gateway_route_table_vpc_association_id { - scope_1563.string(var_1564); + let mut scope_1565 = writer.prefix("LocalGatewayRouteTableVpcAssociationId"); + if let Some(var_1566) = &input.local_gateway_route_table_vpc_association_id { + scope_1565.string(var_1566); } #[allow(unused_mut)] - let mut scope_1565 = writer.prefix("DryRun"); - if let Some(var_1566) = &input.dry_run { - scope_1565.boolean(*var_1566); + let mut scope_1567 = writer.prefix("DryRun"); + if let Some(var_1568) = &input.dry_run { + scope_1567.boolean(*var_1568); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5273,14 +5278,14 @@ pub fn serialize_operation_delete_managed_prefix_list( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteManagedPrefixList", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1567 = writer.prefix("DryRun"); - if let Some(var_1568) = &input.dry_run { - scope_1567.boolean(*var_1568); + let mut scope_1569 = writer.prefix("DryRun"); + if let Some(var_1570) = &input.dry_run { + scope_1569.boolean(*var_1570); } #[allow(unused_mut)] - let mut scope_1569 = writer.prefix("PrefixListId"); - if let Some(var_1570) = &input.prefix_list_id { - scope_1569.string(var_1570); + let mut scope_1571 = writer.prefix("PrefixListId"); + if let Some(var_1572) = &input.prefix_list_id { + scope_1571.string(var_1572); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5293,14 +5298,14 @@ pub fn serialize_operation_delete_nat_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNatGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1571 = writer.prefix("DryRun"); - if let Some(var_1572) = &input.dry_run { - scope_1571.boolean(*var_1572); + let mut scope_1573 = writer.prefix("DryRun"); + if let Some(var_1574) = &input.dry_run { + scope_1573.boolean(*var_1574); } #[allow(unused_mut)] - let mut scope_1573 = writer.prefix("NatGatewayId"); - if let Some(var_1574) = &input.nat_gateway_id { - scope_1573.string(var_1574); + let mut scope_1575 = writer.prefix("NatGatewayId"); + if let Some(var_1576) = &input.nat_gateway_id { + scope_1575.string(var_1576); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5313,14 +5318,14 @@ pub fn serialize_operation_delete_network_acl( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkAcl", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1575 = writer.prefix("DryRun"); - if let Some(var_1576) = &input.dry_run { - scope_1575.boolean(*var_1576); + let mut scope_1577 = writer.prefix("DryRun"); + if let Some(var_1578) = &input.dry_run { + scope_1577.boolean(*var_1578); } #[allow(unused_mut)] - let mut scope_1577 = writer.prefix("NetworkAclId"); - if let Some(var_1578) = &input.network_acl_id { - scope_1577.string(var_1578); + let mut scope_1579 = writer.prefix("NetworkAclId"); + if let Some(var_1580) = &input.network_acl_id { + scope_1579.string(var_1580); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5334,26 +5339,26 @@ pub fn serialize_operation_delete_network_acl_entry( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkAclEntry", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1579 = writer.prefix("DryRun"); - if let Some(var_1580) = &input.dry_run { - scope_1579.boolean(*var_1580); + let mut scope_1581 = writer.prefix("DryRun"); + if let Some(var_1582) = &input.dry_run { + scope_1581.boolean(*var_1582); } #[allow(unused_mut)] - let mut scope_1581 = writer.prefix("Egress"); - if let Some(var_1582) = &input.egress { - scope_1581.boolean(*var_1582); + let mut scope_1583 = writer.prefix("Egress"); + if let Some(var_1584) = &input.egress { + scope_1583.boolean(*var_1584); } #[allow(unused_mut)] - let mut scope_1583 = writer.prefix("NetworkAclId"); - if let Some(var_1584) = &input.network_acl_id { - scope_1583.string(var_1584); + let mut scope_1585 = writer.prefix("NetworkAclId"); + if let Some(var_1586) = &input.network_acl_id { + scope_1585.string(var_1586); } #[allow(unused_mut)] - let mut scope_1585 = writer.prefix("RuleNumber"); - if let Some(var_1586) = &input.rule_number { - scope_1585.number( + let mut scope_1587 = writer.prefix("RuleNumber"); + if let Some(var_1588) = &input.rule_number { + scope_1587.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1586).into()), + smithy_types::Number::NegInt((*var_1588).into()), ); } writer.finish(); @@ -5368,14 +5373,14 @@ pub fn serialize_operation_delete_network_insights_analysis( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkInsightsAnalysis", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1587 = writer.prefix("DryRun"); - if let Some(var_1588) = &input.dry_run { - scope_1587.boolean(*var_1588); + let mut scope_1589 = writer.prefix("DryRun"); + if let Some(var_1590) = &input.dry_run { + scope_1589.boolean(*var_1590); } #[allow(unused_mut)] - let mut scope_1589 = writer.prefix("NetworkInsightsAnalysisId"); - if let Some(var_1590) = &input.network_insights_analysis_id { - scope_1589.string(var_1590); + let mut scope_1591 = writer.prefix("NetworkInsightsAnalysisId"); + if let Some(var_1592) = &input.network_insights_analysis_id { + scope_1591.string(var_1592); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5389,14 +5394,14 @@ pub fn serialize_operation_delete_network_insights_path( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkInsightsPath", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1591 = writer.prefix("DryRun"); - if let Some(var_1592) = &input.dry_run { - scope_1591.boolean(*var_1592); + let mut scope_1593 = writer.prefix("DryRun"); + if let Some(var_1594) = &input.dry_run { + scope_1593.boolean(*var_1594); } #[allow(unused_mut)] - let mut scope_1593 = writer.prefix("NetworkInsightsPathId"); - if let Some(var_1594) = &input.network_insights_path_id { - scope_1593.string(var_1594); + let mut scope_1595 = writer.prefix("NetworkInsightsPathId"); + if let Some(var_1596) = &input.network_insights_path_id { + scope_1595.string(var_1596); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5410,14 +5415,14 @@ pub fn serialize_operation_delete_network_interface( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkInterface", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1595 = writer.prefix("DryRun"); - if let Some(var_1596) = &input.dry_run { - scope_1595.boolean(*var_1596); + let mut scope_1597 = writer.prefix("DryRun"); + if let Some(var_1598) = &input.dry_run { + scope_1597.boolean(*var_1598); } #[allow(unused_mut)] - let mut scope_1597 = writer.prefix("NetworkInterfaceId"); - if let Some(var_1598) = &input.network_interface_id { - scope_1597.string(var_1598); + let mut scope_1599 = writer.prefix("NetworkInterfaceId"); + if let Some(var_1600) = &input.network_interface_id { + scope_1599.string(var_1600); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5431,19 +5436,19 @@ pub fn serialize_operation_delete_network_interface_permission( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteNetworkInterfacePermission", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1599 = writer.prefix("NetworkInterfacePermissionId"); - if let Some(var_1600) = &input.network_interface_permission_id { - scope_1599.string(var_1600); + let mut scope_1601 = writer.prefix("NetworkInterfacePermissionId"); + if let Some(var_1602) = &input.network_interface_permission_id { + scope_1601.string(var_1602); } #[allow(unused_mut)] - let mut scope_1601 = writer.prefix("Force"); - if let Some(var_1602) = &input.force { - scope_1601.boolean(*var_1602); + let mut scope_1603 = writer.prefix("Force"); + if let Some(var_1604) = &input.force { + scope_1603.boolean(*var_1604); } #[allow(unused_mut)] - let mut scope_1603 = writer.prefix("DryRun"); - if let Some(var_1604) = &input.dry_run { - scope_1603.boolean(*var_1604); + let mut scope_1605 = writer.prefix("DryRun"); + if let Some(var_1606) = &input.dry_run { + scope_1605.boolean(*var_1606); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5456,14 +5461,14 @@ pub fn serialize_operation_delete_placement_group( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeletePlacementGroup", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1605 = writer.prefix("DryRun"); - if let Some(var_1606) = &input.dry_run { - scope_1605.boolean(*var_1606); + let mut scope_1607 = writer.prefix("DryRun"); + if let Some(var_1608) = &input.dry_run { + scope_1607.boolean(*var_1608); } #[allow(unused_mut)] - let mut scope_1607 = writer.prefix("GroupName"); - if let Some(var_1608) = &input.group_name { - scope_1607.string(var_1608); + let mut scope_1609 = writer.prefix("GroupName"); + if let Some(var_1610) = &input.group_name { + scope_1609.string(var_1610); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5477,20 +5482,20 @@ pub fn serialize_operation_delete_queued_reserved_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteQueuedReservedInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1609 = writer.prefix("DryRun"); - if let Some(var_1610) = &input.dry_run { - scope_1609.boolean(*var_1610); + let mut scope_1611 = writer.prefix("DryRun"); + if let Some(var_1612) = &input.dry_run { + scope_1611.boolean(*var_1612); } #[allow(unused_mut)] - let mut scope_1611 = writer.prefix("ReservedInstancesId"); - if let Some(var_1612) = &input.reserved_instances_ids { - let mut list_1614 = scope_1611.start_list(true, Some("item")); - for item_1613 in var_1612 { + let mut scope_1613 = writer.prefix("ReservedInstancesId"); + if let Some(var_1614) = &input.reserved_instances_ids { + let mut list_1616 = scope_1613.start_list(true, Some("item")); + for item_1615 in var_1614 { #[allow(unused_mut)] - let mut entry_1615 = list_1614.entry(); - entry_1615.string(item_1613); + let mut entry_1617 = list_1616.entry(); + entry_1617.string(item_1615); } - list_1614.finish(); + list_1616.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5503,29 +5508,29 @@ pub fn serialize_operation_delete_route( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1616 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1617) = &input.destination_cidr_block { - scope_1616.string(var_1617); - } - #[allow(unused_mut)] - let mut scope_1618 = writer.prefix("DestinationIpv6CidrBlock"); - if let Some(var_1619) = &input.destination_ipv6_cidr_block { + let mut scope_1618 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1619) = &input.destination_cidr_block { scope_1618.string(var_1619); } #[allow(unused_mut)] - let mut scope_1620 = writer.prefix("DestinationPrefixListId"); - if let Some(var_1621) = &input.destination_prefix_list_id { + let mut scope_1620 = writer.prefix("DestinationIpv6CidrBlock"); + if let Some(var_1621) = &input.destination_ipv6_cidr_block { scope_1620.string(var_1621); } #[allow(unused_mut)] - let mut scope_1622 = writer.prefix("DryRun"); - if let Some(var_1623) = &input.dry_run { - scope_1622.boolean(*var_1623); + let mut scope_1622 = writer.prefix("DestinationPrefixListId"); + if let Some(var_1623) = &input.destination_prefix_list_id { + scope_1622.string(var_1623); } #[allow(unused_mut)] - let mut scope_1624 = writer.prefix("RouteTableId"); - if let Some(var_1625) = &input.route_table_id { - scope_1624.string(var_1625); + let mut scope_1624 = writer.prefix("DryRun"); + if let Some(var_1625) = &input.dry_run { + scope_1624.boolean(*var_1625); + } + #[allow(unused_mut)] + let mut scope_1626 = writer.prefix("RouteTableId"); + if let Some(var_1627) = &input.route_table_id { + scope_1626.string(var_1627); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5538,14 +5543,14 @@ pub fn serialize_operation_delete_route_table( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteRouteTable", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1626 = writer.prefix("DryRun"); - if let Some(var_1627) = &input.dry_run { - scope_1626.boolean(*var_1627); + let mut scope_1628 = writer.prefix("DryRun"); + if let Some(var_1629) = &input.dry_run { + scope_1628.boolean(*var_1629); } #[allow(unused_mut)] - let mut scope_1628 = writer.prefix("RouteTableId"); - if let Some(var_1629) = &input.route_table_id { - scope_1628.string(var_1629); + let mut scope_1630 = writer.prefix("RouteTableId"); + if let Some(var_1631) = &input.route_table_id { + scope_1630.string(var_1631); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5558,19 +5563,19 @@ pub fn serialize_operation_delete_security_group( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteSecurityGroup", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1630 = writer.prefix("GroupId"); - if let Some(var_1631) = &input.group_id { - scope_1630.string(var_1631); + let mut scope_1632 = writer.prefix("GroupId"); + if let Some(var_1633) = &input.group_id { + scope_1632.string(var_1633); } #[allow(unused_mut)] - let mut scope_1632 = writer.prefix("GroupName"); - if let Some(var_1633) = &input.group_name { - scope_1632.string(var_1633); + let mut scope_1634 = writer.prefix("GroupName"); + if let Some(var_1635) = &input.group_name { + scope_1634.string(var_1635); } #[allow(unused_mut)] - let mut scope_1634 = writer.prefix("DryRun"); - if let Some(var_1635) = &input.dry_run { - scope_1634.boolean(*var_1635); + let mut scope_1636 = writer.prefix("DryRun"); + if let Some(var_1637) = &input.dry_run { + scope_1636.boolean(*var_1637); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5583,14 +5588,14 @@ pub fn serialize_operation_delete_snapshot( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteSnapshot", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1636 = writer.prefix("SnapshotId"); - if let Some(var_1637) = &input.snapshot_id { - scope_1636.string(var_1637); + let mut scope_1638 = writer.prefix("SnapshotId"); + if let Some(var_1639) = &input.snapshot_id { + scope_1638.string(var_1639); } #[allow(unused_mut)] - let mut scope_1638 = writer.prefix("DryRun"); - if let Some(var_1639) = &input.dry_run { - scope_1638.boolean(*var_1639); + let mut scope_1640 = writer.prefix("DryRun"); + if let Some(var_1641) = &input.dry_run { + scope_1640.boolean(*var_1641); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5604,9 +5609,9 @@ pub fn serialize_operation_delete_spot_datafeed_subscription( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteSpotDatafeedSubscription", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1640 = writer.prefix("DryRun"); - if let Some(var_1641) = &input.dry_run { - scope_1640.boolean(*var_1641); + let mut scope_1642 = writer.prefix("DryRun"); + if let Some(var_1643) = &input.dry_run { + scope_1642.boolean(*var_1643); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5619,14 +5624,14 @@ pub fn serialize_operation_delete_subnet( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteSubnet", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1642 = writer.prefix("SubnetId"); - if let Some(var_1643) = &input.subnet_id { - scope_1642.string(var_1643); + let mut scope_1644 = writer.prefix("SubnetId"); + if let Some(var_1645) = &input.subnet_id { + scope_1644.string(var_1645); } #[allow(unused_mut)] - let mut scope_1644 = writer.prefix("DryRun"); - if let Some(var_1645) = &input.dry_run { - scope_1644.boolean(*var_1645); + let mut scope_1646 = writer.prefix("DryRun"); + if let Some(var_1647) = &input.dry_run { + scope_1646.boolean(*var_1647); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5640,14 +5645,14 @@ pub fn serialize_operation_delete_subnet_cidr_reservation( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteSubnetCidrReservation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1646 = writer.prefix("SubnetCidrReservationId"); - if let Some(var_1647) = &input.subnet_cidr_reservation_id { - scope_1646.string(var_1647); + let mut scope_1648 = writer.prefix("SubnetCidrReservationId"); + if let Some(var_1649) = &input.subnet_cidr_reservation_id { + scope_1648.string(var_1649); } #[allow(unused_mut)] - let mut scope_1648 = writer.prefix("DryRun"); - if let Some(var_1649) = &input.dry_run { - scope_1648.boolean(*var_1649); + let mut scope_1650 = writer.prefix("DryRun"); + if let Some(var_1651) = &input.dry_run { + scope_1650.boolean(*var_1651); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5660,31 +5665,31 @@ pub fn serialize_operation_delete_tags( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTags", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1650 = writer.prefix("DryRun"); - if let Some(var_1651) = &input.dry_run { - scope_1650.boolean(*var_1651); + let mut scope_1652 = writer.prefix("DryRun"); + if let Some(var_1653) = &input.dry_run { + scope_1652.boolean(*var_1653); } #[allow(unused_mut)] - let mut scope_1652 = writer.prefix("ResourceId"); - if let Some(var_1653) = &input.resources { - let mut list_1655 = scope_1652.start_list(true, None); - for item_1654 in var_1653 { + let mut scope_1654 = writer.prefix("ResourceId"); + if let Some(var_1655) = &input.resources { + let mut list_1657 = scope_1654.start_list(true, None); + for item_1656 in var_1655 { #[allow(unused_mut)] - let mut entry_1656 = list_1655.entry(); - entry_1656.string(item_1654); + let mut entry_1658 = list_1657.entry(); + entry_1658.string(item_1656); } - list_1655.finish(); + list_1657.finish(); } #[allow(unused_mut)] - let mut scope_1657 = writer.prefix("Tag"); - if let Some(var_1658) = &input.tags { - let mut list_1660 = scope_1657.start_list(true, Some("item")); - for item_1659 in var_1658 { + let mut scope_1659 = writer.prefix("Tag"); + if let Some(var_1660) = &input.tags { + let mut list_1662 = scope_1659.start_list(true, Some("item")); + for item_1661 in var_1660 { #[allow(unused_mut)] - let mut entry_1661 = list_1660.entry(); - crate::query_ser::serialize_structure_tag(entry_1661, item_1659); + let mut entry_1663 = list_1662.entry(); + crate::query_ser::serialize_structure_tag(entry_1663, item_1661); } - list_1660.finish(); + list_1662.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5698,14 +5703,14 @@ pub fn serialize_operation_delete_traffic_mirror_filter( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTrafficMirrorFilter", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1662 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_1663) = &input.traffic_mirror_filter_id { - scope_1662.string(var_1663); + let mut scope_1664 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_1665) = &input.traffic_mirror_filter_id { + scope_1664.string(var_1665); } #[allow(unused_mut)] - let mut scope_1664 = writer.prefix("DryRun"); - if let Some(var_1665) = &input.dry_run { - scope_1664.boolean(*var_1665); + let mut scope_1666 = writer.prefix("DryRun"); + if let Some(var_1667) = &input.dry_run { + scope_1666.boolean(*var_1667); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5719,14 +5724,14 @@ pub fn serialize_operation_delete_traffic_mirror_filter_rule( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTrafficMirrorFilterRule", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1666 = writer.prefix("TrafficMirrorFilterRuleId"); - if let Some(var_1667) = &input.traffic_mirror_filter_rule_id { - scope_1666.string(var_1667); + let mut scope_1668 = writer.prefix("TrafficMirrorFilterRuleId"); + if let Some(var_1669) = &input.traffic_mirror_filter_rule_id { + scope_1668.string(var_1669); } #[allow(unused_mut)] - let mut scope_1668 = writer.prefix("DryRun"); - if let Some(var_1669) = &input.dry_run { - scope_1668.boolean(*var_1669); + let mut scope_1670 = writer.prefix("DryRun"); + if let Some(var_1671) = &input.dry_run { + scope_1670.boolean(*var_1671); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5740,14 +5745,14 @@ pub fn serialize_operation_delete_traffic_mirror_session( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTrafficMirrorSession", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1670 = writer.prefix("TrafficMirrorSessionId"); - if let Some(var_1671) = &input.traffic_mirror_session_id { - scope_1670.string(var_1671); + let mut scope_1672 = writer.prefix("TrafficMirrorSessionId"); + if let Some(var_1673) = &input.traffic_mirror_session_id { + scope_1672.string(var_1673); } #[allow(unused_mut)] - let mut scope_1672 = writer.prefix("DryRun"); - if let Some(var_1673) = &input.dry_run { - scope_1672.boolean(*var_1673); + let mut scope_1674 = writer.prefix("DryRun"); + if let Some(var_1675) = &input.dry_run { + scope_1674.boolean(*var_1675); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5761,14 +5766,14 @@ pub fn serialize_operation_delete_traffic_mirror_target( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTrafficMirrorTarget", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1674 = writer.prefix("TrafficMirrorTargetId"); - if let Some(var_1675) = &input.traffic_mirror_target_id { - scope_1674.string(var_1675); + let mut scope_1676 = writer.prefix("TrafficMirrorTargetId"); + if let Some(var_1677) = &input.traffic_mirror_target_id { + scope_1676.string(var_1677); } #[allow(unused_mut)] - let mut scope_1676 = writer.prefix("DryRun"); - if let Some(var_1677) = &input.dry_run { - scope_1676.boolean(*var_1677); + let mut scope_1678 = writer.prefix("DryRun"); + if let Some(var_1679) = &input.dry_run { + scope_1678.boolean(*var_1679); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5781,14 +5786,14 @@ pub fn serialize_operation_delete_transit_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1678 = writer.prefix("TransitGatewayId"); - if let Some(var_1679) = &input.transit_gateway_id { - scope_1678.string(var_1679); + let mut scope_1680 = writer.prefix("TransitGatewayId"); + if let Some(var_1681) = &input.transit_gateway_id { + scope_1680.string(var_1681); } #[allow(unused_mut)] - let mut scope_1680 = writer.prefix("DryRun"); - if let Some(var_1681) = &input.dry_run { - scope_1680.boolean(*var_1681); + let mut scope_1682 = writer.prefix("DryRun"); + if let Some(var_1683) = &input.dry_run { + scope_1682.boolean(*var_1683); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5802,14 +5807,14 @@ pub fn serialize_operation_delete_transit_gateway_connect( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGatewayConnect", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1682 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1683) = &input.transit_gateway_attachment_id { - scope_1682.string(var_1683); + let mut scope_1684 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1685) = &input.transit_gateway_attachment_id { + scope_1684.string(var_1685); } #[allow(unused_mut)] - let mut scope_1684 = writer.prefix("DryRun"); - if let Some(var_1685) = &input.dry_run { - scope_1684.boolean(*var_1685); + let mut scope_1686 = writer.prefix("DryRun"); + if let Some(var_1687) = &input.dry_run { + scope_1686.boolean(*var_1687); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5823,14 +5828,14 @@ pub fn serialize_operation_delete_transit_gateway_connect_peer( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGatewayConnectPeer", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1686 = writer.prefix("TransitGatewayConnectPeerId"); - if let Some(var_1687) = &input.transit_gateway_connect_peer_id { - scope_1686.string(var_1687); + let mut scope_1688 = writer.prefix("TransitGatewayConnectPeerId"); + if let Some(var_1689) = &input.transit_gateway_connect_peer_id { + scope_1688.string(var_1689); } #[allow(unused_mut)] - let mut scope_1688 = writer.prefix("DryRun"); - if let Some(var_1689) = &input.dry_run { - scope_1688.boolean(*var_1689); + let mut scope_1690 = writer.prefix("DryRun"); + if let Some(var_1691) = &input.dry_run { + scope_1690.boolean(*var_1691); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5847,14 +5852,14 @@ pub fn serialize_operation_delete_transit_gateway_multicast_domain( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1690 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_1691) = &input.transit_gateway_multicast_domain_id { - scope_1690.string(var_1691); + let mut scope_1692 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_1693) = &input.transit_gateway_multicast_domain_id { + scope_1692.string(var_1693); } #[allow(unused_mut)] - let mut scope_1692 = writer.prefix("DryRun"); - if let Some(var_1693) = &input.dry_run { - scope_1692.boolean(*var_1693); + let mut scope_1694 = writer.prefix("DryRun"); + if let Some(var_1695) = &input.dry_run { + scope_1694.boolean(*var_1695); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5871,14 +5876,14 @@ pub fn serialize_operation_delete_transit_gateway_peering_attachment( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1694 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1695) = &input.transit_gateway_attachment_id { - scope_1694.string(var_1695); + let mut scope_1696 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1697) = &input.transit_gateway_attachment_id { + scope_1696.string(var_1697); } #[allow(unused_mut)] - let mut scope_1696 = writer.prefix("DryRun"); - if let Some(var_1697) = &input.dry_run { - scope_1696.boolean(*var_1697); + let mut scope_1698 = writer.prefix("DryRun"); + if let Some(var_1699) = &input.dry_run { + scope_1698.boolean(*var_1699); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5895,19 +5900,19 @@ pub fn serialize_operation_delete_transit_gateway_prefix_list_reference( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1698 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_1699) = &input.transit_gateway_route_table_id { - scope_1698.string(var_1699); + let mut scope_1700 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_1701) = &input.transit_gateway_route_table_id { + scope_1700.string(var_1701); } #[allow(unused_mut)] - let mut scope_1700 = writer.prefix("PrefixListId"); - if let Some(var_1701) = &input.prefix_list_id { - scope_1700.string(var_1701); + let mut scope_1702 = writer.prefix("PrefixListId"); + if let Some(var_1703) = &input.prefix_list_id { + scope_1702.string(var_1703); } #[allow(unused_mut)] - let mut scope_1702 = writer.prefix("DryRun"); - if let Some(var_1703) = &input.dry_run { - scope_1702.boolean(*var_1703); + let mut scope_1704 = writer.prefix("DryRun"); + if let Some(var_1705) = &input.dry_run { + scope_1704.boolean(*var_1705); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5921,19 +5926,19 @@ pub fn serialize_operation_delete_transit_gateway_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGatewayRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1704 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_1705) = &input.transit_gateway_route_table_id { - scope_1704.string(var_1705); + let mut scope_1706 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_1707) = &input.transit_gateway_route_table_id { + scope_1706.string(var_1707); } #[allow(unused_mut)] - let mut scope_1706 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1707) = &input.destination_cidr_block { - scope_1706.string(var_1707); + let mut scope_1708 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1709) = &input.destination_cidr_block { + scope_1708.string(var_1709); } #[allow(unused_mut)] - let mut scope_1708 = writer.prefix("DryRun"); - if let Some(var_1709) = &input.dry_run { - scope_1708.boolean(*var_1709); + let mut scope_1710 = writer.prefix("DryRun"); + if let Some(var_1711) = &input.dry_run { + scope_1710.boolean(*var_1711); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5947,14 +5952,14 @@ pub fn serialize_operation_delete_transit_gateway_route_table( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGatewayRouteTable", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1710 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_1711) = &input.transit_gateway_route_table_id { - scope_1710.string(var_1711); + let mut scope_1712 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_1713) = &input.transit_gateway_route_table_id { + scope_1712.string(var_1713); } #[allow(unused_mut)] - let mut scope_1712 = writer.prefix("DryRun"); - if let Some(var_1713) = &input.dry_run { - scope_1712.boolean(*var_1713); + let mut scope_1714 = writer.prefix("DryRun"); + if let Some(var_1715) = &input.dry_run { + scope_1714.boolean(*var_1715); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5968,14 +5973,14 @@ pub fn serialize_operation_delete_transit_gateway_vpc_attachment( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteTransitGatewayVpcAttachment", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1714 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_1715) = &input.transit_gateway_attachment_id { - scope_1714.string(var_1715); + let mut scope_1716 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_1717) = &input.transit_gateway_attachment_id { + scope_1716.string(var_1717); } #[allow(unused_mut)] - let mut scope_1716 = writer.prefix("DryRun"); - if let Some(var_1717) = &input.dry_run { - scope_1716.boolean(*var_1717); + let mut scope_1718 = writer.prefix("DryRun"); + if let Some(var_1719) = &input.dry_run { + scope_1718.boolean(*var_1719); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -5988,14 +5993,14 @@ pub fn serialize_operation_delete_volume( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVolume", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1718 = writer.prefix("VolumeId"); - if let Some(var_1719) = &input.volume_id { - scope_1718.string(var_1719); + let mut scope_1720 = writer.prefix("VolumeId"); + if let Some(var_1721) = &input.volume_id { + scope_1720.string(var_1721); } #[allow(unused_mut)] - let mut scope_1720 = writer.prefix("DryRun"); - if let Some(var_1721) = &input.dry_run { - scope_1720.boolean(*var_1721); + let mut scope_1722 = writer.prefix("DryRun"); + if let Some(var_1723) = &input.dry_run { + scope_1722.boolean(*var_1723); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6008,14 +6013,14 @@ pub fn serialize_operation_delete_vpc( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpc", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1722 = writer.prefix("VpcId"); - if let Some(var_1723) = &input.vpc_id { - scope_1722.string(var_1723); + let mut scope_1724 = writer.prefix("VpcId"); + if let Some(var_1725) = &input.vpc_id { + scope_1724.string(var_1725); } #[allow(unused_mut)] - let mut scope_1724 = writer.prefix("DryRun"); - if let Some(var_1725) = &input.dry_run { - scope_1724.boolean(*var_1725); + let mut scope_1726 = writer.prefix("DryRun"); + if let Some(var_1727) = &input.dry_run { + scope_1726.boolean(*var_1727); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6032,20 +6037,20 @@ pub fn serialize_operation_delete_vpc_endpoint_connection_notifications( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1726 = writer.prefix("DryRun"); - if let Some(var_1727) = &input.dry_run { - scope_1726.boolean(*var_1727); + let mut scope_1728 = writer.prefix("DryRun"); + if let Some(var_1729) = &input.dry_run { + scope_1728.boolean(*var_1729); } #[allow(unused_mut)] - let mut scope_1728 = writer.prefix("ConnectionNotificationId"); - if let Some(var_1729) = &input.connection_notification_ids { - let mut list_1731 = scope_1728.start_list(true, Some("item")); - for item_1730 in var_1729 { + let mut scope_1730 = writer.prefix("ConnectionNotificationId"); + if let Some(var_1731) = &input.connection_notification_ids { + let mut list_1733 = scope_1730.start_list(true, Some("item")); + for item_1732 in var_1731 { #[allow(unused_mut)] - let mut entry_1732 = list_1731.entry(); - entry_1732.string(item_1730); + let mut entry_1734 = list_1733.entry(); + entry_1734.string(item_1732); } - list_1731.finish(); + list_1733.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6058,20 +6063,20 @@ pub fn serialize_operation_delete_vpc_endpoints( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpcEndpoints", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1733 = writer.prefix("DryRun"); - if let Some(var_1734) = &input.dry_run { - scope_1733.boolean(*var_1734); + let mut scope_1735 = writer.prefix("DryRun"); + if let Some(var_1736) = &input.dry_run { + scope_1735.boolean(*var_1736); } #[allow(unused_mut)] - let mut scope_1735 = writer.prefix("VpcEndpointId"); - if let Some(var_1736) = &input.vpc_endpoint_ids { - let mut list_1738 = scope_1735.start_list(true, Some("item")); - for item_1737 in var_1736 { + let mut scope_1737 = writer.prefix("VpcEndpointId"); + if let Some(var_1738) = &input.vpc_endpoint_ids { + let mut list_1740 = scope_1737.start_list(true, Some("item")); + for item_1739 in var_1738 { #[allow(unused_mut)] - let mut entry_1739 = list_1738.entry(); - entry_1739.string(item_1737); + let mut entry_1741 = list_1740.entry(); + entry_1741.string(item_1739); } - list_1738.finish(); + list_1740.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6088,20 +6093,20 @@ pub fn serialize_operation_delete_vpc_endpoint_service_configurations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1740 = writer.prefix("DryRun"); - if let Some(var_1741) = &input.dry_run { - scope_1740.boolean(*var_1741); + let mut scope_1742 = writer.prefix("DryRun"); + if let Some(var_1743) = &input.dry_run { + scope_1742.boolean(*var_1743); } #[allow(unused_mut)] - let mut scope_1742 = writer.prefix("ServiceId"); - if let Some(var_1743) = &input.service_ids { - let mut list_1745 = scope_1742.start_list(true, Some("item")); - for item_1744 in var_1743 { + let mut scope_1744 = writer.prefix("ServiceId"); + if let Some(var_1745) = &input.service_ids { + let mut list_1747 = scope_1744.start_list(true, Some("item")); + for item_1746 in var_1745 { #[allow(unused_mut)] - let mut entry_1746 = list_1745.entry(); - entry_1746.string(item_1744); + let mut entry_1748 = list_1747.entry(); + entry_1748.string(item_1746); } - list_1745.finish(); + list_1747.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6115,14 +6120,14 @@ pub fn serialize_operation_delete_vpc_peering_connection( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpcPeeringConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1747 = writer.prefix("DryRun"); - if let Some(var_1748) = &input.dry_run { - scope_1747.boolean(*var_1748); + let mut scope_1749 = writer.prefix("DryRun"); + if let Some(var_1750) = &input.dry_run { + scope_1749.boolean(*var_1750); } #[allow(unused_mut)] - let mut scope_1749 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_1750) = &input.vpc_peering_connection_id { - scope_1749.string(var_1750); + let mut scope_1751 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_1752) = &input.vpc_peering_connection_id { + scope_1751.string(var_1752); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6135,14 +6140,14 @@ pub fn serialize_operation_delete_vpn_connection( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpnConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1751 = writer.prefix("VpnConnectionId"); - if let Some(var_1752) = &input.vpn_connection_id { - scope_1751.string(var_1752); + let mut scope_1753 = writer.prefix("VpnConnectionId"); + if let Some(var_1754) = &input.vpn_connection_id { + scope_1753.string(var_1754); } #[allow(unused_mut)] - let mut scope_1753 = writer.prefix("DryRun"); - if let Some(var_1754) = &input.dry_run { - scope_1753.boolean(*var_1754); + let mut scope_1755 = writer.prefix("DryRun"); + if let Some(var_1756) = &input.dry_run { + scope_1755.boolean(*var_1756); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6156,14 +6161,14 @@ pub fn serialize_operation_delete_vpn_connection_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpnConnectionRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1755 = writer.prefix("DestinationCidrBlock"); - if let Some(var_1756) = &input.destination_cidr_block { - scope_1755.string(var_1756); + let mut scope_1757 = writer.prefix("DestinationCidrBlock"); + if let Some(var_1758) = &input.destination_cidr_block { + scope_1757.string(var_1758); } #[allow(unused_mut)] - let mut scope_1757 = writer.prefix("VpnConnectionId"); - if let Some(var_1758) = &input.vpn_connection_id { - scope_1757.string(var_1758); + let mut scope_1759 = writer.prefix("VpnConnectionId"); + if let Some(var_1760) = &input.vpn_connection_id { + scope_1759.string(var_1760); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6176,14 +6181,14 @@ pub fn serialize_operation_delete_vpn_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeleteVpnGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1759 = writer.prefix("VpnGatewayId"); - if let Some(var_1760) = &input.vpn_gateway_id { - scope_1759.string(var_1760); + let mut scope_1761 = writer.prefix("VpnGatewayId"); + if let Some(var_1762) = &input.vpn_gateway_id { + scope_1761.string(var_1762); } #[allow(unused_mut)] - let mut scope_1761 = writer.prefix("DryRun"); - if let Some(var_1762) = &input.dry_run { - scope_1761.boolean(*var_1762); + let mut scope_1763 = writer.prefix("DryRun"); + if let Some(var_1764) = &input.dry_run { + scope_1763.boolean(*var_1764); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6196,14 +6201,14 @@ pub fn serialize_operation_deprovision_byoip_cidr( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeprovisionByoipCidr", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1763 = writer.prefix("Cidr"); - if let Some(var_1764) = &input.cidr { - scope_1763.string(var_1764); + let mut scope_1765 = writer.prefix("Cidr"); + if let Some(var_1766) = &input.cidr { + scope_1765.string(var_1766); } #[allow(unused_mut)] - let mut scope_1765 = writer.prefix("DryRun"); - if let Some(var_1766) = &input.dry_run { - scope_1765.boolean(*var_1766); + let mut scope_1767 = writer.prefix("DryRun"); + if let Some(var_1768) = &input.dry_run { + scope_1767.boolean(*var_1768); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6216,14 +6221,14 @@ pub fn serialize_operation_deregister_image( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DeregisterImage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1767 = writer.prefix("ImageId"); - if let Some(var_1768) = &input.image_id { - scope_1767.string(var_1768); + let mut scope_1769 = writer.prefix("ImageId"); + if let Some(var_1770) = &input.image_id { + scope_1769.string(var_1770); } #[allow(unused_mut)] - let mut scope_1769 = writer.prefix("DryRun"); - if let Some(var_1770) = &input.dry_run { - scope_1769.boolean(*var_1770); + let mut scope_1771 = writer.prefix("DryRun"); + if let Some(var_1772) = &input.dry_run { + scope_1771.boolean(*var_1772); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6240,15 +6245,15 @@ pub fn serialize_operation_deregister_instance_event_notification_attributes( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1771 = writer.prefix("DryRun"); - if let Some(var_1772) = &input.dry_run { - scope_1771.boolean(*var_1772); + let mut scope_1773 = writer.prefix("DryRun"); + if let Some(var_1774) = &input.dry_run { + scope_1773.boolean(*var_1774); } #[allow(unused_mut)] - let mut scope_1773 = writer.prefix("InstanceTagAttribute"); - if let Some(var_1774) = &input.instance_tag_attribute { + let mut scope_1775 = writer.prefix("InstanceTagAttribute"); + if let Some(var_1776) = &input.instance_tag_attribute { crate::query_ser::serialize_structure_deregister_instance_tag_attribute_request( - scope_1773, var_1774, + scope_1775, var_1776, ); } writer.finish(); @@ -6266,30 +6271,30 @@ pub fn serialize_operation_deregister_transit_gateway_multicast_group_members( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1775 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_1776) = &input.transit_gateway_multicast_domain_id { - scope_1775.string(var_1776); + let mut scope_1777 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_1778) = &input.transit_gateway_multicast_domain_id { + scope_1777.string(var_1778); } #[allow(unused_mut)] - let mut scope_1777 = writer.prefix("GroupIpAddress"); - if let Some(var_1778) = &input.group_ip_address { - scope_1777.string(var_1778); + let mut scope_1779 = writer.prefix("GroupIpAddress"); + if let Some(var_1780) = &input.group_ip_address { + scope_1779.string(var_1780); } #[allow(unused_mut)] - let mut scope_1779 = writer.prefix("NetworkInterfaceIds"); - if let Some(var_1780) = &input.network_interface_ids { - let mut list_1782 = scope_1779.start_list(true, Some("item")); - for item_1781 in var_1780 { + let mut scope_1781 = writer.prefix("NetworkInterfaceIds"); + if let Some(var_1782) = &input.network_interface_ids { + let mut list_1784 = scope_1781.start_list(true, Some("item")); + for item_1783 in var_1782 { #[allow(unused_mut)] - let mut entry_1783 = list_1782.entry(); - entry_1783.string(item_1781); + let mut entry_1785 = list_1784.entry(); + entry_1785.string(item_1783); } - list_1782.finish(); + list_1784.finish(); } #[allow(unused_mut)] - let mut scope_1784 = writer.prefix("DryRun"); - if let Some(var_1785) = &input.dry_run { - scope_1784.boolean(*var_1785); + let mut scope_1786 = writer.prefix("DryRun"); + if let Some(var_1787) = &input.dry_run { + scope_1786.boolean(*var_1787); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6306,30 +6311,30 @@ pub fn serialize_operation_deregister_transit_gateway_multicast_group_sources( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1786 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_1787) = &input.transit_gateway_multicast_domain_id { - scope_1786.string(var_1787); + let mut scope_1788 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_1789) = &input.transit_gateway_multicast_domain_id { + scope_1788.string(var_1789); } #[allow(unused_mut)] - let mut scope_1788 = writer.prefix("GroupIpAddress"); - if let Some(var_1789) = &input.group_ip_address { - scope_1788.string(var_1789); + let mut scope_1790 = writer.prefix("GroupIpAddress"); + if let Some(var_1791) = &input.group_ip_address { + scope_1790.string(var_1791); } #[allow(unused_mut)] - let mut scope_1790 = writer.prefix("NetworkInterfaceIds"); - if let Some(var_1791) = &input.network_interface_ids { - let mut list_1793 = scope_1790.start_list(true, Some("item")); - for item_1792 in var_1791 { + let mut scope_1792 = writer.prefix("NetworkInterfaceIds"); + if let Some(var_1793) = &input.network_interface_ids { + let mut list_1795 = scope_1792.start_list(true, Some("item")); + for item_1794 in var_1793 { #[allow(unused_mut)] - let mut entry_1794 = list_1793.entry(); - entry_1794.string(item_1792); + let mut entry_1796 = list_1795.entry(); + entry_1796.string(item_1794); } - list_1793.finish(); + list_1795.finish(); } #[allow(unused_mut)] - let mut scope_1795 = writer.prefix("DryRun"); - if let Some(var_1796) = &input.dry_run { - scope_1795.boolean(*var_1796); + let mut scope_1797 = writer.prefix("DryRun"); + if let Some(var_1798) = &input.dry_run { + scope_1797.boolean(*var_1798); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6343,20 +6348,20 @@ pub fn serialize_operation_describe_account_attributes( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeAccountAttributes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1797 = writer.prefix("AttributeName"); - if let Some(var_1798) = &input.attribute_names { - let mut list_1800 = scope_1797.start_list(true, Some("attributeName")); - for item_1799 in var_1798 { + let mut scope_1799 = writer.prefix("AttributeName"); + if let Some(var_1800) = &input.attribute_names { + let mut list_1802 = scope_1799.start_list(true, Some("attributeName")); + for item_1801 in var_1800 { #[allow(unused_mut)] - let mut entry_1801 = list_1800.entry(); - entry_1801.string(item_1799.as_str()); + let mut entry_1803 = list_1802.entry(); + entry_1803.string(item_1801.as_str()); } - list_1800.finish(); + list_1802.finish(); } #[allow(unused_mut)] - let mut scope_1802 = writer.prefix("DryRun"); - if let Some(var_1803) = &input.dry_run { - scope_1802.boolean(*var_1803); + let mut scope_1804 = writer.prefix("DryRun"); + if let Some(var_1805) = &input.dry_run { + scope_1804.boolean(*var_1805); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6369,42 +6374,42 @@ pub fn serialize_operation_describe_addresses( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeAddresses", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1804 = writer.prefix("Filter"); - if let Some(var_1805) = &input.filters { - let mut list_1807 = scope_1804.start_list(true, Some("Filter")); - for item_1806 in var_1805 { + let mut scope_1806 = writer.prefix("Filter"); + if let Some(var_1807) = &input.filters { + let mut list_1809 = scope_1806.start_list(true, Some("Filter")); + for item_1808 in var_1807 { #[allow(unused_mut)] - let mut entry_1808 = list_1807.entry(); - crate::query_ser::serialize_structure_filter(entry_1808, item_1806); + let mut entry_1810 = list_1809.entry(); + crate::query_ser::serialize_structure_filter(entry_1810, item_1808); } - list_1807.finish(); + list_1809.finish(); } #[allow(unused_mut)] - let mut scope_1809 = writer.prefix("PublicIp"); - if let Some(var_1810) = &input.public_ips { - let mut list_1812 = scope_1809.start_list(true, Some("PublicIp")); - for item_1811 in var_1810 { + let mut scope_1811 = writer.prefix("PublicIp"); + if let Some(var_1812) = &input.public_ips { + let mut list_1814 = scope_1811.start_list(true, Some("PublicIp")); + for item_1813 in var_1812 { #[allow(unused_mut)] - let mut entry_1813 = list_1812.entry(); - entry_1813.string(item_1811); + let mut entry_1815 = list_1814.entry(); + entry_1815.string(item_1813); } - list_1812.finish(); + list_1814.finish(); } #[allow(unused_mut)] - let mut scope_1814 = writer.prefix("AllocationId"); - if let Some(var_1815) = &input.allocation_ids { - let mut list_1817 = scope_1814.start_list(true, Some("AllocationId")); - for item_1816 in var_1815 { + let mut scope_1816 = writer.prefix("AllocationId"); + if let Some(var_1817) = &input.allocation_ids { + let mut list_1819 = scope_1816.start_list(true, Some("AllocationId")); + for item_1818 in var_1817 { #[allow(unused_mut)] - let mut entry_1818 = list_1817.entry(); - entry_1818.string(item_1816); + let mut entry_1820 = list_1819.entry(); + entry_1820.string(item_1818); } - list_1817.finish(); + list_1819.finish(); } #[allow(unused_mut)] - let mut scope_1819 = writer.prefix("DryRun"); - if let Some(var_1820) = &input.dry_run { - scope_1819.boolean(*var_1820); + let mut scope_1821 = writer.prefix("DryRun"); + if let Some(var_1822) = &input.dry_run { + scope_1821.boolean(*var_1822); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6418,38 +6423,38 @@ pub fn serialize_operation_describe_addresses_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeAddressesAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1821 = writer.prefix("AllocationId"); - if let Some(var_1822) = &input.allocation_ids { - let mut list_1824 = scope_1821.start_list(true, Some("item")); - for item_1823 in var_1822 { + let mut scope_1823 = writer.prefix("AllocationId"); + if let Some(var_1824) = &input.allocation_ids { + let mut list_1826 = scope_1823.start_list(true, Some("item")); + for item_1825 in var_1824 { #[allow(unused_mut)] - let mut entry_1825 = list_1824.entry(); - entry_1825.string(item_1823); + let mut entry_1827 = list_1826.entry(); + entry_1827.string(item_1825); } - list_1824.finish(); + list_1826.finish(); } #[allow(unused_mut)] - let mut scope_1826 = writer.prefix("Attribute"); - if let Some(var_1827) = &input.attribute { - scope_1826.string(var_1827.as_str()); + let mut scope_1828 = writer.prefix("Attribute"); + if let Some(var_1829) = &input.attribute { + scope_1828.string(var_1829.as_str()); } #[allow(unused_mut)] - let mut scope_1828 = writer.prefix("NextToken"); - if let Some(var_1829) = &input.next_token { - scope_1828.string(var_1829); + let mut scope_1830 = writer.prefix("NextToken"); + if let Some(var_1831) = &input.next_token { + scope_1830.string(var_1831); } #[allow(unused_mut)] - let mut scope_1830 = writer.prefix("MaxResults"); - if let Some(var_1831) = &input.max_results { - scope_1830.number( + let mut scope_1832 = writer.prefix("MaxResults"); + if let Some(var_1833) = &input.max_results { + scope_1832.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1831).into()), + smithy_types::Number::NegInt((*var_1833).into()), ); } #[allow(unused_mut)] - let mut scope_1832 = writer.prefix("DryRun"); - if let Some(var_1833) = &input.dry_run { - scope_1832.boolean(*var_1833); + let mut scope_1834 = writer.prefix("DryRun"); + if let Some(var_1835) = &input.dry_run { + scope_1834.boolean(*var_1835); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6463,9 +6468,9 @@ pub fn serialize_operation_describe_aggregate_id_format( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeAggregateIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1834 = writer.prefix("DryRun"); - if let Some(var_1835) = &input.dry_run { - scope_1834.boolean(*var_1835); + let mut scope_1836 = writer.prefix("DryRun"); + if let Some(var_1837) = &input.dry_run { + scope_1836.boolean(*var_1837); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6479,47 +6484,47 @@ pub fn serialize_operation_describe_availability_zones( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeAvailabilityZones", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1836 = writer.prefix("Filter"); - if let Some(var_1837) = &input.filters { - let mut list_1839 = scope_1836.start_list(true, Some("Filter")); - for item_1838 in var_1837 { + let mut scope_1838 = writer.prefix("Filter"); + if let Some(var_1839) = &input.filters { + let mut list_1841 = scope_1838.start_list(true, Some("Filter")); + for item_1840 in var_1839 { #[allow(unused_mut)] - let mut entry_1840 = list_1839.entry(); - crate::query_ser::serialize_structure_filter(entry_1840, item_1838); + let mut entry_1842 = list_1841.entry(); + crate::query_ser::serialize_structure_filter(entry_1842, item_1840); } - list_1839.finish(); + list_1841.finish(); } #[allow(unused_mut)] - let mut scope_1841 = writer.prefix("ZoneName"); - if let Some(var_1842) = &input.zone_names { - let mut list_1844 = scope_1841.start_list(true, Some("ZoneName")); - for item_1843 in var_1842 { + let mut scope_1843 = writer.prefix("ZoneName"); + if let Some(var_1844) = &input.zone_names { + let mut list_1846 = scope_1843.start_list(true, Some("ZoneName")); + for item_1845 in var_1844 { #[allow(unused_mut)] - let mut entry_1845 = list_1844.entry(); - entry_1845.string(item_1843); + let mut entry_1847 = list_1846.entry(); + entry_1847.string(item_1845); } - list_1844.finish(); + list_1846.finish(); } #[allow(unused_mut)] - let mut scope_1846 = writer.prefix("ZoneId"); - if let Some(var_1847) = &input.zone_ids { - let mut list_1849 = scope_1846.start_list(true, Some("ZoneId")); - for item_1848 in var_1847 { + let mut scope_1848 = writer.prefix("ZoneId"); + if let Some(var_1849) = &input.zone_ids { + let mut list_1851 = scope_1848.start_list(true, Some("ZoneId")); + for item_1850 in var_1849 { #[allow(unused_mut)] - let mut entry_1850 = list_1849.entry(); - entry_1850.string(item_1848); + let mut entry_1852 = list_1851.entry(); + entry_1852.string(item_1850); } - list_1849.finish(); + list_1851.finish(); } #[allow(unused_mut)] - let mut scope_1851 = writer.prefix("AllAvailabilityZones"); - if let Some(var_1852) = &input.all_availability_zones { - scope_1851.boolean(*var_1852); + let mut scope_1853 = writer.prefix("AllAvailabilityZones"); + if let Some(var_1854) = &input.all_availability_zones { + scope_1853.boolean(*var_1854); } #[allow(unused_mut)] - let mut scope_1853 = writer.prefix("DryRun"); - if let Some(var_1854) = &input.dry_run { - scope_1853.boolean(*var_1854); + let mut scope_1855 = writer.prefix("DryRun"); + if let Some(var_1856) = &input.dry_run { + scope_1855.boolean(*var_1856); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6532,31 +6537,31 @@ pub fn serialize_operation_describe_bundle_tasks( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeBundleTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1855 = writer.prefix("BundleId"); - if let Some(var_1856) = &input.bundle_ids { - let mut list_1858 = scope_1855.start_list(true, Some("BundleId")); - for item_1857 in var_1856 { + let mut scope_1857 = writer.prefix("BundleId"); + if let Some(var_1858) = &input.bundle_ids { + let mut list_1860 = scope_1857.start_list(true, Some("BundleId")); + for item_1859 in var_1858 { #[allow(unused_mut)] - let mut entry_1859 = list_1858.entry(); - entry_1859.string(item_1857); + let mut entry_1861 = list_1860.entry(); + entry_1861.string(item_1859); } - list_1858.finish(); + list_1860.finish(); } #[allow(unused_mut)] - let mut scope_1860 = writer.prefix("Filter"); - if let Some(var_1861) = &input.filters { - let mut list_1863 = scope_1860.start_list(true, Some("Filter")); - for item_1862 in var_1861 { + let mut scope_1862 = writer.prefix("Filter"); + if let Some(var_1863) = &input.filters { + let mut list_1865 = scope_1862.start_list(true, Some("Filter")); + for item_1864 in var_1863 { #[allow(unused_mut)] - let mut entry_1864 = list_1863.entry(); - crate::query_ser::serialize_structure_filter(entry_1864, item_1862); + let mut entry_1866 = list_1865.entry(); + crate::query_ser::serialize_structure_filter(entry_1866, item_1864); } - list_1863.finish(); + list_1865.finish(); } #[allow(unused_mut)] - let mut scope_1865 = writer.prefix("DryRun"); - if let Some(var_1866) = &input.dry_run { - scope_1865.boolean(*var_1866); + let mut scope_1867 = writer.prefix("DryRun"); + if let Some(var_1868) = &input.dry_run { + scope_1867.boolean(*var_1868); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6569,22 +6574,22 @@ pub fn serialize_operation_describe_byoip_cidrs( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeByoipCidrs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1867 = writer.prefix("DryRun"); - if let Some(var_1868) = &input.dry_run { - scope_1867.boolean(*var_1868); + let mut scope_1869 = writer.prefix("DryRun"); + if let Some(var_1870) = &input.dry_run { + scope_1869.boolean(*var_1870); } #[allow(unused_mut)] - let mut scope_1869 = writer.prefix("MaxResults"); - if let Some(var_1870) = &input.max_results { - scope_1869.number( + let mut scope_1871 = writer.prefix("MaxResults"); + if let Some(var_1872) = &input.max_results { + scope_1871.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1870).into()), + smithy_types::Number::NegInt((*var_1872).into()), ); } #[allow(unused_mut)] - let mut scope_1871 = writer.prefix("NextToken"); - if let Some(var_1872) = &input.next_token { - scope_1871.string(var_1872); + let mut scope_1873 = writer.prefix("NextToken"); + if let Some(var_1874) = &input.next_token { + scope_1873.string(var_1874); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6598,44 +6603,44 @@ pub fn serialize_operation_describe_capacity_reservations( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeCapacityReservations", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1873 = writer.prefix("CapacityReservationId"); - if let Some(var_1874) = &input.capacity_reservation_ids { - let mut list_1876 = scope_1873.start_list(true, Some("item")); - for item_1875 in var_1874 { + let mut scope_1875 = writer.prefix("CapacityReservationId"); + if let Some(var_1876) = &input.capacity_reservation_ids { + let mut list_1878 = scope_1875.start_list(true, Some("item")); + for item_1877 in var_1876 { #[allow(unused_mut)] - let mut entry_1877 = list_1876.entry(); - entry_1877.string(item_1875); + let mut entry_1879 = list_1878.entry(); + entry_1879.string(item_1877); } - list_1876.finish(); + list_1878.finish(); } #[allow(unused_mut)] - let mut scope_1878 = writer.prefix("NextToken"); - if let Some(var_1879) = &input.next_token { - scope_1878.string(var_1879); + let mut scope_1880 = writer.prefix("NextToken"); + if let Some(var_1881) = &input.next_token { + scope_1880.string(var_1881); } #[allow(unused_mut)] - let mut scope_1880 = writer.prefix("MaxResults"); - if let Some(var_1881) = &input.max_results { - scope_1880.number( + let mut scope_1882 = writer.prefix("MaxResults"); + if let Some(var_1883) = &input.max_results { + scope_1882.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1881).into()), + smithy_types::Number::NegInt((*var_1883).into()), ); } #[allow(unused_mut)] - let mut scope_1882 = writer.prefix("Filter"); - if let Some(var_1883) = &input.filters { - let mut list_1885 = scope_1882.start_list(true, Some("Filter")); - for item_1884 in var_1883 { + let mut scope_1884 = writer.prefix("Filter"); + if let Some(var_1885) = &input.filters { + let mut list_1887 = scope_1884.start_list(true, Some("Filter")); + for item_1886 in var_1885 { #[allow(unused_mut)] - let mut entry_1886 = list_1885.entry(); - crate::query_ser::serialize_structure_filter(entry_1886, item_1884); + let mut entry_1888 = list_1887.entry(); + crate::query_ser::serialize_structure_filter(entry_1888, item_1886); } - list_1885.finish(); + list_1887.finish(); } #[allow(unused_mut)] - let mut scope_1887 = writer.prefix("DryRun"); - if let Some(var_1888) = &input.dry_run { - scope_1887.boolean(*var_1888); + let mut scope_1889 = writer.prefix("DryRun"); + if let Some(var_1890) = &input.dry_run { + scope_1889.boolean(*var_1890); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6649,44 +6654,44 @@ pub fn serialize_operation_describe_carrier_gateways( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeCarrierGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1889 = writer.prefix("CarrierGatewayId"); - if let Some(var_1890) = &input.carrier_gateway_ids { - let mut list_1892 = scope_1889.start_list(true, None); - for item_1891 in var_1890 { + let mut scope_1891 = writer.prefix("CarrierGatewayId"); + if let Some(var_1892) = &input.carrier_gateway_ids { + let mut list_1894 = scope_1891.start_list(true, None); + for item_1893 in var_1892 { #[allow(unused_mut)] - let mut entry_1893 = list_1892.entry(); - entry_1893.string(item_1891); + let mut entry_1895 = list_1894.entry(); + entry_1895.string(item_1893); } - list_1892.finish(); + list_1894.finish(); } #[allow(unused_mut)] - let mut scope_1894 = writer.prefix("Filter"); - if let Some(var_1895) = &input.filters { - let mut list_1897 = scope_1894.start_list(true, Some("Filter")); - for item_1896 in var_1895 { + let mut scope_1896 = writer.prefix("Filter"); + if let Some(var_1897) = &input.filters { + let mut list_1899 = scope_1896.start_list(true, Some("Filter")); + for item_1898 in var_1897 { #[allow(unused_mut)] - let mut entry_1898 = list_1897.entry(); - crate::query_ser::serialize_structure_filter(entry_1898, item_1896); + let mut entry_1900 = list_1899.entry(); + crate::query_ser::serialize_structure_filter(entry_1900, item_1898); } - list_1897.finish(); + list_1899.finish(); } #[allow(unused_mut)] - let mut scope_1899 = writer.prefix("MaxResults"); - if let Some(var_1900) = &input.max_results { - scope_1899.number( + let mut scope_1901 = writer.prefix("MaxResults"); + if let Some(var_1902) = &input.max_results { + scope_1901.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1900).into()), + smithy_types::Number::NegInt((*var_1902).into()), ); } #[allow(unused_mut)] - let mut scope_1901 = writer.prefix("NextToken"); - if let Some(var_1902) = &input.next_token { - scope_1901.string(var_1902); + let mut scope_1903 = writer.prefix("NextToken"); + if let Some(var_1904) = &input.next_token { + scope_1903.string(var_1904); } #[allow(unused_mut)] - let mut scope_1903 = writer.prefix("DryRun"); - if let Some(var_1904) = &input.dry_run { - scope_1903.boolean(*var_1904); + let mut scope_1905 = writer.prefix("DryRun"); + if let Some(var_1906) = &input.dry_run { + scope_1905.boolean(*var_1906); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6700,44 +6705,44 @@ pub fn serialize_operation_describe_classic_link_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeClassicLinkInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1905 = writer.prefix("Filter"); - if let Some(var_1906) = &input.filters { - let mut list_1908 = scope_1905.start_list(true, Some("Filter")); - for item_1907 in var_1906 { + let mut scope_1907 = writer.prefix("Filter"); + if let Some(var_1908) = &input.filters { + let mut list_1910 = scope_1907.start_list(true, Some("Filter")); + for item_1909 in var_1908 { #[allow(unused_mut)] - let mut entry_1909 = list_1908.entry(); - crate::query_ser::serialize_structure_filter(entry_1909, item_1907); + let mut entry_1911 = list_1910.entry(); + crate::query_ser::serialize_structure_filter(entry_1911, item_1909); } - list_1908.finish(); + list_1910.finish(); } #[allow(unused_mut)] - let mut scope_1910 = writer.prefix("DryRun"); - if let Some(var_1911) = &input.dry_run { - scope_1910.boolean(*var_1911); + let mut scope_1912 = writer.prefix("DryRun"); + if let Some(var_1913) = &input.dry_run { + scope_1912.boolean(*var_1913); } #[allow(unused_mut)] - let mut scope_1912 = writer.prefix("InstanceId"); - if let Some(var_1913) = &input.instance_ids { - let mut list_1915 = scope_1912.start_list(true, Some("InstanceId")); - for item_1914 in var_1913 { + let mut scope_1914 = writer.prefix("InstanceId"); + if let Some(var_1915) = &input.instance_ids { + let mut list_1917 = scope_1914.start_list(true, Some("InstanceId")); + for item_1916 in var_1915 { #[allow(unused_mut)] - let mut entry_1916 = list_1915.entry(); - entry_1916.string(item_1914); + let mut entry_1918 = list_1917.entry(); + entry_1918.string(item_1916); } - list_1915.finish(); + list_1917.finish(); } #[allow(unused_mut)] - let mut scope_1917 = writer.prefix("MaxResults"); - if let Some(var_1918) = &input.max_results { - scope_1917.number( + let mut scope_1919 = writer.prefix("MaxResults"); + if let Some(var_1920) = &input.max_results { + scope_1919.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1918).into()), + smithy_types::Number::NegInt((*var_1920).into()), ); } #[allow(unused_mut)] - let mut scope_1919 = writer.prefix("NextToken"); - if let Some(var_1920) = &input.next_token { - scope_1919.string(var_1920); + let mut scope_1921 = writer.prefix("NextToken"); + if let Some(var_1922) = &input.next_token { + scope_1921.string(var_1922); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6754,37 +6759,37 @@ pub fn serialize_operation_describe_client_vpn_authorization_rules( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_1921 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1922) = &input.client_vpn_endpoint_id { - scope_1921.string(var_1922); + let mut scope_1923 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1924) = &input.client_vpn_endpoint_id { + scope_1923.string(var_1924); } #[allow(unused_mut)] - let mut scope_1923 = writer.prefix("DryRun"); - if let Some(var_1924) = &input.dry_run { - scope_1923.boolean(*var_1924); + let mut scope_1925 = writer.prefix("DryRun"); + if let Some(var_1926) = &input.dry_run { + scope_1925.boolean(*var_1926); } #[allow(unused_mut)] - let mut scope_1925 = writer.prefix("NextToken"); - if let Some(var_1926) = &input.next_token { - scope_1925.string(var_1926); + let mut scope_1927 = writer.prefix("NextToken"); + if let Some(var_1928) = &input.next_token { + scope_1927.string(var_1928); } #[allow(unused_mut)] - let mut scope_1927 = writer.prefix("Filter"); - if let Some(var_1928) = &input.filters { - let mut list_1930 = scope_1927.start_list(true, Some("Filter")); - for item_1929 in var_1928 { + let mut scope_1929 = writer.prefix("Filter"); + if let Some(var_1930) = &input.filters { + let mut list_1932 = scope_1929.start_list(true, Some("Filter")); + for item_1931 in var_1930 { #[allow(unused_mut)] - let mut entry_1931 = list_1930.entry(); - crate::query_ser::serialize_structure_filter(entry_1931, item_1929); + let mut entry_1933 = list_1932.entry(); + crate::query_ser::serialize_structure_filter(entry_1933, item_1931); } - list_1930.finish(); + list_1932.finish(); } #[allow(unused_mut)] - let mut scope_1932 = writer.prefix("MaxResults"); - if let Some(var_1933) = &input.max_results { - scope_1932.number( + let mut scope_1934 = writer.prefix("MaxResults"); + if let Some(var_1935) = &input.max_results { + scope_1934.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1933).into()), + smithy_types::Number::NegInt((*var_1935).into()), ); } writer.finish(); @@ -6799,38 +6804,38 @@ pub fn serialize_operation_describe_client_vpn_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeClientVpnConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1934 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1935) = &input.client_vpn_endpoint_id { - scope_1934.string(var_1935); + let mut scope_1936 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1937) = &input.client_vpn_endpoint_id { + scope_1936.string(var_1937); } #[allow(unused_mut)] - let mut scope_1936 = writer.prefix("Filter"); - if let Some(var_1937) = &input.filters { - let mut list_1939 = scope_1936.start_list(true, Some("Filter")); - for item_1938 in var_1937 { + let mut scope_1938 = writer.prefix("Filter"); + if let Some(var_1939) = &input.filters { + let mut list_1941 = scope_1938.start_list(true, Some("Filter")); + for item_1940 in var_1939 { #[allow(unused_mut)] - let mut entry_1940 = list_1939.entry(); - crate::query_ser::serialize_structure_filter(entry_1940, item_1938); + let mut entry_1942 = list_1941.entry(); + crate::query_ser::serialize_structure_filter(entry_1942, item_1940); } - list_1939.finish(); + list_1941.finish(); } #[allow(unused_mut)] - let mut scope_1941 = writer.prefix("NextToken"); - if let Some(var_1942) = &input.next_token { - scope_1941.string(var_1942); + let mut scope_1943 = writer.prefix("NextToken"); + if let Some(var_1944) = &input.next_token { + scope_1943.string(var_1944); } #[allow(unused_mut)] - let mut scope_1943 = writer.prefix("MaxResults"); - if let Some(var_1944) = &input.max_results { - scope_1943.number( + let mut scope_1945 = writer.prefix("MaxResults"); + if let Some(var_1946) = &input.max_results { + scope_1945.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1944).into()), + smithy_types::Number::NegInt((*var_1946).into()), ); } #[allow(unused_mut)] - let mut scope_1945 = writer.prefix("DryRun"); - if let Some(var_1946) = &input.dry_run { - scope_1945.boolean(*var_1946); + let mut scope_1947 = writer.prefix("DryRun"); + if let Some(var_1948) = &input.dry_run { + scope_1947.boolean(*var_1948); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6844,44 +6849,44 @@ pub fn serialize_operation_describe_client_vpn_endpoints( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeClientVpnEndpoints", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1947 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1948) = &input.client_vpn_endpoint_ids { - let mut list_1950 = scope_1947.start_list(true, Some("item")); - for item_1949 in var_1948 { + let mut scope_1949 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1950) = &input.client_vpn_endpoint_ids { + let mut list_1952 = scope_1949.start_list(true, Some("item")); + for item_1951 in var_1950 { #[allow(unused_mut)] - let mut entry_1951 = list_1950.entry(); - entry_1951.string(item_1949); + let mut entry_1953 = list_1952.entry(); + entry_1953.string(item_1951); } - list_1950.finish(); + list_1952.finish(); } #[allow(unused_mut)] - let mut scope_1952 = writer.prefix("MaxResults"); - if let Some(var_1953) = &input.max_results { - scope_1952.number( + let mut scope_1954 = writer.prefix("MaxResults"); + if let Some(var_1955) = &input.max_results { + scope_1954.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1953).into()), + smithy_types::Number::NegInt((*var_1955).into()), ); } #[allow(unused_mut)] - let mut scope_1954 = writer.prefix("NextToken"); - if let Some(var_1955) = &input.next_token { - scope_1954.string(var_1955); + let mut scope_1956 = writer.prefix("NextToken"); + if let Some(var_1957) = &input.next_token { + scope_1956.string(var_1957); } #[allow(unused_mut)] - let mut scope_1956 = writer.prefix("Filter"); - if let Some(var_1957) = &input.filters { - let mut list_1959 = scope_1956.start_list(true, Some("Filter")); - for item_1958 in var_1957 { + let mut scope_1958 = writer.prefix("Filter"); + if let Some(var_1959) = &input.filters { + let mut list_1961 = scope_1958.start_list(true, Some("Filter")); + for item_1960 in var_1959 { #[allow(unused_mut)] - let mut entry_1960 = list_1959.entry(); - crate::query_ser::serialize_structure_filter(entry_1960, item_1958); + let mut entry_1962 = list_1961.entry(); + crate::query_ser::serialize_structure_filter(entry_1962, item_1960); } - list_1959.finish(); + list_1961.finish(); } #[allow(unused_mut)] - let mut scope_1961 = writer.prefix("DryRun"); - if let Some(var_1962) = &input.dry_run { - scope_1961.boolean(*var_1962); + let mut scope_1963 = writer.prefix("DryRun"); + if let Some(var_1964) = &input.dry_run { + scope_1963.boolean(*var_1964); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6895,38 +6900,38 @@ pub fn serialize_operation_describe_client_vpn_routes( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeClientVpnRoutes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1963 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1964) = &input.client_vpn_endpoint_id { - scope_1963.string(var_1964); + let mut scope_1965 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1966) = &input.client_vpn_endpoint_id { + scope_1965.string(var_1966); } #[allow(unused_mut)] - let mut scope_1965 = writer.prefix("Filter"); - if let Some(var_1966) = &input.filters { - let mut list_1968 = scope_1965.start_list(true, Some("Filter")); - for item_1967 in var_1966 { + let mut scope_1967 = writer.prefix("Filter"); + if let Some(var_1968) = &input.filters { + let mut list_1970 = scope_1967.start_list(true, Some("Filter")); + for item_1969 in var_1968 { #[allow(unused_mut)] - let mut entry_1969 = list_1968.entry(); - crate::query_ser::serialize_structure_filter(entry_1969, item_1967); + let mut entry_1971 = list_1970.entry(); + crate::query_ser::serialize_structure_filter(entry_1971, item_1969); } - list_1968.finish(); + list_1970.finish(); } #[allow(unused_mut)] - let mut scope_1970 = writer.prefix("MaxResults"); - if let Some(var_1971) = &input.max_results { - scope_1970.number( + let mut scope_1972 = writer.prefix("MaxResults"); + if let Some(var_1973) = &input.max_results { + scope_1972.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1971).into()), + smithy_types::Number::NegInt((*var_1973).into()), ); } #[allow(unused_mut)] - let mut scope_1972 = writer.prefix("NextToken"); - if let Some(var_1973) = &input.next_token { - scope_1972.string(var_1973); + let mut scope_1974 = writer.prefix("NextToken"); + if let Some(var_1975) = &input.next_token { + scope_1974.string(var_1975); } #[allow(unused_mut)] - let mut scope_1974 = writer.prefix("DryRun"); - if let Some(var_1975) = &input.dry_run { - scope_1974.boolean(*var_1975); + let mut scope_1976 = writer.prefix("DryRun"); + if let Some(var_1977) = &input.dry_run { + scope_1976.boolean(*var_1977); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6940,49 +6945,49 @@ pub fn serialize_operation_describe_client_vpn_target_networks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeClientVpnTargetNetworks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1976 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_1977) = &input.client_vpn_endpoint_id { - scope_1976.string(var_1977); + let mut scope_1978 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_1979) = &input.client_vpn_endpoint_id { + scope_1978.string(var_1979); } #[allow(unused_mut)] - let mut scope_1978 = writer.prefix("AssociationIds"); - if let Some(var_1979) = &input.association_ids { - let mut list_1981 = scope_1978.start_list(true, Some("item")); - for item_1980 in var_1979 { + let mut scope_1980 = writer.prefix("AssociationIds"); + if let Some(var_1981) = &input.association_ids { + let mut list_1983 = scope_1980.start_list(true, Some("item")); + for item_1982 in var_1981 { #[allow(unused_mut)] - let mut entry_1982 = list_1981.entry(); - entry_1982.string(item_1980); + let mut entry_1984 = list_1983.entry(); + entry_1984.string(item_1982); } - list_1981.finish(); + list_1983.finish(); } #[allow(unused_mut)] - let mut scope_1983 = writer.prefix("MaxResults"); - if let Some(var_1984) = &input.max_results { - scope_1983.number( + let mut scope_1985 = writer.prefix("MaxResults"); + if let Some(var_1986) = &input.max_results { + scope_1985.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1984).into()), + smithy_types::Number::NegInt((*var_1986).into()), ); } #[allow(unused_mut)] - let mut scope_1985 = writer.prefix("NextToken"); - if let Some(var_1986) = &input.next_token { - scope_1985.string(var_1986); + let mut scope_1987 = writer.prefix("NextToken"); + if let Some(var_1988) = &input.next_token { + scope_1987.string(var_1988); } #[allow(unused_mut)] - let mut scope_1987 = writer.prefix("Filter"); - if let Some(var_1988) = &input.filters { - let mut list_1990 = scope_1987.start_list(true, Some("Filter")); - for item_1989 in var_1988 { + let mut scope_1989 = writer.prefix("Filter"); + if let Some(var_1990) = &input.filters { + let mut list_1992 = scope_1989.start_list(true, Some("Filter")); + for item_1991 in var_1990 { #[allow(unused_mut)] - let mut entry_1991 = list_1990.entry(); - crate::query_ser::serialize_structure_filter(entry_1991, item_1989); + let mut entry_1993 = list_1992.entry(); + crate::query_ser::serialize_structure_filter(entry_1993, item_1991); } - list_1990.finish(); + list_1992.finish(); } #[allow(unused_mut)] - let mut scope_1992 = writer.prefix("DryRun"); - if let Some(var_1993) = &input.dry_run { - scope_1992.boolean(*var_1993); + let mut scope_1994 = writer.prefix("DryRun"); + if let Some(var_1995) = &input.dry_run { + scope_1994.boolean(*var_1995); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -6995,44 +7000,44 @@ pub fn serialize_operation_describe_coip_pools( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeCoipPools", "2016-11-15"); #[allow(unused_mut)] - let mut scope_1994 = writer.prefix("PoolId"); - if let Some(var_1995) = &input.pool_ids { - let mut list_1997 = scope_1994.start_list(true, Some("item")); - for item_1996 in var_1995 { + let mut scope_1996 = writer.prefix("PoolId"); + if let Some(var_1997) = &input.pool_ids { + let mut list_1999 = scope_1996.start_list(true, Some("item")); + for item_1998 in var_1997 { #[allow(unused_mut)] - let mut entry_1998 = list_1997.entry(); - entry_1998.string(item_1996); + let mut entry_2000 = list_1999.entry(); + entry_2000.string(item_1998); } - list_1997.finish(); + list_1999.finish(); } #[allow(unused_mut)] - let mut scope_1999 = writer.prefix("Filter"); - if let Some(var_2000) = &input.filters { - let mut list_2002 = scope_1999.start_list(true, Some("Filter")); - for item_2001 in var_2000 { + let mut scope_2001 = writer.prefix("Filter"); + if let Some(var_2002) = &input.filters { + let mut list_2004 = scope_2001.start_list(true, Some("Filter")); + for item_2003 in var_2002 { #[allow(unused_mut)] - let mut entry_2003 = list_2002.entry(); - crate::query_ser::serialize_structure_filter(entry_2003, item_2001); + let mut entry_2005 = list_2004.entry(); + crate::query_ser::serialize_structure_filter(entry_2005, item_2003); } - list_2002.finish(); + list_2004.finish(); } #[allow(unused_mut)] - let mut scope_2004 = writer.prefix("MaxResults"); - if let Some(var_2005) = &input.max_results { - scope_2004.number( + let mut scope_2006 = writer.prefix("MaxResults"); + if let Some(var_2007) = &input.max_results { + scope_2006.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2005).into()), + smithy_types::Number::NegInt((*var_2007).into()), ); } #[allow(unused_mut)] - let mut scope_2006 = writer.prefix("NextToken"); - if let Some(var_2007) = &input.next_token { - scope_2006.string(var_2007); + let mut scope_2008 = writer.prefix("NextToken"); + if let Some(var_2009) = &input.next_token { + scope_2008.string(var_2009); } #[allow(unused_mut)] - let mut scope_2008 = writer.prefix("DryRun"); - if let Some(var_2009) = &input.dry_run { - scope_2008.boolean(*var_2009); + let mut scope_2010 = writer.prefix("DryRun"); + if let Some(var_2011) = &input.dry_run { + scope_2010.boolean(*var_2011); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7046,20 +7051,20 @@ pub fn serialize_operation_describe_conversion_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeConversionTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2010 = writer.prefix("ConversionTaskId"); - if let Some(var_2011) = &input.conversion_task_ids { - let mut list_2013 = scope_2010.start_list(true, Some("item")); - for item_2012 in var_2011 { + let mut scope_2012 = writer.prefix("ConversionTaskId"); + if let Some(var_2013) = &input.conversion_task_ids { + let mut list_2015 = scope_2012.start_list(true, Some("item")); + for item_2014 in var_2013 { #[allow(unused_mut)] - let mut entry_2014 = list_2013.entry(); - entry_2014.string(item_2012); + let mut entry_2016 = list_2015.entry(); + entry_2016.string(item_2014); } - list_2013.finish(); + list_2015.finish(); } #[allow(unused_mut)] - let mut scope_2015 = writer.prefix("DryRun"); - if let Some(var_2016) = &input.dry_run { - scope_2015.boolean(*var_2016); + let mut scope_2017 = writer.prefix("DryRun"); + if let Some(var_2018) = &input.dry_run { + scope_2017.boolean(*var_2018); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7073,31 +7078,31 @@ pub fn serialize_operation_describe_customer_gateways( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeCustomerGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2017 = writer.prefix("CustomerGatewayId"); - if let Some(var_2018) = &input.customer_gateway_ids { - let mut list_2020 = scope_2017.start_list(true, Some("CustomerGatewayId")); - for item_2019 in var_2018 { + let mut scope_2019 = writer.prefix("CustomerGatewayId"); + if let Some(var_2020) = &input.customer_gateway_ids { + let mut list_2022 = scope_2019.start_list(true, Some("CustomerGatewayId")); + for item_2021 in var_2020 { #[allow(unused_mut)] - let mut entry_2021 = list_2020.entry(); - entry_2021.string(item_2019); + let mut entry_2023 = list_2022.entry(); + entry_2023.string(item_2021); } - list_2020.finish(); + list_2022.finish(); } #[allow(unused_mut)] - let mut scope_2022 = writer.prefix("Filter"); - if let Some(var_2023) = &input.filters { - let mut list_2025 = scope_2022.start_list(true, Some("Filter")); - for item_2024 in var_2023 { + let mut scope_2024 = writer.prefix("Filter"); + if let Some(var_2025) = &input.filters { + let mut list_2027 = scope_2024.start_list(true, Some("Filter")); + for item_2026 in var_2025 { #[allow(unused_mut)] - let mut entry_2026 = list_2025.entry(); - crate::query_ser::serialize_structure_filter(entry_2026, item_2024); + let mut entry_2028 = list_2027.entry(); + crate::query_ser::serialize_structure_filter(entry_2028, item_2026); } - list_2025.finish(); + list_2027.finish(); } #[allow(unused_mut)] - let mut scope_2027 = writer.prefix("DryRun"); - if let Some(var_2028) = &input.dry_run { - scope_2027.boolean(*var_2028); + let mut scope_2029 = writer.prefix("DryRun"); + if let Some(var_2030) = &input.dry_run { + scope_2029.boolean(*var_2030); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7110,43 +7115,43 @@ pub fn serialize_operation_describe_dhcp_options( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeDhcpOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2029 = writer.prefix("DhcpOptionsId"); - if let Some(var_2030) = &input.dhcp_options_ids { - let mut list_2032 = scope_2029.start_list(true, Some("DhcpOptionsId")); - for item_2031 in var_2030 { + let mut scope_2031 = writer.prefix("DhcpOptionsId"); + if let Some(var_2032) = &input.dhcp_options_ids { + let mut list_2034 = scope_2031.start_list(true, Some("DhcpOptionsId")); + for item_2033 in var_2032 { #[allow(unused_mut)] - let mut entry_2033 = list_2032.entry(); - entry_2033.string(item_2031); + let mut entry_2035 = list_2034.entry(); + entry_2035.string(item_2033); } - list_2032.finish(); + list_2034.finish(); } #[allow(unused_mut)] - let mut scope_2034 = writer.prefix("Filter"); - if let Some(var_2035) = &input.filters { - let mut list_2037 = scope_2034.start_list(true, Some("Filter")); - for item_2036 in var_2035 { + let mut scope_2036 = writer.prefix("Filter"); + if let Some(var_2037) = &input.filters { + let mut list_2039 = scope_2036.start_list(true, Some("Filter")); + for item_2038 in var_2037 { #[allow(unused_mut)] - let mut entry_2038 = list_2037.entry(); - crate::query_ser::serialize_structure_filter(entry_2038, item_2036); + let mut entry_2040 = list_2039.entry(); + crate::query_ser::serialize_structure_filter(entry_2040, item_2038); } - list_2037.finish(); + list_2039.finish(); } #[allow(unused_mut)] - let mut scope_2039 = writer.prefix("DryRun"); - if let Some(var_2040) = &input.dry_run { - scope_2039.boolean(*var_2040); + let mut scope_2041 = writer.prefix("DryRun"); + if let Some(var_2042) = &input.dry_run { + scope_2041.boolean(*var_2042); } #[allow(unused_mut)] - let mut scope_2041 = writer.prefix("NextToken"); - if let Some(var_2042) = &input.next_token { - scope_2041.string(var_2042); + let mut scope_2043 = writer.prefix("NextToken"); + if let Some(var_2044) = &input.next_token { + scope_2043.string(var_2044); } #[allow(unused_mut)] - let mut scope_2043 = writer.prefix("MaxResults"); - if let Some(var_2044) = &input.max_results { - scope_2043.number( + let mut scope_2045 = writer.prefix("MaxResults"); + if let Some(var_2046) = &input.max_results { + scope_2045.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2044).into()), + smithy_types::Number::NegInt((*var_2046).into()), ); } writer.finish(); @@ -7164,44 +7169,44 @@ pub fn serialize_operation_describe_egress_only_internet_gateways( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2045 = writer.prefix("DryRun"); - if let Some(var_2046) = &input.dry_run { - scope_2045.boolean(*var_2046); + let mut scope_2047 = writer.prefix("DryRun"); + if let Some(var_2048) = &input.dry_run { + scope_2047.boolean(*var_2048); } #[allow(unused_mut)] - let mut scope_2047 = writer.prefix("EgressOnlyInternetGatewayId"); - if let Some(var_2048) = &input.egress_only_internet_gateway_ids { - let mut list_2050 = scope_2047.start_list(true, Some("item")); - for item_2049 in var_2048 { + let mut scope_2049 = writer.prefix("EgressOnlyInternetGatewayId"); + if let Some(var_2050) = &input.egress_only_internet_gateway_ids { + let mut list_2052 = scope_2049.start_list(true, Some("item")); + for item_2051 in var_2050 { #[allow(unused_mut)] - let mut entry_2051 = list_2050.entry(); - entry_2051.string(item_2049); + let mut entry_2053 = list_2052.entry(); + entry_2053.string(item_2051); } - list_2050.finish(); + list_2052.finish(); } #[allow(unused_mut)] - let mut scope_2052 = writer.prefix("MaxResults"); - if let Some(var_2053) = &input.max_results { - scope_2052.number( + let mut scope_2054 = writer.prefix("MaxResults"); + if let Some(var_2055) = &input.max_results { + scope_2054.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2053).into()), + smithy_types::Number::NegInt((*var_2055).into()), ); } #[allow(unused_mut)] - let mut scope_2054 = writer.prefix("NextToken"); - if let Some(var_2055) = &input.next_token { - scope_2054.string(var_2055); + let mut scope_2056 = writer.prefix("NextToken"); + if let Some(var_2057) = &input.next_token { + scope_2056.string(var_2057); } #[allow(unused_mut)] - let mut scope_2056 = writer.prefix("Filter"); - if let Some(var_2057) = &input.filters { - let mut list_2059 = scope_2056.start_list(true, Some("Filter")); - for item_2058 in var_2057 { + let mut scope_2058 = writer.prefix("Filter"); + if let Some(var_2059) = &input.filters { + let mut list_2061 = scope_2058.start_list(true, Some("Filter")); + for item_2060 in var_2059 { #[allow(unused_mut)] - let mut entry_2060 = list_2059.entry(); - crate::query_ser::serialize_structure_filter(entry_2060, item_2058); + let mut entry_2062 = list_2061.entry(); + crate::query_ser::serialize_structure_filter(entry_2062, item_2060); } - list_2059.finish(); + list_2061.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7214,44 +7219,44 @@ pub fn serialize_operation_describe_elastic_gpus( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeElasticGpus", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2061 = writer.prefix("ElasticGpuId"); - if let Some(var_2062) = &input.elastic_gpu_ids { - let mut list_2064 = scope_2061.start_list(true, Some("item")); - for item_2063 in var_2062 { + let mut scope_2063 = writer.prefix("ElasticGpuId"); + if let Some(var_2064) = &input.elastic_gpu_ids { + let mut list_2066 = scope_2063.start_list(true, Some("item")); + for item_2065 in var_2064 { #[allow(unused_mut)] - let mut entry_2065 = list_2064.entry(); - entry_2065.string(item_2063); + let mut entry_2067 = list_2066.entry(); + entry_2067.string(item_2065); } - list_2064.finish(); + list_2066.finish(); } #[allow(unused_mut)] - let mut scope_2066 = writer.prefix("DryRun"); - if let Some(var_2067) = &input.dry_run { - scope_2066.boolean(*var_2067); + let mut scope_2068 = writer.prefix("DryRun"); + if let Some(var_2069) = &input.dry_run { + scope_2068.boolean(*var_2069); } #[allow(unused_mut)] - let mut scope_2068 = writer.prefix("Filter"); - if let Some(var_2069) = &input.filters { - let mut list_2071 = scope_2068.start_list(true, Some("Filter")); - for item_2070 in var_2069 { + let mut scope_2070 = writer.prefix("Filter"); + if let Some(var_2071) = &input.filters { + let mut list_2073 = scope_2070.start_list(true, Some("Filter")); + for item_2072 in var_2071 { #[allow(unused_mut)] - let mut entry_2072 = list_2071.entry(); - crate::query_ser::serialize_structure_filter(entry_2072, item_2070); + let mut entry_2074 = list_2073.entry(); + crate::query_ser::serialize_structure_filter(entry_2074, item_2072); } - list_2071.finish(); + list_2073.finish(); } #[allow(unused_mut)] - let mut scope_2073 = writer.prefix("MaxResults"); - if let Some(var_2074) = &input.max_results { - scope_2073.number( + let mut scope_2075 = writer.prefix("MaxResults"); + if let Some(var_2076) = &input.max_results { + scope_2075.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2074).into()), + smithy_types::Number::NegInt((*var_2076).into()), ); } #[allow(unused_mut)] - let mut scope_2075 = writer.prefix("NextToken"); - if let Some(var_2076) = &input.next_token { - scope_2075.string(var_2076); + let mut scope_2077 = writer.prefix("NextToken"); + if let Some(var_2078) = &input.next_token { + scope_2077.string(var_2078); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7265,44 +7270,44 @@ pub fn serialize_operation_describe_export_image_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeExportImageTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2077 = writer.prefix("DryRun"); - if let Some(var_2078) = &input.dry_run { - scope_2077.boolean(*var_2078); + let mut scope_2079 = writer.prefix("DryRun"); + if let Some(var_2080) = &input.dry_run { + scope_2079.boolean(*var_2080); } #[allow(unused_mut)] - let mut scope_2079 = writer.prefix("Filter"); - if let Some(var_2080) = &input.filters { - let mut list_2082 = scope_2079.start_list(true, Some("Filter")); - for item_2081 in var_2080 { + let mut scope_2081 = writer.prefix("Filter"); + if let Some(var_2082) = &input.filters { + let mut list_2084 = scope_2081.start_list(true, Some("Filter")); + for item_2083 in var_2082 { #[allow(unused_mut)] - let mut entry_2083 = list_2082.entry(); - crate::query_ser::serialize_structure_filter(entry_2083, item_2081); + let mut entry_2085 = list_2084.entry(); + crate::query_ser::serialize_structure_filter(entry_2085, item_2083); } - list_2082.finish(); + list_2084.finish(); } #[allow(unused_mut)] - let mut scope_2084 = writer.prefix("ExportImageTaskId"); - if let Some(var_2085) = &input.export_image_task_ids { - let mut list_2087 = scope_2084.start_list(true, Some("ExportImageTaskId")); - for item_2086 in var_2085 { + let mut scope_2086 = writer.prefix("ExportImageTaskId"); + if let Some(var_2087) = &input.export_image_task_ids { + let mut list_2089 = scope_2086.start_list(true, Some("ExportImageTaskId")); + for item_2088 in var_2087 { #[allow(unused_mut)] - let mut entry_2088 = list_2087.entry(); - entry_2088.string(item_2086); + let mut entry_2090 = list_2089.entry(); + entry_2090.string(item_2088); } - list_2087.finish(); + list_2089.finish(); } #[allow(unused_mut)] - let mut scope_2089 = writer.prefix("MaxResults"); - if let Some(var_2090) = &input.max_results { - scope_2089.number( + let mut scope_2091 = writer.prefix("MaxResults"); + if let Some(var_2092) = &input.max_results { + scope_2091.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2090).into()), + smithy_types::Number::NegInt((*var_2092).into()), ); } #[allow(unused_mut)] - let mut scope_2091 = writer.prefix("NextToken"); - if let Some(var_2092) = &input.next_token { - scope_2091.string(var_2092); + let mut scope_2093 = writer.prefix("NextToken"); + if let Some(var_2094) = &input.next_token { + scope_2093.string(var_2094); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7315,26 +7320,26 @@ pub fn serialize_operation_describe_export_tasks( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeExportTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2093 = writer.prefix("ExportTaskId"); - if let Some(var_2094) = &input.export_task_ids { - let mut list_2096 = scope_2093.start_list(true, Some("ExportTaskId")); - for item_2095 in var_2094 { + let mut scope_2095 = writer.prefix("ExportTaskId"); + if let Some(var_2096) = &input.export_task_ids { + let mut list_2098 = scope_2095.start_list(true, Some("ExportTaskId")); + for item_2097 in var_2096 { #[allow(unused_mut)] - let mut entry_2097 = list_2096.entry(); - entry_2097.string(item_2095); + let mut entry_2099 = list_2098.entry(); + entry_2099.string(item_2097); } - list_2096.finish(); + list_2098.finish(); } #[allow(unused_mut)] - let mut scope_2098 = writer.prefix("Filter"); - if let Some(var_2099) = &input.filters { - let mut list_2101 = scope_2098.start_list(true, Some("Filter")); - for item_2100 in var_2099 { + let mut scope_2100 = writer.prefix("Filter"); + if let Some(var_2101) = &input.filters { + let mut list_2103 = scope_2100.start_list(true, Some("Filter")); + for item_2102 in var_2101 { #[allow(unused_mut)] - let mut entry_2102 = list_2101.entry(); - crate::query_ser::serialize_structure_filter(entry_2102, item_2100); + let mut entry_2104 = list_2103.entry(); + crate::query_ser::serialize_structure_filter(entry_2104, item_2102); } - list_2101.finish(); + list_2103.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7348,33 +7353,33 @@ pub fn serialize_operation_describe_fast_snapshot_restores( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFastSnapshotRestores", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2103 = writer.prefix("Filter"); - if let Some(var_2104) = &input.filters { - let mut list_2106 = scope_2103.start_list(true, Some("Filter")); - for item_2105 in var_2104 { + let mut scope_2105 = writer.prefix("Filter"); + if let Some(var_2106) = &input.filters { + let mut list_2108 = scope_2105.start_list(true, Some("Filter")); + for item_2107 in var_2106 { #[allow(unused_mut)] - let mut entry_2107 = list_2106.entry(); - crate::query_ser::serialize_structure_filter(entry_2107, item_2105); + let mut entry_2109 = list_2108.entry(); + crate::query_ser::serialize_structure_filter(entry_2109, item_2107); } - list_2106.finish(); + list_2108.finish(); } #[allow(unused_mut)] - let mut scope_2108 = writer.prefix("MaxResults"); - if let Some(var_2109) = &input.max_results { - scope_2108.number( + let mut scope_2110 = writer.prefix("MaxResults"); + if let Some(var_2111) = &input.max_results { + scope_2110.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2109).into()), + smithy_types::Number::NegInt((*var_2111).into()), ); } #[allow(unused_mut)] - let mut scope_2110 = writer.prefix("NextToken"); - if let Some(var_2111) = &input.next_token { - scope_2110.string(var_2111); + let mut scope_2112 = writer.prefix("NextToken"); + if let Some(var_2113) = &input.next_token { + scope_2112.string(var_2113); } #[allow(unused_mut)] - let mut scope_2112 = writer.prefix("DryRun"); - if let Some(var_2113) = &input.dry_run { - scope_2112.boolean(*var_2113); + let mut scope_2114 = writer.prefix("DryRun"); + if let Some(var_2115) = &input.dry_run { + scope_2114.boolean(*var_2115); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7387,37 +7392,37 @@ pub fn serialize_operation_describe_fleet_history( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFleetHistory", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2114 = writer.prefix("DryRun"); - if let Some(var_2115) = &input.dry_run { - scope_2114.boolean(*var_2115); + let mut scope_2116 = writer.prefix("DryRun"); + if let Some(var_2117) = &input.dry_run { + scope_2116.boolean(*var_2117); } #[allow(unused_mut)] - let mut scope_2116 = writer.prefix("EventType"); - if let Some(var_2117) = &input.event_type { - scope_2116.string(var_2117.as_str()); + let mut scope_2118 = writer.prefix("EventType"); + if let Some(var_2119) = &input.event_type { + scope_2118.string(var_2119.as_str()); } #[allow(unused_mut)] - let mut scope_2118 = writer.prefix("MaxResults"); - if let Some(var_2119) = &input.max_results { - scope_2118.number( + let mut scope_2120 = writer.prefix("MaxResults"); + if let Some(var_2121) = &input.max_results { + scope_2120.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2119).into()), + smithy_types::Number::NegInt((*var_2121).into()), ); } #[allow(unused_mut)] - let mut scope_2120 = writer.prefix("NextToken"); - if let Some(var_2121) = &input.next_token { - scope_2120.string(var_2121); + let mut scope_2122 = writer.prefix("NextToken"); + if let Some(var_2123) = &input.next_token { + scope_2122.string(var_2123); } #[allow(unused_mut)] - let mut scope_2122 = writer.prefix("FleetId"); - if let Some(var_2123) = &input.fleet_id { - scope_2122.string(var_2123); + let mut scope_2124 = writer.prefix("FleetId"); + if let Some(var_2125) = &input.fleet_id { + scope_2124.string(var_2125); } #[allow(unused_mut)] - let mut scope_2124 = writer.prefix("StartTime"); - if let Some(var_2125) = &input.start_time { - scope_2124.instant(var_2125, smithy_types::instant::Format::DateTime); + let mut scope_2126 = writer.prefix("StartTime"); + if let Some(var_2127) = &input.start_time { + scope_2126.instant(var_2127, smithy_types::instant::Format::DateTime); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7431,38 +7436,38 @@ pub fn serialize_operation_describe_fleet_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFleetInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2126 = writer.prefix("DryRun"); - if let Some(var_2127) = &input.dry_run { - scope_2126.boolean(*var_2127); + let mut scope_2128 = writer.prefix("DryRun"); + if let Some(var_2129) = &input.dry_run { + scope_2128.boolean(*var_2129); } #[allow(unused_mut)] - let mut scope_2128 = writer.prefix("MaxResults"); - if let Some(var_2129) = &input.max_results { - scope_2128.number( + let mut scope_2130 = writer.prefix("MaxResults"); + if let Some(var_2131) = &input.max_results { + scope_2130.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2129).into()), + smithy_types::Number::NegInt((*var_2131).into()), ); } #[allow(unused_mut)] - let mut scope_2130 = writer.prefix("NextToken"); - if let Some(var_2131) = &input.next_token { - scope_2130.string(var_2131); + let mut scope_2132 = writer.prefix("NextToken"); + if let Some(var_2133) = &input.next_token { + scope_2132.string(var_2133); } #[allow(unused_mut)] - let mut scope_2132 = writer.prefix("FleetId"); - if let Some(var_2133) = &input.fleet_id { - scope_2132.string(var_2133); + let mut scope_2134 = writer.prefix("FleetId"); + if let Some(var_2135) = &input.fleet_id { + scope_2134.string(var_2135); } #[allow(unused_mut)] - let mut scope_2134 = writer.prefix("Filter"); - if let Some(var_2135) = &input.filters { - let mut list_2137 = scope_2134.start_list(true, Some("Filter")); - for item_2136 in var_2135 { + let mut scope_2136 = writer.prefix("Filter"); + if let Some(var_2137) = &input.filters { + let mut list_2139 = scope_2136.start_list(true, Some("Filter")); + for item_2138 in var_2137 { #[allow(unused_mut)] - let mut entry_2138 = list_2137.entry(); - crate::query_ser::serialize_structure_filter(entry_2138, item_2136); + let mut entry_2140 = list_2139.entry(); + crate::query_ser::serialize_structure_filter(entry_2140, item_2138); } - list_2137.finish(); + list_2139.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7475,44 +7480,44 @@ pub fn serialize_operation_describe_fleets( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFleets", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2139 = writer.prefix("DryRun"); - if let Some(var_2140) = &input.dry_run { - scope_2139.boolean(*var_2140); + let mut scope_2141 = writer.prefix("DryRun"); + if let Some(var_2142) = &input.dry_run { + scope_2141.boolean(*var_2142); } #[allow(unused_mut)] - let mut scope_2141 = writer.prefix("MaxResults"); - if let Some(var_2142) = &input.max_results { - scope_2141.number( + let mut scope_2143 = writer.prefix("MaxResults"); + if let Some(var_2144) = &input.max_results { + scope_2143.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2142).into()), + smithy_types::Number::NegInt((*var_2144).into()), ); } #[allow(unused_mut)] - let mut scope_2143 = writer.prefix("NextToken"); - if let Some(var_2144) = &input.next_token { - scope_2143.string(var_2144); + let mut scope_2145 = writer.prefix("NextToken"); + if let Some(var_2146) = &input.next_token { + scope_2145.string(var_2146); } #[allow(unused_mut)] - let mut scope_2145 = writer.prefix("FleetId"); - if let Some(var_2146) = &input.fleet_ids { - let mut list_2148 = scope_2145.start_list(true, None); - for item_2147 in var_2146 { + let mut scope_2147 = writer.prefix("FleetId"); + if let Some(var_2148) = &input.fleet_ids { + let mut list_2150 = scope_2147.start_list(true, None); + for item_2149 in var_2148 { #[allow(unused_mut)] - let mut entry_2149 = list_2148.entry(); - entry_2149.string(item_2147); + let mut entry_2151 = list_2150.entry(); + entry_2151.string(item_2149); } - list_2148.finish(); + list_2150.finish(); } #[allow(unused_mut)] - let mut scope_2150 = writer.prefix("Filter"); - if let Some(var_2151) = &input.filters { - let mut list_2153 = scope_2150.start_list(true, Some("Filter")); - for item_2152 in var_2151 { + let mut scope_2152 = writer.prefix("Filter"); + if let Some(var_2153) = &input.filters { + let mut list_2155 = scope_2152.start_list(true, Some("Filter")); + for item_2154 in var_2153 { #[allow(unused_mut)] - let mut entry_2154 = list_2153.entry(); - crate::query_ser::serialize_structure_filter(entry_2154, item_2152); + let mut entry_2156 = list_2155.entry(); + crate::query_ser::serialize_structure_filter(entry_2156, item_2154); } - list_2153.finish(); + list_2155.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7525,44 +7530,44 @@ pub fn serialize_operation_describe_flow_logs( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFlowLogs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2155 = writer.prefix("DryRun"); - if let Some(var_2156) = &input.dry_run { - scope_2155.boolean(*var_2156); + let mut scope_2157 = writer.prefix("DryRun"); + if let Some(var_2158) = &input.dry_run { + scope_2157.boolean(*var_2158); } #[allow(unused_mut)] - let mut scope_2157 = writer.prefix("Filter"); - if let Some(var_2158) = &input.filter { - let mut list_2160 = scope_2157.start_list(true, Some("Filter")); - for item_2159 in var_2158 { + let mut scope_2159 = writer.prefix("Filter"); + if let Some(var_2160) = &input.filter { + let mut list_2162 = scope_2159.start_list(true, Some("Filter")); + for item_2161 in var_2160 { #[allow(unused_mut)] - let mut entry_2161 = list_2160.entry(); - crate::query_ser::serialize_structure_filter(entry_2161, item_2159); + let mut entry_2163 = list_2162.entry(); + crate::query_ser::serialize_structure_filter(entry_2163, item_2161); } - list_2160.finish(); + list_2162.finish(); } #[allow(unused_mut)] - let mut scope_2162 = writer.prefix("FlowLogId"); - if let Some(var_2163) = &input.flow_log_ids { - let mut list_2165 = scope_2162.start_list(true, Some("item")); - for item_2164 in var_2163 { + let mut scope_2164 = writer.prefix("FlowLogId"); + if let Some(var_2165) = &input.flow_log_ids { + let mut list_2167 = scope_2164.start_list(true, Some("item")); + for item_2166 in var_2165 { #[allow(unused_mut)] - let mut entry_2166 = list_2165.entry(); - entry_2166.string(item_2164); + let mut entry_2168 = list_2167.entry(); + entry_2168.string(item_2166); } - list_2165.finish(); + list_2167.finish(); } #[allow(unused_mut)] - let mut scope_2167 = writer.prefix("MaxResults"); - if let Some(var_2168) = &input.max_results { - scope_2167.number( + let mut scope_2169 = writer.prefix("MaxResults"); + if let Some(var_2170) = &input.max_results { + scope_2169.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2168).into()), + smithy_types::Number::NegInt((*var_2170).into()), ); } #[allow(unused_mut)] - let mut scope_2169 = writer.prefix("NextToken"); - if let Some(var_2170) = &input.next_token { - scope_2169.string(var_2170); + let mut scope_2171 = writer.prefix("NextToken"); + if let Some(var_2172) = &input.next_token { + scope_2171.string(var_2172); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7576,19 +7581,19 @@ pub fn serialize_operation_describe_fpga_image_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFpgaImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2171 = writer.prefix("DryRun"); - if let Some(var_2172) = &input.dry_run { - scope_2171.boolean(*var_2172); + let mut scope_2173 = writer.prefix("DryRun"); + if let Some(var_2174) = &input.dry_run { + scope_2173.boolean(*var_2174); } #[allow(unused_mut)] - let mut scope_2173 = writer.prefix("FpgaImageId"); - if let Some(var_2174) = &input.fpga_image_id { - scope_2173.string(var_2174); + let mut scope_2175 = writer.prefix("FpgaImageId"); + if let Some(var_2176) = &input.fpga_image_id { + scope_2175.string(var_2176); } #[allow(unused_mut)] - let mut scope_2175 = writer.prefix("Attribute"); - if let Some(var_2176) = &input.attribute { - scope_2175.string(var_2176.as_str()); + let mut scope_2177 = writer.prefix("Attribute"); + if let Some(var_2178) = &input.attribute { + scope_2177.string(var_2178.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7601,54 +7606,54 @@ pub fn serialize_operation_describe_fpga_images( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeFpgaImages", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2177 = writer.prefix("DryRun"); - if let Some(var_2178) = &input.dry_run { - scope_2177.boolean(*var_2178); + let mut scope_2179 = writer.prefix("DryRun"); + if let Some(var_2180) = &input.dry_run { + scope_2179.boolean(*var_2180); } #[allow(unused_mut)] - let mut scope_2179 = writer.prefix("FpgaImageId"); - if let Some(var_2180) = &input.fpga_image_ids { - let mut list_2182 = scope_2179.start_list(true, Some("item")); - for item_2181 in var_2180 { + let mut scope_2181 = writer.prefix("FpgaImageId"); + if let Some(var_2182) = &input.fpga_image_ids { + let mut list_2184 = scope_2181.start_list(true, Some("item")); + for item_2183 in var_2182 { #[allow(unused_mut)] - let mut entry_2183 = list_2182.entry(); - entry_2183.string(item_2181); + let mut entry_2185 = list_2184.entry(); + entry_2185.string(item_2183); } - list_2182.finish(); + list_2184.finish(); } #[allow(unused_mut)] - let mut scope_2184 = writer.prefix("Owner"); - if let Some(var_2185) = &input.owners { - let mut list_2187 = scope_2184.start_list(true, Some("Owner")); - for item_2186 in var_2185 { + let mut scope_2186 = writer.prefix("Owner"); + if let Some(var_2187) = &input.owners { + let mut list_2189 = scope_2186.start_list(true, Some("Owner")); + for item_2188 in var_2187 { #[allow(unused_mut)] - let mut entry_2188 = list_2187.entry(); - entry_2188.string(item_2186); + let mut entry_2190 = list_2189.entry(); + entry_2190.string(item_2188); } - list_2187.finish(); + list_2189.finish(); } #[allow(unused_mut)] - let mut scope_2189 = writer.prefix("Filter"); - if let Some(var_2190) = &input.filters { - let mut list_2192 = scope_2189.start_list(true, Some("Filter")); - for item_2191 in var_2190 { + let mut scope_2191 = writer.prefix("Filter"); + if let Some(var_2192) = &input.filters { + let mut list_2194 = scope_2191.start_list(true, Some("Filter")); + for item_2193 in var_2192 { #[allow(unused_mut)] - let mut entry_2193 = list_2192.entry(); - crate::query_ser::serialize_structure_filter(entry_2193, item_2191); + let mut entry_2195 = list_2194.entry(); + crate::query_ser::serialize_structure_filter(entry_2195, item_2193); } - list_2192.finish(); + list_2194.finish(); } #[allow(unused_mut)] - let mut scope_2194 = writer.prefix("NextToken"); - if let Some(var_2195) = &input.next_token { - scope_2194.string(var_2195); + let mut scope_2196 = writer.prefix("NextToken"); + if let Some(var_2197) = &input.next_token { + scope_2196.string(var_2197); } #[allow(unused_mut)] - let mut scope_2196 = writer.prefix("MaxResults"); - if let Some(var_2197) = &input.max_results { - scope_2196.number( + let mut scope_2198 = writer.prefix("MaxResults"); + if let Some(var_2199) = &input.max_results { + scope_2198.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2197).into()), + smithy_types::Number::NegInt((*var_2199).into()), ); } writer.finish(); @@ -7663,50 +7668,50 @@ pub fn serialize_operation_describe_host_reservation_offerings( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeHostReservationOfferings", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2198 = writer.prefix("Filter"); - if let Some(var_2199) = &input.filter { - let mut list_2201 = scope_2198.start_list(true, Some("Filter")); - for item_2200 in var_2199 { + let mut scope_2200 = writer.prefix("Filter"); + if let Some(var_2201) = &input.filter { + let mut list_2203 = scope_2200.start_list(true, Some("Filter")); + for item_2202 in var_2201 { #[allow(unused_mut)] - let mut entry_2202 = list_2201.entry(); - crate::query_ser::serialize_structure_filter(entry_2202, item_2200); + let mut entry_2204 = list_2203.entry(); + crate::query_ser::serialize_structure_filter(entry_2204, item_2202); } - list_2201.finish(); - } - #[allow(unused_mut)] - let mut scope_2203 = writer.prefix("MaxDuration"); - if let Some(var_2204) = &input.max_duration { - scope_2203.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2204).into()), - ); + list_2203.finish(); } #[allow(unused_mut)] - let mut scope_2205 = writer.prefix("MaxResults"); - if let Some(var_2206) = &input.max_results { + let mut scope_2205 = writer.prefix("MaxDuration"); + if let Some(var_2206) = &input.max_duration { scope_2205.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2206).into()), ); } #[allow(unused_mut)] - let mut scope_2207 = writer.prefix("MinDuration"); - if let Some(var_2208) = &input.min_duration { + let mut scope_2207 = writer.prefix("MaxResults"); + if let Some(var_2208) = &input.max_results { scope_2207.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2208).into()), ); } #[allow(unused_mut)] - let mut scope_2209 = writer.prefix("NextToken"); - if let Some(var_2210) = &input.next_token { - scope_2209.string(var_2210); + let mut scope_2209 = writer.prefix("MinDuration"); + if let Some(var_2210) = &input.min_duration { + scope_2209.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_2210).into()), + ); } #[allow(unused_mut)] - let mut scope_2211 = writer.prefix("OfferingId"); - if let Some(var_2212) = &input.offering_id { + let mut scope_2211 = writer.prefix("NextToken"); + if let Some(var_2212) = &input.next_token { scope_2211.string(var_2212); } + #[allow(unused_mut)] + let mut scope_2213 = writer.prefix("OfferingId"); + if let Some(var_2214) = &input.offering_id { + scope_2213.string(var_2214); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -7719,39 +7724,39 @@ pub fn serialize_operation_describe_host_reservations( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeHostReservations", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2213 = writer.prefix("Filter"); - if let Some(var_2214) = &input.filter { - let mut list_2216 = scope_2213.start_list(true, Some("Filter")); - for item_2215 in var_2214 { + let mut scope_2215 = writer.prefix("Filter"); + if let Some(var_2216) = &input.filter { + let mut list_2218 = scope_2215.start_list(true, Some("Filter")); + for item_2217 in var_2216 { #[allow(unused_mut)] - let mut entry_2217 = list_2216.entry(); - crate::query_ser::serialize_structure_filter(entry_2217, item_2215); + let mut entry_2219 = list_2218.entry(); + crate::query_ser::serialize_structure_filter(entry_2219, item_2217); } - list_2216.finish(); + list_2218.finish(); } #[allow(unused_mut)] - let mut scope_2218 = writer.prefix("HostReservationIdSet"); - if let Some(var_2219) = &input.host_reservation_id_set { - let mut list_2221 = scope_2218.start_list(true, Some("item")); - for item_2220 in var_2219 { + let mut scope_2220 = writer.prefix("HostReservationIdSet"); + if let Some(var_2221) = &input.host_reservation_id_set { + let mut list_2223 = scope_2220.start_list(true, Some("item")); + for item_2222 in var_2221 { #[allow(unused_mut)] - let mut entry_2222 = list_2221.entry(); - entry_2222.string(item_2220); + let mut entry_2224 = list_2223.entry(); + entry_2224.string(item_2222); } - list_2221.finish(); + list_2223.finish(); } #[allow(unused_mut)] - let mut scope_2223 = writer.prefix("MaxResults"); - if let Some(var_2224) = &input.max_results { - scope_2223.number( + let mut scope_2225 = writer.prefix("MaxResults"); + if let Some(var_2226) = &input.max_results { + scope_2225.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2224).into()), + smithy_types::Number::NegInt((*var_2226).into()), ); } #[allow(unused_mut)] - let mut scope_2225 = writer.prefix("NextToken"); - if let Some(var_2226) = &input.next_token { - scope_2225.string(var_2226); + let mut scope_2227 = writer.prefix("NextToken"); + if let Some(var_2228) = &input.next_token { + scope_2227.string(var_2228); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7764,39 +7769,39 @@ pub fn serialize_operation_describe_hosts( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeHosts", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2227 = writer.prefix("Filter"); - if let Some(var_2228) = &input.filter { - let mut list_2230 = scope_2227.start_list(true, Some("Filter")); - for item_2229 in var_2228 { + let mut scope_2229 = writer.prefix("Filter"); + if let Some(var_2230) = &input.filter { + let mut list_2232 = scope_2229.start_list(true, Some("Filter")); + for item_2231 in var_2230 { #[allow(unused_mut)] - let mut entry_2231 = list_2230.entry(); - crate::query_ser::serialize_structure_filter(entry_2231, item_2229); + let mut entry_2233 = list_2232.entry(); + crate::query_ser::serialize_structure_filter(entry_2233, item_2231); } - list_2230.finish(); + list_2232.finish(); } #[allow(unused_mut)] - let mut scope_2232 = writer.prefix("HostId"); - if let Some(var_2233) = &input.host_ids { - let mut list_2235 = scope_2232.start_list(true, Some("item")); - for item_2234 in var_2233 { + let mut scope_2234 = writer.prefix("HostId"); + if let Some(var_2235) = &input.host_ids { + let mut list_2237 = scope_2234.start_list(true, Some("item")); + for item_2236 in var_2235 { #[allow(unused_mut)] - let mut entry_2236 = list_2235.entry(); - entry_2236.string(item_2234); + let mut entry_2238 = list_2237.entry(); + entry_2238.string(item_2236); } - list_2235.finish(); + list_2237.finish(); } #[allow(unused_mut)] - let mut scope_2237 = writer.prefix("MaxResults"); - if let Some(var_2238) = &input.max_results { - scope_2237.number( + let mut scope_2239 = writer.prefix("MaxResults"); + if let Some(var_2240) = &input.max_results { + scope_2239.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2238).into()), + smithy_types::Number::NegInt((*var_2240).into()), ); } #[allow(unused_mut)] - let mut scope_2239 = writer.prefix("NextToken"); - if let Some(var_2240) = &input.next_token { - scope_2239.string(var_2240); + let mut scope_2241 = writer.prefix("NextToken"); + if let Some(var_2242) = &input.next_token { + scope_2241.string(var_2242); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7813,39 +7818,39 @@ pub fn serialize_operation_describe_iam_instance_profile_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2241 = writer.prefix("AssociationId"); - if let Some(var_2242) = &input.association_ids { - let mut list_2244 = scope_2241.start_list(true, Some("AssociationId")); - for item_2243 in var_2242 { + let mut scope_2243 = writer.prefix("AssociationId"); + if let Some(var_2244) = &input.association_ids { + let mut list_2246 = scope_2243.start_list(true, Some("AssociationId")); + for item_2245 in var_2244 { #[allow(unused_mut)] - let mut entry_2245 = list_2244.entry(); - entry_2245.string(item_2243); + let mut entry_2247 = list_2246.entry(); + entry_2247.string(item_2245); } - list_2244.finish(); + list_2246.finish(); } #[allow(unused_mut)] - let mut scope_2246 = writer.prefix("Filter"); - if let Some(var_2247) = &input.filters { - let mut list_2249 = scope_2246.start_list(true, Some("Filter")); - for item_2248 in var_2247 { + let mut scope_2248 = writer.prefix("Filter"); + if let Some(var_2249) = &input.filters { + let mut list_2251 = scope_2248.start_list(true, Some("Filter")); + for item_2250 in var_2249 { #[allow(unused_mut)] - let mut entry_2250 = list_2249.entry(); - crate::query_ser::serialize_structure_filter(entry_2250, item_2248); + let mut entry_2252 = list_2251.entry(); + crate::query_ser::serialize_structure_filter(entry_2252, item_2250); } - list_2249.finish(); + list_2251.finish(); } #[allow(unused_mut)] - let mut scope_2251 = writer.prefix("MaxResults"); - if let Some(var_2252) = &input.max_results { - scope_2251.number( + let mut scope_2253 = writer.prefix("MaxResults"); + if let Some(var_2254) = &input.max_results { + scope_2253.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2252).into()), + smithy_types::Number::NegInt((*var_2254).into()), ); } #[allow(unused_mut)] - let mut scope_2253 = writer.prefix("NextToken"); - if let Some(var_2254) = &input.next_token { - scope_2253.string(var_2254); + let mut scope_2255 = writer.prefix("NextToken"); + if let Some(var_2256) = &input.next_token { + scope_2255.string(var_2256); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7859,14 +7864,14 @@ pub fn serialize_operation_describe_identity_id_format( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeIdentityIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2255 = writer.prefix("PrincipalArn"); - if let Some(var_2256) = &input.principal_arn { - scope_2255.string(var_2256); + let mut scope_2257 = writer.prefix("PrincipalArn"); + if let Some(var_2258) = &input.principal_arn { + scope_2257.string(var_2258); } #[allow(unused_mut)] - let mut scope_2257 = writer.prefix("Resource"); - if let Some(var_2258) = &input.resource { - scope_2257.string(var_2258); + let mut scope_2259 = writer.prefix("Resource"); + if let Some(var_2260) = &input.resource { + scope_2259.string(var_2260); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7879,9 +7884,9 @@ pub fn serialize_operation_describe_id_format( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2259 = writer.prefix("Resource"); - if let Some(var_2260) = &input.resource { - scope_2259.string(var_2260); + let mut scope_2261 = writer.prefix("Resource"); + if let Some(var_2262) = &input.resource { + scope_2261.string(var_2262); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7895,19 +7900,19 @@ pub fn serialize_operation_describe_image_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2261 = writer.prefix("Attribute"); - if let Some(var_2262) = &input.attribute { - scope_2261.string(var_2262.as_str()); + let mut scope_2263 = writer.prefix("Attribute"); + if let Some(var_2264) = &input.attribute { + scope_2263.string(var_2264.as_str()); } #[allow(unused_mut)] - let mut scope_2263 = writer.prefix("ImageId"); - if let Some(var_2264) = &input.image_id { - scope_2263.string(var_2264); + let mut scope_2265 = writer.prefix("ImageId"); + if let Some(var_2266) = &input.image_id { + scope_2265.string(var_2266); } #[allow(unused_mut)] - let mut scope_2265 = writer.prefix("DryRun"); - if let Some(var_2266) = &input.dry_run { - scope_2265.boolean(*var_2266); + let mut scope_2267 = writer.prefix("DryRun"); + if let Some(var_2268) = &input.dry_run { + scope_2267.boolean(*var_2268); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7920,58 +7925,58 @@ pub fn serialize_operation_describe_images( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeImages", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2267 = writer.prefix("ExecutableBy"); - if let Some(var_2268) = &input.executable_users { - let mut list_2270 = scope_2267.start_list(true, Some("ExecutableBy")); - for item_2269 in var_2268 { + let mut scope_2269 = writer.prefix("ExecutableBy"); + if let Some(var_2270) = &input.executable_users { + let mut list_2272 = scope_2269.start_list(true, Some("ExecutableBy")); + for item_2271 in var_2270 { #[allow(unused_mut)] - let mut entry_2271 = list_2270.entry(); - entry_2271.string(item_2269); + let mut entry_2273 = list_2272.entry(); + entry_2273.string(item_2271); } - list_2270.finish(); + list_2272.finish(); } #[allow(unused_mut)] - let mut scope_2272 = writer.prefix("Filter"); - if let Some(var_2273) = &input.filters { - let mut list_2275 = scope_2272.start_list(true, Some("Filter")); - for item_2274 in var_2273 { + let mut scope_2274 = writer.prefix("Filter"); + if let Some(var_2275) = &input.filters { + let mut list_2277 = scope_2274.start_list(true, Some("Filter")); + for item_2276 in var_2275 { #[allow(unused_mut)] - let mut entry_2276 = list_2275.entry(); - crate::query_ser::serialize_structure_filter(entry_2276, item_2274); + let mut entry_2278 = list_2277.entry(); + crate::query_ser::serialize_structure_filter(entry_2278, item_2276); } - list_2275.finish(); + list_2277.finish(); } #[allow(unused_mut)] - let mut scope_2277 = writer.prefix("ImageId"); - if let Some(var_2278) = &input.image_ids { - let mut list_2280 = scope_2277.start_list(true, Some("ImageId")); - for item_2279 in var_2278 { + let mut scope_2279 = writer.prefix("ImageId"); + if let Some(var_2280) = &input.image_ids { + let mut list_2282 = scope_2279.start_list(true, Some("ImageId")); + for item_2281 in var_2280 { #[allow(unused_mut)] - let mut entry_2281 = list_2280.entry(); - entry_2281.string(item_2279); + let mut entry_2283 = list_2282.entry(); + entry_2283.string(item_2281); } - list_2280.finish(); + list_2282.finish(); } #[allow(unused_mut)] - let mut scope_2282 = writer.prefix("Owner"); - if let Some(var_2283) = &input.owners { - let mut list_2285 = scope_2282.start_list(true, Some("Owner")); - for item_2284 in var_2283 { + let mut scope_2284 = writer.prefix("Owner"); + if let Some(var_2285) = &input.owners { + let mut list_2287 = scope_2284.start_list(true, Some("Owner")); + for item_2286 in var_2285 { #[allow(unused_mut)] - let mut entry_2286 = list_2285.entry(); - entry_2286.string(item_2284); + let mut entry_2288 = list_2287.entry(); + entry_2288.string(item_2286); } - list_2285.finish(); + list_2287.finish(); } #[allow(unused_mut)] - let mut scope_2287 = writer.prefix("IncludeDeprecated"); - if let Some(var_2288) = &input.include_deprecated { - scope_2287.boolean(*var_2288); + let mut scope_2289 = writer.prefix("IncludeDeprecated"); + if let Some(var_2290) = &input.include_deprecated { + scope_2289.boolean(*var_2290); } #[allow(unused_mut)] - let mut scope_2289 = writer.prefix("DryRun"); - if let Some(var_2290) = &input.dry_run { - scope_2289.boolean(*var_2290); + let mut scope_2291 = writer.prefix("DryRun"); + if let Some(var_2292) = &input.dry_run { + scope_2291.boolean(*var_2292); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -7985,44 +7990,44 @@ pub fn serialize_operation_describe_import_image_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeImportImageTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2291 = writer.prefix("DryRun"); - if let Some(var_2292) = &input.dry_run { - scope_2291.boolean(*var_2292); + let mut scope_2293 = writer.prefix("DryRun"); + if let Some(var_2294) = &input.dry_run { + scope_2293.boolean(*var_2294); } #[allow(unused_mut)] - let mut scope_2293 = writer.prefix("Filters"); - if let Some(var_2294) = &input.filters { - let mut list_2296 = scope_2293.start_list(true, Some("Filter")); - for item_2295 in var_2294 { + let mut scope_2295 = writer.prefix("Filters"); + if let Some(var_2296) = &input.filters { + let mut list_2298 = scope_2295.start_list(true, Some("Filter")); + for item_2297 in var_2296 { #[allow(unused_mut)] - let mut entry_2297 = list_2296.entry(); - crate::query_ser::serialize_structure_filter(entry_2297, item_2295); + let mut entry_2299 = list_2298.entry(); + crate::query_ser::serialize_structure_filter(entry_2299, item_2297); } - list_2296.finish(); + list_2298.finish(); } #[allow(unused_mut)] - let mut scope_2298 = writer.prefix("ImportTaskId"); - if let Some(var_2299) = &input.import_task_ids { - let mut list_2301 = scope_2298.start_list(true, Some("ImportTaskId")); - for item_2300 in var_2299 { + let mut scope_2300 = writer.prefix("ImportTaskId"); + if let Some(var_2301) = &input.import_task_ids { + let mut list_2303 = scope_2300.start_list(true, Some("ImportTaskId")); + for item_2302 in var_2301 { #[allow(unused_mut)] - let mut entry_2302 = list_2301.entry(); - entry_2302.string(item_2300); + let mut entry_2304 = list_2303.entry(); + entry_2304.string(item_2302); } - list_2301.finish(); + list_2303.finish(); } #[allow(unused_mut)] - let mut scope_2303 = writer.prefix("MaxResults"); - if let Some(var_2304) = &input.max_results { - scope_2303.number( + let mut scope_2305 = writer.prefix("MaxResults"); + if let Some(var_2306) = &input.max_results { + scope_2305.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2304).into()), + smithy_types::Number::NegInt((*var_2306).into()), ); } #[allow(unused_mut)] - let mut scope_2305 = writer.prefix("NextToken"); - if let Some(var_2306) = &input.next_token { - scope_2305.string(var_2306); + let mut scope_2307 = writer.prefix("NextToken"); + if let Some(var_2308) = &input.next_token { + scope_2307.string(var_2308); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8036,44 +8041,44 @@ pub fn serialize_operation_describe_import_snapshot_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeImportSnapshotTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2307 = writer.prefix("DryRun"); - if let Some(var_2308) = &input.dry_run { - scope_2307.boolean(*var_2308); + let mut scope_2309 = writer.prefix("DryRun"); + if let Some(var_2310) = &input.dry_run { + scope_2309.boolean(*var_2310); } #[allow(unused_mut)] - let mut scope_2309 = writer.prefix("Filters"); - if let Some(var_2310) = &input.filters { - let mut list_2312 = scope_2309.start_list(true, Some("Filter")); - for item_2311 in var_2310 { + let mut scope_2311 = writer.prefix("Filters"); + if let Some(var_2312) = &input.filters { + let mut list_2314 = scope_2311.start_list(true, Some("Filter")); + for item_2313 in var_2312 { #[allow(unused_mut)] - let mut entry_2313 = list_2312.entry(); - crate::query_ser::serialize_structure_filter(entry_2313, item_2311); + let mut entry_2315 = list_2314.entry(); + crate::query_ser::serialize_structure_filter(entry_2315, item_2313); } - list_2312.finish(); + list_2314.finish(); } #[allow(unused_mut)] - let mut scope_2314 = writer.prefix("ImportTaskId"); - if let Some(var_2315) = &input.import_task_ids { - let mut list_2317 = scope_2314.start_list(true, Some("ImportTaskId")); - for item_2316 in var_2315 { + let mut scope_2316 = writer.prefix("ImportTaskId"); + if let Some(var_2317) = &input.import_task_ids { + let mut list_2319 = scope_2316.start_list(true, Some("ImportTaskId")); + for item_2318 in var_2317 { #[allow(unused_mut)] - let mut entry_2318 = list_2317.entry(); - entry_2318.string(item_2316); + let mut entry_2320 = list_2319.entry(); + entry_2320.string(item_2318); } - list_2317.finish(); + list_2319.finish(); } #[allow(unused_mut)] - let mut scope_2319 = writer.prefix("MaxResults"); - if let Some(var_2320) = &input.max_results { - scope_2319.number( + let mut scope_2321 = writer.prefix("MaxResults"); + if let Some(var_2322) = &input.max_results { + scope_2321.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2320).into()), + smithy_types::Number::NegInt((*var_2322).into()), ); } #[allow(unused_mut)] - let mut scope_2321 = writer.prefix("NextToken"); - if let Some(var_2322) = &input.next_token { - scope_2321.string(var_2322); + let mut scope_2323 = writer.prefix("NextToken"); + if let Some(var_2324) = &input.next_token { + scope_2323.string(var_2324); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8087,19 +8092,19 @@ pub fn serialize_operation_describe_instance_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstanceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2323 = writer.prefix("Attribute"); - if let Some(var_2324) = &input.attribute { - scope_2323.string(var_2324.as_str()); + let mut scope_2325 = writer.prefix("Attribute"); + if let Some(var_2326) = &input.attribute { + scope_2325.string(var_2326.as_str()); } #[allow(unused_mut)] - let mut scope_2325 = writer.prefix("DryRun"); - if let Some(var_2326) = &input.dry_run { - scope_2325.boolean(*var_2326); + let mut scope_2327 = writer.prefix("DryRun"); + if let Some(var_2328) = &input.dry_run { + scope_2327.boolean(*var_2328); } #[allow(unused_mut)] - let mut scope_2327 = writer.prefix("InstanceId"); - if let Some(var_2328) = &input.instance_id { - scope_2327.string(var_2328); + let mut scope_2329 = writer.prefix("InstanceId"); + if let Some(var_2330) = &input.instance_id { + scope_2329.string(var_2330); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8116,44 +8121,44 @@ pub fn serialize_operation_describe_instance_credit_specifications( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2329 = writer.prefix("DryRun"); - if let Some(var_2330) = &input.dry_run { - scope_2329.boolean(*var_2330); + let mut scope_2331 = writer.prefix("DryRun"); + if let Some(var_2332) = &input.dry_run { + scope_2331.boolean(*var_2332); } #[allow(unused_mut)] - let mut scope_2331 = writer.prefix("Filter"); - if let Some(var_2332) = &input.filters { - let mut list_2334 = scope_2331.start_list(true, Some("Filter")); - for item_2333 in var_2332 { + let mut scope_2333 = writer.prefix("Filter"); + if let Some(var_2334) = &input.filters { + let mut list_2336 = scope_2333.start_list(true, Some("Filter")); + for item_2335 in var_2334 { #[allow(unused_mut)] - let mut entry_2335 = list_2334.entry(); - crate::query_ser::serialize_structure_filter(entry_2335, item_2333); + let mut entry_2337 = list_2336.entry(); + crate::query_ser::serialize_structure_filter(entry_2337, item_2335); } - list_2334.finish(); + list_2336.finish(); } #[allow(unused_mut)] - let mut scope_2336 = writer.prefix("InstanceId"); - if let Some(var_2337) = &input.instance_ids { - let mut list_2339 = scope_2336.start_list(true, Some("InstanceId")); - for item_2338 in var_2337 { + let mut scope_2338 = writer.prefix("InstanceId"); + if let Some(var_2339) = &input.instance_ids { + let mut list_2341 = scope_2338.start_list(true, Some("InstanceId")); + for item_2340 in var_2339 { #[allow(unused_mut)] - let mut entry_2340 = list_2339.entry(); - entry_2340.string(item_2338); + let mut entry_2342 = list_2341.entry(); + entry_2342.string(item_2340); } - list_2339.finish(); + list_2341.finish(); } #[allow(unused_mut)] - let mut scope_2341 = writer.prefix("MaxResults"); - if let Some(var_2342) = &input.max_results { - scope_2341.number( + let mut scope_2343 = writer.prefix("MaxResults"); + if let Some(var_2344) = &input.max_results { + scope_2343.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2342).into()), + smithy_types::Number::NegInt((*var_2344).into()), ); } #[allow(unused_mut)] - let mut scope_2343 = writer.prefix("NextToken"); - if let Some(var_2344) = &input.next_token { - scope_2343.string(var_2344); + let mut scope_2345 = writer.prefix("NextToken"); + if let Some(var_2346) = &input.next_token { + scope_2345.string(var_2346); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8170,9 +8175,9 @@ pub fn serialize_operation_describe_instance_event_notification_attributes( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2345 = writer.prefix("DryRun"); - if let Some(var_2346) = &input.dry_run { - scope_2345.boolean(*var_2346); + let mut scope_2347 = writer.prefix("DryRun"); + if let Some(var_2348) = &input.dry_run { + scope_2347.boolean(*var_2348); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8186,44 +8191,44 @@ pub fn serialize_operation_describe_instance_event_windows( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstanceEventWindows", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2347 = writer.prefix("DryRun"); - if let Some(var_2348) = &input.dry_run { - scope_2347.boolean(*var_2348); + let mut scope_2349 = writer.prefix("DryRun"); + if let Some(var_2350) = &input.dry_run { + scope_2349.boolean(*var_2350); } #[allow(unused_mut)] - let mut scope_2349 = writer.prefix("InstanceEventWindowId"); - if let Some(var_2350) = &input.instance_event_window_ids { - let mut list_2352 = scope_2349.start_list(true, Some("InstanceEventWindowId")); - for item_2351 in var_2350 { + let mut scope_2351 = writer.prefix("InstanceEventWindowId"); + if let Some(var_2352) = &input.instance_event_window_ids { + let mut list_2354 = scope_2351.start_list(true, Some("InstanceEventWindowId")); + for item_2353 in var_2352 { #[allow(unused_mut)] - let mut entry_2353 = list_2352.entry(); - entry_2353.string(item_2351); + let mut entry_2355 = list_2354.entry(); + entry_2355.string(item_2353); } - list_2352.finish(); + list_2354.finish(); } #[allow(unused_mut)] - let mut scope_2354 = writer.prefix("Filter"); - if let Some(var_2355) = &input.filters { - let mut list_2357 = scope_2354.start_list(true, Some("Filter")); - for item_2356 in var_2355 { + let mut scope_2356 = writer.prefix("Filter"); + if let Some(var_2357) = &input.filters { + let mut list_2359 = scope_2356.start_list(true, Some("Filter")); + for item_2358 in var_2357 { #[allow(unused_mut)] - let mut entry_2358 = list_2357.entry(); - crate::query_ser::serialize_structure_filter(entry_2358, item_2356); + let mut entry_2360 = list_2359.entry(); + crate::query_ser::serialize_structure_filter(entry_2360, item_2358); } - list_2357.finish(); + list_2359.finish(); } #[allow(unused_mut)] - let mut scope_2359 = writer.prefix("MaxResults"); - if let Some(var_2360) = &input.max_results { - scope_2359.number( + let mut scope_2361 = writer.prefix("MaxResults"); + if let Some(var_2362) = &input.max_results { + scope_2361.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2360).into()), + smithy_types::Number::NegInt((*var_2362).into()), ); } #[allow(unused_mut)] - let mut scope_2361 = writer.prefix("NextToken"); - if let Some(var_2362) = &input.next_token { - scope_2361.string(var_2362); + let mut scope_2363 = writer.prefix("NextToken"); + if let Some(var_2364) = &input.next_token { + scope_2363.string(var_2364); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8236,44 +8241,44 @@ pub fn serialize_operation_describe_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2363 = writer.prefix("Filter"); - if let Some(var_2364) = &input.filters { - let mut list_2366 = scope_2363.start_list(true, Some("Filter")); - for item_2365 in var_2364 { + let mut scope_2365 = writer.prefix("Filter"); + if let Some(var_2366) = &input.filters { + let mut list_2368 = scope_2365.start_list(true, Some("Filter")); + for item_2367 in var_2366 { #[allow(unused_mut)] - let mut entry_2367 = list_2366.entry(); - crate::query_ser::serialize_structure_filter(entry_2367, item_2365); + let mut entry_2369 = list_2368.entry(); + crate::query_ser::serialize_structure_filter(entry_2369, item_2367); } - list_2366.finish(); + list_2368.finish(); } #[allow(unused_mut)] - let mut scope_2368 = writer.prefix("InstanceId"); - if let Some(var_2369) = &input.instance_ids { - let mut list_2371 = scope_2368.start_list(true, Some("InstanceId")); - for item_2370 in var_2369 { + let mut scope_2370 = writer.prefix("InstanceId"); + if let Some(var_2371) = &input.instance_ids { + let mut list_2373 = scope_2370.start_list(true, Some("InstanceId")); + for item_2372 in var_2371 { #[allow(unused_mut)] - let mut entry_2372 = list_2371.entry(); - entry_2372.string(item_2370); + let mut entry_2374 = list_2373.entry(); + entry_2374.string(item_2372); } - list_2371.finish(); + list_2373.finish(); } #[allow(unused_mut)] - let mut scope_2373 = writer.prefix("DryRun"); - if let Some(var_2374) = &input.dry_run { - scope_2373.boolean(*var_2374); + let mut scope_2375 = writer.prefix("DryRun"); + if let Some(var_2376) = &input.dry_run { + scope_2375.boolean(*var_2376); } #[allow(unused_mut)] - let mut scope_2375 = writer.prefix("MaxResults"); - if let Some(var_2376) = &input.max_results { - scope_2375.number( + let mut scope_2377 = writer.prefix("MaxResults"); + if let Some(var_2378) = &input.max_results { + scope_2377.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2376).into()), + smithy_types::Number::NegInt((*var_2378).into()), ); } #[allow(unused_mut)] - let mut scope_2377 = writer.prefix("NextToken"); - if let Some(var_2378) = &input.next_token { - scope_2377.string(var_2378); + let mut scope_2379 = writer.prefix("NextToken"); + if let Some(var_2380) = &input.next_token { + scope_2379.string(var_2380); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8287,49 +8292,49 @@ pub fn serialize_operation_describe_instance_status( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstanceStatus", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2379 = writer.prefix("Filter"); - if let Some(var_2380) = &input.filters { - let mut list_2382 = scope_2379.start_list(true, Some("Filter")); - for item_2381 in var_2380 { + let mut scope_2381 = writer.prefix("Filter"); + if let Some(var_2382) = &input.filters { + let mut list_2384 = scope_2381.start_list(true, Some("Filter")); + for item_2383 in var_2382 { #[allow(unused_mut)] - let mut entry_2383 = list_2382.entry(); - crate::query_ser::serialize_structure_filter(entry_2383, item_2381); + let mut entry_2385 = list_2384.entry(); + crate::query_ser::serialize_structure_filter(entry_2385, item_2383); } - list_2382.finish(); + list_2384.finish(); } #[allow(unused_mut)] - let mut scope_2384 = writer.prefix("InstanceId"); - if let Some(var_2385) = &input.instance_ids { - let mut list_2387 = scope_2384.start_list(true, Some("InstanceId")); - for item_2386 in var_2385 { + let mut scope_2386 = writer.prefix("InstanceId"); + if let Some(var_2387) = &input.instance_ids { + let mut list_2389 = scope_2386.start_list(true, Some("InstanceId")); + for item_2388 in var_2387 { #[allow(unused_mut)] - let mut entry_2388 = list_2387.entry(); - entry_2388.string(item_2386); + let mut entry_2390 = list_2389.entry(); + entry_2390.string(item_2388); } - list_2387.finish(); + list_2389.finish(); } #[allow(unused_mut)] - let mut scope_2389 = writer.prefix("MaxResults"); - if let Some(var_2390) = &input.max_results { - scope_2389.number( + let mut scope_2391 = writer.prefix("MaxResults"); + if let Some(var_2392) = &input.max_results { + scope_2391.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2390).into()), + smithy_types::Number::NegInt((*var_2392).into()), ); } #[allow(unused_mut)] - let mut scope_2391 = writer.prefix("NextToken"); - if let Some(var_2392) = &input.next_token { - scope_2391.string(var_2392); + let mut scope_2393 = writer.prefix("NextToken"); + if let Some(var_2394) = &input.next_token { + scope_2393.string(var_2394); } #[allow(unused_mut)] - let mut scope_2393 = writer.prefix("DryRun"); - if let Some(var_2394) = &input.dry_run { - scope_2393.boolean(*var_2394); + let mut scope_2395 = writer.prefix("DryRun"); + if let Some(var_2396) = &input.dry_run { + scope_2395.boolean(*var_2396); } #[allow(unused_mut)] - let mut scope_2395 = writer.prefix("IncludeAllInstances"); - if let Some(var_2396) = &input.include_all_instances { - scope_2395.boolean(*var_2396); + let mut scope_2397 = writer.prefix("IncludeAllInstances"); + if let Some(var_2398) = &input.include_all_instances { + scope_2397.boolean(*var_2398); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8343,38 +8348,38 @@ pub fn serialize_operation_describe_instance_type_offerings( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstanceTypeOfferings", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2397 = writer.prefix("DryRun"); - if let Some(var_2398) = &input.dry_run { - scope_2397.boolean(*var_2398); + let mut scope_2399 = writer.prefix("DryRun"); + if let Some(var_2400) = &input.dry_run { + scope_2399.boolean(*var_2400); } #[allow(unused_mut)] - let mut scope_2399 = writer.prefix("LocationType"); - if let Some(var_2400) = &input.location_type { - scope_2399.string(var_2400.as_str()); + let mut scope_2401 = writer.prefix("LocationType"); + if let Some(var_2402) = &input.location_type { + scope_2401.string(var_2402.as_str()); } #[allow(unused_mut)] - let mut scope_2401 = writer.prefix("Filter"); - if let Some(var_2402) = &input.filters { - let mut list_2404 = scope_2401.start_list(true, Some("Filter")); - for item_2403 in var_2402 { + let mut scope_2403 = writer.prefix("Filter"); + if let Some(var_2404) = &input.filters { + let mut list_2406 = scope_2403.start_list(true, Some("Filter")); + for item_2405 in var_2404 { #[allow(unused_mut)] - let mut entry_2405 = list_2404.entry(); - crate::query_ser::serialize_structure_filter(entry_2405, item_2403); + let mut entry_2407 = list_2406.entry(); + crate::query_ser::serialize_structure_filter(entry_2407, item_2405); } - list_2404.finish(); + list_2406.finish(); } #[allow(unused_mut)] - let mut scope_2406 = writer.prefix("MaxResults"); - if let Some(var_2407) = &input.max_results { - scope_2406.number( + let mut scope_2408 = writer.prefix("MaxResults"); + if let Some(var_2409) = &input.max_results { + scope_2408.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2407).into()), + smithy_types::Number::NegInt((*var_2409).into()), ); } #[allow(unused_mut)] - let mut scope_2408 = writer.prefix("NextToken"); - if let Some(var_2409) = &input.next_token { - scope_2408.string(var_2409); + let mut scope_2410 = writer.prefix("NextToken"); + if let Some(var_2411) = &input.next_token { + scope_2410.string(var_2411); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8388,44 +8393,44 @@ pub fn serialize_operation_describe_instance_types( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInstanceTypes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2410 = writer.prefix("DryRun"); - if let Some(var_2411) = &input.dry_run { - scope_2410.boolean(*var_2411); + let mut scope_2412 = writer.prefix("DryRun"); + if let Some(var_2413) = &input.dry_run { + scope_2412.boolean(*var_2413); } #[allow(unused_mut)] - let mut scope_2412 = writer.prefix("InstanceType"); - if let Some(var_2413) = &input.instance_types { - let mut list_2415 = scope_2412.start_list(true, None); - for item_2414 in var_2413 { + let mut scope_2414 = writer.prefix("InstanceType"); + if let Some(var_2415) = &input.instance_types { + let mut list_2417 = scope_2414.start_list(true, None); + for item_2416 in var_2415 { #[allow(unused_mut)] - let mut entry_2416 = list_2415.entry(); - entry_2416.string(item_2414.as_str()); + let mut entry_2418 = list_2417.entry(); + entry_2418.string(item_2416.as_str()); } - list_2415.finish(); + list_2417.finish(); } #[allow(unused_mut)] - let mut scope_2417 = writer.prefix("Filter"); - if let Some(var_2418) = &input.filters { - let mut list_2420 = scope_2417.start_list(true, Some("Filter")); - for item_2419 in var_2418 { + let mut scope_2419 = writer.prefix("Filter"); + if let Some(var_2420) = &input.filters { + let mut list_2422 = scope_2419.start_list(true, Some("Filter")); + for item_2421 in var_2420 { #[allow(unused_mut)] - let mut entry_2421 = list_2420.entry(); - crate::query_ser::serialize_structure_filter(entry_2421, item_2419); + let mut entry_2423 = list_2422.entry(); + crate::query_ser::serialize_structure_filter(entry_2423, item_2421); } - list_2420.finish(); + list_2422.finish(); } #[allow(unused_mut)] - let mut scope_2422 = writer.prefix("MaxResults"); - if let Some(var_2423) = &input.max_results { - scope_2422.number( + let mut scope_2424 = writer.prefix("MaxResults"); + if let Some(var_2425) = &input.max_results { + scope_2424.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2423).into()), + smithy_types::Number::NegInt((*var_2425).into()), ); } #[allow(unused_mut)] - let mut scope_2424 = writer.prefix("NextToken"); - if let Some(var_2425) = &input.next_token { - scope_2424.string(var_2425); + let mut scope_2426 = writer.prefix("NextToken"); + if let Some(var_2427) = &input.next_token { + scope_2426.string(var_2427); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8439,43 +8444,43 @@ pub fn serialize_operation_describe_internet_gateways( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeInternetGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2426 = writer.prefix("Filter"); - if let Some(var_2427) = &input.filters { - let mut list_2429 = scope_2426.start_list(true, Some("Filter")); - for item_2428 in var_2427 { + let mut scope_2428 = writer.prefix("Filter"); + if let Some(var_2429) = &input.filters { + let mut list_2431 = scope_2428.start_list(true, Some("Filter")); + for item_2430 in var_2429 { #[allow(unused_mut)] - let mut entry_2430 = list_2429.entry(); - crate::query_ser::serialize_structure_filter(entry_2430, item_2428); + let mut entry_2432 = list_2431.entry(); + crate::query_ser::serialize_structure_filter(entry_2432, item_2430); } - list_2429.finish(); + list_2431.finish(); } #[allow(unused_mut)] - let mut scope_2431 = writer.prefix("DryRun"); - if let Some(var_2432) = &input.dry_run { - scope_2431.boolean(*var_2432); + let mut scope_2433 = writer.prefix("DryRun"); + if let Some(var_2434) = &input.dry_run { + scope_2433.boolean(*var_2434); } #[allow(unused_mut)] - let mut scope_2433 = writer.prefix("InternetGatewayId"); - if let Some(var_2434) = &input.internet_gateway_ids { - let mut list_2436 = scope_2433.start_list(true, Some("item")); - for item_2435 in var_2434 { + let mut scope_2435 = writer.prefix("InternetGatewayId"); + if let Some(var_2436) = &input.internet_gateway_ids { + let mut list_2438 = scope_2435.start_list(true, Some("item")); + for item_2437 in var_2436 { #[allow(unused_mut)] - let mut entry_2437 = list_2436.entry(); - entry_2437.string(item_2435); + let mut entry_2439 = list_2438.entry(); + entry_2439.string(item_2437); } - list_2436.finish(); + list_2438.finish(); } #[allow(unused_mut)] - let mut scope_2438 = writer.prefix("NextToken"); - if let Some(var_2439) = &input.next_token { - scope_2438.string(var_2439); + let mut scope_2440 = writer.prefix("NextToken"); + if let Some(var_2441) = &input.next_token { + scope_2440.string(var_2441); } #[allow(unused_mut)] - let mut scope_2440 = writer.prefix("MaxResults"); - if let Some(var_2441) = &input.max_results { - scope_2440.number( + let mut scope_2442 = writer.prefix("MaxResults"); + if let Some(var_2443) = &input.max_results { + scope_2442.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2441).into()), + smithy_types::Number::NegInt((*var_2443).into()), ); } writer.finish(); @@ -8489,44 +8494,44 @@ pub fn serialize_operation_describe_ipv6_pools( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeIpv6Pools", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2442 = writer.prefix("PoolId"); - if let Some(var_2443) = &input.pool_ids { - let mut list_2445 = scope_2442.start_list(true, Some("item")); - for item_2444 in var_2443 { + let mut scope_2444 = writer.prefix("PoolId"); + if let Some(var_2445) = &input.pool_ids { + let mut list_2447 = scope_2444.start_list(true, Some("item")); + for item_2446 in var_2445 { #[allow(unused_mut)] - let mut entry_2446 = list_2445.entry(); - entry_2446.string(item_2444); + let mut entry_2448 = list_2447.entry(); + entry_2448.string(item_2446); } - list_2445.finish(); + list_2447.finish(); } #[allow(unused_mut)] - let mut scope_2447 = writer.prefix("NextToken"); - if let Some(var_2448) = &input.next_token { - scope_2447.string(var_2448); + let mut scope_2449 = writer.prefix("NextToken"); + if let Some(var_2450) = &input.next_token { + scope_2449.string(var_2450); } #[allow(unused_mut)] - let mut scope_2449 = writer.prefix("MaxResults"); - if let Some(var_2450) = &input.max_results { - scope_2449.number( + let mut scope_2451 = writer.prefix("MaxResults"); + if let Some(var_2452) = &input.max_results { + scope_2451.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2450).into()), + smithy_types::Number::NegInt((*var_2452).into()), ); } #[allow(unused_mut)] - let mut scope_2451 = writer.prefix("DryRun"); - if let Some(var_2452) = &input.dry_run { - scope_2451.boolean(*var_2452); + let mut scope_2453 = writer.prefix("DryRun"); + if let Some(var_2454) = &input.dry_run { + scope_2453.boolean(*var_2454); } #[allow(unused_mut)] - let mut scope_2453 = writer.prefix("Filter"); - if let Some(var_2454) = &input.filters { - let mut list_2456 = scope_2453.start_list(true, Some("Filter")); - for item_2455 in var_2454 { + let mut scope_2455 = writer.prefix("Filter"); + if let Some(var_2456) = &input.filters { + let mut list_2458 = scope_2455.start_list(true, Some("Filter")); + for item_2457 in var_2456 { #[allow(unused_mut)] - let mut entry_2457 = list_2456.entry(); - crate::query_ser::serialize_structure_filter(entry_2457, item_2455); + let mut entry_2459 = list_2458.entry(); + crate::query_ser::serialize_structure_filter(entry_2459, item_2457); } - list_2456.finish(); + list_2458.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8539,42 +8544,42 @@ pub fn serialize_operation_describe_key_pairs( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeKeyPairs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2458 = writer.prefix("Filter"); - if let Some(var_2459) = &input.filters { - let mut list_2461 = scope_2458.start_list(true, Some("Filter")); - for item_2460 in var_2459 { + let mut scope_2460 = writer.prefix("Filter"); + if let Some(var_2461) = &input.filters { + let mut list_2463 = scope_2460.start_list(true, Some("Filter")); + for item_2462 in var_2461 { #[allow(unused_mut)] - let mut entry_2462 = list_2461.entry(); - crate::query_ser::serialize_structure_filter(entry_2462, item_2460); + let mut entry_2464 = list_2463.entry(); + crate::query_ser::serialize_structure_filter(entry_2464, item_2462); } - list_2461.finish(); + list_2463.finish(); } #[allow(unused_mut)] - let mut scope_2463 = writer.prefix("KeyName"); - if let Some(var_2464) = &input.key_names { - let mut list_2466 = scope_2463.start_list(true, Some("KeyName")); - for item_2465 in var_2464 { + let mut scope_2465 = writer.prefix("KeyName"); + if let Some(var_2466) = &input.key_names { + let mut list_2468 = scope_2465.start_list(true, Some("KeyName")); + for item_2467 in var_2466 { #[allow(unused_mut)] - let mut entry_2467 = list_2466.entry(); - entry_2467.string(item_2465); + let mut entry_2469 = list_2468.entry(); + entry_2469.string(item_2467); } - list_2466.finish(); + list_2468.finish(); } #[allow(unused_mut)] - let mut scope_2468 = writer.prefix("KeyPairId"); - if let Some(var_2469) = &input.key_pair_ids { - let mut list_2471 = scope_2468.start_list(true, Some("KeyPairId")); - for item_2470 in var_2469 { + let mut scope_2470 = writer.prefix("KeyPairId"); + if let Some(var_2471) = &input.key_pair_ids { + let mut list_2473 = scope_2470.start_list(true, Some("KeyPairId")); + for item_2472 in var_2471 { #[allow(unused_mut)] - let mut entry_2472 = list_2471.entry(); - entry_2472.string(item_2470); + let mut entry_2474 = list_2473.entry(); + entry_2474.string(item_2472); } - list_2471.finish(); + list_2473.finish(); } #[allow(unused_mut)] - let mut scope_2473 = writer.prefix("DryRun"); - if let Some(var_2474) = &input.dry_run { - scope_2473.boolean(*var_2474); + let mut scope_2475 = writer.prefix("DryRun"); + if let Some(var_2476) = &input.dry_run { + scope_2475.boolean(*var_2476); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8588,54 +8593,54 @@ pub fn serialize_operation_describe_launch_templates( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeLaunchTemplates", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2475 = writer.prefix("DryRun"); - if let Some(var_2476) = &input.dry_run { - scope_2475.boolean(*var_2476); + let mut scope_2477 = writer.prefix("DryRun"); + if let Some(var_2478) = &input.dry_run { + scope_2477.boolean(*var_2478); } #[allow(unused_mut)] - let mut scope_2477 = writer.prefix("LaunchTemplateId"); - if let Some(var_2478) = &input.launch_template_ids { - let mut list_2480 = scope_2477.start_list(true, Some("item")); - for item_2479 in var_2478 { + let mut scope_2479 = writer.prefix("LaunchTemplateId"); + if let Some(var_2480) = &input.launch_template_ids { + let mut list_2482 = scope_2479.start_list(true, Some("item")); + for item_2481 in var_2480 { #[allow(unused_mut)] - let mut entry_2481 = list_2480.entry(); - entry_2481.string(item_2479); + let mut entry_2483 = list_2482.entry(); + entry_2483.string(item_2481); } - list_2480.finish(); + list_2482.finish(); } #[allow(unused_mut)] - let mut scope_2482 = writer.prefix("LaunchTemplateName"); - if let Some(var_2483) = &input.launch_template_names { - let mut list_2485 = scope_2482.start_list(true, Some("item")); - for item_2484 in var_2483 { + let mut scope_2484 = writer.prefix("LaunchTemplateName"); + if let Some(var_2485) = &input.launch_template_names { + let mut list_2487 = scope_2484.start_list(true, Some("item")); + for item_2486 in var_2485 { #[allow(unused_mut)] - let mut entry_2486 = list_2485.entry(); - entry_2486.string(item_2484); + let mut entry_2488 = list_2487.entry(); + entry_2488.string(item_2486); } - list_2485.finish(); + list_2487.finish(); } #[allow(unused_mut)] - let mut scope_2487 = writer.prefix("Filter"); - if let Some(var_2488) = &input.filters { - let mut list_2490 = scope_2487.start_list(true, Some("Filter")); - for item_2489 in var_2488 { + let mut scope_2489 = writer.prefix("Filter"); + if let Some(var_2490) = &input.filters { + let mut list_2492 = scope_2489.start_list(true, Some("Filter")); + for item_2491 in var_2490 { #[allow(unused_mut)] - let mut entry_2491 = list_2490.entry(); - crate::query_ser::serialize_structure_filter(entry_2491, item_2489); + let mut entry_2493 = list_2492.entry(); + crate::query_ser::serialize_structure_filter(entry_2493, item_2491); } - list_2490.finish(); + list_2492.finish(); } #[allow(unused_mut)] - let mut scope_2492 = writer.prefix("NextToken"); - if let Some(var_2493) = &input.next_token { - scope_2492.string(var_2493); + let mut scope_2494 = writer.prefix("NextToken"); + if let Some(var_2495) = &input.next_token { + scope_2494.string(var_2495); } #[allow(unused_mut)] - let mut scope_2494 = writer.prefix("MaxResults"); - if let Some(var_2495) = &input.max_results { - scope_2494.number( + let mut scope_2496 = writer.prefix("MaxResults"); + if let Some(var_2497) = &input.max_results { + scope_2496.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2495).into()), + smithy_types::Number::NegInt((*var_2497).into()), ); } writer.finish(); @@ -8650,64 +8655,64 @@ pub fn serialize_operation_describe_launch_template_versions( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeLaunchTemplateVersions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2496 = writer.prefix("DryRun"); - if let Some(var_2497) = &input.dry_run { - scope_2496.boolean(*var_2497); + let mut scope_2498 = writer.prefix("DryRun"); + if let Some(var_2499) = &input.dry_run { + scope_2498.boolean(*var_2499); } #[allow(unused_mut)] - let mut scope_2498 = writer.prefix("LaunchTemplateId"); - if let Some(var_2499) = &input.launch_template_id { - scope_2498.string(var_2499); + let mut scope_2500 = writer.prefix("LaunchTemplateId"); + if let Some(var_2501) = &input.launch_template_id { + scope_2500.string(var_2501); } #[allow(unused_mut)] - let mut scope_2500 = writer.prefix("LaunchTemplateName"); - if let Some(var_2501) = &input.launch_template_name { - scope_2500.string(var_2501); + let mut scope_2502 = writer.prefix("LaunchTemplateName"); + if let Some(var_2503) = &input.launch_template_name { + scope_2502.string(var_2503); } #[allow(unused_mut)] - let mut scope_2502 = writer.prefix("LaunchTemplateVersion"); - if let Some(var_2503) = &input.versions { - let mut list_2505 = scope_2502.start_list(true, Some("item")); - for item_2504 in var_2503 { + let mut scope_2504 = writer.prefix("LaunchTemplateVersion"); + if let Some(var_2505) = &input.versions { + let mut list_2507 = scope_2504.start_list(true, Some("item")); + for item_2506 in var_2505 { #[allow(unused_mut)] - let mut entry_2506 = list_2505.entry(); - entry_2506.string(item_2504); + let mut entry_2508 = list_2507.entry(); + entry_2508.string(item_2506); } - list_2505.finish(); + list_2507.finish(); } #[allow(unused_mut)] - let mut scope_2507 = writer.prefix("MinVersion"); - if let Some(var_2508) = &input.min_version { - scope_2507.string(var_2508); - } - #[allow(unused_mut)] - let mut scope_2509 = writer.prefix("MaxVersion"); - if let Some(var_2510) = &input.max_version { + let mut scope_2509 = writer.prefix("MinVersion"); + if let Some(var_2510) = &input.min_version { scope_2509.string(var_2510); } #[allow(unused_mut)] - let mut scope_2511 = writer.prefix("NextToken"); - if let Some(var_2512) = &input.next_token { + let mut scope_2511 = writer.prefix("MaxVersion"); + if let Some(var_2512) = &input.max_version { scope_2511.string(var_2512); } #[allow(unused_mut)] - let mut scope_2513 = writer.prefix("MaxResults"); - if let Some(var_2514) = &input.max_results { - scope_2513.number( + let mut scope_2513 = writer.prefix("NextToken"); + if let Some(var_2514) = &input.next_token { + scope_2513.string(var_2514); + } + #[allow(unused_mut)] + let mut scope_2515 = writer.prefix("MaxResults"); + if let Some(var_2516) = &input.max_results { + scope_2515.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2514).into()), + smithy_types::Number::NegInt((*var_2516).into()), ); } #[allow(unused_mut)] - let mut scope_2515 = writer.prefix("Filter"); - if let Some(var_2516) = &input.filters { - let mut list_2518 = scope_2515.start_list(true, Some("Filter")); - for item_2517 in var_2516 { + let mut scope_2517 = writer.prefix("Filter"); + if let Some(var_2518) = &input.filters { + let mut list_2520 = scope_2517.start_list(true, Some("Filter")); + for item_2519 in var_2518 { #[allow(unused_mut)] - let mut entry_2519 = list_2518.entry(); - crate::query_ser::serialize_structure_filter(entry_2519, item_2517); + let mut entry_2521 = list_2520.entry(); + crate::query_ser::serialize_structure_filter(entry_2521, item_2519); } - list_2518.finish(); + list_2520.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8721,44 +8726,44 @@ pub fn serialize_operation_describe_local_gateway_route_tables( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeLocalGatewayRouteTables", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2520 = writer.prefix("LocalGatewayRouteTableId"); - if let Some(var_2521) = &input.local_gateway_route_table_ids { - let mut list_2523 = scope_2520.start_list(true, Some("item")); - for item_2522 in var_2521 { + let mut scope_2522 = writer.prefix("LocalGatewayRouteTableId"); + if let Some(var_2523) = &input.local_gateway_route_table_ids { + let mut list_2525 = scope_2522.start_list(true, Some("item")); + for item_2524 in var_2523 { #[allow(unused_mut)] - let mut entry_2524 = list_2523.entry(); - entry_2524.string(item_2522); + let mut entry_2526 = list_2525.entry(); + entry_2526.string(item_2524); } - list_2523.finish(); + list_2525.finish(); } #[allow(unused_mut)] - let mut scope_2525 = writer.prefix("Filter"); - if let Some(var_2526) = &input.filters { - let mut list_2528 = scope_2525.start_list(true, Some("Filter")); - for item_2527 in var_2526 { + let mut scope_2527 = writer.prefix("Filter"); + if let Some(var_2528) = &input.filters { + let mut list_2530 = scope_2527.start_list(true, Some("Filter")); + for item_2529 in var_2528 { #[allow(unused_mut)] - let mut entry_2529 = list_2528.entry(); - crate::query_ser::serialize_structure_filter(entry_2529, item_2527); + let mut entry_2531 = list_2530.entry(); + crate::query_ser::serialize_structure_filter(entry_2531, item_2529); } - list_2528.finish(); + list_2530.finish(); } #[allow(unused_mut)] - let mut scope_2530 = writer.prefix("MaxResults"); - if let Some(var_2531) = &input.max_results { - scope_2530.number( + let mut scope_2532 = writer.prefix("MaxResults"); + if let Some(var_2533) = &input.max_results { + scope_2532.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2531).into()), + smithy_types::Number::NegInt((*var_2533).into()), ); } #[allow(unused_mut)] - let mut scope_2532 = writer.prefix("NextToken"); - if let Some(var_2533) = &input.next_token { - scope_2532.string(var_2533); + let mut scope_2534 = writer.prefix("NextToken"); + if let Some(var_2535) = &input.next_token { + scope_2534.string(var_2535); } #[allow(unused_mut)] - let mut scope_2534 = writer.prefix("DryRun"); - if let Some(var_2535) = &input.dry_run { - scope_2534.boolean(*var_2535); + let mut scope_2536 = writer.prefix("DryRun"); + if let Some(var_2537) = &input.dry_run { + scope_2536.boolean(*var_2537); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8775,45 +8780,45 @@ pub fn serialize_operation_describe_local_gateway_route_table_virtual_interface_ "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2536 = writer.prefix("LocalGatewayRouteTableVirtualInterfaceGroupAssociationId"); - if let Some(var_2537) = &input.local_gateway_route_table_virtual_interface_group_association_ids + let mut scope_2538 = writer.prefix("LocalGatewayRouteTableVirtualInterfaceGroupAssociationId"); + if let Some(var_2539) = &input.local_gateway_route_table_virtual_interface_group_association_ids { - let mut list_2539 = scope_2536.start_list(true, Some("item")); - for item_2538 in var_2537 { + let mut list_2541 = scope_2538.start_list(true, Some("item")); + for item_2540 in var_2539 { #[allow(unused_mut)] - let mut entry_2540 = list_2539.entry(); - entry_2540.string(item_2538); + let mut entry_2542 = list_2541.entry(); + entry_2542.string(item_2540); } - list_2539.finish(); + list_2541.finish(); } #[allow(unused_mut)] - let mut scope_2541 = writer.prefix("Filter"); - if let Some(var_2542) = &input.filters { - let mut list_2544 = scope_2541.start_list(true, Some("Filter")); - for item_2543 in var_2542 { + let mut scope_2543 = writer.prefix("Filter"); + if let Some(var_2544) = &input.filters { + let mut list_2546 = scope_2543.start_list(true, Some("Filter")); + for item_2545 in var_2544 { #[allow(unused_mut)] - let mut entry_2545 = list_2544.entry(); - crate::query_ser::serialize_structure_filter(entry_2545, item_2543); + let mut entry_2547 = list_2546.entry(); + crate::query_ser::serialize_structure_filter(entry_2547, item_2545); } - list_2544.finish(); + list_2546.finish(); } #[allow(unused_mut)] - let mut scope_2546 = writer.prefix("MaxResults"); - if let Some(var_2547) = &input.max_results { - scope_2546.number( + let mut scope_2548 = writer.prefix("MaxResults"); + if let Some(var_2549) = &input.max_results { + scope_2548.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2547).into()), + smithy_types::Number::NegInt((*var_2549).into()), ); } #[allow(unused_mut)] - let mut scope_2548 = writer.prefix("NextToken"); - if let Some(var_2549) = &input.next_token { - scope_2548.string(var_2549); + let mut scope_2550 = writer.prefix("NextToken"); + if let Some(var_2551) = &input.next_token { + scope_2550.string(var_2551); } #[allow(unused_mut)] - let mut scope_2550 = writer.prefix("DryRun"); - if let Some(var_2551) = &input.dry_run { - scope_2550.boolean(*var_2551); + let mut scope_2552 = writer.prefix("DryRun"); + if let Some(var_2553) = &input.dry_run { + scope_2552.boolean(*var_2553); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8830,44 +8835,44 @@ pub fn serialize_operation_describe_local_gateway_route_table_vpc_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2552 = writer.prefix("LocalGatewayRouteTableVpcAssociationId"); - if let Some(var_2553) = &input.local_gateway_route_table_vpc_association_ids { - let mut list_2555 = scope_2552.start_list(true, Some("item")); - for item_2554 in var_2553 { + let mut scope_2554 = writer.prefix("LocalGatewayRouteTableVpcAssociationId"); + if let Some(var_2555) = &input.local_gateway_route_table_vpc_association_ids { + let mut list_2557 = scope_2554.start_list(true, Some("item")); + for item_2556 in var_2555 { #[allow(unused_mut)] - let mut entry_2556 = list_2555.entry(); - entry_2556.string(item_2554); + let mut entry_2558 = list_2557.entry(); + entry_2558.string(item_2556); } - list_2555.finish(); + list_2557.finish(); } #[allow(unused_mut)] - let mut scope_2557 = writer.prefix("Filter"); - if let Some(var_2558) = &input.filters { - let mut list_2560 = scope_2557.start_list(true, Some("Filter")); - for item_2559 in var_2558 { + let mut scope_2559 = writer.prefix("Filter"); + if let Some(var_2560) = &input.filters { + let mut list_2562 = scope_2559.start_list(true, Some("Filter")); + for item_2561 in var_2560 { #[allow(unused_mut)] - let mut entry_2561 = list_2560.entry(); - crate::query_ser::serialize_structure_filter(entry_2561, item_2559); + let mut entry_2563 = list_2562.entry(); + crate::query_ser::serialize_structure_filter(entry_2563, item_2561); } - list_2560.finish(); + list_2562.finish(); } #[allow(unused_mut)] - let mut scope_2562 = writer.prefix("MaxResults"); - if let Some(var_2563) = &input.max_results { - scope_2562.number( + let mut scope_2564 = writer.prefix("MaxResults"); + if let Some(var_2565) = &input.max_results { + scope_2564.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2563).into()), + smithy_types::Number::NegInt((*var_2565).into()), ); } #[allow(unused_mut)] - let mut scope_2564 = writer.prefix("NextToken"); - if let Some(var_2565) = &input.next_token { - scope_2564.string(var_2565); + let mut scope_2566 = writer.prefix("NextToken"); + if let Some(var_2567) = &input.next_token { + scope_2566.string(var_2567); } #[allow(unused_mut)] - let mut scope_2566 = writer.prefix("DryRun"); - if let Some(var_2567) = &input.dry_run { - scope_2566.boolean(*var_2567); + let mut scope_2568 = writer.prefix("DryRun"); + if let Some(var_2569) = &input.dry_run { + scope_2568.boolean(*var_2569); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8881,44 +8886,44 @@ pub fn serialize_operation_describe_local_gateways( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeLocalGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2568 = writer.prefix("LocalGatewayId"); - if let Some(var_2569) = &input.local_gateway_ids { - let mut list_2571 = scope_2568.start_list(true, Some("item")); - for item_2570 in var_2569 { + let mut scope_2570 = writer.prefix("LocalGatewayId"); + if let Some(var_2571) = &input.local_gateway_ids { + let mut list_2573 = scope_2570.start_list(true, Some("item")); + for item_2572 in var_2571 { #[allow(unused_mut)] - let mut entry_2572 = list_2571.entry(); - entry_2572.string(item_2570); + let mut entry_2574 = list_2573.entry(); + entry_2574.string(item_2572); } - list_2571.finish(); + list_2573.finish(); } #[allow(unused_mut)] - let mut scope_2573 = writer.prefix("Filter"); - if let Some(var_2574) = &input.filters { - let mut list_2576 = scope_2573.start_list(true, Some("Filter")); - for item_2575 in var_2574 { + let mut scope_2575 = writer.prefix("Filter"); + if let Some(var_2576) = &input.filters { + let mut list_2578 = scope_2575.start_list(true, Some("Filter")); + for item_2577 in var_2576 { #[allow(unused_mut)] - let mut entry_2577 = list_2576.entry(); - crate::query_ser::serialize_structure_filter(entry_2577, item_2575); + let mut entry_2579 = list_2578.entry(); + crate::query_ser::serialize_structure_filter(entry_2579, item_2577); } - list_2576.finish(); + list_2578.finish(); } #[allow(unused_mut)] - let mut scope_2578 = writer.prefix("MaxResults"); - if let Some(var_2579) = &input.max_results { - scope_2578.number( + let mut scope_2580 = writer.prefix("MaxResults"); + if let Some(var_2581) = &input.max_results { + scope_2580.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2579).into()), + smithy_types::Number::NegInt((*var_2581).into()), ); } #[allow(unused_mut)] - let mut scope_2580 = writer.prefix("NextToken"); - if let Some(var_2581) = &input.next_token { - scope_2580.string(var_2581); + let mut scope_2582 = writer.prefix("NextToken"); + if let Some(var_2583) = &input.next_token { + scope_2582.string(var_2583); } #[allow(unused_mut)] - let mut scope_2582 = writer.prefix("DryRun"); - if let Some(var_2583) = &input.dry_run { - scope_2582.boolean(*var_2583); + let mut scope_2584 = writer.prefix("DryRun"); + if let Some(var_2585) = &input.dry_run { + scope_2584.boolean(*var_2585); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8935,44 +8940,44 @@ pub fn serialize_operation_describe_local_gateway_virtual_interface_groups( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2584 = writer.prefix("LocalGatewayVirtualInterfaceGroupId"); - if let Some(var_2585) = &input.local_gateway_virtual_interface_group_ids { - let mut list_2587 = scope_2584.start_list(true, Some("item")); - for item_2586 in var_2585 { + let mut scope_2586 = writer.prefix("LocalGatewayVirtualInterfaceGroupId"); + if let Some(var_2587) = &input.local_gateway_virtual_interface_group_ids { + let mut list_2589 = scope_2586.start_list(true, Some("item")); + for item_2588 in var_2587 { #[allow(unused_mut)] - let mut entry_2588 = list_2587.entry(); - entry_2588.string(item_2586); + let mut entry_2590 = list_2589.entry(); + entry_2590.string(item_2588); } - list_2587.finish(); + list_2589.finish(); } #[allow(unused_mut)] - let mut scope_2589 = writer.prefix("Filter"); - if let Some(var_2590) = &input.filters { - let mut list_2592 = scope_2589.start_list(true, Some("Filter")); - for item_2591 in var_2590 { + let mut scope_2591 = writer.prefix("Filter"); + if let Some(var_2592) = &input.filters { + let mut list_2594 = scope_2591.start_list(true, Some("Filter")); + for item_2593 in var_2592 { #[allow(unused_mut)] - let mut entry_2593 = list_2592.entry(); - crate::query_ser::serialize_structure_filter(entry_2593, item_2591); + let mut entry_2595 = list_2594.entry(); + crate::query_ser::serialize_structure_filter(entry_2595, item_2593); } - list_2592.finish(); + list_2594.finish(); } #[allow(unused_mut)] - let mut scope_2594 = writer.prefix("MaxResults"); - if let Some(var_2595) = &input.max_results { - scope_2594.number( + let mut scope_2596 = writer.prefix("MaxResults"); + if let Some(var_2597) = &input.max_results { + scope_2596.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2595).into()), + smithy_types::Number::NegInt((*var_2597).into()), ); } #[allow(unused_mut)] - let mut scope_2596 = writer.prefix("NextToken"); - if let Some(var_2597) = &input.next_token { - scope_2596.string(var_2597); + let mut scope_2598 = writer.prefix("NextToken"); + if let Some(var_2599) = &input.next_token { + scope_2598.string(var_2599); } #[allow(unused_mut)] - let mut scope_2598 = writer.prefix("DryRun"); - if let Some(var_2599) = &input.dry_run { - scope_2598.boolean(*var_2599); + let mut scope_2600 = writer.prefix("DryRun"); + if let Some(var_2601) = &input.dry_run { + scope_2600.boolean(*var_2601); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -8989,44 +8994,44 @@ pub fn serialize_operation_describe_local_gateway_virtual_interfaces( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2600 = writer.prefix("LocalGatewayVirtualInterfaceId"); - if let Some(var_2601) = &input.local_gateway_virtual_interface_ids { - let mut list_2603 = scope_2600.start_list(true, Some("item")); - for item_2602 in var_2601 { + let mut scope_2602 = writer.prefix("LocalGatewayVirtualInterfaceId"); + if let Some(var_2603) = &input.local_gateway_virtual_interface_ids { + let mut list_2605 = scope_2602.start_list(true, Some("item")); + for item_2604 in var_2603 { #[allow(unused_mut)] - let mut entry_2604 = list_2603.entry(); - entry_2604.string(item_2602); + let mut entry_2606 = list_2605.entry(); + entry_2606.string(item_2604); } - list_2603.finish(); + list_2605.finish(); } #[allow(unused_mut)] - let mut scope_2605 = writer.prefix("Filter"); - if let Some(var_2606) = &input.filters { - let mut list_2608 = scope_2605.start_list(true, Some("Filter")); - for item_2607 in var_2606 { + let mut scope_2607 = writer.prefix("Filter"); + if let Some(var_2608) = &input.filters { + let mut list_2610 = scope_2607.start_list(true, Some("Filter")); + for item_2609 in var_2608 { #[allow(unused_mut)] - let mut entry_2609 = list_2608.entry(); - crate::query_ser::serialize_structure_filter(entry_2609, item_2607); + let mut entry_2611 = list_2610.entry(); + crate::query_ser::serialize_structure_filter(entry_2611, item_2609); } - list_2608.finish(); + list_2610.finish(); } #[allow(unused_mut)] - let mut scope_2610 = writer.prefix("MaxResults"); - if let Some(var_2611) = &input.max_results { - scope_2610.number( + let mut scope_2612 = writer.prefix("MaxResults"); + if let Some(var_2613) = &input.max_results { + scope_2612.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2611).into()), + smithy_types::Number::NegInt((*var_2613).into()), ); } #[allow(unused_mut)] - let mut scope_2612 = writer.prefix("NextToken"); - if let Some(var_2613) = &input.next_token { - scope_2612.string(var_2613); + let mut scope_2614 = writer.prefix("NextToken"); + if let Some(var_2615) = &input.next_token { + scope_2614.string(var_2615); } #[allow(unused_mut)] - let mut scope_2614 = writer.prefix("DryRun"); - if let Some(var_2615) = &input.dry_run { - scope_2614.boolean(*var_2615); + let mut scope_2616 = writer.prefix("DryRun"); + if let Some(var_2617) = &input.dry_run { + scope_2616.boolean(*var_2617); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9040,44 +9045,44 @@ pub fn serialize_operation_describe_managed_prefix_lists( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeManagedPrefixLists", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2616 = writer.prefix("DryRun"); - if let Some(var_2617) = &input.dry_run { - scope_2616.boolean(*var_2617); + let mut scope_2618 = writer.prefix("DryRun"); + if let Some(var_2619) = &input.dry_run { + scope_2618.boolean(*var_2619); } #[allow(unused_mut)] - let mut scope_2618 = writer.prefix("Filter"); - if let Some(var_2619) = &input.filters { - let mut list_2621 = scope_2618.start_list(true, Some("Filter")); - for item_2620 in var_2619 { + let mut scope_2620 = writer.prefix("Filter"); + if let Some(var_2621) = &input.filters { + let mut list_2623 = scope_2620.start_list(true, Some("Filter")); + for item_2622 in var_2621 { #[allow(unused_mut)] - let mut entry_2622 = list_2621.entry(); - crate::query_ser::serialize_structure_filter(entry_2622, item_2620); + let mut entry_2624 = list_2623.entry(); + crate::query_ser::serialize_structure_filter(entry_2624, item_2622); } - list_2621.finish(); + list_2623.finish(); } #[allow(unused_mut)] - let mut scope_2623 = writer.prefix("MaxResults"); - if let Some(var_2624) = &input.max_results { - scope_2623.number( + let mut scope_2625 = writer.prefix("MaxResults"); + if let Some(var_2626) = &input.max_results { + scope_2625.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2624).into()), + smithy_types::Number::NegInt((*var_2626).into()), ); } #[allow(unused_mut)] - let mut scope_2625 = writer.prefix("NextToken"); - if let Some(var_2626) = &input.next_token { - scope_2625.string(var_2626); + let mut scope_2627 = writer.prefix("NextToken"); + if let Some(var_2628) = &input.next_token { + scope_2627.string(var_2628); } #[allow(unused_mut)] - let mut scope_2627 = writer.prefix("PrefixListId"); - if let Some(var_2628) = &input.prefix_list_ids { - let mut list_2630 = scope_2627.start_list(true, Some("item")); - for item_2629 in var_2628 { + let mut scope_2629 = writer.prefix("PrefixListId"); + if let Some(var_2630) = &input.prefix_list_ids { + let mut list_2632 = scope_2629.start_list(true, Some("item")); + for item_2631 in var_2630 { #[allow(unused_mut)] - let mut entry_2631 = list_2630.entry(); - entry_2631.string(item_2629); + let mut entry_2633 = list_2632.entry(); + entry_2633.string(item_2631); } - list_2630.finish(); + list_2632.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9091,44 +9096,44 @@ pub fn serialize_operation_describe_moving_addresses( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeMovingAddresses", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2632 = writer.prefix("Filter"); - if let Some(var_2633) = &input.filters { - let mut list_2635 = scope_2632.start_list(true, Some("Filter")); - for item_2634 in var_2633 { + let mut scope_2634 = writer.prefix("Filter"); + if let Some(var_2635) = &input.filters { + let mut list_2637 = scope_2634.start_list(true, Some("Filter")); + for item_2636 in var_2635 { #[allow(unused_mut)] - let mut entry_2636 = list_2635.entry(); - crate::query_ser::serialize_structure_filter(entry_2636, item_2634); + let mut entry_2638 = list_2637.entry(); + crate::query_ser::serialize_structure_filter(entry_2638, item_2636); } - list_2635.finish(); + list_2637.finish(); } #[allow(unused_mut)] - let mut scope_2637 = writer.prefix("DryRun"); - if let Some(var_2638) = &input.dry_run { - scope_2637.boolean(*var_2638); + let mut scope_2639 = writer.prefix("DryRun"); + if let Some(var_2640) = &input.dry_run { + scope_2639.boolean(*var_2640); } #[allow(unused_mut)] - let mut scope_2639 = writer.prefix("MaxResults"); - if let Some(var_2640) = &input.max_results { - scope_2639.number( + let mut scope_2641 = writer.prefix("MaxResults"); + if let Some(var_2642) = &input.max_results { + scope_2641.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2640).into()), + smithy_types::Number::NegInt((*var_2642).into()), ); } #[allow(unused_mut)] - let mut scope_2641 = writer.prefix("NextToken"); - if let Some(var_2642) = &input.next_token { - scope_2641.string(var_2642); + let mut scope_2643 = writer.prefix("NextToken"); + if let Some(var_2644) = &input.next_token { + scope_2643.string(var_2644); } #[allow(unused_mut)] - let mut scope_2643 = writer.prefix("PublicIp"); - if let Some(var_2644) = &input.public_ips { - let mut list_2646 = scope_2643.start_list(true, Some("item")); - for item_2645 in var_2644 { + let mut scope_2645 = writer.prefix("PublicIp"); + if let Some(var_2646) = &input.public_ips { + let mut list_2648 = scope_2645.start_list(true, Some("item")); + for item_2647 in var_2646 { #[allow(unused_mut)] - let mut entry_2647 = list_2646.entry(); - entry_2647.string(item_2645); + let mut entry_2649 = list_2648.entry(); + entry_2649.string(item_2647); } - list_2646.finish(); + list_2648.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9141,44 +9146,44 @@ pub fn serialize_operation_describe_nat_gateways( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNatGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2648 = writer.prefix("DryRun"); - if let Some(var_2649) = &input.dry_run { - scope_2648.boolean(*var_2649); + let mut scope_2650 = writer.prefix("DryRun"); + if let Some(var_2651) = &input.dry_run { + scope_2650.boolean(*var_2651); } #[allow(unused_mut)] - let mut scope_2650 = writer.prefix("Filter"); - if let Some(var_2651) = &input.filter { - let mut list_2653 = scope_2650.start_list(true, Some("Filter")); - for item_2652 in var_2651 { + let mut scope_2652 = writer.prefix("Filter"); + if let Some(var_2653) = &input.filter { + let mut list_2655 = scope_2652.start_list(true, Some("Filter")); + for item_2654 in var_2653 { #[allow(unused_mut)] - let mut entry_2654 = list_2653.entry(); - crate::query_ser::serialize_structure_filter(entry_2654, item_2652); + let mut entry_2656 = list_2655.entry(); + crate::query_ser::serialize_structure_filter(entry_2656, item_2654); } - list_2653.finish(); + list_2655.finish(); } #[allow(unused_mut)] - let mut scope_2655 = writer.prefix("MaxResults"); - if let Some(var_2656) = &input.max_results { - scope_2655.number( + let mut scope_2657 = writer.prefix("MaxResults"); + if let Some(var_2658) = &input.max_results { + scope_2657.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2656).into()), + smithy_types::Number::NegInt((*var_2658).into()), ); } #[allow(unused_mut)] - let mut scope_2657 = writer.prefix("NatGatewayId"); - if let Some(var_2658) = &input.nat_gateway_ids { - let mut list_2660 = scope_2657.start_list(true, Some("item")); - for item_2659 in var_2658 { + let mut scope_2659 = writer.prefix("NatGatewayId"); + if let Some(var_2660) = &input.nat_gateway_ids { + let mut list_2662 = scope_2659.start_list(true, Some("item")); + for item_2661 in var_2660 { #[allow(unused_mut)] - let mut entry_2661 = list_2660.entry(); - entry_2661.string(item_2659); + let mut entry_2663 = list_2662.entry(); + entry_2663.string(item_2661); } - list_2660.finish(); + list_2662.finish(); } #[allow(unused_mut)] - let mut scope_2662 = writer.prefix("NextToken"); - if let Some(var_2663) = &input.next_token { - scope_2662.string(var_2663); + let mut scope_2664 = writer.prefix("NextToken"); + if let Some(var_2665) = &input.next_token { + scope_2664.string(var_2665); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9191,43 +9196,43 @@ pub fn serialize_operation_describe_network_acls( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNetworkAcls", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2664 = writer.prefix("Filter"); - if let Some(var_2665) = &input.filters { - let mut list_2667 = scope_2664.start_list(true, Some("Filter")); - for item_2666 in var_2665 { + let mut scope_2666 = writer.prefix("Filter"); + if let Some(var_2667) = &input.filters { + let mut list_2669 = scope_2666.start_list(true, Some("Filter")); + for item_2668 in var_2667 { #[allow(unused_mut)] - let mut entry_2668 = list_2667.entry(); - crate::query_ser::serialize_structure_filter(entry_2668, item_2666); + let mut entry_2670 = list_2669.entry(); + crate::query_ser::serialize_structure_filter(entry_2670, item_2668); } - list_2667.finish(); + list_2669.finish(); } #[allow(unused_mut)] - let mut scope_2669 = writer.prefix("DryRun"); - if let Some(var_2670) = &input.dry_run { - scope_2669.boolean(*var_2670); + let mut scope_2671 = writer.prefix("DryRun"); + if let Some(var_2672) = &input.dry_run { + scope_2671.boolean(*var_2672); } #[allow(unused_mut)] - let mut scope_2671 = writer.prefix("NetworkAclId"); - if let Some(var_2672) = &input.network_acl_ids { - let mut list_2674 = scope_2671.start_list(true, Some("item")); - for item_2673 in var_2672 { + let mut scope_2673 = writer.prefix("NetworkAclId"); + if let Some(var_2674) = &input.network_acl_ids { + let mut list_2676 = scope_2673.start_list(true, Some("item")); + for item_2675 in var_2674 { #[allow(unused_mut)] - let mut entry_2675 = list_2674.entry(); - entry_2675.string(item_2673); + let mut entry_2677 = list_2676.entry(); + entry_2677.string(item_2675); } - list_2674.finish(); + list_2676.finish(); } #[allow(unused_mut)] - let mut scope_2676 = writer.prefix("NextToken"); - if let Some(var_2677) = &input.next_token { - scope_2676.string(var_2677); + let mut scope_2678 = writer.prefix("NextToken"); + if let Some(var_2679) = &input.next_token { + scope_2678.string(var_2679); } #[allow(unused_mut)] - let mut scope_2678 = writer.prefix("MaxResults"); - if let Some(var_2679) = &input.max_results { - scope_2678.number( + let mut scope_2680 = writer.prefix("MaxResults"); + if let Some(var_2681) = &input.max_results { + scope_2680.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2679).into()), + smithy_types::Number::NegInt((*var_2681).into()), ); } writer.finish(); @@ -9242,59 +9247,59 @@ pub fn serialize_operation_describe_network_insights_analyses( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNetworkInsightsAnalyses", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2680 = writer.prefix("NetworkInsightsAnalysisId"); - if let Some(var_2681) = &input.network_insights_analysis_ids { - let mut list_2683 = scope_2680.start_list(true, Some("item")); - for item_2682 in var_2681 { + let mut scope_2682 = writer.prefix("NetworkInsightsAnalysisId"); + if let Some(var_2683) = &input.network_insights_analysis_ids { + let mut list_2685 = scope_2682.start_list(true, Some("item")); + for item_2684 in var_2683 { #[allow(unused_mut)] - let mut entry_2684 = list_2683.entry(); - entry_2684.string(item_2682); + let mut entry_2686 = list_2685.entry(); + entry_2686.string(item_2684); } - list_2683.finish(); + list_2685.finish(); } #[allow(unused_mut)] - let mut scope_2685 = writer.prefix("NetworkInsightsPathId"); - if let Some(var_2686) = &input.network_insights_path_id { - scope_2685.string(var_2686); + let mut scope_2687 = writer.prefix("NetworkInsightsPathId"); + if let Some(var_2688) = &input.network_insights_path_id { + scope_2687.string(var_2688); } #[allow(unused_mut)] - let mut scope_2687 = writer.prefix("AnalysisStartTime"); - if let Some(var_2688) = &input.analysis_start_time { - scope_2687.instant(var_2688, smithy_types::instant::Format::DateTime); + let mut scope_2689 = writer.prefix("AnalysisStartTime"); + if let Some(var_2690) = &input.analysis_start_time { + scope_2689.instant(var_2690, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_2689 = writer.prefix("AnalysisEndTime"); - if let Some(var_2690) = &input.analysis_end_time { - scope_2689.instant(var_2690, smithy_types::instant::Format::DateTime); + let mut scope_2691 = writer.prefix("AnalysisEndTime"); + if let Some(var_2692) = &input.analysis_end_time { + scope_2691.instant(var_2692, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_2691 = writer.prefix("Filter"); - if let Some(var_2692) = &input.filters { - let mut list_2694 = scope_2691.start_list(true, Some("Filter")); - for item_2693 in var_2692 { + let mut scope_2693 = writer.prefix("Filter"); + if let Some(var_2694) = &input.filters { + let mut list_2696 = scope_2693.start_list(true, Some("Filter")); + for item_2695 in var_2694 { #[allow(unused_mut)] - let mut entry_2695 = list_2694.entry(); - crate::query_ser::serialize_structure_filter(entry_2695, item_2693); + let mut entry_2697 = list_2696.entry(); + crate::query_ser::serialize_structure_filter(entry_2697, item_2695); } - list_2694.finish(); + list_2696.finish(); } #[allow(unused_mut)] - let mut scope_2696 = writer.prefix("MaxResults"); - if let Some(var_2697) = &input.max_results { - scope_2696.number( + let mut scope_2698 = writer.prefix("MaxResults"); + if let Some(var_2699) = &input.max_results { + scope_2698.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2697).into()), + smithy_types::Number::NegInt((*var_2699).into()), ); } #[allow(unused_mut)] - let mut scope_2698 = writer.prefix("DryRun"); - if let Some(var_2699) = &input.dry_run { - scope_2698.boolean(*var_2699); + let mut scope_2700 = writer.prefix("DryRun"); + if let Some(var_2701) = &input.dry_run { + scope_2700.boolean(*var_2701); } #[allow(unused_mut)] - let mut scope_2700 = writer.prefix("NextToken"); - if let Some(var_2701) = &input.next_token { - scope_2700.string(var_2701); + let mut scope_2702 = writer.prefix("NextToken"); + if let Some(var_2703) = &input.next_token { + scope_2702.string(var_2703); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9308,44 +9313,44 @@ pub fn serialize_operation_describe_network_insights_paths( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNetworkInsightsPaths", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2702 = writer.prefix("NetworkInsightsPathId"); - if let Some(var_2703) = &input.network_insights_path_ids { - let mut list_2705 = scope_2702.start_list(true, Some("item")); - for item_2704 in var_2703 { + let mut scope_2704 = writer.prefix("NetworkInsightsPathId"); + if let Some(var_2705) = &input.network_insights_path_ids { + let mut list_2707 = scope_2704.start_list(true, Some("item")); + for item_2706 in var_2705 { #[allow(unused_mut)] - let mut entry_2706 = list_2705.entry(); - entry_2706.string(item_2704); + let mut entry_2708 = list_2707.entry(); + entry_2708.string(item_2706); } - list_2705.finish(); + list_2707.finish(); } #[allow(unused_mut)] - let mut scope_2707 = writer.prefix("Filter"); - if let Some(var_2708) = &input.filters { - let mut list_2710 = scope_2707.start_list(true, Some("Filter")); - for item_2709 in var_2708 { + let mut scope_2709 = writer.prefix("Filter"); + if let Some(var_2710) = &input.filters { + let mut list_2712 = scope_2709.start_list(true, Some("Filter")); + for item_2711 in var_2710 { #[allow(unused_mut)] - let mut entry_2711 = list_2710.entry(); - crate::query_ser::serialize_structure_filter(entry_2711, item_2709); + let mut entry_2713 = list_2712.entry(); + crate::query_ser::serialize_structure_filter(entry_2713, item_2711); } - list_2710.finish(); + list_2712.finish(); } #[allow(unused_mut)] - let mut scope_2712 = writer.prefix("MaxResults"); - if let Some(var_2713) = &input.max_results { - scope_2712.number( + let mut scope_2714 = writer.prefix("MaxResults"); + if let Some(var_2715) = &input.max_results { + scope_2714.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2713).into()), + smithy_types::Number::NegInt((*var_2715).into()), ); } #[allow(unused_mut)] - let mut scope_2714 = writer.prefix("DryRun"); - if let Some(var_2715) = &input.dry_run { - scope_2714.boolean(*var_2715); + let mut scope_2716 = writer.prefix("DryRun"); + if let Some(var_2717) = &input.dry_run { + scope_2716.boolean(*var_2717); } #[allow(unused_mut)] - let mut scope_2716 = writer.prefix("NextToken"); - if let Some(var_2717) = &input.next_token { - scope_2716.string(var_2717); + let mut scope_2718 = writer.prefix("NextToken"); + if let Some(var_2719) = &input.next_token { + scope_2718.string(var_2719); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9359,19 +9364,19 @@ pub fn serialize_operation_describe_network_interface_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNetworkInterfaceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2718 = writer.prefix("Attribute"); - if let Some(var_2719) = &input.attribute { - scope_2718.string(var_2719.as_str()); + let mut scope_2720 = writer.prefix("Attribute"); + if let Some(var_2721) = &input.attribute { + scope_2720.string(var_2721.as_str()); } #[allow(unused_mut)] - let mut scope_2720 = writer.prefix("DryRun"); - if let Some(var_2721) = &input.dry_run { - scope_2720.boolean(*var_2721); + let mut scope_2722 = writer.prefix("DryRun"); + if let Some(var_2723) = &input.dry_run { + scope_2722.boolean(*var_2723); } #[allow(unused_mut)] - let mut scope_2722 = writer.prefix("NetworkInterfaceId"); - if let Some(var_2723) = &input.network_interface_id { - scope_2722.string(var_2723); + let mut scope_2724 = writer.prefix("NetworkInterfaceId"); + if let Some(var_2725) = &input.network_interface_id { + scope_2724.string(var_2725); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9388,38 +9393,38 @@ pub fn serialize_operation_describe_network_interface_permissions( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2724 = writer.prefix("NetworkInterfacePermissionId"); - if let Some(var_2725) = &input.network_interface_permission_ids { - let mut list_2727 = scope_2724.start_list(true, None); - for item_2726 in var_2725 { + let mut scope_2726 = writer.prefix("NetworkInterfacePermissionId"); + if let Some(var_2727) = &input.network_interface_permission_ids { + let mut list_2729 = scope_2726.start_list(true, None); + for item_2728 in var_2727 { #[allow(unused_mut)] - let mut entry_2728 = list_2727.entry(); - entry_2728.string(item_2726); + let mut entry_2730 = list_2729.entry(); + entry_2730.string(item_2728); } - list_2727.finish(); + list_2729.finish(); } #[allow(unused_mut)] - let mut scope_2729 = writer.prefix("Filter"); - if let Some(var_2730) = &input.filters { - let mut list_2732 = scope_2729.start_list(true, Some("Filter")); - for item_2731 in var_2730 { + let mut scope_2731 = writer.prefix("Filter"); + if let Some(var_2732) = &input.filters { + let mut list_2734 = scope_2731.start_list(true, Some("Filter")); + for item_2733 in var_2732 { #[allow(unused_mut)] - let mut entry_2733 = list_2732.entry(); - crate::query_ser::serialize_structure_filter(entry_2733, item_2731); + let mut entry_2735 = list_2734.entry(); + crate::query_ser::serialize_structure_filter(entry_2735, item_2733); } - list_2732.finish(); + list_2734.finish(); } #[allow(unused_mut)] - let mut scope_2734 = writer.prefix("NextToken"); - if let Some(var_2735) = &input.next_token { - scope_2734.string(var_2735); + let mut scope_2736 = writer.prefix("NextToken"); + if let Some(var_2737) = &input.next_token { + scope_2736.string(var_2737); } #[allow(unused_mut)] - let mut scope_2736 = writer.prefix("MaxResults"); - if let Some(var_2737) = &input.max_results { - scope_2736.number( + let mut scope_2738 = writer.prefix("MaxResults"); + if let Some(var_2739) = &input.max_results { + scope_2738.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2737).into()), + smithy_types::Number::NegInt((*var_2739).into()), ); } writer.finish(); @@ -9434,43 +9439,43 @@ pub fn serialize_operation_describe_network_interfaces( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeNetworkInterfaces", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2738 = writer.prefix("Filter"); - if let Some(var_2739) = &input.filters { - let mut list_2741 = scope_2738.start_list(true, Some("Filter")); - for item_2740 in var_2739 { + let mut scope_2740 = writer.prefix("Filter"); + if let Some(var_2741) = &input.filters { + let mut list_2743 = scope_2740.start_list(true, Some("Filter")); + for item_2742 in var_2741 { #[allow(unused_mut)] - let mut entry_2742 = list_2741.entry(); - crate::query_ser::serialize_structure_filter(entry_2742, item_2740); + let mut entry_2744 = list_2743.entry(); + crate::query_ser::serialize_structure_filter(entry_2744, item_2742); } - list_2741.finish(); + list_2743.finish(); } #[allow(unused_mut)] - let mut scope_2743 = writer.prefix("DryRun"); - if let Some(var_2744) = &input.dry_run { - scope_2743.boolean(*var_2744); + let mut scope_2745 = writer.prefix("DryRun"); + if let Some(var_2746) = &input.dry_run { + scope_2745.boolean(*var_2746); } #[allow(unused_mut)] - let mut scope_2745 = writer.prefix("NetworkInterfaceId"); - if let Some(var_2746) = &input.network_interface_ids { - let mut list_2748 = scope_2745.start_list(true, Some("item")); - for item_2747 in var_2746 { + let mut scope_2747 = writer.prefix("NetworkInterfaceId"); + if let Some(var_2748) = &input.network_interface_ids { + let mut list_2750 = scope_2747.start_list(true, Some("item")); + for item_2749 in var_2748 { #[allow(unused_mut)] - let mut entry_2749 = list_2748.entry(); - entry_2749.string(item_2747); + let mut entry_2751 = list_2750.entry(); + entry_2751.string(item_2749); } - list_2748.finish(); + list_2750.finish(); } #[allow(unused_mut)] - let mut scope_2750 = writer.prefix("NextToken"); - if let Some(var_2751) = &input.next_token { - scope_2750.string(var_2751); + let mut scope_2752 = writer.prefix("NextToken"); + if let Some(var_2753) = &input.next_token { + scope_2752.string(var_2753); } #[allow(unused_mut)] - let mut scope_2752 = writer.prefix("MaxResults"); - if let Some(var_2753) = &input.max_results { - scope_2752.number( + let mut scope_2754 = writer.prefix("MaxResults"); + if let Some(var_2755) = &input.max_results { + scope_2754.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2753).into()), + smithy_types::Number::NegInt((*var_2755).into()), ); } writer.finish(); @@ -9485,42 +9490,42 @@ pub fn serialize_operation_describe_placement_groups( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribePlacementGroups", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2754 = writer.prefix("Filter"); - if let Some(var_2755) = &input.filters { - let mut list_2757 = scope_2754.start_list(true, Some("Filter")); - for item_2756 in var_2755 { + let mut scope_2756 = writer.prefix("Filter"); + if let Some(var_2757) = &input.filters { + let mut list_2759 = scope_2756.start_list(true, Some("Filter")); + for item_2758 in var_2757 { #[allow(unused_mut)] - let mut entry_2758 = list_2757.entry(); - crate::query_ser::serialize_structure_filter(entry_2758, item_2756); + let mut entry_2760 = list_2759.entry(); + crate::query_ser::serialize_structure_filter(entry_2760, item_2758); } - list_2757.finish(); + list_2759.finish(); } #[allow(unused_mut)] - let mut scope_2759 = writer.prefix("DryRun"); - if let Some(var_2760) = &input.dry_run { - scope_2759.boolean(*var_2760); + let mut scope_2761 = writer.prefix("DryRun"); + if let Some(var_2762) = &input.dry_run { + scope_2761.boolean(*var_2762); } #[allow(unused_mut)] - let mut scope_2761 = writer.prefix("GroupName"); - if let Some(var_2762) = &input.group_names { - let mut list_2764 = scope_2761.start_list(true, None); - for item_2763 in var_2762 { + let mut scope_2763 = writer.prefix("GroupName"); + if let Some(var_2764) = &input.group_names { + let mut list_2766 = scope_2763.start_list(true, None); + for item_2765 in var_2764 { #[allow(unused_mut)] - let mut entry_2765 = list_2764.entry(); - entry_2765.string(item_2763); + let mut entry_2767 = list_2766.entry(); + entry_2767.string(item_2765); } - list_2764.finish(); + list_2766.finish(); } #[allow(unused_mut)] - let mut scope_2766 = writer.prefix("GroupId"); - if let Some(var_2767) = &input.group_ids { - let mut list_2769 = scope_2766.start_list(true, Some("GroupId")); - for item_2768 in var_2767 { + let mut scope_2768 = writer.prefix("GroupId"); + if let Some(var_2769) = &input.group_ids { + let mut list_2771 = scope_2768.start_list(true, Some("GroupId")); + for item_2770 in var_2769 { #[allow(unused_mut)] - let mut entry_2770 = list_2769.entry(); - entry_2770.string(item_2768); + let mut entry_2772 = list_2771.entry(); + entry_2772.string(item_2770); } - list_2769.finish(); + list_2771.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9533,44 +9538,44 @@ pub fn serialize_operation_describe_prefix_lists( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribePrefixLists", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2771 = writer.prefix("DryRun"); - if let Some(var_2772) = &input.dry_run { - scope_2771.boolean(*var_2772); + let mut scope_2773 = writer.prefix("DryRun"); + if let Some(var_2774) = &input.dry_run { + scope_2773.boolean(*var_2774); } #[allow(unused_mut)] - let mut scope_2773 = writer.prefix("Filter"); - if let Some(var_2774) = &input.filters { - let mut list_2776 = scope_2773.start_list(true, Some("Filter")); - for item_2775 in var_2774 { + let mut scope_2775 = writer.prefix("Filter"); + if let Some(var_2776) = &input.filters { + let mut list_2778 = scope_2775.start_list(true, Some("Filter")); + for item_2777 in var_2776 { #[allow(unused_mut)] - let mut entry_2777 = list_2776.entry(); - crate::query_ser::serialize_structure_filter(entry_2777, item_2775); + let mut entry_2779 = list_2778.entry(); + crate::query_ser::serialize_structure_filter(entry_2779, item_2777); } - list_2776.finish(); + list_2778.finish(); } #[allow(unused_mut)] - let mut scope_2778 = writer.prefix("MaxResults"); - if let Some(var_2779) = &input.max_results { - scope_2778.number( + let mut scope_2780 = writer.prefix("MaxResults"); + if let Some(var_2781) = &input.max_results { + scope_2780.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2779).into()), + smithy_types::Number::NegInt((*var_2781).into()), ); } #[allow(unused_mut)] - let mut scope_2780 = writer.prefix("NextToken"); - if let Some(var_2781) = &input.next_token { - scope_2780.string(var_2781); + let mut scope_2782 = writer.prefix("NextToken"); + if let Some(var_2783) = &input.next_token { + scope_2782.string(var_2783); } #[allow(unused_mut)] - let mut scope_2782 = writer.prefix("PrefixListId"); - if let Some(var_2783) = &input.prefix_list_ids { - let mut list_2785 = scope_2782.start_list(true, Some("item")); - for item_2784 in var_2783 { + let mut scope_2784 = writer.prefix("PrefixListId"); + if let Some(var_2785) = &input.prefix_list_ids { + let mut list_2787 = scope_2784.start_list(true, Some("item")); + for item_2786 in var_2785 { #[allow(unused_mut)] - let mut entry_2786 = list_2785.entry(); - entry_2786.string(item_2784); + let mut entry_2788 = list_2787.entry(); + entry_2788.string(item_2786); } - list_2785.finish(); + list_2787.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9584,33 +9589,33 @@ pub fn serialize_operation_describe_principal_id_format( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribePrincipalIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2787 = writer.prefix("DryRun"); - if let Some(var_2788) = &input.dry_run { - scope_2787.boolean(*var_2788); + let mut scope_2789 = writer.prefix("DryRun"); + if let Some(var_2790) = &input.dry_run { + scope_2789.boolean(*var_2790); } #[allow(unused_mut)] - let mut scope_2789 = writer.prefix("Resource"); - if let Some(var_2790) = &input.resources { - let mut list_2792 = scope_2789.start_list(true, Some("item")); - for item_2791 in var_2790 { + let mut scope_2791 = writer.prefix("Resource"); + if let Some(var_2792) = &input.resources { + let mut list_2794 = scope_2791.start_list(true, Some("item")); + for item_2793 in var_2792 { #[allow(unused_mut)] - let mut entry_2793 = list_2792.entry(); - entry_2793.string(item_2791); + let mut entry_2795 = list_2794.entry(); + entry_2795.string(item_2793); } - list_2792.finish(); + list_2794.finish(); } #[allow(unused_mut)] - let mut scope_2794 = writer.prefix("MaxResults"); - if let Some(var_2795) = &input.max_results { - scope_2794.number( + let mut scope_2796 = writer.prefix("MaxResults"); + if let Some(var_2797) = &input.max_results { + scope_2796.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2795).into()), + smithy_types::Number::NegInt((*var_2797).into()), ); } #[allow(unused_mut)] - let mut scope_2796 = writer.prefix("NextToken"); - if let Some(var_2797) = &input.next_token { - scope_2796.string(var_2797); + let mut scope_2798 = writer.prefix("NextToken"); + if let Some(var_2799) = &input.next_token { + scope_2798.string(var_2799); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9624,39 +9629,39 @@ pub fn serialize_operation_describe_public_ipv4_pools( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribePublicIpv4Pools", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2798 = writer.prefix("PoolId"); - if let Some(var_2799) = &input.pool_ids { - let mut list_2801 = scope_2798.start_list(true, Some("item")); - for item_2800 in var_2799 { + let mut scope_2800 = writer.prefix("PoolId"); + if let Some(var_2801) = &input.pool_ids { + let mut list_2803 = scope_2800.start_list(true, Some("item")); + for item_2802 in var_2801 { #[allow(unused_mut)] - let mut entry_2802 = list_2801.entry(); - entry_2802.string(item_2800); + let mut entry_2804 = list_2803.entry(); + entry_2804.string(item_2802); } - list_2801.finish(); + list_2803.finish(); } #[allow(unused_mut)] - let mut scope_2803 = writer.prefix("NextToken"); - if let Some(var_2804) = &input.next_token { - scope_2803.string(var_2804); + let mut scope_2805 = writer.prefix("NextToken"); + if let Some(var_2806) = &input.next_token { + scope_2805.string(var_2806); } #[allow(unused_mut)] - let mut scope_2805 = writer.prefix("MaxResults"); - if let Some(var_2806) = &input.max_results { - scope_2805.number( + let mut scope_2807 = writer.prefix("MaxResults"); + if let Some(var_2808) = &input.max_results { + scope_2807.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2806).into()), + smithy_types::Number::NegInt((*var_2808).into()), ); } #[allow(unused_mut)] - let mut scope_2807 = writer.prefix("Filter"); - if let Some(var_2808) = &input.filters { - let mut list_2810 = scope_2807.start_list(true, Some("Filter")); - for item_2809 in var_2808 { + let mut scope_2809 = writer.prefix("Filter"); + if let Some(var_2810) = &input.filters { + let mut list_2812 = scope_2809.start_list(true, Some("Filter")); + for item_2811 in var_2810 { #[allow(unused_mut)] - let mut entry_2811 = list_2810.entry(); - crate::query_ser::serialize_structure_filter(entry_2811, item_2809); + let mut entry_2813 = list_2812.entry(); + crate::query_ser::serialize_structure_filter(entry_2813, item_2811); } - list_2810.finish(); + list_2812.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9669,36 +9674,36 @@ pub fn serialize_operation_describe_regions( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeRegions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2812 = writer.prefix("Filter"); - if let Some(var_2813) = &input.filters { - let mut list_2815 = scope_2812.start_list(true, Some("Filter")); - for item_2814 in var_2813 { + let mut scope_2814 = writer.prefix("Filter"); + if let Some(var_2815) = &input.filters { + let mut list_2817 = scope_2814.start_list(true, Some("Filter")); + for item_2816 in var_2815 { #[allow(unused_mut)] - let mut entry_2816 = list_2815.entry(); - crate::query_ser::serialize_structure_filter(entry_2816, item_2814); + let mut entry_2818 = list_2817.entry(); + crate::query_ser::serialize_structure_filter(entry_2818, item_2816); } - list_2815.finish(); + list_2817.finish(); } #[allow(unused_mut)] - let mut scope_2817 = writer.prefix("RegionName"); - if let Some(var_2818) = &input.region_names { - let mut list_2820 = scope_2817.start_list(true, Some("RegionName")); - for item_2819 in var_2818 { + let mut scope_2819 = writer.prefix("RegionName"); + if let Some(var_2820) = &input.region_names { + let mut list_2822 = scope_2819.start_list(true, Some("RegionName")); + for item_2821 in var_2820 { #[allow(unused_mut)] - let mut entry_2821 = list_2820.entry(); - entry_2821.string(item_2819); + let mut entry_2823 = list_2822.entry(); + entry_2823.string(item_2821); } - list_2820.finish(); + list_2822.finish(); } #[allow(unused_mut)] - let mut scope_2822 = writer.prefix("DryRun"); - if let Some(var_2823) = &input.dry_run { - scope_2822.boolean(*var_2823); + let mut scope_2824 = writer.prefix("DryRun"); + if let Some(var_2825) = &input.dry_run { + scope_2824.boolean(*var_2825); } #[allow(unused_mut)] - let mut scope_2824 = writer.prefix("AllRegions"); - if let Some(var_2825) = &input.all_regions { - scope_2824.boolean(*var_2825); + let mut scope_2826 = writer.prefix("AllRegions"); + if let Some(var_2827) = &input.all_regions { + scope_2826.boolean(*var_2827); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9712,44 +9717,44 @@ pub fn serialize_operation_describe_replace_root_volume_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeReplaceRootVolumeTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2826 = writer.prefix("ReplaceRootVolumeTaskId"); - if let Some(var_2827) = &input.replace_root_volume_task_ids { - let mut list_2829 = scope_2826.start_list(true, Some("ReplaceRootVolumeTaskId")); - for item_2828 in var_2827 { + let mut scope_2828 = writer.prefix("ReplaceRootVolumeTaskId"); + if let Some(var_2829) = &input.replace_root_volume_task_ids { + let mut list_2831 = scope_2828.start_list(true, Some("ReplaceRootVolumeTaskId")); + for item_2830 in var_2829 { #[allow(unused_mut)] - let mut entry_2830 = list_2829.entry(); - entry_2830.string(item_2828); + let mut entry_2832 = list_2831.entry(); + entry_2832.string(item_2830); } - list_2829.finish(); + list_2831.finish(); } #[allow(unused_mut)] - let mut scope_2831 = writer.prefix("Filter"); - if let Some(var_2832) = &input.filters { - let mut list_2834 = scope_2831.start_list(true, Some("Filter")); - for item_2833 in var_2832 { + let mut scope_2833 = writer.prefix("Filter"); + if let Some(var_2834) = &input.filters { + let mut list_2836 = scope_2833.start_list(true, Some("Filter")); + for item_2835 in var_2834 { #[allow(unused_mut)] - let mut entry_2835 = list_2834.entry(); - crate::query_ser::serialize_structure_filter(entry_2835, item_2833); + let mut entry_2837 = list_2836.entry(); + crate::query_ser::serialize_structure_filter(entry_2837, item_2835); } - list_2834.finish(); + list_2836.finish(); } #[allow(unused_mut)] - let mut scope_2836 = writer.prefix("MaxResults"); - if let Some(var_2837) = &input.max_results { - scope_2836.number( + let mut scope_2838 = writer.prefix("MaxResults"); + if let Some(var_2839) = &input.max_results { + scope_2838.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2837).into()), + smithy_types::Number::NegInt((*var_2839).into()), ); } #[allow(unused_mut)] - let mut scope_2838 = writer.prefix("NextToken"); - if let Some(var_2839) = &input.next_token { - scope_2838.string(var_2839); + let mut scope_2840 = writer.prefix("NextToken"); + if let Some(var_2841) = &input.next_token { + scope_2840.string(var_2841); } #[allow(unused_mut)] - let mut scope_2840 = writer.prefix("DryRun"); - if let Some(var_2841) = &input.dry_run { - scope_2840.boolean(*var_2841); + let mut scope_2842 = writer.prefix("DryRun"); + if let Some(var_2843) = &input.dry_run { + scope_2842.boolean(*var_2843); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9763,41 +9768,41 @@ pub fn serialize_operation_describe_reserved_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeReservedInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2842 = writer.prefix("Filter"); - if let Some(var_2843) = &input.filters { - let mut list_2845 = scope_2842.start_list(true, Some("Filter")); - for item_2844 in var_2843 { + let mut scope_2844 = writer.prefix("Filter"); + if let Some(var_2845) = &input.filters { + let mut list_2847 = scope_2844.start_list(true, Some("Filter")); + for item_2846 in var_2845 { #[allow(unused_mut)] - let mut entry_2846 = list_2845.entry(); - crate::query_ser::serialize_structure_filter(entry_2846, item_2844); + let mut entry_2848 = list_2847.entry(); + crate::query_ser::serialize_structure_filter(entry_2848, item_2846); } - list_2845.finish(); + list_2847.finish(); } #[allow(unused_mut)] - let mut scope_2847 = writer.prefix("OfferingClass"); - if let Some(var_2848) = &input.offering_class { - scope_2847.string(var_2848.as_str()); + let mut scope_2849 = writer.prefix("OfferingClass"); + if let Some(var_2850) = &input.offering_class { + scope_2849.string(var_2850.as_str()); } #[allow(unused_mut)] - let mut scope_2849 = writer.prefix("ReservedInstancesId"); - if let Some(var_2850) = &input.reserved_instances_ids { - let mut list_2852 = scope_2849.start_list(true, Some("ReservedInstancesId")); - for item_2851 in var_2850 { + let mut scope_2851 = writer.prefix("ReservedInstancesId"); + if let Some(var_2852) = &input.reserved_instances_ids { + let mut list_2854 = scope_2851.start_list(true, Some("ReservedInstancesId")); + for item_2853 in var_2852 { #[allow(unused_mut)] - let mut entry_2853 = list_2852.entry(); - entry_2853.string(item_2851); + let mut entry_2855 = list_2854.entry(); + entry_2855.string(item_2853); } - list_2852.finish(); + list_2854.finish(); } #[allow(unused_mut)] - let mut scope_2854 = writer.prefix("DryRun"); - if let Some(var_2855) = &input.dry_run { - scope_2854.boolean(*var_2855); + let mut scope_2856 = writer.prefix("DryRun"); + if let Some(var_2857) = &input.dry_run { + scope_2856.boolean(*var_2857); } #[allow(unused_mut)] - let mut scope_2856 = writer.prefix("OfferingType"); - if let Some(var_2857) = &input.offering_type { - scope_2856.string(var_2857.as_str()); + let mut scope_2858 = writer.prefix("OfferingType"); + if let Some(var_2859) = &input.offering_type { + scope_2858.string(var_2859.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9811,25 +9816,25 @@ pub fn serialize_operation_describe_reserved_instances_listings( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeReservedInstancesListings", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2858 = writer.prefix("Filter"); - if let Some(var_2859) = &input.filters { - let mut list_2861 = scope_2858.start_list(true, Some("Filter")); - for item_2860 in var_2859 { + let mut scope_2860 = writer.prefix("Filter"); + if let Some(var_2861) = &input.filters { + let mut list_2863 = scope_2860.start_list(true, Some("Filter")); + for item_2862 in var_2861 { #[allow(unused_mut)] - let mut entry_2862 = list_2861.entry(); - crate::query_ser::serialize_structure_filter(entry_2862, item_2860); + let mut entry_2864 = list_2863.entry(); + crate::query_ser::serialize_structure_filter(entry_2864, item_2862); } - list_2861.finish(); + list_2863.finish(); } #[allow(unused_mut)] - let mut scope_2863 = writer.prefix("ReservedInstancesId"); - if let Some(var_2864) = &input.reserved_instances_id { - scope_2863.string(var_2864); + let mut scope_2865 = writer.prefix("ReservedInstancesId"); + if let Some(var_2866) = &input.reserved_instances_id { + scope_2865.string(var_2866); } #[allow(unused_mut)] - let mut scope_2865 = writer.prefix("ReservedInstancesListingId"); - if let Some(var_2866) = &input.reserved_instances_listing_id { - scope_2865.string(var_2866); + let mut scope_2867 = writer.prefix("ReservedInstancesListingId"); + if let Some(var_2868) = &input.reserved_instances_listing_id { + scope_2867.string(var_2868); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9846,31 +9851,31 @@ pub fn serialize_operation_describe_reserved_instances_modifications( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2867 = writer.prefix("Filter"); - if let Some(var_2868) = &input.filters { - let mut list_2870 = scope_2867.start_list(true, Some("Filter")); - for item_2869 in var_2868 { + let mut scope_2869 = writer.prefix("Filter"); + if let Some(var_2870) = &input.filters { + let mut list_2872 = scope_2869.start_list(true, Some("Filter")); + for item_2871 in var_2870 { #[allow(unused_mut)] - let mut entry_2871 = list_2870.entry(); - crate::query_ser::serialize_structure_filter(entry_2871, item_2869); + let mut entry_2873 = list_2872.entry(); + crate::query_ser::serialize_structure_filter(entry_2873, item_2871); } - list_2870.finish(); + list_2872.finish(); } #[allow(unused_mut)] - let mut scope_2872 = writer.prefix("ReservedInstancesModificationId"); - if let Some(var_2873) = &input.reserved_instances_modification_ids { - let mut list_2875 = scope_2872.start_list(true, Some("ReservedInstancesModificationId")); - for item_2874 in var_2873 { + let mut scope_2874 = writer.prefix("ReservedInstancesModificationId"); + if let Some(var_2875) = &input.reserved_instances_modification_ids { + let mut list_2877 = scope_2874.start_list(true, Some("ReservedInstancesModificationId")); + for item_2876 in var_2875 { #[allow(unused_mut)] - let mut entry_2876 = list_2875.entry(); - entry_2876.string(item_2874); + let mut entry_2878 = list_2877.entry(); + entry_2878.string(item_2876); } - list_2875.finish(); + list_2877.finish(); } #[allow(unused_mut)] - let mut scope_2877 = writer.prefix("NextToken"); - if let Some(var_2878) = &input.next_token { - scope_2877.string(var_2878); + let mut scope_2879 = writer.prefix("NextToken"); + if let Some(var_2880) = &input.next_token { + scope_2879.string(var_2880); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9887,103 +9892,103 @@ pub fn serialize_operation_describe_reserved_instances_offerings( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2879 = writer.prefix("AvailabilityZone"); - if let Some(var_2880) = &input.availability_zone { - scope_2879.string(var_2880); + let mut scope_2881 = writer.prefix("AvailabilityZone"); + if let Some(var_2882) = &input.availability_zone { + scope_2881.string(var_2882); } #[allow(unused_mut)] - let mut scope_2881 = writer.prefix("Filter"); - if let Some(var_2882) = &input.filters { - let mut list_2884 = scope_2881.start_list(true, Some("Filter")); - for item_2883 in var_2882 { + let mut scope_2883 = writer.prefix("Filter"); + if let Some(var_2884) = &input.filters { + let mut list_2886 = scope_2883.start_list(true, Some("Filter")); + for item_2885 in var_2884 { #[allow(unused_mut)] - let mut entry_2885 = list_2884.entry(); - crate::query_ser::serialize_structure_filter(entry_2885, item_2883); + let mut entry_2887 = list_2886.entry(); + crate::query_ser::serialize_structure_filter(entry_2887, item_2885); } - list_2884.finish(); - } - #[allow(unused_mut)] - let mut scope_2886 = writer.prefix("IncludeMarketplace"); - if let Some(var_2887) = &input.include_marketplace { - scope_2886.boolean(*var_2887); + list_2886.finish(); } #[allow(unused_mut)] - let mut scope_2888 = writer.prefix("InstanceType"); - if let Some(var_2889) = &input.instance_type { - scope_2888.string(var_2889.as_str()); + let mut scope_2888 = writer.prefix("IncludeMarketplace"); + if let Some(var_2889) = &input.include_marketplace { + scope_2888.boolean(*var_2889); } #[allow(unused_mut)] - let mut scope_2890 = writer.prefix("MaxDuration"); - if let Some(var_2891) = &input.max_duration { - scope_2890.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2891).into()), - ); + let mut scope_2890 = writer.prefix("InstanceType"); + if let Some(var_2891) = &input.instance_type { + scope_2890.string(var_2891.as_str()); } #[allow(unused_mut)] - let mut scope_2892 = writer.prefix("MaxInstanceCount"); - if let Some(var_2893) = &input.max_instance_count { + let mut scope_2892 = writer.prefix("MaxDuration"); + if let Some(var_2893) = &input.max_duration { scope_2892.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2893).into()), ); } #[allow(unused_mut)] - let mut scope_2894 = writer.prefix("MinDuration"); - if let Some(var_2895) = &input.min_duration { + let mut scope_2894 = writer.prefix("MaxInstanceCount"); + if let Some(var_2895) = &input.max_instance_count { scope_2894.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2895).into()), ); } #[allow(unused_mut)] - let mut scope_2896 = writer.prefix("OfferingClass"); - if let Some(var_2897) = &input.offering_class { - scope_2896.string(var_2897.as_str()); + let mut scope_2896 = writer.prefix("MinDuration"); + if let Some(var_2897) = &input.min_duration { + scope_2896.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_2897).into()), + ); } #[allow(unused_mut)] - let mut scope_2898 = writer.prefix("ProductDescription"); - if let Some(var_2899) = &input.product_description { + let mut scope_2898 = writer.prefix("OfferingClass"); + if let Some(var_2899) = &input.offering_class { scope_2898.string(var_2899.as_str()); } #[allow(unused_mut)] - let mut scope_2900 = writer.prefix("ReservedInstancesOfferingId"); - if let Some(var_2901) = &input.reserved_instances_offering_ids { - let mut list_2903 = scope_2900.start_list(true, None); - for item_2902 in var_2901 { + let mut scope_2900 = writer.prefix("ProductDescription"); + if let Some(var_2901) = &input.product_description { + scope_2900.string(var_2901.as_str()); + } + #[allow(unused_mut)] + let mut scope_2902 = writer.prefix("ReservedInstancesOfferingId"); + if let Some(var_2903) = &input.reserved_instances_offering_ids { + let mut list_2905 = scope_2902.start_list(true, None); + for item_2904 in var_2903 { #[allow(unused_mut)] - let mut entry_2904 = list_2903.entry(); - entry_2904.string(item_2902); + let mut entry_2906 = list_2905.entry(); + entry_2906.string(item_2904); } - list_2903.finish(); + list_2905.finish(); } #[allow(unused_mut)] - let mut scope_2905 = writer.prefix("DryRun"); - if let Some(var_2906) = &input.dry_run { - scope_2905.boolean(*var_2906); + let mut scope_2907 = writer.prefix("DryRun"); + if let Some(var_2908) = &input.dry_run { + scope_2907.boolean(*var_2908); } #[allow(unused_mut)] - let mut scope_2907 = writer.prefix("InstanceTenancy"); - if let Some(var_2908) = &input.instance_tenancy { - scope_2907.string(var_2908.as_str()); + let mut scope_2909 = writer.prefix("InstanceTenancy"); + if let Some(var_2910) = &input.instance_tenancy { + scope_2909.string(var_2910.as_str()); } #[allow(unused_mut)] - let mut scope_2909 = writer.prefix("MaxResults"); - if let Some(var_2910) = &input.max_results { - scope_2909.number( + let mut scope_2911 = writer.prefix("MaxResults"); + if let Some(var_2912) = &input.max_results { + scope_2911.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2910).into()), + smithy_types::Number::NegInt((*var_2912).into()), ); } #[allow(unused_mut)] - let mut scope_2911 = writer.prefix("NextToken"); - if let Some(var_2912) = &input.next_token { - scope_2911.string(var_2912); + let mut scope_2913 = writer.prefix("NextToken"); + if let Some(var_2914) = &input.next_token { + scope_2913.string(var_2914); } #[allow(unused_mut)] - let mut scope_2913 = writer.prefix("OfferingType"); - if let Some(var_2914) = &input.offering_type { - scope_2913.string(var_2914.as_str()); + let mut scope_2915 = writer.prefix("OfferingType"); + if let Some(var_2916) = &input.offering_type { + scope_2915.string(var_2916.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -9996,43 +10001,43 @@ pub fn serialize_operation_describe_route_tables( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeRouteTables", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2915 = writer.prefix("Filter"); - if let Some(var_2916) = &input.filters { - let mut list_2918 = scope_2915.start_list(true, Some("Filter")); - for item_2917 in var_2916 { + let mut scope_2917 = writer.prefix("Filter"); + if let Some(var_2918) = &input.filters { + let mut list_2920 = scope_2917.start_list(true, Some("Filter")); + for item_2919 in var_2918 { #[allow(unused_mut)] - let mut entry_2919 = list_2918.entry(); - crate::query_ser::serialize_structure_filter(entry_2919, item_2917); + let mut entry_2921 = list_2920.entry(); + crate::query_ser::serialize_structure_filter(entry_2921, item_2919); } - list_2918.finish(); + list_2920.finish(); } #[allow(unused_mut)] - let mut scope_2920 = writer.prefix("DryRun"); - if let Some(var_2921) = &input.dry_run { - scope_2920.boolean(*var_2921); + let mut scope_2922 = writer.prefix("DryRun"); + if let Some(var_2923) = &input.dry_run { + scope_2922.boolean(*var_2923); } #[allow(unused_mut)] - let mut scope_2922 = writer.prefix("RouteTableId"); - if let Some(var_2923) = &input.route_table_ids { - let mut list_2925 = scope_2922.start_list(true, Some("item")); - for item_2924 in var_2923 { + let mut scope_2924 = writer.prefix("RouteTableId"); + if let Some(var_2925) = &input.route_table_ids { + let mut list_2927 = scope_2924.start_list(true, Some("item")); + for item_2926 in var_2925 { #[allow(unused_mut)] - let mut entry_2926 = list_2925.entry(); - entry_2926.string(item_2924); + let mut entry_2928 = list_2927.entry(); + entry_2928.string(item_2926); } - list_2925.finish(); + list_2927.finish(); } #[allow(unused_mut)] - let mut scope_2927 = writer.prefix("NextToken"); - if let Some(var_2928) = &input.next_token { - scope_2927.string(var_2928); + let mut scope_2929 = writer.prefix("NextToken"); + if let Some(var_2930) = &input.next_token { + scope_2929.string(var_2930); } #[allow(unused_mut)] - let mut scope_2929 = writer.prefix("MaxResults"); - if let Some(var_2930) = &input.max_results { - scope_2929.number( + let mut scope_2931 = writer.prefix("MaxResults"); + if let Some(var_2932) = &input.max_results { + scope_2931.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2930).into()), + smithy_types::Number::NegInt((*var_2932).into()), ); } writer.finish(); @@ -10050,60 +10055,60 @@ pub fn serialize_operation_describe_scheduled_instance_availability( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_2931 = writer.prefix("DryRun"); - if let Some(var_2932) = &input.dry_run { - scope_2931.boolean(*var_2932); + let mut scope_2933 = writer.prefix("DryRun"); + if let Some(var_2934) = &input.dry_run { + scope_2933.boolean(*var_2934); } #[allow(unused_mut)] - let mut scope_2933 = writer.prefix("Filter"); - if let Some(var_2934) = &input.filters { - let mut list_2936 = scope_2933.start_list(true, Some("Filter")); - for item_2935 in var_2934 { + let mut scope_2935 = writer.prefix("Filter"); + if let Some(var_2936) = &input.filters { + let mut list_2938 = scope_2935.start_list(true, Some("Filter")); + for item_2937 in var_2936 { #[allow(unused_mut)] - let mut entry_2937 = list_2936.entry(); - crate::query_ser::serialize_structure_filter(entry_2937, item_2935); + let mut entry_2939 = list_2938.entry(); + crate::query_ser::serialize_structure_filter(entry_2939, item_2937); } - list_2936.finish(); - } - #[allow(unused_mut)] - let mut scope_2938 = writer.prefix("FirstSlotStartTimeRange"); - if let Some(var_2939) = &input.first_slot_start_time_range { - crate::query_ser::serialize_structure_slot_date_time_range_request(scope_2938, var_2939); + list_2938.finish(); } #[allow(unused_mut)] - let mut scope_2940 = writer.prefix("MaxResults"); - if let Some(var_2941) = &input.max_results { - scope_2940.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2941).into()), - ); + let mut scope_2940 = writer.prefix("FirstSlotStartTimeRange"); + if let Some(var_2941) = &input.first_slot_start_time_range { + crate::query_ser::serialize_structure_slot_date_time_range_request(scope_2940, var_2941); } #[allow(unused_mut)] - let mut scope_2942 = writer.prefix("MaxSlotDurationInHours"); - if let Some(var_2943) = &input.max_slot_duration_in_hours { + let mut scope_2942 = writer.prefix("MaxResults"); + if let Some(var_2943) = &input.max_results { scope_2942.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2943).into()), ); } #[allow(unused_mut)] - let mut scope_2944 = writer.prefix("MinSlotDurationInHours"); - if let Some(var_2945) = &input.min_slot_duration_in_hours { + let mut scope_2944 = writer.prefix("MaxSlotDurationInHours"); + if let Some(var_2945) = &input.max_slot_duration_in_hours { scope_2944.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_2945).into()), ); } #[allow(unused_mut)] - let mut scope_2946 = writer.prefix("NextToken"); - if let Some(var_2947) = &input.next_token { - scope_2946.string(var_2947); + let mut scope_2946 = writer.prefix("MinSlotDurationInHours"); + if let Some(var_2947) = &input.min_slot_duration_in_hours { + scope_2946.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_2947).into()), + ); + } + #[allow(unused_mut)] + let mut scope_2948 = writer.prefix("NextToken"); + if let Some(var_2949) = &input.next_token { + scope_2948.string(var_2949); } #[allow(unused_mut)] - let mut scope_2948 = writer.prefix("Recurrence"); - if let Some(var_2949) = &input.recurrence { + let mut scope_2950 = writer.prefix("Recurrence"); + if let Some(var_2951) = &input.recurrence { crate::query_ser::serialize_structure_scheduled_instance_recurrence_request( - scope_2948, var_2949, + scope_2950, var_2951, ); } writer.finish(); @@ -10118,49 +10123,49 @@ pub fn serialize_operation_describe_scheduled_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeScheduledInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2950 = writer.prefix("DryRun"); - if let Some(var_2951) = &input.dry_run { - scope_2950.boolean(*var_2951); + let mut scope_2952 = writer.prefix("DryRun"); + if let Some(var_2953) = &input.dry_run { + scope_2952.boolean(*var_2953); } #[allow(unused_mut)] - let mut scope_2952 = writer.prefix("Filter"); - if let Some(var_2953) = &input.filters { - let mut list_2955 = scope_2952.start_list(true, Some("Filter")); - for item_2954 in var_2953 { + let mut scope_2954 = writer.prefix("Filter"); + if let Some(var_2955) = &input.filters { + let mut list_2957 = scope_2954.start_list(true, Some("Filter")); + for item_2956 in var_2955 { #[allow(unused_mut)] - let mut entry_2956 = list_2955.entry(); - crate::query_ser::serialize_structure_filter(entry_2956, item_2954); + let mut entry_2958 = list_2957.entry(); + crate::query_ser::serialize_structure_filter(entry_2958, item_2956); } - list_2955.finish(); + list_2957.finish(); } #[allow(unused_mut)] - let mut scope_2957 = writer.prefix("MaxResults"); - if let Some(var_2958) = &input.max_results { - scope_2957.number( + let mut scope_2959 = writer.prefix("MaxResults"); + if let Some(var_2960) = &input.max_results { + scope_2959.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2958).into()), + smithy_types::Number::NegInt((*var_2960).into()), ); } #[allow(unused_mut)] - let mut scope_2959 = writer.prefix("NextToken"); - if let Some(var_2960) = &input.next_token { - scope_2959.string(var_2960); + let mut scope_2961 = writer.prefix("NextToken"); + if let Some(var_2962) = &input.next_token { + scope_2961.string(var_2962); } #[allow(unused_mut)] - let mut scope_2961 = writer.prefix("ScheduledInstanceId"); - if let Some(var_2962) = &input.scheduled_instance_ids { - let mut list_2964 = scope_2961.start_list(true, Some("ScheduledInstanceId")); - for item_2963 in var_2962 { + let mut scope_2963 = writer.prefix("ScheduledInstanceId"); + if let Some(var_2964) = &input.scheduled_instance_ids { + let mut list_2966 = scope_2963.start_list(true, Some("ScheduledInstanceId")); + for item_2965 in var_2964 { #[allow(unused_mut)] - let mut entry_2965 = list_2964.entry(); - entry_2965.string(item_2963); + let mut entry_2967 = list_2966.entry(); + entry_2967.string(item_2965); } - list_2964.finish(); + list_2966.finish(); } #[allow(unused_mut)] - let mut scope_2966 = writer.prefix("SlotStartTimeRange"); - if let Some(var_2967) = &input.slot_start_time_range { - crate::query_ser::serialize_structure_slot_start_time_range_request(scope_2966, var_2967); + let mut scope_2968 = writer.prefix("SlotStartTimeRange"); + if let Some(var_2969) = &input.slot_start_time_range { + crate::query_ser::serialize_structure_slot_start_time_range_request(scope_2968, var_2969); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10174,20 +10179,20 @@ pub fn serialize_operation_describe_security_group_references( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSecurityGroupReferences", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2968 = writer.prefix("DryRun"); - if let Some(var_2969) = &input.dry_run { - scope_2968.boolean(*var_2969); + let mut scope_2970 = writer.prefix("DryRun"); + if let Some(var_2971) = &input.dry_run { + scope_2970.boolean(*var_2971); } #[allow(unused_mut)] - let mut scope_2970 = writer.prefix("GroupId"); - if let Some(var_2971) = &input.group_id { - let mut list_2973 = scope_2970.start_list(true, Some("item")); - for item_2972 in var_2971 { + let mut scope_2972 = writer.prefix("GroupId"); + if let Some(var_2973) = &input.group_id { + let mut list_2975 = scope_2972.start_list(true, Some("item")); + for item_2974 in var_2973 { #[allow(unused_mut)] - let mut entry_2974 = list_2973.entry(); - entry_2974.string(item_2972); + let mut entry_2976 = list_2975.entry(); + entry_2976.string(item_2974); } - list_2973.finish(); + list_2975.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10201,43 +10206,43 @@ pub fn serialize_operation_describe_security_group_rules( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSecurityGroupRules", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2975 = writer.prefix("Filter"); - if let Some(var_2976) = &input.filters { - let mut list_2978 = scope_2975.start_list(true, Some("Filter")); - for item_2977 in var_2976 { + let mut scope_2977 = writer.prefix("Filter"); + if let Some(var_2978) = &input.filters { + let mut list_2980 = scope_2977.start_list(true, Some("Filter")); + for item_2979 in var_2978 { #[allow(unused_mut)] - let mut entry_2979 = list_2978.entry(); - crate::query_ser::serialize_structure_filter(entry_2979, item_2977); + let mut entry_2981 = list_2980.entry(); + crate::query_ser::serialize_structure_filter(entry_2981, item_2979); } - list_2978.finish(); + list_2980.finish(); } #[allow(unused_mut)] - let mut scope_2980 = writer.prefix("SecurityGroupRuleId"); - if let Some(var_2981) = &input.security_group_rule_ids { - let mut list_2983 = scope_2980.start_list(true, Some("item")); - for item_2982 in var_2981 { + let mut scope_2982 = writer.prefix("SecurityGroupRuleId"); + if let Some(var_2983) = &input.security_group_rule_ids { + let mut list_2985 = scope_2982.start_list(true, Some("item")); + for item_2984 in var_2983 { #[allow(unused_mut)] - let mut entry_2984 = list_2983.entry(); - entry_2984.string(item_2982); + let mut entry_2986 = list_2985.entry(); + entry_2986.string(item_2984); } - list_2983.finish(); + list_2985.finish(); } #[allow(unused_mut)] - let mut scope_2985 = writer.prefix("DryRun"); - if let Some(var_2986) = &input.dry_run { - scope_2985.boolean(*var_2986); + let mut scope_2987 = writer.prefix("DryRun"); + if let Some(var_2988) = &input.dry_run { + scope_2987.boolean(*var_2988); } #[allow(unused_mut)] - let mut scope_2987 = writer.prefix("NextToken"); - if let Some(var_2988) = &input.next_token { - scope_2987.string(var_2988); + let mut scope_2989 = writer.prefix("NextToken"); + if let Some(var_2990) = &input.next_token { + scope_2989.string(var_2990); } #[allow(unused_mut)] - let mut scope_2989 = writer.prefix("MaxResults"); - if let Some(var_2990) = &input.max_results { - scope_2989.number( + let mut scope_2991 = writer.prefix("MaxResults"); + if let Some(var_2992) = &input.max_results { + scope_2991.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2990).into()), + smithy_types::Number::NegInt((*var_2992).into()), ); } writer.finish(); @@ -10252,54 +10257,54 @@ pub fn serialize_operation_describe_security_groups( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSecurityGroups", "2016-11-15"); #[allow(unused_mut)] - let mut scope_2991 = writer.prefix("Filter"); - if let Some(var_2992) = &input.filters { - let mut list_2994 = scope_2991.start_list(true, Some("Filter")); - for item_2993 in var_2992 { + let mut scope_2993 = writer.prefix("Filter"); + if let Some(var_2994) = &input.filters { + let mut list_2996 = scope_2993.start_list(true, Some("Filter")); + for item_2995 in var_2994 { #[allow(unused_mut)] - let mut entry_2995 = list_2994.entry(); - crate::query_ser::serialize_structure_filter(entry_2995, item_2993); + let mut entry_2997 = list_2996.entry(); + crate::query_ser::serialize_structure_filter(entry_2997, item_2995); } - list_2994.finish(); + list_2996.finish(); } #[allow(unused_mut)] - let mut scope_2996 = writer.prefix("GroupId"); - if let Some(var_2997) = &input.group_ids { - let mut list_2999 = scope_2996.start_list(true, Some("groupId")); - for item_2998 in var_2997 { + let mut scope_2998 = writer.prefix("GroupId"); + if let Some(var_2999) = &input.group_ids { + let mut list_3001 = scope_2998.start_list(true, Some("groupId")); + for item_3000 in var_2999 { #[allow(unused_mut)] - let mut entry_3000 = list_2999.entry(); - entry_3000.string(item_2998); + let mut entry_3002 = list_3001.entry(); + entry_3002.string(item_3000); } - list_2999.finish(); + list_3001.finish(); } #[allow(unused_mut)] - let mut scope_3001 = writer.prefix("GroupName"); - if let Some(var_3002) = &input.group_names { - let mut list_3004 = scope_3001.start_list(true, Some("GroupName")); - for item_3003 in var_3002 { + let mut scope_3003 = writer.prefix("GroupName"); + if let Some(var_3004) = &input.group_names { + let mut list_3006 = scope_3003.start_list(true, Some("GroupName")); + for item_3005 in var_3004 { #[allow(unused_mut)] - let mut entry_3005 = list_3004.entry(); - entry_3005.string(item_3003); + let mut entry_3007 = list_3006.entry(); + entry_3007.string(item_3005); } - list_3004.finish(); + list_3006.finish(); } #[allow(unused_mut)] - let mut scope_3006 = writer.prefix("DryRun"); - if let Some(var_3007) = &input.dry_run { - scope_3006.boolean(*var_3007); + let mut scope_3008 = writer.prefix("DryRun"); + if let Some(var_3009) = &input.dry_run { + scope_3008.boolean(*var_3009); } #[allow(unused_mut)] - let mut scope_3008 = writer.prefix("NextToken"); - if let Some(var_3009) = &input.next_token { - scope_3008.string(var_3009); + let mut scope_3010 = writer.prefix("NextToken"); + if let Some(var_3011) = &input.next_token { + scope_3010.string(var_3011); } #[allow(unused_mut)] - let mut scope_3010 = writer.prefix("MaxResults"); - if let Some(var_3011) = &input.max_results { - scope_3010.number( + let mut scope_3012 = writer.prefix("MaxResults"); + if let Some(var_3013) = &input.max_results { + scope_3012.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3011).into()), + smithy_types::Number::NegInt((*var_3013).into()), ); } writer.finish(); @@ -10314,19 +10319,19 @@ pub fn serialize_operation_describe_snapshot_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSnapshotAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3012 = writer.prefix("Attribute"); - if let Some(var_3013) = &input.attribute { - scope_3012.string(var_3013.as_str()); + let mut scope_3014 = writer.prefix("Attribute"); + if let Some(var_3015) = &input.attribute { + scope_3014.string(var_3015.as_str()); } #[allow(unused_mut)] - let mut scope_3014 = writer.prefix("SnapshotId"); - if let Some(var_3015) = &input.snapshot_id { - scope_3014.string(var_3015); + let mut scope_3016 = writer.prefix("SnapshotId"); + if let Some(var_3017) = &input.snapshot_id { + scope_3016.string(var_3017); } #[allow(unused_mut)] - let mut scope_3016 = writer.prefix("DryRun"); - if let Some(var_3017) = &input.dry_run { - scope_3016.boolean(*var_3017); + let mut scope_3018 = writer.prefix("DryRun"); + if let Some(var_3019) = &input.dry_run { + scope_3018.boolean(*var_3019); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10339,66 +10344,66 @@ pub fn serialize_operation_describe_snapshots( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSnapshots", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3018 = writer.prefix("Filter"); - if let Some(var_3019) = &input.filters { - let mut list_3021 = scope_3018.start_list(true, Some("Filter")); - for item_3020 in var_3019 { + let mut scope_3020 = writer.prefix("Filter"); + if let Some(var_3021) = &input.filters { + let mut list_3023 = scope_3020.start_list(true, Some("Filter")); + for item_3022 in var_3021 { #[allow(unused_mut)] - let mut entry_3022 = list_3021.entry(); - crate::query_ser::serialize_structure_filter(entry_3022, item_3020); + let mut entry_3024 = list_3023.entry(); + crate::query_ser::serialize_structure_filter(entry_3024, item_3022); } - list_3021.finish(); + list_3023.finish(); } #[allow(unused_mut)] - let mut scope_3023 = writer.prefix("MaxResults"); - if let Some(var_3024) = &input.max_results { - scope_3023.number( + let mut scope_3025 = writer.prefix("MaxResults"); + if let Some(var_3026) = &input.max_results { + scope_3025.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3024).into()), + smithy_types::Number::NegInt((*var_3026).into()), ); } #[allow(unused_mut)] - let mut scope_3025 = writer.prefix("NextToken"); - if let Some(var_3026) = &input.next_token { - scope_3025.string(var_3026); + let mut scope_3027 = writer.prefix("NextToken"); + if let Some(var_3028) = &input.next_token { + scope_3027.string(var_3028); } #[allow(unused_mut)] - let mut scope_3027 = writer.prefix("Owner"); - if let Some(var_3028) = &input.owner_ids { - let mut list_3030 = scope_3027.start_list(true, Some("Owner")); - for item_3029 in var_3028 { + let mut scope_3029 = writer.prefix("Owner"); + if let Some(var_3030) = &input.owner_ids { + let mut list_3032 = scope_3029.start_list(true, Some("Owner")); + for item_3031 in var_3030 { #[allow(unused_mut)] - let mut entry_3031 = list_3030.entry(); - entry_3031.string(item_3029); + let mut entry_3033 = list_3032.entry(); + entry_3033.string(item_3031); } - list_3030.finish(); + list_3032.finish(); } #[allow(unused_mut)] - let mut scope_3032 = writer.prefix("RestorableBy"); - if let Some(var_3033) = &input.restorable_by_user_ids { - let mut list_3035 = scope_3032.start_list(true, None); - for item_3034 in var_3033 { + let mut scope_3034 = writer.prefix("RestorableBy"); + if let Some(var_3035) = &input.restorable_by_user_ids { + let mut list_3037 = scope_3034.start_list(true, None); + for item_3036 in var_3035 { #[allow(unused_mut)] - let mut entry_3036 = list_3035.entry(); - entry_3036.string(item_3034); + let mut entry_3038 = list_3037.entry(); + entry_3038.string(item_3036); } - list_3035.finish(); + list_3037.finish(); } #[allow(unused_mut)] - let mut scope_3037 = writer.prefix("SnapshotId"); - if let Some(var_3038) = &input.snapshot_ids { - let mut list_3040 = scope_3037.start_list(true, Some("SnapshotId")); - for item_3039 in var_3038 { + let mut scope_3039 = writer.prefix("SnapshotId"); + if let Some(var_3040) = &input.snapshot_ids { + let mut list_3042 = scope_3039.start_list(true, Some("SnapshotId")); + for item_3041 in var_3040 { #[allow(unused_mut)] - let mut entry_3041 = list_3040.entry(); - entry_3041.string(item_3039); + let mut entry_3043 = list_3042.entry(); + entry_3043.string(item_3041); } - list_3040.finish(); + list_3042.finish(); } #[allow(unused_mut)] - let mut scope_3042 = writer.prefix("DryRun"); - if let Some(var_3043) = &input.dry_run { - scope_3042.boolean(*var_3043); + let mut scope_3044 = writer.prefix("DryRun"); + if let Some(var_3045) = &input.dry_run { + scope_3044.boolean(*var_3045); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10412,9 +10417,9 @@ pub fn serialize_operation_describe_spot_datafeed_subscription( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotDatafeedSubscription", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3044 = writer.prefix("DryRun"); - if let Some(var_3045) = &input.dry_run { - scope_3044.boolean(*var_3045); + let mut scope_3046 = writer.prefix("DryRun"); + if let Some(var_3047) = &input.dry_run { + scope_3046.boolean(*var_3047); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10428,27 +10433,27 @@ pub fn serialize_operation_describe_spot_fleet_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotFleetInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3046 = writer.prefix("DryRun"); - if let Some(var_3047) = &input.dry_run { - scope_3046.boolean(*var_3047); + let mut scope_3048 = writer.prefix("DryRun"); + if let Some(var_3049) = &input.dry_run { + scope_3048.boolean(*var_3049); } #[allow(unused_mut)] - let mut scope_3048 = writer.prefix("MaxResults"); - if let Some(var_3049) = &input.max_results { - scope_3048.number( + let mut scope_3050 = writer.prefix("MaxResults"); + if let Some(var_3051) = &input.max_results { + scope_3050.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3049).into()), + smithy_types::Number::NegInt((*var_3051).into()), ); } #[allow(unused_mut)] - let mut scope_3050 = writer.prefix("NextToken"); - if let Some(var_3051) = &input.next_token { - scope_3050.string(var_3051); + let mut scope_3052 = writer.prefix("NextToken"); + if let Some(var_3053) = &input.next_token { + scope_3052.string(var_3053); } #[allow(unused_mut)] - let mut scope_3052 = writer.prefix("SpotFleetRequestId"); - if let Some(var_3053) = &input.spot_fleet_request_id { - scope_3052.string(var_3053); + let mut scope_3054 = writer.prefix("SpotFleetRequestId"); + if let Some(var_3055) = &input.spot_fleet_request_id { + scope_3054.string(var_3055); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10462,37 +10467,37 @@ pub fn serialize_operation_describe_spot_fleet_request_history( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotFleetRequestHistory", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3054 = writer.prefix("DryRun"); - if let Some(var_3055) = &input.dry_run { - scope_3054.boolean(*var_3055); + let mut scope_3056 = writer.prefix("DryRun"); + if let Some(var_3057) = &input.dry_run { + scope_3056.boolean(*var_3057); } #[allow(unused_mut)] - let mut scope_3056 = writer.prefix("EventType"); - if let Some(var_3057) = &input.event_type { - scope_3056.string(var_3057.as_str()); + let mut scope_3058 = writer.prefix("EventType"); + if let Some(var_3059) = &input.event_type { + scope_3058.string(var_3059.as_str()); } #[allow(unused_mut)] - let mut scope_3058 = writer.prefix("MaxResults"); - if let Some(var_3059) = &input.max_results { - scope_3058.number( + let mut scope_3060 = writer.prefix("MaxResults"); + if let Some(var_3061) = &input.max_results { + scope_3060.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3059).into()), + smithy_types::Number::NegInt((*var_3061).into()), ); } #[allow(unused_mut)] - let mut scope_3060 = writer.prefix("NextToken"); - if let Some(var_3061) = &input.next_token { - scope_3060.string(var_3061); + let mut scope_3062 = writer.prefix("NextToken"); + if let Some(var_3063) = &input.next_token { + scope_3062.string(var_3063); } #[allow(unused_mut)] - let mut scope_3062 = writer.prefix("SpotFleetRequestId"); - if let Some(var_3063) = &input.spot_fleet_request_id { - scope_3062.string(var_3063); + let mut scope_3064 = writer.prefix("SpotFleetRequestId"); + if let Some(var_3065) = &input.spot_fleet_request_id { + scope_3064.string(var_3065); } #[allow(unused_mut)] - let mut scope_3064 = writer.prefix("StartTime"); - if let Some(var_3065) = &input.start_time { - scope_3064.instant(var_3065, smithy_types::instant::Format::DateTime); + let mut scope_3066 = writer.prefix("StartTime"); + if let Some(var_3067) = &input.start_time { + scope_3066.instant(var_3067, smithy_types::instant::Format::DateTime); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10506,33 +10511,33 @@ pub fn serialize_operation_describe_spot_fleet_requests( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotFleetRequests", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3066 = writer.prefix("DryRun"); - if let Some(var_3067) = &input.dry_run { - scope_3066.boolean(*var_3067); + let mut scope_3068 = writer.prefix("DryRun"); + if let Some(var_3069) = &input.dry_run { + scope_3068.boolean(*var_3069); } #[allow(unused_mut)] - let mut scope_3068 = writer.prefix("MaxResults"); - if let Some(var_3069) = &input.max_results { - scope_3068.number( + let mut scope_3070 = writer.prefix("MaxResults"); + if let Some(var_3071) = &input.max_results { + scope_3070.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3069).into()), + smithy_types::Number::NegInt((*var_3071).into()), ); } #[allow(unused_mut)] - let mut scope_3070 = writer.prefix("NextToken"); - if let Some(var_3071) = &input.next_token { - scope_3070.string(var_3071); + let mut scope_3072 = writer.prefix("NextToken"); + if let Some(var_3073) = &input.next_token { + scope_3072.string(var_3073); } #[allow(unused_mut)] - let mut scope_3072 = writer.prefix("SpotFleetRequestId"); - if let Some(var_3073) = &input.spot_fleet_request_ids { - let mut list_3075 = scope_3072.start_list(true, Some("item")); - for item_3074 in var_3073 { + let mut scope_3074 = writer.prefix("SpotFleetRequestId"); + if let Some(var_3075) = &input.spot_fleet_request_ids { + let mut list_3077 = scope_3074.start_list(true, Some("item")); + for item_3076 in var_3075 { #[allow(unused_mut)] - let mut entry_3076 = list_3075.entry(); - entry_3076.string(item_3074); + let mut entry_3078 = list_3077.entry(); + entry_3078.string(item_3076); } - list_3075.finish(); + list_3077.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10546,43 +10551,43 @@ pub fn serialize_operation_describe_spot_instance_requests( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotInstanceRequests", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3077 = writer.prefix("Filter"); - if let Some(var_3078) = &input.filters { - let mut list_3080 = scope_3077.start_list(true, Some("Filter")); - for item_3079 in var_3078 { + let mut scope_3079 = writer.prefix("Filter"); + if let Some(var_3080) = &input.filters { + let mut list_3082 = scope_3079.start_list(true, Some("Filter")); + for item_3081 in var_3080 { #[allow(unused_mut)] - let mut entry_3081 = list_3080.entry(); - crate::query_ser::serialize_structure_filter(entry_3081, item_3079); + let mut entry_3083 = list_3082.entry(); + crate::query_ser::serialize_structure_filter(entry_3083, item_3081); } - list_3080.finish(); + list_3082.finish(); } #[allow(unused_mut)] - let mut scope_3082 = writer.prefix("DryRun"); - if let Some(var_3083) = &input.dry_run { - scope_3082.boolean(*var_3083); + let mut scope_3084 = writer.prefix("DryRun"); + if let Some(var_3085) = &input.dry_run { + scope_3084.boolean(*var_3085); } #[allow(unused_mut)] - let mut scope_3084 = writer.prefix("SpotInstanceRequestId"); - if let Some(var_3085) = &input.spot_instance_request_ids { - let mut list_3087 = scope_3084.start_list(true, Some("SpotInstanceRequestId")); - for item_3086 in var_3085 { + let mut scope_3086 = writer.prefix("SpotInstanceRequestId"); + if let Some(var_3087) = &input.spot_instance_request_ids { + let mut list_3089 = scope_3086.start_list(true, Some("SpotInstanceRequestId")); + for item_3088 in var_3087 { #[allow(unused_mut)] - let mut entry_3088 = list_3087.entry(); - entry_3088.string(item_3086); + let mut entry_3090 = list_3089.entry(); + entry_3090.string(item_3088); } - list_3087.finish(); + list_3089.finish(); } #[allow(unused_mut)] - let mut scope_3089 = writer.prefix("NextToken"); - if let Some(var_3090) = &input.next_token { - scope_3089.string(var_3090); + let mut scope_3091 = writer.prefix("NextToken"); + if let Some(var_3092) = &input.next_token { + scope_3091.string(var_3092); } #[allow(unused_mut)] - let mut scope_3091 = writer.prefix("MaxResults"); - if let Some(var_3092) = &input.max_results { - scope_3091.number( + let mut scope_3093 = writer.prefix("MaxResults"); + if let Some(var_3094) = &input.max_results { + scope_3093.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3092).into()), + smithy_types::Number::NegInt((*var_3094).into()), ); } writer.finish(); @@ -10597,70 +10602,70 @@ pub fn serialize_operation_describe_spot_price_history( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSpotPriceHistory", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3093 = writer.prefix("Filter"); - if let Some(var_3094) = &input.filters { - let mut list_3096 = scope_3093.start_list(true, Some("Filter")); - for item_3095 in var_3094 { + let mut scope_3095 = writer.prefix("Filter"); + if let Some(var_3096) = &input.filters { + let mut list_3098 = scope_3095.start_list(true, Some("Filter")); + for item_3097 in var_3096 { #[allow(unused_mut)] - let mut entry_3097 = list_3096.entry(); - crate::query_ser::serialize_structure_filter(entry_3097, item_3095); + let mut entry_3099 = list_3098.entry(); + crate::query_ser::serialize_structure_filter(entry_3099, item_3097); } - list_3096.finish(); + list_3098.finish(); } #[allow(unused_mut)] - let mut scope_3098 = writer.prefix("AvailabilityZone"); - if let Some(var_3099) = &input.availability_zone { - scope_3098.string(var_3099); + let mut scope_3100 = writer.prefix("AvailabilityZone"); + if let Some(var_3101) = &input.availability_zone { + scope_3100.string(var_3101); } #[allow(unused_mut)] - let mut scope_3100 = writer.prefix("DryRun"); - if let Some(var_3101) = &input.dry_run { - scope_3100.boolean(*var_3101); + let mut scope_3102 = writer.prefix("DryRun"); + if let Some(var_3103) = &input.dry_run { + scope_3102.boolean(*var_3103); } #[allow(unused_mut)] - let mut scope_3102 = writer.prefix("EndTime"); - if let Some(var_3103) = &input.end_time { - scope_3102.instant(var_3103, smithy_types::instant::Format::DateTime); + let mut scope_3104 = writer.prefix("EndTime"); + if let Some(var_3105) = &input.end_time { + scope_3104.instant(var_3105, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_3104 = writer.prefix("InstanceType"); - if let Some(var_3105) = &input.instance_types { - let mut list_3107 = scope_3104.start_list(true, None); - for item_3106 in var_3105 { + let mut scope_3106 = writer.prefix("InstanceType"); + if let Some(var_3107) = &input.instance_types { + let mut list_3109 = scope_3106.start_list(true, None); + for item_3108 in var_3107 { #[allow(unused_mut)] - let mut entry_3108 = list_3107.entry(); - entry_3108.string(item_3106.as_str()); + let mut entry_3110 = list_3109.entry(); + entry_3110.string(item_3108.as_str()); } - list_3107.finish(); + list_3109.finish(); } #[allow(unused_mut)] - let mut scope_3109 = writer.prefix("MaxResults"); - if let Some(var_3110) = &input.max_results { - scope_3109.number( + let mut scope_3111 = writer.prefix("MaxResults"); + if let Some(var_3112) = &input.max_results { + scope_3111.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3110).into()), + smithy_types::Number::NegInt((*var_3112).into()), ); } #[allow(unused_mut)] - let mut scope_3111 = writer.prefix("NextToken"); - if let Some(var_3112) = &input.next_token { - scope_3111.string(var_3112); + let mut scope_3113 = writer.prefix("NextToken"); + if let Some(var_3114) = &input.next_token { + scope_3113.string(var_3114); } #[allow(unused_mut)] - let mut scope_3113 = writer.prefix("ProductDescription"); - if let Some(var_3114) = &input.product_descriptions { - let mut list_3116 = scope_3113.start_list(true, None); - for item_3115 in var_3114 { + let mut scope_3115 = writer.prefix("ProductDescription"); + if let Some(var_3116) = &input.product_descriptions { + let mut list_3118 = scope_3115.start_list(true, None); + for item_3117 in var_3116 { #[allow(unused_mut)] - let mut entry_3117 = list_3116.entry(); - entry_3117.string(item_3115); + let mut entry_3119 = list_3118.entry(); + entry_3119.string(item_3117); } - list_3116.finish(); + list_3118.finish(); } #[allow(unused_mut)] - let mut scope_3118 = writer.prefix("StartTime"); - if let Some(var_3119) = &input.start_time { - scope_3118.instant(var_3119, smithy_types::instant::Format::DateTime); + let mut scope_3120 = writer.prefix("StartTime"); + if let Some(var_3121) = &input.start_time { + scope_3120.instant(var_3121, smithy_types::instant::Format::DateTime); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10674,27 +10679,27 @@ pub fn serialize_operation_describe_stale_security_groups( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeStaleSecurityGroups", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3120 = writer.prefix("DryRun"); - if let Some(var_3121) = &input.dry_run { - scope_3120.boolean(*var_3121); + let mut scope_3122 = writer.prefix("DryRun"); + if let Some(var_3123) = &input.dry_run { + scope_3122.boolean(*var_3123); } #[allow(unused_mut)] - let mut scope_3122 = writer.prefix("MaxResults"); - if let Some(var_3123) = &input.max_results { - scope_3122.number( + let mut scope_3124 = writer.prefix("MaxResults"); + if let Some(var_3125) = &input.max_results { + scope_3124.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3123).into()), + smithy_types::Number::NegInt((*var_3125).into()), ); } #[allow(unused_mut)] - let mut scope_3124 = writer.prefix("NextToken"); - if let Some(var_3125) = &input.next_token { - scope_3124.string(var_3125); + let mut scope_3126 = writer.prefix("NextToken"); + if let Some(var_3127) = &input.next_token { + scope_3126.string(var_3127); } #[allow(unused_mut)] - let mut scope_3126 = writer.prefix("VpcId"); - if let Some(var_3127) = &input.vpc_id { - scope_3126.string(var_3127); + let mut scope_3128 = writer.prefix("VpcId"); + if let Some(var_3129) = &input.vpc_id { + scope_3128.string(var_3129); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10708,43 +10713,43 @@ pub fn serialize_operation_describe_store_image_tasks( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeStoreImageTasks", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3128 = writer.prefix("ImageId"); - if let Some(var_3129) = &input.image_ids { - let mut list_3131 = scope_3128.start_list(true, Some("item")); - for item_3130 in var_3129 { + let mut scope_3130 = writer.prefix("ImageId"); + if let Some(var_3131) = &input.image_ids { + let mut list_3133 = scope_3130.start_list(true, Some("item")); + for item_3132 in var_3131 { #[allow(unused_mut)] - let mut entry_3132 = list_3131.entry(); - entry_3132.string(item_3130); + let mut entry_3134 = list_3133.entry(); + entry_3134.string(item_3132); } - list_3131.finish(); + list_3133.finish(); } #[allow(unused_mut)] - let mut scope_3133 = writer.prefix("DryRun"); - if let Some(var_3134) = &input.dry_run { - scope_3133.boolean(*var_3134); + let mut scope_3135 = writer.prefix("DryRun"); + if let Some(var_3136) = &input.dry_run { + scope_3135.boolean(*var_3136); } #[allow(unused_mut)] - let mut scope_3135 = writer.prefix("Filter"); - if let Some(var_3136) = &input.filters { - let mut list_3138 = scope_3135.start_list(true, Some("Filter")); - for item_3137 in var_3136 { + let mut scope_3137 = writer.prefix("Filter"); + if let Some(var_3138) = &input.filters { + let mut list_3140 = scope_3137.start_list(true, Some("Filter")); + for item_3139 in var_3138 { #[allow(unused_mut)] - let mut entry_3139 = list_3138.entry(); - crate::query_ser::serialize_structure_filter(entry_3139, item_3137); + let mut entry_3141 = list_3140.entry(); + crate::query_ser::serialize_structure_filter(entry_3141, item_3139); } - list_3138.finish(); + list_3140.finish(); } #[allow(unused_mut)] - let mut scope_3140 = writer.prefix("NextToken"); - if let Some(var_3141) = &input.next_token { - scope_3140.string(var_3141); + let mut scope_3142 = writer.prefix("NextToken"); + if let Some(var_3143) = &input.next_token { + scope_3142.string(var_3143); } #[allow(unused_mut)] - let mut scope_3142 = writer.prefix("MaxResults"); - if let Some(var_3143) = &input.max_results { - scope_3142.number( + let mut scope_3144 = writer.prefix("MaxResults"); + if let Some(var_3145) = &input.max_results { + scope_3144.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3143).into()), + smithy_types::Number::NegInt((*var_3145).into()), ); } writer.finish(); @@ -10758,43 +10763,43 @@ pub fn serialize_operation_describe_subnets( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeSubnets", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3144 = writer.prefix("Filter"); - if let Some(var_3145) = &input.filters { - let mut list_3147 = scope_3144.start_list(true, Some("Filter")); - for item_3146 in var_3145 { + let mut scope_3146 = writer.prefix("Filter"); + if let Some(var_3147) = &input.filters { + let mut list_3149 = scope_3146.start_list(true, Some("Filter")); + for item_3148 in var_3147 { #[allow(unused_mut)] - let mut entry_3148 = list_3147.entry(); - crate::query_ser::serialize_structure_filter(entry_3148, item_3146); + let mut entry_3150 = list_3149.entry(); + crate::query_ser::serialize_structure_filter(entry_3150, item_3148); } - list_3147.finish(); + list_3149.finish(); } #[allow(unused_mut)] - let mut scope_3149 = writer.prefix("SubnetId"); - if let Some(var_3150) = &input.subnet_ids { - let mut list_3152 = scope_3149.start_list(true, Some("SubnetId")); - for item_3151 in var_3150 { + let mut scope_3151 = writer.prefix("SubnetId"); + if let Some(var_3152) = &input.subnet_ids { + let mut list_3154 = scope_3151.start_list(true, Some("SubnetId")); + for item_3153 in var_3152 { #[allow(unused_mut)] - let mut entry_3153 = list_3152.entry(); - entry_3153.string(item_3151); + let mut entry_3155 = list_3154.entry(); + entry_3155.string(item_3153); } - list_3152.finish(); + list_3154.finish(); } #[allow(unused_mut)] - let mut scope_3154 = writer.prefix("DryRun"); - if let Some(var_3155) = &input.dry_run { - scope_3154.boolean(*var_3155); + let mut scope_3156 = writer.prefix("DryRun"); + if let Some(var_3157) = &input.dry_run { + scope_3156.boolean(*var_3157); } #[allow(unused_mut)] - let mut scope_3156 = writer.prefix("NextToken"); - if let Some(var_3157) = &input.next_token { - scope_3156.string(var_3157); + let mut scope_3158 = writer.prefix("NextToken"); + if let Some(var_3159) = &input.next_token { + scope_3158.string(var_3159); } #[allow(unused_mut)] - let mut scope_3158 = writer.prefix("MaxResults"); - if let Some(var_3159) = &input.max_results { - scope_3158.number( + let mut scope_3160 = writer.prefix("MaxResults"); + if let Some(var_3161) = &input.max_results { + scope_3160.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3159).into()), + smithy_types::Number::NegInt((*var_3161).into()), ); } writer.finish(); @@ -10808,33 +10813,33 @@ pub fn serialize_operation_describe_tags( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTags", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3160 = writer.prefix("DryRun"); - if let Some(var_3161) = &input.dry_run { - scope_3160.boolean(*var_3161); + let mut scope_3162 = writer.prefix("DryRun"); + if let Some(var_3163) = &input.dry_run { + scope_3162.boolean(*var_3163); } #[allow(unused_mut)] - let mut scope_3162 = writer.prefix("Filter"); - if let Some(var_3163) = &input.filters { - let mut list_3165 = scope_3162.start_list(true, Some("Filter")); - for item_3164 in var_3163 { + let mut scope_3164 = writer.prefix("Filter"); + if let Some(var_3165) = &input.filters { + let mut list_3167 = scope_3164.start_list(true, Some("Filter")); + for item_3166 in var_3165 { #[allow(unused_mut)] - let mut entry_3166 = list_3165.entry(); - crate::query_ser::serialize_structure_filter(entry_3166, item_3164); + let mut entry_3168 = list_3167.entry(); + crate::query_ser::serialize_structure_filter(entry_3168, item_3166); } - list_3165.finish(); + list_3167.finish(); } #[allow(unused_mut)] - let mut scope_3167 = writer.prefix("MaxResults"); - if let Some(var_3168) = &input.max_results { - scope_3167.number( + let mut scope_3169 = writer.prefix("MaxResults"); + if let Some(var_3170) = &input.max_results { + scope_3169.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3168).into()), + smithy_types::Number::NegInt((*var_3170).into()), ); } #[allow(unused_mut)] - let mut scope_3169 = writer.prefix("NextToken"); - if let Some(var_3170) = &input.next_token { - scope_3169.string(var_3170); + let mut scope_3171 = writer.prefix("NextToken"); + if let Some(var_3172) = &input.next_token { + scope_3171.string(var_3172); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10848,44 +10853,44 @@ pub fn serialize_operation_describe_traffic_mirror_filters( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTrafficMirrorFilters", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3171 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_3172) = &input.traffic_mirror_filter_ids { - let mut list_3174 = scope_3171.start_list(true, Some("item")); - for item_3173 in var_3172 { + let mut scope_3173 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_3174) = &input.traffic_mirror_filter_ids { + let mut list_3176 = scope_3173.start_list(true, Some("item")); + for item_3175 in var_3174 { #[allow(unused_mut)] - let mut entry_3175 = list_3174.entry(); - entry_3175.string(item_3173); + let mut entry_3177 = list_3176.entry(); + entry_3177.string(item_3175); } - list_3174.finish(); + list_3176.finish(); } #[allow(unused_mut)] - let mut scope_3176 = writer.prefix("DryRun"); - if let Some(var_3177) = &input.dry_run { - scope_3176.boolean(*var_3177); + let mut scope_3178 = writer.prefix("DryRun"); + if let Some(var_3179) = &input.dry_run { + scope_3178.boolean(*var_3179); } #[allow(unused_mut)] - let mut scope_3178 = writer.prefix("Filter"); - if let Some(var_3179) = &input.filters { - let mut list_3181 = scope_3178.start_list(true, Some("Filter")); - for item_3180 in var_3179 { + let mut scope_3180 = writer.prefix("Filter"); + if let Some(var_3181) = &input.filters { + let mut list_3183 = scope_3180.start_list(true, Some("Filter")); + for item_3182 in var_3181 { #[allow(unused_mut)] - let mut entry_3182 = list_3181.entry(); - crate::query_ser::serialize_structure_filter(entry_3182, item_3180); + let mut entry_3184 = list_3183.entry(); + crate::query_ser::serialize_structure_filter(entry_3184, item_3182); } - list_3181.finish(); + list_3183.finish(); } #[allow(unused_mut)] - let mut scope_3183 = writer.prefix("MaxResults"); - if let Some(var_3184) = &input.max_results { - scope_3183.number( + let mut scope_3185 = writer.prefix("MaxResults"); + if let Some(var_3186) = &input.max_results { + scope_3185.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3184).into()), + smithy_types::Number::NegInt((*var_3186).into()), ); } #[allow(unused_mut)] - let mut scope_3185 = writer.prefix("NextToken"); - if let Some(var_3186) = &input.next_token { - scope_3185.string(var_3186); + let mut scope_3187 = writer.prefix("NextToken"); + if let Some(var_3188) = &input.next_token { + scope_3187.string(var_3188); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10899,44 +10904,44 @@ pub fn serialize_operation_describe_traffic_mirror_sessions( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTrafficMirrorSessions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3187 = writer.prefix("TrafficMirrorSessionId"); - if let Some(var_3188) = &input.traffic_mirror_session_ids { - let mut list_3190 = scope_3187.start_list(true, Some("item")); - for item_3189 in var_3188 { + let mut scope_3189 = writer.prefix("TrafficMirrorSessionId"); + if let Some(var_3190) = &input.traffic_mirror_session_ids { + let mut list_3192 = scope_3189.start_list(true, Some("item")); + for item_3191 in var_3190 { #[allow(unused_mut)] - let mut entry_3191 = list_3190.entry(); - entry_3191.string(item_3189); + let mut entry_3193 = list_3192.entry(); + entry_3193.string(item_3191); } - list_3190.finish(); + list_3192.finish(); } #[allow(unused_mut)] - let mut scope_3192 = writer.prefix("DryRun"); - if let Some(var_3193) = &input.dry_run { - scope_3192.boolean(*var_3193); + let mut scope_3194 = writer.prefix("DryRun"); + if let Some(var_3195) = &input.dry_run { + scope_3194.boolean(*var_3195); } #[allow(unused_mut)] - let mut scope_3194 = writer.prefix("Filter"); - if let Some(var_3195) = &input.filters { - let mut list_3197 = scope_3194.start_list(true, Some("Filter")); - for item_3196 in var_3195 { + let mut scope_3196 = writer.prefix("Filter"); + if let Some(var_3197) = &input.filters { + let mut list_3199 = scope_3196.start_list(true, Some("Filter")); + for item_3198 in var_3197 { #[allow(unused_mut)] - let mut entry_3198 = list_3197.entry(); - crate::query_ser::serialize_structure_filter(entry_3198, item_3196); + let mut entry_3200 = list_3199.entry(); + crate::query_ser::serialize_structure_filter(entry_3200, item_3198); } - list_3197.finish(); + list_3199.finish(); } #[allow(unused_mut)] - let mut scope_3199 = writer.prefix("MaxResults"); - if let Some(var_3200) = &input.max_results { - scope_3199.number( + let mut scope_3201 = writer.prefix("MaxResults"); + if let Some(var_3202) = &input.max_results { + scope_3201.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3200).into()), + smithy_types::Number::NegInt((*var_3202).into()), ); } #[allow(unused_mut)] - let mut scope_3201 = writer.prefix("NextToken"); - if let Some(var_3202) = &input.next_token { - scope_3201.string(var_3202); + let mut scope_3203 = writer.prefix("NextToken"); + if let Some(var_3204) = &input.next_token { + scope_3203.string(var_3204); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -10950,44 +10955,44 @@ pub fn serialize_operation_describe_traffic_mirror_targets( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTrafficMirrorTargets", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3203 = writer.prefix("TrafficMirrorTargetId"); - if let Some(var_3204) = &input.traffic_mirror_target_ids { - let mut list_3206 = scope_3203.start_list(true, Some("item")); - for item_3205 in var_3204 { + let mut scope_3205 = writer.prefix("TrafficMirrorTargetId"); + if let Some(var_3206) = &input.traffic_mirror_target_ids { + let mut list_3208 = scope_3205.start_list(true, Some("item")); + for item_3207 in var_3206 { #[allow(unused_mut)] - let mut entry_3207 = list_3206.entry(); - entry_3207.string(item_3205); + let mut entry_3209 = list_3208.entry(); + entry_3209.string(item_3207); } - list_3206.finish(); + list_3208.finish(); } #[allow(unused_mut)] - let mut scope_3208 = writer.prefix("DryRun"); - if let Some(var_3209) = &input.dry_run { - scope_3208.boolean(*var_3209); + let mut scope_3210 = writer.prefix("DryRun"); + if let Some(var_3211) = &input.dry_run { + scope_3210.boolean(*var_3211); } #[allow(unused_mut)] - let mut scope_3210 = writer.prefix("Filter"); - if let Some(var_3211) = &input.filters { - let mut list_3213 = scope_3210.start_list(true, Some("Filter")); - for item_3212 in var_3211 { + let mut scope_3212 = writer.prefix("Filter"); + if let Some(var_3213) = &input.filters { + let mut list_3215 = scope_3212.start_list(true, Some("Filter")); + for item_3214 in var_3213 { #[allow(unused_mut)] - let mut entry_3214 = list_3213.entry(); - crate::query_ser::serialize_structure_filter(entry_3214, item_3212); + let mut entry_3216 = list_3215.entry(); + crate::query_ser::serialize_structure_filter(entry_3216, item_3214); } - list_3213.finish(); + list_3215.finish(); } #[allow(unused_mut)] - let mut scope_3215 = writer.prefix("MaxResults"); - if let Some(var_3216) = &input.max_results { - scope_3215.number( + let mut scope_3217 = writer.prefix("MaxResults"); + if let Some(var_3218) = &input.max_results { + scope_3217.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3216).into()), + smithy_types::Number::NegInt((*var_3218).into()), ); } #[allow(unused_mut)] - let mut scope_3217 = writer.prefix("NextToken"); - if let Some(var_3218) = &input.next_token { - scope_3217.string(var_3218); + let mut scope_3219 = writer.prefix("NextToken"); + if let Some(var_3220) = &input.next_token { + scope_3219.string(var_3220); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11001,44 +11006,44 @@ pub fn serialize_operation_describe_transit_gateway_attachments( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTransitGatewayAttachments", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3219 = writer.prefix("TransitGatewayAttachmentIds"); - if let Some(var_3220) = &input.transit_gateway_attachment_ids { - let mut list_3222 = scope_3219.start_list(true, None); - for item_3221 in var_3220 { + let mut scope_3221 = writer.prefix("TransitGatewayAttachmentIds"); + if let Some(var_3222) = &input.transit_gateway_attachment_ids { + let mut list_3224 = scope_3221.start_list(true, None); + for item_3223 in var_3222 { #[allow(unused_mut)] - let mut entry_3223 = list_3222.entry(); - entry_3223.string(item_3221); + let mut entry_3225 = list_3224.entry(); + entry_3225.string(item_3223); } - list_3222.finish(); + list_3224.finish(); } #[allow(unused_mut)] - let mut scope_3224 = writer.prefix("Filter"); - if let Some(var_3225) = &input.filters { - let mut list_3227 = scope_3224.start_list(true, Some("Filter")); - for item_3226 in var_3225 { + let mut scope_3226 = writer.prefix("Filter"); + if let Some(var_3227) = &input.filters { + let mut list_3229 = scope_3226.start_list(true, Some("Filter")); + for item_3228 in var_3227 { #[allow(unused_mut)] - let mut entry_3228 = list_3227.entry(); - crate::query_ser::serialize_structure_filter(entry_3228, item_3226); + let mut entry_3230 = list_3229.entry(); + crate::query_ser::serialize_structure_filter(entry_3230, item_3228); } - list_3227.finish(); + list_3229.finish(); } #[allow(unused_mut)] - let mut scope_3229 = writer.prefix("MaxResults"); - if let Some(var_3230) = &input.max_results { - scope_3229.number( + let mut scope_3231 = writer.prefix("MaxResults"); + if let Some(var_3232) = &input.max_results { + scope_3231.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3230).into()), + smithy_types::Number::NegInt((*var_3232).into()), ); } #[allow(unused_mut)] - let mut scope_3231 = writer.prefix("NextToken"); - if let Some(var_3232) = &input.next_token { - scope_3231.string(var_3232); + let mut scope_3233 = writer.prefix("NextToken"); + if let Some(var_3234) = &input.next_token { + scope_3233.string(var_3234); } #[allow(unused_mut)] - let mut scope_3233 = writer.prefix("DryRun"); - if let Some(var_3234) = &input.dry_run { - scope_3233.boolean(*var_3234); + let mut scope_3235 = writer.prefix("DryRun"); + if let Some(var_3236) = &input.dry_run { + scope_3235.boolean(*var_3236); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11055,44 +11060,44 @@ pub fn serialize_operation_describe_transit_gateway_connect_peers( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3235 = writer.prefix("TransitGatewayConnectPeerIds"); - if let Some(var_3236) = &input.transit_gateway_connect_peer_ids { - let mut list_3238 = scope_3235.start_list(true, Some("item")); - for item_3237 in var_3236 { + let mut scope_3237 = writer.prefix("TransitGatewayConnectPeerIds"); + if let Some(var_3238) = &input.transit_gateway_connect_peer_ids { + let mut list_3240 = scope_3237.start_list(true, Some("item")); + for item_3239 in var_3238 { #[allow(unused_mut)] - let mut entry_3239 = list_3238.entry(); - entry_3239.string(item_3237); + let mut entry_3241 = list_3240.entry(); + entry_3241.string(item_3239); } - list_3238.finish(); + list_3240.finish(); } #[allow(unused_mut)] - let mut scope_3240 = writer.prefix("Filter"); - if let Some(var_3241) = &input.filters { - let mut list_3243 = scope_3240.start_list(true, Some("Filter")); - for item_3242 in var_3241 { + let mut scope_3242 = writer.prefix("Filter"); + if let Some(var_3243) = &input.filters { + let mut list_3245 = scope_3242.start_list(true, Some("Filter")); + for item_3244 in var_3243 { #[allow(unused_mut)] - let mut entry_3244 = list_3243.entry(); - crate::query_ser::serialize_structure_filter(entry_3244, item_3242); + let mut entry_3246 = list_3245.entry(); + crate::query_ser::serialize_structure_filter(entry_3246, item_3244); } - list_3243.finish(); + list_3245.finish(); } #[allow(unused_mut)] - let mut scope_3245 = writer.prefix("MaxResults"); - if let Some(var_3246) = &input.max_results { - scope_3245.number( + let mut scope_3247 = writer.prefix("MaxResults"); + if let Some(var_3248) = &input.max_results { + scope_3247.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3246).into()), + smithy_types::Number::NegInt((*var_3248).into()), ); } #[allow(unused_mut)] - let mut scope_3247 = writer.prefix("NextToken"); - if let Some(var_3248) = &input.next_token { - scope_3247.string(var_3248); + let mut scope_3249 = writer.prefix("NextToken"); + if let Some(var_3250) = &input.next_token { + scope_3249.string(var_3250); } #[allow(unused_mut)] - let mut scope_3249 = writer.prefix("DryRun"); - if let Some(var_3250) = &input.dry_run { - scope_3249.boolean(*var_3250); + let mut scope_3251 = writer.prefix("DryRun"); + if let Some(var_3252) = &input.dry_run { + scope_3251.boolean(*var_3252); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11106,44 +11111,44 @@ pub fn serialize_operation_describe_transit_gateway_connects( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTransitGatewayConnects", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3251 = writer.prefix("TransitGatewayAttachmentIds"); - if let Some(var_3252) = &input.transit_gateway_attachment_ids { - let mut list_3254 = scope_3251.start_list(true, None); - for item_3253 in var_3252 { + let mut scope_3253 = writer.prefix("TransitGatewayAttachmentIds"); + if let Some(var_3254) = &input.transit_gateway_attachment_ids { + let mut list_3256 = scope_3253.start_list(true, None); + for item_3255 in var_3254 { #[allow(unused_mut)] - let mut entry_3255 = list_3254.entry(); - entry_3255.string(item_3253); + let mut entry_3257 = list_3256.entry(); + entry_3257.string(item_3255); } - list_3254.finish(); + list_3256.finish(); } #[allow(unused_mut)] - let mut scope_3256 = writer.prefix("Filter"); - if let Some(var_3257) = &input.filters { - let mut list_3259 = scope_3256.start_list(true, Some("Filter")); - for item_3258 in var_3257 { + let mut scope_3258 = writer.prefix("Filter"); + if let Some(var_3259) = &input.filters { + let mut list_3261 = scope_3258.start_list(true, Some("Filter")); + for item_3260 in var_3259 { #[allow(unused_mut)] - let mut entry_3260 = list_3259.entry(); - crate::query_ser::serialize_structure_filter(entry_3260, item_3258); + let mut entry_3262 = list_3261.entry(); + crate::query_ser::serialize_structure_filter(entry_3262, item_3260); } - list_3259.finish(); + list_3261.finish(); } #[allow(unused_mut)] - let mut scope_3261 = writer.prefix("MaxResults"); - if let Some(var_3262) = &input.max_results { - scope_3261.number( + let mut scope_3263 = writer.prefix("MaxResults"); + if let Some(var_3264) = &input.max_results { + scope_3263.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3262).into()), + smithy_types::Number::NegInt((*var_3264).into()), ); } #[allow(unused_mut)] - let mut scope_3263 = writer.prefix("NextToken"); - if let Some(var_3264) = &input.next_token { - scope_3263.string(var_3264); + let mut scope_3265 = writer.prefix("NextToken"); + if let Some(var_3266) = &input.next_token { + scope_3265.string(var_3266); } #[allow(unused_mut)] - let mut scope_3265 = writer.prefix("DryRun"); - if let Some(var_3266) = &input.dry_run { - scope_3265.boolean(*var_3266); + let mut scope_3267 = writer.prefix("DryRun"); + if let Some(var_3268) = &input.dry_run { + scope_3267.boolean(*var_3268); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11160,44 +11165,44 @@ pub fn serialize_operation_describe_transit_gateway_multicast_domains( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3267 = writer.prefix("TransitGatewayMulticastDomainIds"); - if let Some(var_3268) = &input.transit_gateway_multicast_domain_ids { - let mut list_3270 = scope_3267.start_list(true, Some("item")); - for item_3269 in var_3268 { + let mut scope_3269 = writer.prefix("TransitGatewayMulticastDomainIds"); + if let Some(var_3270) = &input.transit_gateway_multicast_domain_ids { + let mut list_3272 = scope_3269.start_list(true, Some("item")); + for item_3271 in var_3270 { #[allow(unused_mut)] - let mut entry_3271 = list_3270.entry(); - entry_3271.string(item_3269); + let mut entry_3273 = list_3272.entry(); + entry_3273.string(item_3271); } - list_3270.finish(); + list_3272.finish(); } #[allow(unused_mut)] - let mut scope_3272 = writer.prefix("Filter"); - if let Some(var_3273) = &input.filters { - let mut list_3275 = scope_3272.start_list(true, Some("Filter")); - for item_3274 in var_3273 { + let mut scope_3274 = writer.prefix("Filter"); + if let Some(var_3275) = &input.filters { + let mut list_3277 = scope_3274.start_list(true, Some("Filter")); + for item_3276 in var_3275 { #[allow(unused_mut)] - let mut entry_3276 = list_3275.entry(); - crate::query_ser::serialize_structure_filter(entry_3276, item_3274); + let mut entry_3278 = list_3277.entry(); + crate::query_ser::serialize_structure_filter(entry_3278, item_3276); } - list_3275.finish(); + list_3277.finish(); } #[allow(unused_mut)] - let mut scope_3277 = writer.prefix("MaxResults"); - if let Some(var_3278) = &input.max_results { - scope_3277.number( + let mut scope_3279 = writer.prefix("MaxResults"); + if let Some(var_3280) = &input.max_results { + scope_3279.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3278).into()), + smithy_types::Number::NegInt((*var_3280).into()), ); } #[allow(unused_mut)] - let mut scope_3279 = writer.prefix("NextToken"); - if let Some(var_3280) = &input.next_token { - scope_3279.string(var_3280); + let mut scope_3281 = writer.prefix("NextToken"); + if let Some(var_3282) = &input.next_token { + scope_3281.string(var_3282); } #[allow(unused_mut)] - let mut scope_3281 = writer.prefix("DryRun"); - if let Some(var_3282) = &input.dry_run { - scope_3281.boolean(*var_3282); + let mut scope_3283 = writer.prefix("DryRun"); + if let Some(var_3284) = &input.dry_run { + scope_3283.boolean(*var_3284); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11214,44 +11219,44 @@ pub fn serialize_operation_describe_transit_gateway_peering_attachments( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3283 = writer.prefix("TransitGatewayAttachmentIds"); - if let Some(var_3284) = &input.transit_gateway_attachment_ids { - let mut list_3286 = scope_3283.start_list(true, None); - for item_3285 in var_3284 { + let mut scope_3285 = writer.prefix("TransitGatewayAttachmentIds"); + if let Some(var_3286) = &input.transit_gateway_attachment_ids { + let mut list_3288 = scope_3285.start_list(true, None); + for item_3287 in var_3286 { #[allow(unused_mut)] - let mut entry_3287 = list_3286.entry(); - entry_3287.string(item_3285); + let mut entry_3289 = list_3288.entry(); + entry_3289.string(item_3287); } - list_3286.finish(); + list_3288.finish(); } #[allow(unused_mut)] - let mut scope_3288 = writer.prefix("Filter"); - if let Some(var_3289) = &input.filters { - let mut list_3291 = scope_3288.start_list(true, Some("Filter")); - for item_3290 in var_3289 { + let mut scope_3290 = writer.prefix("Filter"); + if let Some(var_3291) = &input.filters { + let mut list_3293 = scope_3290.start_list(true, Some("Filter")); + for item_3292 in var_3291 { #[allow(unused_mut)] - let mut entry_3292 = list_3291.entry(); - crate::query_ser::serialize_structure_filter(entry_3292, item_3290); + let mut entry_3294 = list_3293.entry(); + crate::query_ser::serialize_structure_filter(entry_3294, item_3292); } - list_3291.finish(); + list_3293.finish(); } #[allow(unused_mut)] - let mut scope_3293 = writer.prefix("MaxResults"); - if let Some(var_3294) = &input.max_results { - scope_3293.number( + let mut scope_3295 = writer.prefix("MaxResults"); + if let Some(var_3296) = &input.max_results { + scope_3295.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3294).into()), + smithy_types::Number::NegInt((*var_3296).into()), ); } #[allow(unused_mut)] - let mut scope_3295 = writer.prefix("NextToken"); - if let Some(var_3296) = &input.next_token { - scope_3295.string(var_3296); + let mut scope_3297 = writer.prefix("NextToken"); + if let Some(var_3298) = &input.next_token { + scope_3297.string(var_3298); } #[allow(unused_mut)] - let mut scope_3297 = writer.prefix("DryRun"); - if let Some(var_3298) = &input.dry_run { - scope_3297.boolean(*var_3298); + let mut scope_3299 = writer.prefix("DryRun"); + if let Some(var_3300) = &input.dry_run { + scope_3299.boolean(*var_3300); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11265,44 +11270,44 @@ pub fn serialize_operation_describe_transit_gateway_route_tables( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTransitGatewayRouteTables", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3299 = writer.prefix("TransitGatewayRouteTableIds"); - if let Some(var_3300) = &input.transit_gateway_route_table_ids { - let mut list_3302 = scope_3299.start_list(true, Some("item")); - for item_3301 in var_3300 { + let mut scope_3301 = writer.prefix("TransitGatewayRouteTableIds"); + if let Some(var_3302) = &input.transit_gateway_route_table_ids { + let mut list_3304 = scope_3301.start_list(true, Some("item")); + for item_3303 in var_3302 { #[allow(unused_mut)] - let mut entry_3303 = list_3302.entry(); - entry_3303.string(item_3301); + let mut entry_3305 = list_3304.entry(); + entry_3305.string(item_3303); } - list_3302.finish(); + list_3304.finish(); } #[allow(unused_mut)] - let mut scope_3304 = writer.prefix("Filter"); - if let Some(var_3305) = &input.filters { - let mut list_3307 = scope_3304.start_list(true, Some("Filter")); - for item_3306 in var_3305 { + let mut scope_3306 = writer.prefix("Filter"); + if let Some(var_3307) = &input.filters { + let mut list_3309 = scope_3306.start_list(true, Some("Filter")); + for item_3308 in var_3307 { #[allow(unused_mut)] - let mut entry_3308 = list_3307.entry(); - crate::query_ser::serialize_structure_filter(entry_3308, item_3306); + let mut entry_3310 = list_3309.entry(); + crate::query_ser::serialize_structure_filter(entry_3310, item_3308); } - list_3307.finish(); + list_3309.finish(); } #[allow(unused_mut)] - let mut scope_3309 = writer.prefix("MaxResults"); - if let Some(var_3310) = &input.max_results { - scope_3309.number( + let mut scope_3311 = writer.prefix("MaxResults"); + if let Some(var_3312) = &input.max_results { + scope_3311.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3310).into()), + smithy_types::Number::NegInt((*var_3312).into()), ); } #[allow(unused_mut)] - let mut scope_3311 = writer.prefix("NextToken"); - if let Some(var_3312) = &input.next_token { - scope_3311.string(var_3312); + let mut scope_3313 = writer.prefix("NextToken"); + if let Some(var_3314) = &input.next_token { + scope_3313.string(var_3314); } #[allow(unused_mut)] - let mut scope_3313 = writer.prefix("DryRun"); - if let Some(var_3314) = &input.dry_run { - scope_3313.boolean(*var_3314); + let mut scope_3315 = writer.prefix("DryRun"); + if let Some(var_3316) = &input.dry_run { + scope_3315.boolean(*var_3316); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11316,44 +11321,44 @@ pub fn serialize_operation_describe_transit_gateways( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeTransitGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3315 = writer.prefix("TransitGatewayIds"); - if let Some(var_3316) = &input.transit_gateway_ids { - let mut list_3318 = scope_3315.start_list(true, Some("item")); - for item_3317 in var_3316 { + let mut scope_3317 = writer.prefix("TransitGatewayIds"); + if let Some(var_3318) = &input.transit_gateway_ids { + let mut list_3320 = scope_3317.start_list(true, Some("item")); + for item_3319 in var_3318 { #[allow(unused_mut)] - let mut entry_3319 = list_3318.entry(); - entry_3319.string(item_3317); + let mut entry_3321 = list_3320.entry(); + entry_3321.string(item_3319); } - list_3318.finish(); + list_3320.finish(); } #[allow(unused_mut)] - let mut scope_3320 = writer.prefix("Filter"); - if let Some(var_3321) = &input.filters { - let mut list_3323 = scope_3320.start_list(true, Some("Filter")); - for item_3322 in var_3321 { + let mut scope_3322 = writer.prefix("Filter"); + if let Some(var_3323) = &input.filters { + let mut list_3325 = scope_3322.start_list(true, Some("Filter")); + for item_3324 in var_3323 { #[allow(unused_mut)] - let mut entry_3324 = list_3323.entry(); - crate::query_ser::serialize_structure_filter(entry_3324, item_3322); + let mut entry_3326 = list_3325.entry(); + crate::query_ser::serialize_structure_filter(entry_3326, item_3324); } - list_3323.finish(); + list_3325.finish(); } #[allow(unused_mut)] - let mut scope_3325 = writer.prefix("MaxResults"); - if let Some(var_3326) = &input.max_results { - scope_3325.number( + let mut scope_3327 = writer.prefix("MaxResults"); + if let Some(var_3328) = &input.max_results { + scope_3327.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3326).into()), + smithy_types::Number::NegInt((*var_3328).into()), ); } #[allow(unused_mut)] - let mut scope_3327 = writer.prefix("NextToken"); - if let Some(var_3328) = &input.next_token { - scope_3327.string(var_3328); + let mut scope_3329 = writer.prefix("NextToken"); + if let Some(var_3330) = &input.next_token { + scope_3329.string(var_3330); } #[allow(unused_mut)] - let mut scope_3329 = writer.prefix("DryRun"); - if let Some(var_3330) = &input.dry_run { - scope_3329.boolean(*var_3330); + let mut scope_3331 = writer.prefix("DryRun"); + if let Some(var_3332) = &input.dry_run { + scope_3331.boolean(*var_3332); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11370,44 +11375,44 @@ pub fn serialize_operation_describe_transit_gateway_vpc_attachments( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3331 = writer.prefix("TransitGatewayAttachmentIds"); - if let Some(var_3332) = &input.transit_gateway_attachment_ids { - let mut list_3334 = scope_3331.start_list(true, None); - for item_3333 in var_3332 { + let mut scope_3333 = writer.prefix("TransitGatewayAttachmentIds"); + if let Some(var_3334) = &input.transit_gateway_attachment_ids { + let mut list_3336 = scope_3333.start_list(true, None); + for item_3335 in var_3334 { #[allow(unused_mut)] - let mut entry_3335 = list_3334.entry(); - entry_3335.string(item_3333); + let mut entry_3337 = list_3336.entry(); + entry_3337.string(item_3335); } - list_3334.finish(); + list_3336.finish(); } #[allow(unused_mut)] - let mut scope_3336 = writer.prefix("Filter"); - if let Some(var_3337) = &input.filters { - let mut list_3339 = scope_3336.start_list(true, Some("Filter")); - for item_3338 in var_3337 { + let mut scope_3338 = writer.prefix("Filter"); + if let Some(var_3339) = &input.filters { + let mut list_3341 = scope_3338.start_list(true, Some("Filter")); + for item_3340 in var_3339 { #[allow(unused_mut)] - let mut entry_3340 = list_3339.entry(); - crate::query_ser::serialize_structure_filter(entry_3340, item_3338); + let mut entry_3342 = list_3341.entry(); + crate::query_ser::serialize_structure_filter(entry_3342, item_3340); } - list_3339.finish(); + list_3341.finish(); } #[allow(unused_mut)] - let mut scope_3341 = writer.prefix("MaxResults"); - if let Some(var_3342) = &input.max_results { - scope_3341.number( + let mut scope_3343 = writer.prefix("MaxResults"); + if let Some(var_3344) = &input.max_results { + scope_3343.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3342).into()), + smithy_types::Number::NegInt((*var_3344).into()), ); } #[allow(unused_mut)] - let mut scope_3343 = writer.prefix("NextToken"); - if let Some(var_3344) = &input.next_token { - scope_3343.string(var_3344); + let mut scope_3345 = writer.prefix("NextToken"); + if let Some(var_3346) = &input.next_token { + scope_3345.string(var_3346); } #[allow(unused_mut)] - let mut scope_3345 = writer.prefix("DryRun"); - if let Some(var_3346) = &input.dry_run { - scope_3345.boolean(*var_3346); + let mut scope_3347 = writer.prefix("DryRun"); + if let Some(var_3348) = &input.dry_run { + scope_3347.boolean(*var_3348); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11424,43 +11429,43 @@ pub fn serialize_operation_describe_trunk_interface_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3347 = writer.prefix("AssociationId"); - if let Some(var_3348) = &input.association_ids { - let mut list_3350 = scope_3347.start_list(true, Some("item")); - for item_3349 in var_3348 { + let mut scope_3349 = writer.prefix("AssociationId"); + if let Some(var_3350) = &input.association_ids { + let mut list_3352 = scope_3349.start_list(true, Some("item")); + for item_3351 in var_3350 { #[allow(unused_mut)] - let mut entry_3351 = list_3350.entry(); - entry_3351.string(item_3349); + let mut entry_3353 = list_3352.entry(); + entry_3353.string(item_3351); } - list_3350.finish(); + list_3352.finish(); } #[allow(unused_mut)] - let mut scope_3352 = writer.prefix("DryRun"); - if let Some(var_3353) = &input.dry_run { - scope_3352.boolean(*var_3353); + let mut scope_3354 = writer.prefix("DryRun"); + if let Some(var_3355) = &input.dry_run { + scope_3354.boolean(*var_3355); } #[allow(unused_mut)] - let mut scope_3354 = writer.prefix("Filter"); - if let Some(var_3355) = &input.filters { - let mut list_3357 = scope_3354.start_list(true, Some("Filter")); - for item_3356 in var_3355 { + let mut scope_3356 = writer.prefix("Filter"); + if let Some(var_3357) = &input.filters { + let mut list_3359 = scope_3356.start_list(true, Some("Filter")); + for item_3358 in var_3357 { #[allow(unused_mut)] - let mut entry_3358 = list_3357.entry(); - crate::query_ser::serialize_structure_filter(entry_3358, item_3356); + let mut entry_3360 = list_3359.entry(); + crate::query_ser::serialize_structure_filter(entry_3360, item_3358); } - list_3357.finish(); + list_3359.finish(); } #[allow(unused_mut)] - let mut scope_3359 = writer.prefix("NextToken"); - if let Some(var_3360) = &input.next_token { - scope_3359.string(var_3360); + let mut scope_3361 = writer.prefix("NextToken"); + if let Some(var_3362) = &input.next_token { + scope_3361.string(var_3362); } #[allow(unused_mut)] - let mut scope_3361 = writer.prefix("MaxResults"); - if let Some(var_3362) = &input.max_results { - scope_3361.number( + let mut scope_3363 = writer.prefix("MaxResults"); + if let Some(var_3364) = &input.max_results { + scope_3363.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3362).into()), + smithy_types::Number::NegInt((*var_3364).into()), ); } writer.finish(); @@ -11475,19 +11480,19 @@ pub fn serialize_operation_describe_volume_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVolumeAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3363 = writer.prefix("Attribute"); - if let Some(var_3364) = &input.attribute { - scope_3363.string(var_3364.as_str()); + let mut scope_3365 = writer.prefix("Attribute"); + if let Some(var_3366) = &input.attribute { + scope_3365.string(var_3366.as_str()); } #[allow(unused_mut)] - let mut scope_3365 = writer.prefix("VolumeId"); - if let Some(var_3366) = &input.volume_id { - scope_3365.string(var_3366); + let mut scope_3367 = writer.prefix("VolumeId"); + if let Some(var_3368) = &input.volume_id { + scope_3367.string(var_3368); } #[allow(unused_mut)] - let mut scope_3367 = writer.prefix("DryRun"); - if let Some(var_3368) = &input.dry_run { - scope_3367.boolean(*var_3368); + let mut scope_3369 = writer.prefix("DryRun"); + if let Some(var_3370) = &input.dry_run { + scope_3369.boolean(*var_3370); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11500,44 +11505,44 @@ pub fn serialize_operation_describe_volumes( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVolumes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3369 = writer.prefix("Filter"); - if let Some(var_3370) = &input.filters { - let mut list_3372 = scope_3369.start_list(true, Some("Filter")); - for item_3371 in var_3370 { + let mut scope_3371 = writer.prefix("Filter"); + if let Some(var_3372) = &input.filters { + let mut list_3374 = scope_3371.start_list(true, Some("Filter")); + for item_3373 in var_3372 { #[allow(unused_mut)] - let mut entry_3373 = list_3372.entry(); - crate::query_ser::serialize_structure_filter(entry_3373, item_3371); + let mut entry_3375 = list_3374.entry(); + crate::query_ser::serialize_structure_filter(entry_3375, item_3373); } - list_3372.finish(); + list_3374.finish(); } #[allow(unused_mut)] - let mut scope_3374 = writer.prefix("VolumeId"); - if let Some(var_3375) = &input.volume_ids { - let mut list_3377 = scope_3374.start_list(true, Some("VolumeId")); - for item_3376 in var_3375 { + let mut scope_3376 = writer.prefix("VolumeId"); + if let Some(var_3377) = &input.volume_ids { + let mut list_3379 = scope_3376.start_list(true, Some("VolumeId")); + for item_3378 in var_3377 { #[allow(unused_mut)] - let mut entry_3378 = list_3377.entry(); - entry_3378.string(item_3376); + let mut entry_3380 = list_3379.entry(); + entry_3380.string(item_3378); } - list_3377.finish(); + list_3379.finish(); } #[allow(unused_mut)] - let mut scope_3379 = writer.prefix("DryRun"); - if let Some(var_3380) = &input.dry_run { - scope_3379.boolean(*var_3380); + let mut scope_3381 = writer.prefix("DryRun"); + if let Some(var_3382) = &input.dry_run { + scope_3381.boolean(*var_3382); } #[allow(unused_mut)] - let mut scope_3381 = writer.prefix("MaxResults"); - if let Some(var_3382) = &input.max_results { - scope_3381.number( + let mut scope_3383 = writer.prefix("MaxResults"); + if let Some(var_3384) = &input.max_results { + scope_3383.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3382).into()), + smithy_types::Number::NegInt((*var_3384).into()), ); } #[allow(unused_mut)] - let mut scope_3383 = writer.prefix("NextToken"); - if let Some(var_3384) = &input.next_token { - scope_3383.string(var_3384); + let mut scope_3385 = writer.prefix("NextToken"); + if let Some(var_3386) = &input.next_token { + scope_3385.string(var_3386); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11551,43 +11556,43 @@ pub fn serialize_operation_describe_volumes_modifications( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVolumesModifications", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3385 = writer.prefix("DryRun"); - if let Some(var_3386) = &input.dry_run { - scope_3385.boolean(*var_3386); + let mut scope_3387 = writer.prefix("DryRun"); + if let Some(var_3388) = &input.dry_run { + scope_3387.boolean(*var_3388); } #[allow(unused_mut)] - let mut scope_3387 = writer.prefix("VolumeId"); - if let Some(var_3388) = &input.volume_ids { - let mut list_3390 = scope_3387.start_list(true, Some("VolumeId")); - for item_3389 in var_3388 { + let mut scope_3389 = writer.prefix("VolumeId"); + if let Some(var_3390) = &input.volume_ids { + let mut list_3392 = scope_3389.start_list(true, Some("VolumeId")); + for item_3391 in var_3390 { #[allow(unused_mut)] - let mut entry_3391 = list_3390.entry(); - entry_3391.string(item_3389); + let mut entry_3393 = list_3392.entry(); + entry_3393.string(item_3391); } - list_3390.finish(); + list_3392.finish(); } #[allow(unused_mut)] - let mut scope_3392 = writer.prefix("Filter"); - if let Some(var_3393) = &input.filters { - let mut list_3395 = scope_3392.start_list(true, Some("Filter")); - for item_3394 in var_3393 { + let mut scope_3394 = writer.prefix("Filter"); + if let Some(var_3395) = &input.filters { + let mut list_3397 = scope_3394.start_list(true, Some("Filter")); + for item_3396 in var_3395 { #[allow(unused_mut)] - let mut entry_3396 = list_3395.entry(); - crate::query_ser::serialize_structure_filter(entry_3396, item_3394); + let mut entry_3398 = list_3397.entry(); + crate::query_ser::serialize_structure_filter(entry_3398, item_3396); } - list_3395.finish(); + list_3397.finish(); } #[allow(unused_mut)] - let mut scope_3397 = writer.prefix("NextToken"); - if let Some(var_3398) = &input.next_token { - scope_3397.string(var_3398); + let mut scope_3399 = writer.prefix("NextToken"); + if let Some(var_3400) = &input.next_token { + scope_3399.string(var_3400); } #[allow(unused_mut)] - let mut scope_3399 = writer.prefix("MaxResults"); - if let Some(var_3400) = &input.max_results { - scope_3399.number( + let mut scope_3401 = writer.prefix("MaxResults"); + if let Some(var_3402) = &input.max_results { + scope_3401.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3400).into()), + smithy_types::Number::NegInt((*var_3402).into()), ); } writer.finish(); @@ -11601,44 +11606,44 @@ pub fn serialize_operation_describe_volume_status( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVolumeStatus", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3401 = writer.prefix("Filter"); - if let Some(var_3402) = &input.filters { - let mut list_3404 = scope_3401.start_list(true, Some("Filter")); - for item_3403 in var_3402 { + let mut scope_3403 = writer.prefix("Filter"); + if let Some(var_3404) = &input.filters { + let mut list_3406 = scope_3403.start_list(true, Some("Filter")); + for item_3405 in var_3404 { #[allow(unused_mut)] - let mut entry_3405 = list_3404.entry(); - crate::query_ser::serialize_structure_filter(entry_3405, item_3403); + let mut entry_3407 = list_3406.entry(); + crate::query_ser::serialize_structure_filter(entry_3407, item_3405); } - list_3404.finish(); + list_3406.finish(); } #[allow(unused_mut)] - let mut scope_3406 = writer.prefix("MaxResults"); - if let Some(var_3407) = &input.max_results { - scope_3406.number( + let mut scope_3408 = writer.prefix("MaxResults"); + if let Some(var_3409) = &input.max_results { + scope_3408.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3407).into()), + smithy_types::Number::NegInt((*var_3409).into()), ); } #[allow(unused_mut)] - let mut scope_3408 = writer.prefix("NextToken"); - if let Some(var_3409) = &input.next_token { - scope_3408.string(var_3409); + let mut scope_3410 = writer.prefix("NextToken"); + if let Some(var_3411) = &input.next_token { + scope_3410.string(var_3411); } #[allow(unused_mut)] - let mut scope_3410 = writer.prefix("VolumeId"); - if let Some(var_3411) = &input.volume_ids { - let mut list_3413 = scope_3410.start_list(true, Some("VolumeId")); - for item_3412 in var_3411 { + let mut scope_3412 = writer.prefix("VolumeId"); + if let Some(var_3413) = &input.volume_ids { + let mut list_3415 = scope_3412.start_list(true, Some("VolumeId")); + for item_3414 in var_3413 { #[allow(unused_mut)] - let mut entry_3414 = list_3413.entry(); - entry_3414.string(item_3412); + let mut entry_3416 = list_3415.entry(); + entry_3416.string(item_3414); } - list_3413.finish(); + list_3415.finish(); } #[allow(unused_mut)] - let mut scope_3415 = writer.prefix("DryRun"); - if let Some(var_3416) = &input.dry_run { - scope_3415.boolean(*var_3416); + let mut scope_3417 = writer.prefix("DryRun"); + if let Some(var_3418) = &input.dry_run { + scope_3417.boolean(*var_3418); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11651,19 +11656,19 @@ pub fn serialize_operation_describe_vpc_attribute( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3417 = writer.prefix("Attribute"); - if let Some(var_3418) = &input.attribute { - scope_3417.string(var_3418.as_str()); + let mut scope_3419 = writer.prefix("Attribute"); + if let Some(var_3420) = &input.attribute { + scope_3419.string(var_3420.as_str()); } #[allow(unused_mut)] - let mut scope_3419 = writer.prefix("VpcId"); - if let Some(var_3420) = &input.vpc_id { - scope_3419.string(var_3420); + let mut scope_3421 = writer.prefix("VpcId"); + if let Some(var_3422) = &input.vpc_id { + scope_3421.string(var_3422); } #[allow(unused_mut)] - let mut scope_3421 = writer.prefix("DryRun"); - if let Some(var_3422) = &input.dry_run { - scope_3421.boolean(*var_3422); + let mut scope_3423 = writer.prefix("DryRun"); + if let Some(var_3424) = &input.dry_run { + scope_3423.boolean(*var_3424); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11677,31 +11682,31 @@ pub fn serialize_operation_describe_vpc_classic_link( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcClassicLink", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3423 = writer.prefix("Filter"); - if let Some(var_3424) = &input.filters { - let mut list_3426 = scope_3423.start_list(true, Some("Filter")); - for item_3425 in var_3424 { + let mut scope_3425 = writer.prefix("Filter"); + if let Some(var_3426) = &input.filters { + let mut list_3428 = scope_3425.start_list(true, Some("Filter")); + for item_3427 in var_3426 { #[allow(unused_mut)] - let mut entry_3427 = list_3426.entry(); - crate::query_ser::serialize_structure_filter(entry_3427, item_3425); + let mut entry_3429 = list_3428.entry(); + crate::query_ser::serialize_structure_filter(entry_3429, item_3427); } - list_3426.finish(); + list_3428.finish(); } #[allow(unused_mut)] - let mut scope_3428 = writer.prefix("DryRun"); - if let Some(var_3429) = &input.dry_run { - scope_3428.boolean(*var_3429); + let mut scope_3430 = writer.prefix("DryRun"); + if let Some(var_3431) = &input.dry_run { + scope_3430.boolean(*var_3431); } #[allow(unused_mut)] - let mut scope_3430 = writer.prefix("VpcId"); - if let Some(var_3431) = &input.vpc_ids { - let mut list_3433 = scope_3430.start_list(true, Some("VpcId")); - for item_3432 in var_3431 { + let mut scope_3432 = writer.prefix("VpcId"); + if let Some(var_3433) = &input.vpc_ids { + let mut list_3435 = scope_3432.start_list(true, Some("VpcId")); + for item_3434 in var_3433 { #[allow(unused_mut)] - let mut entry_3434 = list_3433.entry(); - entry_3434.string(item_3432); + let mut entry_3436 = list_3435.entry(); + entry_3436.string(item_3434); } - list_3433.finish(); + list_3435.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11715,28 +11720,28 @@ pub fn serialize_operation_describe_vpc_classic_link_dns_support( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcClassicLinkDnsSupport", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3435 = writer.prefix("MaxResults"); - if let Some(var_3436) = &input.max_results { - scope_3435.number( + let mut scope_3437 = writer.prefix("MaxResults"); + if let Some(var_3438) = &input.max_results { + scope_3437.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3436).into()), + smithy_types::Number::NegInt((*var_3438).into()), ); } #[allow(unused_mut)] - let mut scope_3437 = writer.prefix("NextToken"); - if let Some(var_3438) = &input.next_token { - scope_3437.string(var_3438); + let mut scope_3439 = writer.prefix("NextToken"); + if let Some(var_3440) = &input.next_token { + scope_3439.string(var_3440); } #[allow(unused_mut)] - let mut scope_3439 = writer.prefix("VpcIds"); - if let Some(var_3440) = &input.vpc_ids { - let mut list_3442 = scope_3439.start_list(true, Some("VpcId")); - for item_3441 in var_3440 { + let mut scope_3441 = writer.prefix("VpcIds"); + if let Some(var_3442) = &input.vpc_ids { + let mut list_3444 = scope_3441.start_list(true, Some("VpcId")); + for item_3443 in var_3442 { #[allow(unused_mut)] - let mut entry_3443 = list_3442.entry(); - entry_3443.string(item_3441); + let mut entry_3445 = list_3444.entry(); + entry_3445.string(item_3443); } - list_3442.finish(); + list_3444.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11753,38 +11758,38 @@ pub fn serialize_operation_describe_vpc_endpoint_connection_notifications( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3444 = writer.prefix("DryRun"); - if let Some(var_3445) = &input.dry_run { - scope_3444.boolean(*var_3445); + let mut scope_3446 = writer.prefix("DryRun"); + if let Some(var_3447) = &input.dry_run { + scope_3446.boolean(*var_3447); } #[allow(unused_mut)] - let mut scope_3446 = writer.prefix("ConnectionNotificationId"); - if let Some(var_3447) = &input.connection_notification_id { - scope_3446.string(var_3447); + let mut scope_3448 = writer.prefix("ConnectionNotificationId"); + if let Some(var_3449) = &input.connection_notification_id { + scope_3448.string(var_3449); } #[allow(unused_mut)] - let mut scope_3448 = writer.prefix("Filter"); - if let Some(var_3449) = &input.filters { - let mut list_3451 = scope_3448.start_list(true, Some("Filter")); - for item_3450 in var_3449 { + let mut scope_3450 = writer.prefix("Filter"); + if let Some(var_3451) = &input.filters { + let mut list_3453 = scope_3450.start_list(true, Some("Filter")); + for item_3452 in var_3451 { #[allow(unused_mut)] - let mut entry_3452 = list_3451.entry(); - crate::query_ser::serialize_structure_filter(entry_3452, item_3450); + let mut entry_3454 = list_3453.entry(); + crate::query_ser::serialize_structure_filter(entry_3454, item_3452); } - list_3451.finish(); + list_3453.finish(); } #[allow(unused_mut)] - let mut scope_3453 = writer.prefix("MaxResults"); - if let Some(var_3454) = &input.max_results { - scope_3453.number( + let mut scope_3455 = writer.prefix("MaxResults"); + if let Some(var_3456) = &input.max_results { + scope_3455.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3454).into()), + smithy_types::Number::NegInt((*var_3456).into()), ); } #[allow(unused_mut)] - let mut scope_3455 = writer.prefix("NextToken"); - if let Some(var_3456) = &input.next_token { - scope_3455.string(var_3456); + let mut scope_3457 = writer.prefix("NextToken"); + if let Some(var_3458) = &input.next_token { + scope_3457.string(var_3458); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11798,33 +11803,33 @@ pub fn serialize_operation_describe_vpc_endpoint_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcEndpointConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3457 = writer.prefix("DryRun"); - if let Some(var_3458) = &input.dry_run { - scope_3457.boolean(*var_3458); + let mut scope_3459 = writer.prefix("DryRun"); + if let Some(var_3460) = &input.dry_run { + scope_3459.boolean(*var_3460); } #[allow(unused_mut)] - let mut scope_3459 = writer.prefix("Filter"); - if let Some(var_3460) = &input.filters { - let mut list_3462 = scope_3459.start_list(true, Some("Filter")); - for item_3461 in var_3460 { + let mut scope_3461 = writer.prefix("Filter"); + if let Some(var_3462) = &input.filters { + let mut list_3464 = scope_3461.start_list(true, Some("Filter")); + for item_3463 in var_3462 { #[allow(unused_mut)] - let mut entry_3463 = list_3462.entry(); - crate::query_ser::serialize_structure_filter(entry_3463, item_3461); + let mut entry_3465 = list_3464.entry(); + crate::query_ser::serialize_structure_filter(entry_3465, item_3463); } - list_3462.finish(); + list_3464.finish(); } #[allow(unused_mut)] - let mut scope_3464 = writer.prefix("MaxResults"); - if let Some(var_3465) = &input.max_results { - scope_3464.number( + let mut scope_3466 = writer.prefix("MaxResults"); + if let Some(var_3467) = &input.max_results { + scope_3466.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3465).into()), + smithy_types::Number::NegInt((*var_3467).into()), ); } #[allow(unused_mut)] - let mut scope_3466 = writer.prefix("NextToken"); - if let Some(var_3467) = &input.next_token { - scope_3466.string(var_3467); + let mut scope_3468 = writer.prefix("NextToken"); + if let Some(var_3469) = &input.next_token { + scope_3468.string(var_3469); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11837,44 +11842,44 @@ pub fn serialize_operation_describe_vpc_endpoints( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcEndpoints", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3468 = writer.prefix("DryRun"); - if let Some(var_3469) = &input.dry_run { - scope_3468.boolean(*var_3469); + let mut scope_3470 = writer.prefix("DryRun"); + if let Some(var_3471) = &input.dry_run { + scope_3470.boolean(*var_3471); } #[allow(unused_mut)] - let mut scope_3470 = writer.prefix("VpcEndpointId"); - if let Some(var_3471) = &input.vpc_endpoint_ids { - let mut list_3473 = scope_3470.start_list(true, Some("item")); - for item_3472 in var_3471 { + let mut scope_3472 = writer.prefix("VpcEndpointId"); + if let Some(var_3473) = &input.vpc_endpoint_ids { + let mut list_3475 = scope_3472.start_list(true, Some("item")); + for item_3474 in var_3473 { #[allow(unused_mut)] - let mut entry_3474 = list_3473.entry(); - entry_3474.string(item_3472); + let mut entry_3476 = list_3475.entry(); + entry_3476.string(item_3474); } - list_3473.finish(); + list_3475.finish(); } #[allow(unused_mut)] - let mut scope_3475 = writer.prefix("Filter"); - if let Some(var_3476) = &input.filters { - let mut list_3478 = scope_3475.start_list(true, Some("Filter")); - for item_3477 in var_3476 { + let mut scope_3477 = writer.prefix("Filter"); + if let Some(var_3478) = &input.filters { + let mut list_3480 = scope_3477.start_list(true, Some("Filter")); + for item_3479 in var_3478 { #[allow(unused_mut)] - let mut entry_3479 = list_3478.entry(); - crate::query_ser::serialize_structure_filter(entry_3479, item_3477); + let mut entry_3481 = list_3480.entry(); + crate::query_ser::serialize_structure_filter(entry_3481, item_3479); } - list_3478.finish(); + list_3480.finish(); } #[allow(unused_mut)] - let mut scope_3480 = writer.prefix("MaxResults"); - if let Some(var_3481) = &input.max_results { - scope_3480.number( + let mut scope_3482 = writer.prefix("MaxResults"); + if let Some(var_3483) = &input.max_results { + scope_3482.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3481).into()), + smithy_types::Number::NegInt((*var_3483).into()), ); } #[allow(unused_mut)] - let mut scope_3482 = writer.prefix("NextToken"); - if let Some(var_3483) = &input.next_token { - scope_3482.string(var_3483); + let mut scope_3484 = writer.prefix("NextToken"); + if let Some(var_3485) = &input.next_token { + scope_3484.string(var_3485); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11891,44 +11896,44 @@ pub fn serialize_operation_describe_vpc_endpoint_service_configurations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3484 = writer.prefix("DryRun"); - if let Some(var_3485) = &input.dry_run { - scope_3484.boolean(*var_3485); + let mut scope_3486 = writer.prefix("DryRun"); + if let Some(var_3487) = &input.dry_run { + scope_3486.boolean(*var_3487); } #[allow(unused_mut)] - let mut scope_3486 = writer.prefix("ServiceId"); - if let Some(var_3487) = &input.service_ids { - let mut list_3489 = scope_3486.start_list(true, Some("item")); - for item_3488 in var_3487 { + let mut scope_3488 = writer.prefix("ServiceId"); + if let Some(var_3489) = &input.service_ids { + let mut list_3491 = scope_3488.start_list(true, Some("item")); + for item_3490 in var_3489 { #[allow(unused_mut)] - let mut entry_3490 = list_3489.entry(); - entry_3490.string(item_3488); + let mut entry_3492 = list_3491.entry(); + entry_3492.string(item_3490); } - list_3489.finish(); + list_3491.finish(); } #[allow(unused_mut)] - let mut scope_3491 = writer.prefix("Filter"); - if let Some(var_3492) = &input.filters { - let mut list_3494 = scope_3491.start_list(true, Some("Filter")); - for item_3493 in var_3492 { + let mut scope_3493 = writer.prefix("Filter"); + if let Some(var_3494) = &input.filters { + let mut list_3496 = scope_3493.start_list(true, Some("Filter")); + for item_3495 in var_3494 { #[allow(unused_mut)] - let mut entry_3495 = list_3494.entry(); - crate::query_ser::serialize_structure_filter(entry_3495, item_3493); + let mut entry_3497 = list_3496.entry(); + crate::query_ser::serialize_structure_filter(entry_3497, item_3495); } - list_3494.finish(); + list_3496.finish(); } #[allow(unused_mut)] - let mut scope_3496 = writer.prefix("MaxResults"); - if let Some(var_3497) = &input.max_results { - scope_3496.number( + let mut scope_3498 = writer.prefix("MaxResults"); + if let Some(var_3499) = &input.max_results { + scope_3498.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3497).into()), + smithy_types::Number::NegInt((*var_3499).into()), ); } #[allow(unused_mut)] - let mut scope_3498 = writer.prefix("NextToken"); - if let Some(var_3499) = &input.next_token { - scope_3498.string(var_3499); + let mut scope_3500 = writer.prefix("NextToken"); + if let Some(var_3501) = &input.next_token { + scope_3500.string(var_3501); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11945,38 +11950,38 @@ pub fn serialize_operation_describe_vpc_endpoint_service_permissions( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3500 = writer.prefix("DryRun"); - if let Some(var_3501) = &input.dry_run { - scope_3500.boolean(*var_3501); + let mut scope_3502 = writer.prefix("DryRun"); + if let Some(var_3503) = &input.dry_run { + scope_3502.boolean(*var_3503); } #[allow(unused_mut)] - let mut scope_3502 = writer.prefix("ServiceId"); - if let Some(var_3503) = &input.service_id { - scope_3502.string(var_3503); + let mut scope_3504 = writer.prefix("ServiceId"); + if let Some(var_3505) = &input.service_id { + scope_3504.string(var_3505); } #[allow(unused_mut)] - let mut scope_3504 = writer.prefix("Filter"); - if let Some(var_3505) = &input.filters { - let mut list_3507 = scope_3504.start_list(true, Some("Filter")); - for item_3506 in var_3505 { + let mut scope_3506 = writer.prefix("Filter"); + if let Some(var_3507) = &input.filters { + let mut list_3509 = scope_3506.start_list(true, Some("Filter")); + for item_3508 in var_3507 { #[allow(unused_mut)] - let mut entry_3508 = list_3507.entry(); - crate::query_ser::serialize_structure_filter(entry_3508, item_3506); + let mut entry_3510 = list_3509.entry(); + crate::query_ser::serialize_structure_filter(entry_3510, item_3508); } - list_3507.finish(); + list_3509.finish(); } #[allow(unused_mut)] - let mut scope_3509 = writer.prefix("MaxResults"); - if let Some(var_3510) = &input.max_results { - scope_3509.number( + let mut scope_3511 = writer.prefix("MaxResults"); + if let Some(var_3512) = &input.max_results { + scope_3511.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3510).into()), + smithy_types::Number::NegInt((*var_3512).into()), ); } #[allow(unused_mut)] - let mut scope_3511 = writer.prefix("NextToken"); - if let Some(var_3512) = &input.next_token { - scope_3511.string(var_3512); + let mut scope_3513 = writer.prefix("NextToken"); + if let Some(var_3514) = &input.next_token { + scope_3513.string(var_3514); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -11990,44 +11995,44 @@ pub fn serialize_operation_describe_vpc_endpoint_services( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcEndpointServices", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3513 = writer.prefix("DryRun"); - if let Some(var_3514) = &input.dry_run { - scope_3513.boolean(*var_3514); + let mut scope_3515 = writer.prefix("DryRun"); + if let Some(var_3516) = &input.dry_run { + scope_3515.boolean(*var_3516); } #[allow(unused_mut)] - let mut scope_3515 = writer.prefix("ServiceName"); - if let Some(var_3516) = &input.service_names { - let mut list_3518 = scope_3515.start_list(true, Some("item")); - for item_3517 in var_3516 { + let mut scope_3517 = writer.prefix("ServiceName"); + if let Some(var_3518) = &input.service_names { + let mut list_3520 = scope_3517.start_list(true, Some("item")); + for item_3519 in var_3518 { #[allow(unused_mut)] - let mut entry_3519 = list_3518.entry(); - entry_3519.string(item_3517); + let mut entry_3521 = list_3520.entry(); + entry_3521.string(item_3519); } - list_3518.finish(); + list_3520.finish(); } #[allow(unused_mut)] - let mut scope_3520 = writer.prefix("Filter"); - if let Some(var_3521) = &input.filters { - let mut list_3523 = scope_3520.start_list(true, Some("Filter")); - for item_3522 in var_3521 { + let mut scope_3522 = writer.prefix("Filter"); + if let Some(var_3523) = &input.filters { + let mut list_3525 = scope_3522.start_list(true, Some("Filter")); + for item_3524 in var_3523 { #[allow(unused_mut)] - let mut entry_3524 = list_3523.entry(); - crate::query_ser::serialize_structure_filter(entry_3524, item_3522); + let mut entry_3526 = list_3525.entry(); + crate::query_ser::serialize_structure_filter(entry_3526, item_3524); } - list_3523.finish(); + list_3525.finish(); } #[allow(unused_mut)] - let mut scope_3525 = writer.prefix("MaxResults"); - if let Some(var_3526) = &input.max_results { - scope_3525.number( + let mut scope_3527 = writer.prefix("MaxResults"); + if let Some(var_3528) = &input.max_results { + scope_3527.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3526).into()), + smithy_types::Number::NegInt((*var_3528).into()), ); } #[allow(unused_mut)] - let mut scope_3527 = writer.prefix("NextToken"); - if let Some(var_3528) = &input.next_token { - scope_3527.string(var_3528); + let mut scope_3529 = writer.prefix("NextToken"); + if let Some(var_3530) = &input.next_token { + scope_3529.string(var_3530); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12041,43 +12046,43 @@ pub fn serialize_operation_describe_vpc_peering_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcPeeringConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3529 = writer.prefix("Filter"); - if let Some(var_3530) = &input.filters { - let mut list_3532 = scope_3529.start_list(true, Some("Filter")); - for item_3531 in var_3530 { + let mut scope_3531 = writer.prefix("Filter"); + if let Some(var_3532) = &input.filters { + let mut list_3534 = scope_3531.start_list(true, Some("Filter")); + for item_3533 in var_3532 { #[allow(unused_mut)] - let mut entry_3533 = list_3532.entry(); - crate::query_ser::serialize_structure_filter(entry_3533, item_3531); + let mut entry_3535 = list_3534.entry(); + crate::query_ser::serialize_structure_filter(entry_3535, item_3533); } - list_3532.finish(); + list_3534.finish(); } #[allow(unused_mut)] - let mut scope_3534 = writer.prefix("DryRun"); - if let Some(var_3535) = &input.dry_run { - scope_3534.boolean(*var_3535); + let mut scope_3536 = writer.prefix("DryRun"); + if let Some(var_3537) = &input.dry_run { + scope_3536.boolean(*var_3537); } #[allow(unused_mut)] - let mut scope_3536 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_3537) = &input.vpc_peering_connection_ids { - let mut list_3539 = scope_3536.start_list(true, Some("item")); - for item_3538 in var_3537 { + let mut scope_3538 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_3539) = &input.vpc_peering_connection_ids { + let mut list_3541 = scope_3538.start_list(true, Some("item")); + for item_3540 in var_3539 { #[allow(unused_mut)] - let mut entry_3540 = list_3539.entry(); - entry_3540.string(item_3538); + let mut entry_3542 = list_3541.entry(); + entry_3542.string(item_3540); } - list_3539.finish(); + list_3541.finish(); } #[allow(unused_mut)] - let mut scope_3541 = writer.prefix("NextToken"); - if let Some(var_3542) = &input.next_token { - scope_3541.string(var_3542); + let mut scope_3543 = writer.prefix("NextToken"); + if let Some(var_3544) = &input.next_token { + scope_3543.string(var_3544); } #[allow(unused_mut)] - let mut scope_3543 = writer.prefix("MaxResults"); - if let Some(var_3544) = &input.max_results { - scope_3543.number( + let mut scope_3545 = writer.prefix("MaxResults"); + if let Some(var_3546) = &input.max_results { + scope_3545.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3544).into()), + smithy_types::Number::NegInt((*var_3546).into()), ); } writer.finish(); @@ -12091,43 +12096,43 @@ pub fn serialize_operation_describe_vpcs( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpcs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3545 = writer.prefix("Filter"); - if let Some(var_3546) = &input.filters { - let mut list_3548 = scope_3545.start_list(true, Some("Filter")); - for item_3547 in var_3546 { + let mut scope_3547 = writer.prefix("Filter"); + if let Some(var_3548) = &input.filters { + let mut list_3550 = scope_3547.start_list(true, Some("Filter")); + for item_3549 in var_3548 { #[allow(unused_mut)] - let mut entry_3549 = list_3548.entry(); - crate::query_ser::serialize_structure_filter(entry_3549, item_3547); + let mut entry_3551 = list_3550.entry(); + crate::query_ser::serialize_structure_filter(entry_3551, item_3549); } - list_3548.finish(); + list_3550.finish(); } #[allow(unused_mut)] - let mut scope_3550 = writer.prefix("VpcId"); - if let Some(var_3551) = &input.vpc_ids { - let mut list_3553 = scope_3550.start_list(true, Some("VpcId")); - for item_3552 in var_3551 { + let mut scope_3552 = writer.prefix("VpcId"); + if let Some(var_3553) = &input.vpc_ids { + let mut list_3555 = scope_3552.start_list(true, Some("VpcId")); + for item_3554 in var_3553 { #[allow(unused_mut)] - let mut entry_3554 = list_3553.entry(); - entry_3554.string(item_3552); + let mut entry_3556 = list_3555.entry(); + entry_3556.string(item_3554); } - list_3553.finish(); + list_3555.finish(); } #[allow(unused_mut)] - let mut scope_3555 = writer.prefix("DryRun"); - if let Some(var_3556) = &input.dry_run { - scope_3555.boolean(*var_3556); + let mut scope_3557 = writer.prefix("DryRun"); + if let Some(var_3558) = &input.dry_run { + scope_3557.boolean(*var_3558); } #[allow(unused_mut)] - let mut scope_3557 = writer.prefix("NextToken"); - if let Some(var_3558) = &input.next_token { - scope_3557.string(var_3558); + let mut scope_3559 = writer.prefix("NextToken"); + if let Some(var_3560) = &input.next_token { + scope_3559.string(var_3560); } #[allow(unused_mut)] - let mut scope_3559 = writer.prefix("MaxResults"); - if let Some(var_3560) = &input.max_results { - scope_3559.number( + let mut scope_3561 = writer.prefix("MaxResults"); + if let Some(var_3562) = &input.max_results { + scope_3561.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3560).into()), + smithy_types::Number::NegInt((*var_3562).into()), ); } writer.finish(); @@ -12142,31 +12147,31 @@ pub fn serialize_operation_describe_vpn_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpnConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3561 = writer.prefix("Filter"); - if let Some(var_3562) = &input.filters { - let mut list_3564 = scope_3561.start_list(true, Some("Filter")); - for item_3563 in var_3562 { + let mut scope_3563 = writer.prefix("Filter"); + if let Some(var_3564) = &input.filters { + let mut list_3566 = scope_3563.start_list(true, Some("Filter")); + for item_3565 in var_3564 { #[allow(unused_mut)] - let mut entry_3565 = list_3564.entry(); - crate::query_ser::serialize_structure_filter(entry_3565, item_3563); + let mut entry_3567 = list_3566.entry(); + crate::query_ser::serialize_structure_filter(entry_3567, item_3565); } - list_3564.finish(); + list_3566.finish(); } #[allow(unused_mut)] - let mut scope_3566 = writer.prefix("VpnConnectionId"); - if let Some(var_3567) = &input.vpn_connection_ids { - let mut list_3569 = scope_3566.start_list(true, Some("VpnConnectionId")); - for item_3568 in var_3567 { + let mut scope_3568 = writer.prefix("VpnConnectionId"); + if let Some(var_3569) = &input.vpn_connection_ids { + let mut list_3571 = scope_3568.start_list(true, Some("VpnConnectionId")); + for item_3570 in var_3569 { #[allow(unused_mut)] - let mut entry_3570 = list_3569.entry(); - entry_3570.string(item_3568); + let mut entry_3572 = list_3571.entry(); + entry_3572.string(item_3570); } - list_3569.finish(); + list_3571.finish(); } #[allow(unused_mut)] - let mut scope_3571 = writer.prefix("DryRun"); - if let Some(var_3572) = &input.dry_run { - scope_3571.boolean(*var_3572); + let mut scope_3573 = writer.prefix("DryRun"); + if let Some(var_3574) = &input.dry_run { + scope_3573.boolean(*var_3574); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12179,31 +12184,31 @@ pub fn serialize_operation_describe_vpn_gateways( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DescribeVpnGateways", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3573 = writer.prefix("Filter"); - if let Some(var_3574) = &input.filters { - let mut list_3576 = scope_3573.start_list(true, Some("Filter")); - for item_3575 in var_3574 { + let mut scope_3575 = writer.prefix("Filter"); + if let Some(var_3576) = &input.filters { + let mut list_3578 = scope_3575.start_list(true, Some("Filter")); + for item_3577 in var_3576 { #[allow(unused_mut)] - let mut entry_3577 = list_3576.entry(); - crate::query_ser::serialize_structure_filter(entry_3577, item_3575); + let mut entry_3579 = list_3578.entry(); + crate::query_ser::serialize_structure_filter(entry_3579, item_3577); } - list_3576.finish(); + list_3578.finish(); } #[allow(unused_mut)] - let mut scope_3578 = writer.prefix("VpnGatewayId"); - if let Some(var_3579) = &input.vpn_gateway_ids { - let mut list_3581 = scope_3578.start_list(true, Some("VpnGatewayId")); - for item_3580 in var_3579 { + let mut scope_3580 = writer.prefix("VpnGatewayId"); + if let Some(var_3581) = &input.vpn_gateway_ids { + let mut list_3583 = scope_3580.start_list(true, Some("VpnGatewayId")); + for item_3582 in var_3581 { #[allow(unused_mut)] - let mut entry_3582 = list_3581.entry(); - entry_3582.string(item_3580); + let mut entry_3584 = list_3583.entry(); + entry_3584.string(item_3582); } - list_3581.finish(); + list_3583.finish(); } #[allow(unused_mut)] - let mut scope_3583 = writer.prefix("DryRun"); - if let Some(var_3584) = &input.dry_run { - scope_3583.boolean(*var_3584); + let mut scope_3585 = writer.prefix("DryRun"); + if let Some(var_3586) = &input.dry_run { + scope_3585.boolean(*var_3586); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12216,19 +12221,19 @@ pub fn serialize_operation_detach_classic_link_vpc( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DetachClassicLinkVpc", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3585 = writer.prefix("DryRun"); - if let Some(var_3586) = &input.dry_run { - scope_3585.boolean(*var_3586); + let mut scope_3587 = writer.prefix("DryRun"); + if let Some(var_3588) = &input.dry_run { + scope_3587.boolean(*var_3588); } #[allow(unused_mut)] - let mut scope_3587 = writer.prefix("InstanceId"); - if let Some(var_3588) = &input.instance_id { - scope_3587.string(var_3588); + let mut scope_3589 = writer.prefix("InstanceId"); + if let Some(var_3590) = &input.instance_id { + scope_3589.string(var_3590); } #[allow(unused_mut)] - let mut scope_3589 = writer.prefix("VpcId"); - if let Some(var_3590) = &input.vpc_id { - scope_3589.string(var_3590); + let mut scope_3591 = writer.prefix("VpcId"); + if let Some(var_3592) = &input.vpc_id { + scope_3591.string(var_3592); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12242,19 +12247,19 @@ pub fn serialize_operation_detach_internet_gateway( let mut writer = smithy_query::QueryWriter::new(&mut out, "DetachInternetGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3591 = writer.prefix("DryRun"); - if let Some(var_3592) = &input.dry_run { - scope_3591.boolean(*var_3592); + let mut scope_3593 = writer.prefix("DryRun"); + if let Some(var_3594) = &input.dry_run { + scope_3593.boolean(*var_3594); } #[allow(unused_mut)] - let mut scope_3593 = writer.prefix("InternetGatewayId"); - if let Some(var_3594) = &input.internet_gateway_id { - scope_3593.string(var_3594); + let mut scope_3595 = writer.prefix("InternetGatewayId"); + if let Some(var_3596) = &input.internet_gateway_id { + scope_3595.string(var_3596); } #[allow(unused_mut)] - let mut scope_3595 = writer.prefix("VpcId"); - if let Some(var_3596) = &input.vpc_id { - scope_3595.string(var_3596); + let mut scope_3597 = writer.prefix("VpcId"); + if let Some(var_3598) = &input.vpc_id { + scope_3597.string(var_3598); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12268,19 +12273,19 @@ pub fn serialize_operation_detach_network_interface( let mut writer = smithy_query::QueryWriter::new(&mut out, "DetachNetworkInterface", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3597 = writer.prefix("AttachmentId"); - if let Some(var_3598) = &input.attachment_id { - scope_3597.string(var_3598); + let mut scope_3599 = writer.prefix("AttachmentId"); + if let Some(var_3600) = &input.attachment_id { + scope_3599.string(var_3600); } #[allow(unused_mut)] - let mut scope_3599 = writer.prefix("DryRun"); - if let Some(var_3600) = &input.dry_run { - scope_3599.boolean(*var_3600); + let mut scope_3601 = writer.prefix("DryRun"); + if let Some(var_3602) = &input.dry_run { + scope_3601.boolean(*var_3602); } #[allow(unused_mut)] - let mut scope_3601 = writer.prefix("Force"); - if let Some(var_3602) = &input.force { - scope_3601.boolean(*var_3602); + let mut scope_3603 = writer.prefix("Force"); + if let Some(var_3604) = &input.force { + scope_3603.boolean(*var_3604); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12293,29 +12298,29 @@ pub fn serialize_operation_detach_volume( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DetachVolume", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3603 = writer.prefix("Device"); - if let Some(var_3604) = &input.device { - scope_3603.string(var_3604); + let mut scope_3605 = writer.prefix("Device"); + if let Some(var_3606) = &input.device { + scope_3605.string(var_3606); } #[allow(unused_mut)] - let mut scope_3605 = writer.prefix("Force"); - if let Some(var_3606) = &input.force { - scope_3605.boolean(*var_3606); + let mut scope_3607 = writer.prefix("Force"); + if let Some(var_3608) = &input.force { + scope_3607.boolean(*var_3608); } #[allow(unused_mut)] - let mut scope_3607 = writer.prefix("InstanceId"); - if let Some(var_3608) = &input.instance_id { - scope_3607.string(var_3608); + let mut scope_3609 = writer.prefix("InstanceId"); + if let Some(var_3610) = &input.instance_id { + scope_3609.string(var_3610); } #[allow(unused_mut)] - let mut scope_3609 = writer.prefix("VolumeId"); - if let Some(var_3610) = &input.volume_id { - scope_3609.string(var_3610); + let mut scope_3611 = writer.prefix("VolumeId"); + if let Some(var_3612) = &input.volume_id { + scope_3611.string(var_3612); } #[allow(unused_mut)] - let mut scope_3611 = writer.prefix("DryRun"); - if let Some(var_3612) = &input.dry_run { - scope_3611.boolean(*var_3612); + let mut scope_3613 = writer.prefix("DryRun"); + if let Some(var_3614) = &input.dry_run { + scope_3613.boolean(*var_3614); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12328,19 +12333,19 @@ pub fn serialize_operation_detach_vpn_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DetachVpnGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3613 = writer.prefix("VpcId"); - if let Some(var_3614) = &input.vpc_id { - scope_3613.string(var_3614); + let mut scope_3615 = writer.prefix("VpcId"); + if let Some(var_3616) = &input.vpc_id { + scope_3615.string(var_3616); } #[allow(unused_mut)] - let mut scope_3615 = writer.prefix("VpnGatewayId"); - if let Some(var_3616) = &input.vpn_gateway_id { - scope_3615.string(var_3616); + let mut scope_3617 = writer.prefix("VpnGatewayId"); + if let Some(var_3618) = &input.vpn_gateway_id { + scope_3617.string(var_3618); } #[allow(unused_mut)] - let mut scope_3617 = writer.prefix("DryRun"); - if let Some(var_3618) = &input.dry_run { - scope_3617.boolean(*var_3618); + let mut scope_3619 = writer.prefix("DryRun"); + if let Some(var_3620) = &input.dry_run { + scope_3619.boolean(*var_3620); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12354,9 +12359,9 @@ pub fn serialize_operation_disable_ebs_encryption_by_default( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableEbsEncryptionByDefault", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3619 = writer.prefix("DryRun"); - if let Some(var_3620) = &input.dry_run { - scope_3619.boolean(*var_3620); + let mut scope_3621 = writer.prefix("DryRun"); + if let Some(var_3622) = &input.dry_run { + scope_3621.boolean(*var_3622); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12370,31 +12375,31 @@ pub fn serialize_operation_disable_fast_snapshot_restores( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableFastSnapshotRestores", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3621 = writer.prefix("AvailabilityZone"); - if let Some(var_3622) = &input.availability_zones { - let mut list_3624 = scope_3621.start_list(true, Some("AvailabilityZone")); - for item_3623 in var_3622 { + let mut scope_3623 = writer.prefix("AvailabilityZone"); + if let Some(var_3624) = &input.availability_zones { + let mut list_3626 = scope_3623.start_list(true, Some("AvailabilityZone")); + for item_3625 in var_3624 { #[allow(unused_mut)] - let mut entry_3625 = list_3624.entry(); - entry_3625.string(item_3623); + let mut entry_3627 = list_3626.entry(); + entry_3627.string(item_3625); } - list_3624.finish(); + list_3626.finish(); } #[allow(unused_mut)] - let mut scope_3626 = writer.prefix("SourceSnapshotId"); - if let Some(var_3627) = &input.source_snapshot_ids { - let mut list_3629 = scope_3626.start_list(true, Some("SnapshotId")); - for item_3628 in var_3627 { + let mut scope_3628 = writer.prefix("SourceSnapshotId"); + if let Some(var_3629) = &input.source_snapshot_ids { + let mut list_3631 = scope_3628.start_list(true, Some("SnapshotId")); + for item_3630 in var_3629 { #[allow(unused_mut)] - let mut entry_3630 = list_3629.entry(); - entry_3630.string(item_3628); + let mut entry_3632 = list_3631.entry(); + entry_3632.string(item_3630); } - list_3629.finish(); + list_3631.finish(); } #[allow(unused_mut)] - let mut scope_3631 = writer.prefix("DryRun"); - if let Some(var_3632) = &input.dry_run { - scope_3631.boolean(*var_3632); + let mut scope_3633 = writer.prefix("DryRun"); + if let Some(var_3634) = &input.dry_run { + scope_3633.boolean(*var_3634); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12408,14 +12413,14 @@ pub fn serialize_operation_disable_image_deprecation( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableImageDeprecation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3633 = writer.prefix("ImageId"); - if let Some(var_3634) = &input.image_id { - scope_3633.string(var_3634); + let mut scope_3635 = writer.prefix("ImageId"); + if let Some(var_3636) = &input.image_id { + scope_3635.string(var_3636); } #[allow(unused_mut)] - let mut scope_3635 = writer.prefix("DryRun"); - if let Some(var_3636) = &input.dry_run { - scope_3635.boolean(*var_3636); + let mut scope_3637 = writer.prefix("DryRun"); + if let Some(var_3638) = &input.dry_run { + scope_3637.boolean(*var_3638); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12429,9 +12434,9 @@ pub fn serialize_operation_disable_serial_console_access( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableSerialConsoleAccess", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3637 = writer.prefix("DryRun"); - if let Some(var_3638) = &input.dry_run { - scope_3637.boolean(*var_3638); + let mut scope_3639 = writer.prefix("DryRun"); + if let Some(var_3640) = &input.dry_run { + scope_3639.boolean(*var_3640); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12448,19 +12453,19 @@ pub fn serialize_operation_disable_transit_gateway_route_table_propagation( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3639 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3640) = &input.transit_gateway_route_table_id { - scope_3639.string(var_3640); + let mut scope_3641 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3642) = &input.transit_gateway_route_table_id { + scope_3641.string(var_3642); } #[allow(unused_mut)] - let mut scope_3641 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_3642) = &input.transit_gateway_attachment_id { - scope_3641.string(var_3642); + let mut scope_3643 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_3644) = &input.transit_gateway_attachment_id { + scope_3643.string(var_3644); } #[allow(unused_mut)] - let mut scope_3643 = writer.prefix("DryRun"); - if let Some(var_3644) = &input.dry_run { - scope_3643.boolean(*var_3644); + let mut scope_3645 = writer.prefix("DryRun"); + if let Some(var_3646) = &input.dry_run { + scope_3645.boolean(*var_3646); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12474,19 +12479,19 @@ pub fn serialize_operation_disable_vgw_route_propagation( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableVgwRoutePropagation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3645 = writer.prefix("GatewayId"); - if let Some(var_3646) = &input.gateway_id { - scope_3645.string(var_3646); + let mut scope_3647 = writer.prefix("GatewayId"); + if let Some(var_3648) = &input.gateway_id { + scope_3647.string(var_3648); } #[allow(unused_mut)] - let mut scope_3647 = writer.prefix("RouteTableId"); - if let Some(var_3648) = &input.route_table_id { - scope_3647.string(var_3648); + let mut scope_3649 = writer.prefix("RouteTableId"); + if let Some(var_3650) = &input.route_table_id { + scope_3649.string(var_3650); } #[allow(unused_mut)] - let mut scope_3649 = writer.prefix("DryRun"); - if let Some(var_3650) = &input.dry_run { - scope_3649.boolean(*var_3650); + let mut scope_3651 = writer.prefix("DryRun"); + if let Some(var_3652) = &input.dry_run { + scope_3651.boolean(*var_3652); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12500,14 +12505,14 @@ pub fn serialize_operation_disable_vpc_classic_link( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableVpcClassicLink", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3651 = writer.prefix("DryRun"); - if let Some(var_3652) = &input.dry_run { - scope_3651.boolean(*var_3652); + let mut scope_3653 = writer.prefix("DryRun"); + if let Some(var_3654) = &input.dry_run { + scope_3653.boolean(*var_3654); } #[allow(unused_mut)] - let mut scope_3653 = writer.prefix("VpcId"); - if let Some(var_3654) = &input.vpc_id { - scope_3653.string(var_3654); + let mut scope_3655 = writer.prefix("VpcId"); + if let Some(var_3656) = &input.vpc_id { + scope_3655.string(var_3656); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12521,9 +12526,9 @@ pub fn serialize_operation_disable_vpc_classic_link_dns_support( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisableVpcClassicLinkDnsSupport", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3655 = writer.prefix("VpcId"); - if let Some(var_3656) = &input.vpc_id { - scope_3655.string(var_3656); + let mut scope_3657 = writer.prefix("VpcId"); + if let Some(var_3658) = &input.vpc_id { + scope_3657.string(var_3658); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12536,19 +12541,19 @@ pub fn serialize_operation_disassociate_address( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateAddress", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3657 = writer.prefix("AssociationId"); - if let Some(var_3658) = &input.association_id { - scope_3657.string(var_3658); + let mut scope_3659 = writer.prefix("AssociationId"); + if let Some(var_3660) = &input.association_id { + scope_3659.string(var_3660); } #[allow(unused_mut)] - let mut scope_3659 = writer.prefix("PublicIp"); - if let Some(var_3660) = &input.public_ip { - scope_3659.string(var_3660); + let mut scope_3661 = writer.prefix("PublicIp"); + if let Some(var_3662) = &input.public_ip { + scope_3661.string(var_3662); } #[allow(unused_mut)] - let mut scope_3661 = writer.prefix("DryRun"); - if let Some(var_3662) = &input.dry_run { - scope_3661.boolean(*var_3662); + let mut scope_3663 = writer.prefix("DryRun"); + if let Some(var_3664) = &input.dry_run { + scope_3663.boolean(*var_3664); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12565,19 +12570,19 @@ pub fn serialize_operation_disassociate_client_vpn_target_network( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3663 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_3664) = &input.client_vpn_endpoint_id { - scope_3663.string(var_3664); + let mut scope_3665 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_3666) = &input.client_vpn_endpoint_id { + scope_3665.string(var_3666); } #[allow(unused_mut)] - let mut scope_3665 = writer.prefix("AssociationId"); - if let Some(var_3666) = &input.association_id { - scope_3665.string(var_3666); + let mut scope_3667 = writer.prefix("AssociationId"); + if let Some(var_3668) = &input.association_id { + scope_3667.string(var_3668); } #[allow(unused_mut)] - let mut scope_3667 = writer.prefix("DryRun"); - if let Some(var_3668) = &input.dry_run { - scope_3667.boolean(*var_3668); + let mut scope_3669 = writer.prefix("DryRun"); + if let Some(var_3670) = &input.dry_run { + scope_3669.boolean(*var_3670); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12594,19 +12599,19 @@ pub fn serialize_operation_disassociate_enclave_certificate_iam_role( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3669 = writer.prefix("CertificateArn"); - if let Some(var_3670) = &input.certificate_arn { - scope_3669.string(var_3670); + let mut scope_3671 = writer.prefix("CertificateArn"); + if let Some(var_3672) = &input.certificate_arn { + scope_3671.string(var_3672); } #[allow(unused_mut)] - let mut scope_3671 = writer.prefix("RoleArn"); - if let Some(var_3672) = &input.role_arn { - scope_3671.string(var_3672); + let mut scope_3673 = writer.prefix("RoleArn"); + if let Some(var_3674) = &input.role_arn { + scope_3673.string(var_3674); } #[allow(unused_mut)] - let mut scope_3673 = writer.prefix("DryRun"); - if let Some(var_3674) = &input.dry_run { - scope_3673.boolean(*var_3674); + let mut scope_3675 = writer.prefix("DryRun"); + if let Some(var_3676) = &input.dry_run { + scope_3675.boolean(*var_3676); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12620,9 +12625,9 @@ pub fn serialize_operation_disassociate_iam_instance_profile( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateIamInstanceProfile", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3675 = writer.prefix("AssociationId"); - if let Some(var_3676) = &input.association_id { - scope_3675.string(var_3676); + let mut scope_3677 = writer.prefix("AssociationId"); + if let Some(var_3678) = &input.association_id { + scope_3677.string(var_3678); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12636,20 +12641,20 @@ pub fn serialize_operation_disassociate_instance_event_window( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateInstanceEventWindow", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3677 = writer.prefix("DryRun"); - if let Some(var_3678) = &input.dry_run { - scope_3677.boolean(*var_3678); + let mut scope_3679 = writer.prefix("DryRun"); + if let Some(var_3680) = &input.dry_run { + scope_3679.boolean(*var_3680); } #[allow(unused_mut)] - let mut scope_3679 = writer.prefix("InstanceEventWindowId"); - if let Some(var_3680) = &input.instance_event_window_id { - scope_3679.string(var_3680); + let mut scope_3681 = writer.prefix("InstanceEventWindowId"); + if let Some(var_3682) = &input.instance_event_window_id { + scope_3681.string(var_3682); } #[allow(unused_mut)] - let mut scope_3681 = writer.prefix("AssociationTarget"); - if let Some(var_3682) = &input.association_target { + let mut scope_3683 = writer.prefix("AssociationTarget"); + if let Some(var_3684) = &input.association_target { crate::query_ser::serialize_structure_instance_event_window_disassociation_request( - scope_3681, var_3682, + scope_3683, var_3684, ); } writer.finish(); @@ -12664,14 +12669,14 @@ pub fn serialize_operation_disassociate_route_table( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateRouteTable", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3683 = writer.prefix("AssociationId"); - if let Some(var_3684) = &input.association_id { - scope_3683.string(var_3684); + let mut scope_3685 = writer.prefix("AssociationId"); + if let Some(var_3686) = &input.association_id { + scope_3685.string(var_3686); } #[allow(unused_mut)] - let mut scope_3685 = writer.prefix("DryRun"); - if let Some(var_3686) = &input.dry_run { - scope_3685.boolean(*var_3686); + let mut scope_3687 = writer.prefix("DryRun"); + if let Some(var_3688) = &input.dry_run { + scope_3687.boolean(*var_3688); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12685,9 +12690,9 @@ pub fn serialize_operation_disassociate_subnet_cidr_block( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateSubnetCidrBlock", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3687 = writer.prefix("AssociationId"); - if let Some(var_3688) = &input.association_id { - scope_3687.string(var_3688); + let mut scope_3689 = writer.prefix("AssociationId"); + if let Some(var_3690) = &input.association_id { + scope_3689.string(var_3690); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12704,30 +12709,30 @@ pub fn serialize_operation_disassociate_transit_gateway_multicast_domain( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3689 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_3690) = &input.transit_gateway_multicast_domain_id { - scope_3689.string(var_3690); + let mut scope_3691 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_3692) = &input.transit_gateway_multicast_domain_id { + scope_3691.string(var_3692); } #[allow(unused_mut)] - let mut scope_3691 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_3692) = &input.transit_gateway_attachment_id { - scope_3691.string(var_3692); + let mut scope_3693 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_3694) = &input.transit_gateway_attachment_id { + scope_3693.string(var_3694); } #[allow(unused_mut)] - let mut scope_3693 = writer.prefix("SubnetIds"); - if let Some(var_3694) = &input.subnet_ids { - let mut list_3696 = scope_3693.start_list(true, Some("item")); - for item_3695 in var_3694 { + let mut scope_3695 = writer.prefix("SubnetIds"); + if let Some(var_3696) = &input.subnet_ids { + let mut list_3698 = scope_3695.start_list(true, Some("item")); + for item_3697 in var_3696 { #[allow(unused_mut)] - let mut entry_3697 = list_3696.entry(); - entry_3697.string(item_3695); + let mut entry_3699 = list_3698.entry(); + entry_3699.string(item_3697); } - list_3696.finish(); + list_3698.finish(); } #[allow(unused_mut)] - let mut scope_3698 = writer.prefix("DryRun"); - if let Some(var_3699) = &input.dry_run { - scope_3698.boolean(*var_3699); + let mut scope_3700 = writer.prefix("DryRun"); + if let Some(var_3701) = &input.dry_run { + scope_3700.boolean(*var_3701); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12744,19 +12749,19 @@ pub fn serialize_operation_disassociate_transit_gateway_route_table( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3700 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3701) = &input.transit_gateway_route_table_id { - scope_3700.string(var_3701); + let mut scope_3702 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3703) = &input.transit_gateway_route_table_id { + scope_3702.string(var_3703); } #[allow(unused_mut)] - let mut scope_3702 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_3703) = &input.transit_gateway_attachment_id { - scope_3702.string(var_3703); + let mut scope_3704 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_3705) = &input.transit_gateway_attachment_id { + scope_3704.string(var_3705); } #[allow(unused_mut)] - let mut scope_3704 = writer.prefix("DryRun"); - if let Some(var_3705) = &input.dry_run { - scope_3704.boolean(*var_3705); + let mut scope_3706 = writer.prefix("DryRun"); + if let Some(var_3707) = &input.dry_run { + scope_3706.boolean(*var_3707); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12770,19 +12775,19 @@ pub fn serialize_operation_disassociate_trunk_interface( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateTrunkInterface", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3706 = writer.prefix("AssociationId"); - if let Some(var_3707) = &input.association_id { - scope_3706.string(var_3707); + let mut scope_3708 = writer.prefix("AssociationId"); + if let Some(var_3709) = &input.association_id { + scope_3708.string(var_3709); } #[allow(unused_mut)] - let mut scope_3708 = writer.prefix("ClientToken"); - if let Some(var_3709) = &input.client_token { - scope_3708.string(var_3709); + let mut scope_3710 = writer.prefix("ClientToken"); + if let Some(var_3711) = &input.client_token { + scope_3710.string(var_3711); } #[allow(unused_mut)] - let mut scope_3710 = writer.prefix("DryRun"); - if let Some(var_3711) = &input.dry_run { - scope_3710.boolean(*var_3711); + let mut scope_3712 = writer.prefix("DryRun"); + if let Some(var_3713) = &input.dry_run { + scope_3712.boolean(*var_3713); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12796,9 +12801,9 @@ pub fn serialize_operation_disassociate_vpc_cidr_block( let mut writer = smithy_query::QueryWriter::new(&mut out, "DisassociateVpcCidrBlock", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3712 = writer.prefix("AssociationId"); - if let Some(var_3713) = &input.association_id { - scope_3712.string(var_3713); + let mut scope_3714 = writer.prefix("AssociationId"); + if let Some(var_3715) = &input.association_id { + scope_3714.string(var_3715); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12812,9 +12817,9 @@ pub fn serialize_operation_enable_ebs_encryption_by_default( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableEbsEncryptionByDefault", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3714 = writer.prefix("DryRun"); - if let Some(var_3715) = &input.dry_run { - scope_3714.boolean(*var_3715); + let mut scope_3716 = writer.prefix("DryRun"); + if let Some(var_3717) = &input.dry_run { + scope_3716.boolean(*var_3717); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12828,31 +12833,31 @@ pub fn serialize_operation_enable_fast_snapshot_restores( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableFastSnapshotRestores", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3716 = writer.prefix("AvailabilityZone"); - if let Some(var_3717) = &input.availability_zones { - let mut list_3719 = scope_3716.start_list(true, Some("AvailabilityZone")); - for item_3718 in var_3717 { + let mut scope_3718 = writer.prefix("AvailabilityZone"); + if let Some(var_3719) = &input.availability_zones { + let mut list_3721 = scope_3718.start_list(true, Some("AvailabilityZone")); + for item_3720 in var_3719 { #[allow(unused_mut)] - let mut entry_3720 = list_3719.entry(); - entry_3720.string(item_3718); + let mut entry_3722 = list_3721.entry(); + entry_3722.string(item_3720); } - list_3719.finish(); + list_3721.finish(); } #[allow(unused_mut)] - let mut scope_3721 = writer.prefix("SourceSnapshotId"); - if let Some(var_3722) = &input.source_snapshot_ids { - let mut list_3724 = scope_3721.start_list(true, Some("SnapshotId")); - for item_3723 in var_3722 { + let mut scope_3723 = writer.prefix("SourceSnapshotId"); + if let Some(var_3724) = &input.source_snapshot_ids { + let mut list_3726 = scope_3723.start_list(true, Some("SnapshotId")); + for item_3725 in var_3724 { #[allow(unused_mut)] - let mut entry_3725 = list_3724.entry(); - entry_3725.string(item_3723); + let mut entry_3727 = list_3726.entry(); + entry_3727.string(item_3725); } - list_3724.finish(); + list_3726.finish(); } #[allow(unused_mut)] - let mut scope_3726 = writer.prefix("DryRun"); - if let Some(var_3727) = &input.dry_run { - scope_3726.boolean(*var_3727); + let mut scope_3728 = writer.prefix("DryRun"); + if let Some(var_3729) = &input.dry_run { + scope_3728.boolean(*var_3729); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12866,19 +12871,19 @@ pub fn serialize_operation_enable_image_deprecation( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableImageDeprecation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3728 = writer.prefix("ImageId"); - if let Some(var_3729) = &input.image_id { - scope_3728.string(var_3729); + let mut scope_3730 = writer.prefix("ImageId"); + if let Some(var_3731) = &input.image_id { + scope_3730.string(var_3731); } #[allow(unused_mut)] - let mut scope_3730 = writer.prefix("DeprecateAt"); - if let Some(var_3731) = &input.deprecate_at { - scope_3730.instant(var_3731, smithy_types::instant::Format::DateTime); + let mut scope_3732 = writer.prefix("DeprecateAt"); + if let Some(var_3733) = &input.deprecate_at { + scope_3732.instant(var_3733, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_3732 = writer.prefix("DryRun"); - if let Some(var_3733) = &input.dry_run { - scope_3732.boolean(*var_3733); + let mut scope_3734 = writer.prefix("DryRun"); + if let Some(var_3735) = &input.dry_run { + scope_3734.boolean(*var_3735); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12892,9 +12897,9 @@ pub fn serialize_operation_enable_serial_console_access( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableSerialConsoleAccess", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3734 = writer.prefix("DryRun"); - if let Some(var_3735) = &input.dry_run { - scope_3734.boolean(*var_3735); + let mut scope_3736 = writer.prefix("DryRun"); + if let Some(var_3737) = &input.dry_run { + scope_3736.boolean(*var_3737); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12911,19 +12916,19 @@ pub fn serialize_operation_enable_transit_gateway_route_table_propagation( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3736 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3737) = &input.transit_gateway_route_table_id { - scope_3736.string(var_3737); + let mut scope_3738 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3739) = &input.transit_gateway_route_table_id { + scope_3738.string(var_3739); } #[allow(unused_mut)] - let mut scope_3738 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_3739) = &input.transit_gateway_attachment_id { - scope_3738.string(var_3739); + let mut scope_3740 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_3741) = &input.transit_gateway_attachment_id { + scope_3740.string(var_3741); } #[allow(unused_mut)] - let mut scope_3740 = writer.prefix("DryRun"); - if let Some(var_3741) = &input.dry_run { - scope_3740.boolean(*var_3741); + let mut scope_3742 = writer.prefix("DryRun"); + if let Some(var_3743) = &input.dry_run { + scope_3742.boolean(*var_3743); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12937,19 +12942,19 @@ pub fn serialize_operation_enable_vgw_route_propagation( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableVgwRoutePropagation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3742 = writer.prefix("GatewayId"); - if let Some(var_3743) = &input.gateway_id { - scope_3742.string(var_3743); + let mut scope_3744 = writer.prefix("GatewayId"); + if let Some(var_3745) = &input.gateway_id { + scope_3744.string(var_3745); } #[allow(unused_mut)] - let mut scope_3744 = writer.prefix("RouteTableId"); - if let Some(var_3745) = &input.route_table_id { - scope_3744.string(var_3745); + let mut scope_3746 = writer.prefix("RouteTableId"); + if let Some(var_3747) = &input.route_table_id { + scope_3746.string(var_3747); } #[allow(unused_mut)] - let mut scope_3746 = writer.prefix("DryRun"); - if let Some(var_3747) = &input.dry_run { - scope_3746.boolean(*var_3747); + let mut scope_3748 = writer.prefix("DryRun"); + if let Some(var_3749) = &input.dry_run { + scope_3748.boolean(*var_3749); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12962,14 +12967,14 @@ pub fn serialize_operation_enable_volume_io( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableVolumeIO", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3748 = writer.prefix("DryRun"); - if let Some(var_3749) = &input.dry_run { - scope_3748.boolean(*var_3749); + let mut scope_3750 = writer.prefix("DryRun"); + if let Some(var_3751) = &input.dry_run { + scope_3750.boolean(*var_3751); } #[allow(unused_mut)] - let mut scope_3750 = writer.prefix("VolumeId"); - if let Some(var_3751) = &input.volume_id { - scope_3750.string(var_3751); + let mut scope_3752 = writer.prefix("VolumeId"); + if let Some(var_3753) = &input.volume_id { + scope_3752.string(var_3753); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -12982,14 +12987,14 @@ pub fn serialize_operation_enable_vpc_classic_link( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableVpcClassicLink", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3752 = writer.prefix("DryRun"); - if let Some(var_3753) = &input.dry_run { - scope_3752.boolean(*var_3753); + let mut scope_3754 = writer.prefix("DryRun"); + if let Some(var_3755) = &input.dry_run { + scope_3754.boolean(*var_3755); } #[allow(unused_mut)] - let mut scope_3754 = writer.prefix("VpcId"); - if let Some(var_3755) = &input.vpc_id { - scope_3754.string(var_3755); + let mut scope_3756 = writer.prefix("VpcId"); + if let Some(var_3757) = &input.vpc_id { + scope_3756.string(var_3757); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13003,9 +13008,9 @@ pub fn serialize_operation_enable_vpc_classic_link_dns_support( let mut writer = smithy_query::QueryWriter::new(&mut out, "EnableVpcClassicLinkDnsSupport", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3756 = writer.prefix("VpcId"); - if let Some(var_3757) = &input.vpc_id { - scope_3756.string(var_3757); + let mut scope_3758 = writer.prefix("VpcId"); + if let Some(var_3759) = &input.vpc_id { + scope_3758.string(var_3759); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13022,14 +13027,14 @@ pub fn serialize_operation_export_client_vpn_client_certificate_revocation_list( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3758 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_3759) = &input.client_vpn_endpoint_id { - scope_3758.string(var_3759); + let mut scope_3760 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_3761) = &input.client_vpn_endpoint_id { + scope_3760.string(var_3761); } #[allow(unused_mut)] - let mut scope_3760 = writer.prefix("DryRun"); - if let Some(var_3761) = &input.dry_run { - scope_3760.boolean(*var_3761); + let mut scope_3762 = writer.prefix("DryRun"); + if let Some(var_3763) = &input.dry_run { + scope_3762.boolean(*var_3763); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13046,14 +13051,14 @@ pub fn serialize_operation_export_client_vpn_client_configuration( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3762 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_3763) = &input.client_vpn_endpoint_id { - scope_3762.string(var_3763); + let mut scope_3764 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_3765) = &input.client_vpn_endpoint_id { + scope_3764.string(var_3765); } #[allow(unused_mut)] - let mut scope_3764 = writer.prefix("DryRun"); - if let Some(var_3765) = &input.dry_run { - scope_3764.boolean(*var_3765); + let mut scope_3766 = writer.prefix("DryRun"); + if let Some(var_3767) = &input.dry_run { + scope_3766.boolean(*var_3767); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13066,50 +13071,50 @@ pub fn serialize_operation_export_image( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ExportImage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3766 = writer.prefix("ClientToken"); - if let Some(var_3767) = &input.client_token { - scope_3766.string(var_3767); + let mut scope_3768 = writer.prefix("ClientToken"); + if let Some(var_3769) = &input.client_token { + scope_3768.string(var_3769); } #[allow(unused_mut)] - let mut scope_3768 = writer.prefix("Description"); - if let Some(var_3769) = &input.description { - scope_3768.string(var_3769); + let mut scope_3770 = writer.prefix("Description"); + if let Some(var_3771) = &input.description { + scope_3770.string(var_3771); } #[allow(unused_mut)] - let mut scope_3770 = writer.prefix("DiskImageFormat"); - if let Some(var_3771) = &input.disk_image_format { - scope_3770.string(var_3771.as_str()); + let mut scope_3772 = writer.prefix("DiskImageFormat"); + if let Some(var_3773) = &input.disk_image_format { + scope_3772.string(var_3773.as_str()); } #[allow(unused_mut)] - let mut scope_3772 = writer.prefix("DryRun"); - if let Some(var_3773) = &input.dry_run { - scope_3772.boolean(*var_3773); + let mut scope_3774 = writer.prefix("DryRun"); + if let Some(var_3775) = &input.dry_run { + scope_3774.boolean(*var_3775); } #[allow(unused_mut)] - let mut scope_3774 = writer.prefix("ImageId"); - if let Some(var_3775) = &input.image_id { - scope_3774.string(var_3775); + let mut scope_3776 = writer.prefix("ImageId"); + if let Some(var_3777) = &input.image_id { + scope_3776.string(var_3777); } #[allow(unused_mut)] - let mut scope_3776 = writer.prefix("S3ExportLocation"); - if let Some(var_3777) = &input.s3_export_location { - crate::query_ser::serialize_structure_export_task_s3_location_request(scope_3776, var_3777); + let mut scope_3778 = writer.prefix("S3ExportLocation"); + if let Some(var_3779) = &input.s3_export_location { + crate::query_ser::serialize_structure_export_task_s3_location_request(scope_3778, var_3779); } #[allow(unused_mut)] - let mut scope_3778 = writer.prefix("RoleName"); - if let Some(var_3779) = &input.role_name { - scope_3778.string(var_3779); + let mut scope_3780 = writer.prefix("RoleName"); + if let Some(var_3781) = &input.role_name { + scope_3780.string(var_3781); } #[allow(unused_mut)] - let mut scope_3780 = writer.prefix("TagSpecification"); - if let Some(var_3781) = &input.tag_specifications { - let mut list_3783 = scope_3780.start_list(true, Some("item")); - for item_3782 in var_3781 { + let mut scope_3782 = writer.prefix("TagSpecification"); + if let Some(var_3783) = &input.tag_specifications { + let mut list_3785 = scope_3782.start_list(true, Some("item")); + for item_3784 in var_3783 { #[allow(unused_mut)] - let mut entry_3784 = list_3783.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_3784, item_3782); + let mut entry_3786 = list_3785.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_3786, item_3784); } - list_3783.finish(); + list_3785.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13123,30 +13128,30 @@ pub fn serialize_operation_export_transit_gateway_routes( let mut writer = smithy_query::QueryWriter::new(&mut out, "ExportTransitGatewayRoutes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3785 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3786) = &input.transit_gateway_route_table_id { - scope_3785.string(var_3786); + let mut scope_3787 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3788) = &input.transit_gateway_route_table_id { + scope_3787.string(var_3788); } #[allow(unused_mut)] - let mut scope_3787 = writer.prefix("Filter"); - if let Some(var_3788) = &input.filters { - let mut list_3790 = scope_3787.start_list(true, Some("Filter")); - for item_3789 in var_3788 { + let mut scope_3789 = writer.prefix("Filter"); + if let Some(var_3790) = &input.filters { + let mut list_3792 = scope_3789.start_list(true, Some("Filter")); + for item_3791 in var_3790 { #[allow(unused_mut)] - let mut entry_3791 = list_3790.entry(); - crate::query_ser::serialize_structure_filter(entry_3791, item_3789); + let mut entry_3793 = list_3792.entry(); + crate::query_ser::serialize_structure_filter(entry_3793, item_3791); } - list_3790.finish(); + list_3792.finish(); } #[allow(unused_mut)] - let mut scope_3792 = writer.prefix("S3Bucket"); - if let Some(var_3793) = &input.s3_bucket { - scope_3792.string(var_3793); + let mut scope_3794 = writer.prefix("S3Bucket"); + if let Some(var_3795) = &input.s3_bucket { + scope_3794.string(var_3795); } #[allow(unused_mut)] - let mut scope_3794 = writer.prefix("DryRun"); - if let Some(var_3795) = &input.dry_run { - scope_3794.boolean(*var_3795); + let mut scope_3796 = writer.prefix("DryRun"); + if let Some(var_3797) = &input.dry_run { + scope_3796.boolean(*var_3797); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13163,14 +13168,14 @@ pub fn serialize_operation_get_associated_enclave_certificate_iam_roles( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3796 = writer.prefix("CertificateArn"); - if let Some(var_3797) = &input.certificate_arn { - scope_3796.string(var_3797); + let mut scope_3798 = writer.prefix("CertificateArn"); + if let Some(var_3799) = &input.certificate_arn { + scope_3798.string(var_3799); } #[allow(unused_mut)] - let mut scope_3798 = writer.prefix("DryRun"); - if let Some(var_3799) = &input.dry_run { - scope_3798.boolean(*var_3799); + let mut scope_3800 = writer.prefix("DryRun"); + if let Some(var_3801) = &input.dry_run { + scope_3800.boolean(*var_3801); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13184,27 +13189,27 @@ pub fn serialize_operation_get_associated_ipv6_pool_cidrs( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetAssociatedIpv6PoolCidrs", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3800 = writer.prefix("PoolId"); - if let Some(var_3801) = &input.pool_id { - scope_3800.string(var_3801); + let mut scope_3802 = writer.prefix("PoolId"); + if let Some(var_3803) = &input.pool_id { + scope_3802.string(var_3803); } #[allow(unused_mut)] - let mut scope_3802 = writer.prefix("NextToken"); - if let Some(var_3803) = &input.next_token { - scope_3802.string(var_3803); + let mut scope_3804 = writer.prefix("NextToken"); + if let Some(var_3805) = &input.next_token { + scope_3804.string(var_3805); } #[allow(unused_mut)] - let mut scope_3804 = writer.prefix("MaxResults"); - if let Some(var_3805) = &input.max_results { - scope_3804.number( + let mut scope_3806 = writer.prefix("MaxResults"); + if let Some(var_3807) = &input.max_results { + scope_3806.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3805).into()), + smithy_types::Number::NegInt((*var_3807).into()), ); } #[allow(unused_mut)] - let mut scope_3806 = writer.prefix("DryRun"); - if let Some(var_3807) = &input.dry_run { - scope_3806.boolean(*var_3807); + let mut scope_3808 = writer.prefix("DryRun"); + if let Some(var_3809) = &input.dry_run { + scope_3808.boolean(*var_3809); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13218,27 +13223,27 @@ pub fn serialize_operation_get_capacity_reservation_usage( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetCapacityReservationUsage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3808 = writer.prefix("CapacityReservationId"); - if let Some(var_3809) = &input.capacity_reservation_id { - scope_3808.string(var_3809); + let mut scope_3810 = writer.prefix("CapacityReservationId"); + if let Some(var_3811) = &input.capacity_reservation_id { + scope_3810.string(var_3811); } #[allow(unused_mut)] - let mut scope_3810 = writer.prefix("NextToken"); - if let Some(var_3811) = &input.next_token { - scope_3810.string(var_3811); + let mut scope_3812 = writer.prefix("NextToken"); + if let Some(var_3813) = &input.next_token { + scope_3812.string(var_3813); } #[allow(unused_mut)] - let mut scope_3812 = writer.prefix("MaxResults"); - if let Some(var_3813) = &input.max_results { - scope_3812.number( + let mut scope_3814 = writer.prefix("MaxResults"); + if let Some(var_3815) = &input.max_results { + scope_3814.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3813).into()), + smithy_types::Number::NegInt((*var_3815).into()), ); } #[allow(unused_mut)] - let mut scope_3814 = writer.prefix("DryRun"); - if let Some(var_3815) = &input.dry_run { - scope_3814.boolean(*var_3815); + let mut scope_3816 = writer.prefix("DryRun"); + if let Some(var_3817) = &input.dry_run { + scope_3816.boolean(*var_3817); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13251,38 +13256,38 @@ pub fn serialize_operation_get_coip_pool_usage( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "GetCoipPoolUsage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3816 = writer.prefix("PoolId"); - if let Some(var_3817) = &input.pool_id { - scope_3816.string(var_3817); + let mut scope_3818 = writer.prefix("PoolId"); + if let Some(var_3819) = &input.pool_id { + scope_3818.string(var_3819); } #[allow(unused_mut)] - let mut scope_3818 = writer.prefix("Filter"); - if let Some(var_3819) = &input.filters { - let mut list_3821 = scope_3818.start_list(true, Some("Filter")); - for item_3820 in var_3819 { + let mut scope_3820 = writer.prefix("Filter"); + if let Some(var_3821) = &input.filters { + let mut list_3823 = scope_3820.start_list(true, Some("Filter")); + for item_3822 in var_3821 { #[allow(unused_mut)] - let mut entry_3822 = list_3821.entry(); - crate::query_ser::serialize_structure_filter(entry_3822, item_3820); + let mut entry_3824 = list_3823.entry(); + crate::query_ser::serialize_structure_filter(entry_3824, item_3822); } - list_3821.finish(); + list_3823.finish(); } #[allow(unused_mut)] - let mut scope_3823 = writer.prefix("MaxResults"); - if let Some(var_3824) = &input.max_results { - scope_3823.number( + let mut scope_3825 = writer.prefix("MaxResults"); + if let Some(var_3826) = &input.max_results { + scope_3825.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3824).into()), + smithy_types::Number::NegInt((*var_3826).into()), ); } #[allow(unused_mut)] - let mut scope_3825 = writer.prefix("NextToken"); - if let Some(var_3826) = &input.next_token { - scope_3825.string(var_3826); + let mut scope_3827 = writer.prefix("NextToken"); + if let Some(var_3828) = &input.next_token { + scope_3827.string(var_3828); } #[allow(unused_mut)] - let mut scope_3827 = writer.prefix("DryRun"); - if let Some(var_3828) = &input.dry_run { - scope_3827.boolean(*var_3828); + let mut scope_3829 = writer.prefix("DryRun"); + if let Some(var_3830) = &input.dry_run { + scope_3829.boolean(*var_3830); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13295,19 +13300,19 @@ pub fn serialize_operation_get_console_output( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "GetConsoleOutput", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3829 = writer.prefix("InstanceId"); - if let Some(var_3830) = &input.instance_id { - scope_3829.string(var_3830); + let mut scope_3831 = writer.prefix("InstanceId"); + if let Some(var_3832) = &input.instance_id { + scope_3831.string(var_3832); } #[allow(unused_mut)] - let mut scope_3831 = writer.prefix("DryRun"); - if let Some(var_3832) = &input.dry_run { - scope_3831.boolean(*var_3832); + let mut scope_3833 = writer.prefix("DryRun"); + if let Some(var_3834) = &input.dry_run { + scope_3833.boolean(*var_3834); } #[allow(unused_mut)] - let mut scope_3833 = writer.prefix("Latest"); - if let Some(var_3834) = &input.latest { - scope_3833.boolean(*var_3834); + let mut scope_3835 = writer.prefix("Latest"); + if let Some(var_3836) = &input.latest { + scope_3835.boolean(*var_3836); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13320,19 +13325,19 @@ pub fn serialize_operation_get_console_screenshot( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "GetConsoleScreenshot", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3835 = writer.prefix("DryRun"); - if let Some(var_3836) = &input.dry_run { - scope_3835.boolean(*var_3836); + let mut scope_3837 = writer.prefix("DryRun"); + if let Some(var_3838) = &input.dry_run { + scope_3837.boolean(*var_3838); } #[allow(unused_mut)] - let mut scope_3837 = writer.prefix("InstanceId"); - if let Some(var_3838) = &input.instance_id { - scope_3837.string(var_3838); + let mut scope_3839 = writer.prefix("InstanceId"); + if let Some(var_3840) = &input.instance_id { + scope_3839.string(var_3840); } #[allow(unused_mut)] - let mut scope_3839 = writer.prefix("WakeUp"); - if let Some(var_3840) = &input.wake_up { - scope_3839.boolean(*var_3840); + let mut scope_3841 = writer.prefix("WakeUp"); + if let Some(var_3842) = &input.wake_up { + scope_3841.boolean(*var_3842); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13346,14 +13351,14 @@ pub fn serialize_operation_get_default_credit_specification( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetDefaultCreditSpecification", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3841 = writer.prefix("DryRun"); - if let Some(var_3842) = &input.dry_run { - scope_3841.boolean(*var_3842); + let mut scope_3843 = writer.prefix("DryRun"); + if let Some(var_3844) = &input.dry_run { + scope_3843.boolean(*var_3844); } #[allow(unused_mut)] - let mut scope_3843 = writer.prefix("InstanceFamily"); - if let Some(var_3844) = &input.instance_family { - scope_3843.string(var_3844.as_str()); + let mut scope_3845 = writer.prefix("InstanceFamily"); + if let Some(var_3846) = &input.instance_family { + scope_3845.string(var_3846.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13367,9 +13372,9 @@ pub fn serialize_operation_get_ebs_default_kms_key_id( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetEbsDefaultKmsKeyId", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3845 = writer.prefix("DryRun"); - if let Some(var_3846) = &input.dry_run { - scope_3845.boolean(*var_3846); + let mut scope_3847 = writer.prefix("DryRun"); + if let Some(var_3848) = &input.dry_run { + scope_3847.boolean(*var_3848); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13383,9 +13388,9 @@ pub fn serialize_operation_get_ebs_encryption_by_default( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetEbsEncryptionByDefault", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3847 = writer.prefix("DryRun"); - if let Some(var_3848) = &input.dry_run { - scope_3847.boolean(*var_3848); + let mut scope_3849 = writer.prefix("DryRun"); + if let Some(var_3850) = &input.dry_run { + scope_3849.boolean(*var_3850); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13399,24 +13404,24 @@ pub fn serialize_operation_get_flow_logs_integration_template( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetFlowLogsIntegrationTemplate", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3849 = writer.prefix("DryRun"); - if let Some(var_3850) = &input.dry_run { - scope_3849.boolean(*var_3850); + let mut scope_3851 = writer.prefix("DryRun"); + if let Some(var_3852) = &input.dry_run { + scope_3851.boolean(*var_3852); } #[allow(unused_mut)] - let mut scope_3851 = writer.prefix("FlowLogId"); - if let Some(var_3852) = &input.flow_log_id { - scope_3851.string(var_3852); + let mut scope_3853 = writer.prefix("FlowLogId"); + if let Some(var_3854) = &input.flow_log_id { + scope_3853.string(var_3854); } #[allow(unused_mut)] - let mut scope_3853 = writer.prefix("ConfigDeliveryS3DestinationArn"); - if let Some(var_3854) = &input.config_delivery_s3_destination_arn { - scope_3853.string(var_3854); + let mut scope_3855 = writer.prefix("ConfigDeliveryS3DestinationArn"); + if let Some(var_3856) = &input.config_delivery_s3_destination_arn { + scope_3855.string(var_3856); } #[allow(unused_mut)] - let mut scope_3855 = writer.prefix("IntegrateService"); - if let Some(var_3856) = &input.integrate_services { - crate::query_ser::serialize_structure_integrate_services(scope_3855, var_3856); + let mut scope_3857 = writer.prefix("IntegrateService"); + if let Some(var_3858) = &input.integrate_services { + crate::query_ser::serialize_structure_integrate_services(scope_3857, var_3858); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13430,27 +13435,27 @@ pub fn serialize_operation_get_groups_for_capacity_reservation( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetGroupsForCapacityReservation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3857 = writer.prefix("CapacityReservationId"); - if let Some(var_3858) = &input.capacity_reservation_id { - scope_3857.string(var_3858); + let mut scope_3859 = writer.prefix("CapacityReservationId"); + if let Some(var_3860) = &input.capacity_reservation_id { + scope_3859.string(var_3860); } #[allow(unused_mut)] - let mut scope_3859 = writer.prefix("NextToken"); - if let Some(var_3860) = &input.next_token { - scope_3859.string(var_3860); + let mut scope_3861 = writer.prefix("NextToken"); + if let Some(var_3862) = &input.next_token { + scope_3861.string(var_3862); } #[allow(unused_mut)] - let mut scope_3861 = writer.prefix("MaxResults"); - if let Some(var_3862) = &input.max_results { - scope_3861.number( + let mut scope_3863 = writer.prefix("MaxResults"); + if let Some(var_3864) = &input.max_results { + scope_3863.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3862).into()), + smithy_types::Number::NegInt((*var_3864).into()), ); } #[allow(unused_mut)] - let mut scope_3863 = writer.prefix("DryRun"); - if let Some(var_3864) = &input.dry_run { - scope_3863.boolean(*var_3864); + let mut scope_3865 = writer.prefix("DryRun"); + if let Some(var_3866) = &input.dry_run { + scope_3865.boolean(*var_3866); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13464,20 +13469,20 @@ pub fn serialize_operation_get_host_reservation_purchase_preview( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetHostReservationPurchasePreview", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3865 = writer.prefix("HostIdSet"); - if let Some(var_3866) = &input.host_id_set { - let mut list_3868 = scope_3865.start_list(true, Some("item")); - for item_3867 in var_3866 { + let mut scope_3867 = writer.prefix("HostIdSet"); + if let Some(var_3868) = &input.host_id_set { + let mut list_3870 = scope_3867.start_list(true, Some("item")); + for item_3869 in var_3868 { #[allow(unused_mut)] - let mut entry_3869 = list_3868.entry(); - entry_3869.string(item_3867); + let mut entry_3871 = list_3870.entry(); + entry_3871.string(item_3869); } - list_3868.finish(); + list_3870.finish(); } #[allow(unused_mut)] - let mut scope_3870 = writer.prefix("OfferingId"); - if let Some(var_3871) = &input.offering_id { - scope_3870.string(var_3871); + let mut scope_3872 = writer.prefix("OfferingId"); + if let Some(var_3873) = &input.offering_id { + scope_3872.string(var_3873); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13491,14 +13496,14 @@ pub fn serialize_operation_get_launch_template_data( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetLaunchTemplateData", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3872 = writer.prefix("DryRun"); - if let Some(var_3873) = &input.dry_run { - scope_3872.boolean(*var_3873); + let mut scope_3874 = writer.prefix("DryRun"); + if let Some(var_3875) = &input.dry_run { + scope_3874.boolean(*var_3875); } #[allow(unused_mut)] - let mut scope_3874 = writer.prefix("InstanceId"); - if let Some(var_3875) = &input.instance_id { - scope_3874.string(var_3875); + let mut scope_3876 = writer.prefix("InstanceId"); + if let Some(var_3877) = &input.instance_id { + scope_3876.string(var_3877); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13512,27 +13517,27 @@ pub fn serialize_operation_get_managed_prefix_list_associations( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetManagedPrefixListAssociations", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3876 = writer.prefix("DryRun"); - if let Some(var_3877) = &input.dry_run { - scope_3876.boolean(*var_3877); + let mut scope_3878 = writer.prefix("DryRun"); + if let Some(var_3879) = &input.dry_run { + scope_3878.boolean(*var_3879); } #[allow(unused_mut)] - let mut scope_3878 = writer.prefix("PrefixListId"); - if let Some(var_3879) = &input.prefix_list_id { - scope_3878.string(var_3879); + let mut scope_3880 = writer.prefix("PrefixListId"); + if let Some(var_3881) = &input.prefix_list_id { + scope_3880.string(var_3881); } #[allow(unused_mut)] - let mut scope_3880 = writer.prefix("MaxResults"); - if let Some(var_3881) = &input.max_results { - scope_3880.number( + let mut scope_3882 = writer.prefix("MaxResults"); + if let Some(var_3883) = &input.max_results { + scope_3882.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3881).into()), + smithy_types::Number::NegInt((*var_3883).into()), ); } #[allow(unused_mut)] - let mut scope_3882 = writer.prefix("NextToken"); - if let Some(var_3883) = &input.next_token { - scope_3882.string(var_3883); + let mut scope_3884 = writer.prefix("NextToken"); + if let Some(var_3885) = &input.next_token { + scope_3884.string(var_3885); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13546,35 +13551,35 @@ pub fn serialize_operation_get_managed_prefix_list_entries( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetManagedPrefixListEntries", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3884 = writer.prefix("DryRun"); - if let Some(var_3885) = &input.dry_run { - scope_3884.boolean(*var_3885); + let mut scope_3886 = writer.prefix("DryRun"); + if let Some(var_3887) = &input.dry_run { + scope_3886.boolean(*var_3887); } #[allow(unused_mut)] - let mut scope_3886 = writer.prefix("PrefixListId"); - if let Some(var_3887) = &input.prefix_list_id { - scope_3886.string(var_3887); + let mut scope_3888 = writer.prefix("PrefixListId"); + if let Some(var_3889) = &input.prefix_list_id { + scope_3888.string(var_3889); } #[allow(unused_mut)] - let mut scope_3888 = writer.prefix("TargetVersion"); - if let Some(var_3889) = &input.target_version { - scope_3888.number( + let mut scope_3890 = writer.prefix("TargetVersion"); + if let Some(var_3891) = &input.target_version { + scope_3890.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3889).into()), + smithy_types::Number::NegInt((*var_3891).into()), ); } #[allow(unused_mut)] - let mut scope_3890 = writer.prefix("MaxResults"); - if let Some(var_3891) = &input.max_results { - scope_3890.number( + let mut scope_3892 = writer.prefix("MaxResults"); + if let Some(var_3893) = &input.max_results { + scope_3892.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3891).into()), + smithy_types::Number::NegInt((*var_3893).into()), ); } #[allow(unused_mut)] - let mut scope_3892 = writer.prefix("NextToken"); - if let Some(var_3893) = &input.next_token { - scope_3892.string(var_3893); + let mut scope_3894 = writer.prefix("NextToken"); + if let Some(var_3895) = &input.next_token { + scope_3894.string(var_3895); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13587,14 +13592,14 @@ pub fn serialize_operation_get_password_data( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "GetPasswordData", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3894 = writer.prefix("InstanceId"); - if let Some(var_3895) = &input.instance_id { - scope_3894.string(var_3895); + let mut scope_3896 = writer.prefix("InstanceId"); + if let Some(var_3897) = &input.instance_id { + scope_3896.string(var_3897); } #[allow(unused_mut)] - let mut scope_3896 = writer.prefix("DryRun"); - if let Some(var_3897) = &input.dry_run { - scope_3896.boolean(*var_3897); + let mut scope_3898 = writer.prefix("DryRun"); + if let Some(var_3899) = &input.dry_run { + scope_3898.boolean(*var_3899); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13608,33 +13613,33 @@ pub fn serialize_operation_get_reserved_instances_exchange_quote( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetReservedInstancesExchangeQuote", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3898 = writer.prefix("DryRun"); - if let Some(var_3899) = &input.dry_run { - scope_3898.boolean(*var_3899); + let mut scope_3900 = writer.prefix("DryRun"); + if let Some(var_3901) = &input.dry_run { + scope_3900.boolean(*var_3901); } #[allow(unused_mut)] - let mut scope_3900 = writer.prefix("ReservedInstanceId"); - if let Some(var_3901) = &input.reserved_instance_ids { - let mut list_3903 = scope_3900.start_list(true, Some("ReservedInstanceId")); - for item_3902 in var_3901 { + let mut scope_3902 = writer.prefix("ReservedInstanceId"); + if let Some(var_3903) = &input.reserved_instance_ids { + let mut list_3905 = scope_3902.start_list(true, Some("ReservedInstanceId")); + for item_3904 in var_3903 { #[allow(unused_mut)] - let mut entry_3904 = list_3903.entry(); - entry_3904.string(item_3902); + let mut entry_3906 = list_3905.entry(); + entry_3906.string(item_3904); } - list_3903.finish(); + list_3905.finish(); } #[allow(unused_mut)] - let mut scope_3905 = writer.prefix("TargetConfiguration"); - if let Some(var_3906) = &input.target_configurations { - let mut list_3908 = scope_3905.start_list(true, Some("TargetConfigurationRequest")); - for item_3907 in var_3906 { + let mut scope_3907 = writer.prefix("TargetConfiguration"); + if let Some(var_3908) = &input.target_configurations { + let mut list_3910 = scope_3907.start_list(true, Some("TargetConfigurationRequest")); + for item_3909 in var_3908 { #[allow(unused_mut)] - let mut entry_3909 = list_3908.entry(); + let mut entry_3911 = list_3910.entry(); crate::query_ser::serialize_structure_target_configuration_request( - entry_3909, item_3907, + entry_3911, item_3909, ); } - list_3908.finish(); + list_3910.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13648,9 +13653,9 @@ pub fn serialize_operation_get_serial_console_access_status( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetSerialConsoleAccessStatus", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3910 = writer.prefix("DryRun"); - if let Some(var_3911) = &input.dry_run { - scope_3910.boolean(*var_3911); + let mut scope_3912 = writer.prefix("DryRun"); + if let Some(var_3913) = &input.dry_run { + scope_3912.boolean(*var_3913); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13664,37 +13669,37 @@ pub fn serialize_operation_get_subnet_cidr_reservations( let mut writer = smithy_query::QueryWriter::new(&mut out, "GetSubnetCidrReservations", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3912 = writer.prefix("Filter"); - if let Some(var_3913) = &input.filters { - let mut list_3915 = scope_3912.start_list(true, Some("Filter")); - for item_3914 in var_3913 { + let mut scope_3914 = writer.prefix("Filter"); + if let Some(var_3915) = &input.filters { + let mut list_3917 = scope_3914.start_list(true, Some("Filter")); + for item_3916 in var_3915 { #[allow(unused_mut)] - let mut entry_3916 = list_3915.entry(); - crate::query_ser::serialize_structure_filter(entry_3916, item_3914); + let mut entry_3918 = list_3917.entry(); + crate::query_ser::serialize_structure_filter(entry_3918, item_3916); } - list_3915.finish(); + list_3917.finish(); } #[allow(unused_mut)] - let mut scope_3917 = writer.prefix("SubnetId"); - if let Some(var_3918) = &input.subnet_id { - scope_3917.string(var_3918); + let mut scope_3919 = writer.prefix("SubnetId"); + if let Some(var_3920) = &input.subnet_id { + scope_3919.string(var_3920); } #[allow(unused_mut)] - let mut scope_3919 = writer.prefix("DryRun"); - if let Some(var_3920) = &input.dry_run { - scope_3919.boolean(*var_3920); + let mut scope_3921 = writer.prefix("DryRun"); + if let Some(var_3922) = &input.dry_run { + scope_3921.boolean(*var_3922); } #[allow(unused_mut)] - let mut scope_3921 = writer.prefix("NextToken"); - if let Some(var_3922) = &input.next_token { - scope_3921.string(var_3922); + let mut scope_3923 = writer.prefix("NextToken"); + if let Some(var_3924) = &input.next_token { + scope_3923.string(var_3924); } #[allow(unused_mut)] - let mut scope_3923 = writer.prefix("MaxResults"); - if let Some(var_3924) = &input.max_results { - scope_3923.number( + let mut scope_3925 = writer.prefix("MaxResults"); + if let Some(var_3926) = &input.max_results { + scope_3925.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3924).into()), + smithy_types::Number::NegInt((*var_3926).into()), ); } writer.finish(); @@ -13712,38 +13717,38 @@ pub fn serialize_operation_get_transit_gateway_attachment_propagations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3925 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_3926) = &input.transit_gateway_attachment_id { - scope_3925.string(var_3926); + let mut scope_3927 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_3928) = &input.transit_gateway_attachment_id { + scope_3927.string(var_3928); } #[allow(unused_mut)] - let mut scope_3927 = writer.prefix("Filter"); - if let Some(var_3928) = &input.filters { - let mut list_3930 = scope_3927.start_list(true, Some("Filter")); - for item_3929 in var_3928 { + let mut scope_3929 = writer.prefix("Filter"); + if let Some(var_3930) = &input.filters { + let mut list_3932 = scope_3929.start_list(true, Some("Filter")); + for item_3931 in var_3930 { #[allow(unused_mut)] - let mut entry_3931 = list_3930.entry(); - crate::query_ser::serialize_structure_filter(entry_3931, item_3929); + let mut entry_3933 = list_3932.entry(); + crate::query_ser::serialize_structure_filter(entry_3933, item_3931); } - list_3930.finish(); + list_3932.finish(); } #[allow(unused_mut)] - let mut scope_3932 = writer.prefix("MaxResults"); - if let Some(var_3933) = &input.max_results { - scope_3932.number( + let mut scope_3934 = writer.prefix("MaxResults"); + if let Some(var_3935) = &input.max_results { + scope_3934.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3933).into()), + smithy_types::Number::NegInt((*var_3935).into()), ); } #[allow(unused_mut)] - let mut scope_3934 = writer.prefix("NextToken"); - if let Some(var_3935) = &input.next_token { - scope_3934.string(var_3935); + let mut scope_3936 = writer.prefix("NextToken"); + if let Some(var_3937) = &input.next_token { + scope_3936.string(var_3937); } #[allow(unused_mut)] - let mut scope_3936 = writer.prefix("DryRun"); - if let Some(var_3937) = &input.dry_run { - scope_3936.boolean(*var_3937); + let mut scope_3938 = writer.prefix("DryRun"); + if let Some(var_3939) = &input.dry_run { + scope_3938.boolean(*var_3939); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13760,38 +13765,38 @@ pub fn serialize_operation_get_transit_gateway_multicast_domain_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3938 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_3939) = &input.transit_gateway_multicast_domain_id { - scope_3938.string(var_3939); + let mut scope_3940 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_3941) = &input.transit_gateway_multicast_domain_id { + scope_3940.string(var_3941); } #[allow(unused_mut)] - let mut scope_3940 = writer.prefix("Filter"); - if let Some(var_3941) = &input.filters { - let mut list_3943 = scope_3940.start_list(true, Some("Filter")); - for item_3942 in var_3941 { + let mut scope_3942 = writer.prefix("Filter"); + if let Some(var_3943) = &input.filters { + let mut list_3945 = scope_3942.start_list(true, Some("Filter")); + for item_3944 in var_3943 { #[allow(unused_mut)] - let mut entry_3944 = list_3943.entry(); - crate::query_ser::serialize_structure_filter(entry_3944, item_3942); + let mut entry_3946 = list_3945.entry(); + crate::query_ser::serialize_structure_filter(entry_3946, item_3944); } - list_3943.finish(); + list_3945.finish(); } #[allow(unused_mut)] - let mut scope_3945 = writer.prefix("MaxResults"); - if let Some(var_3946) = &input.max_results { - scope_3945.number( + let mut scope_3947 = writer.prefix("MaxResults"); + if let Some(var_3948) = &input.max_results { + scope_3947.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3946).into()), + smithy_types::Number::NegInt((*var_3948).into()), ); } #[allow(unused_mut)] - let mut scope_3947 = writer.prefix("NextToken"); - if let Some(var_3948) = &input.next_token { - scope_3947.string(var_3948); + let mut scope_3949 = writer.prefix("NextToken"); + if let Some(var_3950) = &input.next_token { + scope_3949.string(var_3950); } #[allow(unused_mut)] - let mut scope_3949 = writer.prefix("DryRun"); - if let Some(var_3950) = &input.dry_run { - scope_3949.boolean(*var_3950); + let mut scope_3951 = writer.prefix("DryRun"); + if let Some(var_3952) = &input.dry_run { + scope_3951.boolean(*var_3952); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13808,38 +13813,38 @@ pub fn serialize_operation_get_transit_gateway_prefix_list_references( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3951 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3952) = &input.transit_gateway_route_table_id { - scope_3951.string(var_3952); + let mut scope_3953 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3954) = &input.transit_gateway_route_table_id { + scope_3953.string(var_3954); } #[allow(unused_mut)] - let mut scope_3953 = writer.prefix("Filter"); - if let Some(var_3954) = &input.filters { - let mut list_3956 = scope_3953.start_list(true, Some("Filter")); - for item_3955 in var_3954 { + let mut scope_3955 = writer.prefix("Filter"); + if let Some(var_3956) = &input.filters { + let mut list_3958 = scope_3955.start_list(true, Some("Filter")); + for item_3957 in var_3956 { #[allow(unused_mut)] - let mut entry_3957 = list_3956.entry(); - crate::query_ser::serialize_structure_filter(entry_3957, item_3955); + let mut entry_3959 = list_3958.entry(); + crate::query_ser::serialize_structure_filter(entry_3959, item_3957); } - list_3956.finish(); + list_3958.finish(); } #[allow(unused_mut)] - let mut scope_3958 = writer.prefix("MaxResults"); - if let Some(var_3959) = &input.max_results { - scope_3958.number( + let mut scope_3960 = writer.prefix("MaxResults"); + if let Some(var_3961) = &input.max_results { + scope_3960.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3959).into()), + smithy_types::Number::NegInt((*var_3961).into()), ); } #[allow(unused_mut)] - let mut scope_3960 = writer.prefix("NextToken"); - if let Some(var_3961) = &input.next_token { - scope_3960.string(var_3961); + let mut scope_3962 = writer.prefix("NextToken"); + if let Some(var_3963) = &input.next_token { + scope_3962.string(var_3963); } #[allow(unused_mut)] - let mut scope_3962 = writer.prefix("DryRun"); - if let Some(var_3963) = &input.dry_run { - scope_3962.boolean(*var_3963); + let mut scope_3964 = writer.prefix("DryRun"); + if let Some(var_3965) = &input.dry_run { + scope_3964.boolean(*var_3965); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13856,38 +13861,38 @@ pub fn serialize_operation_get_transit_gateway_route_table_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3964 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3965) = &input.transit_gateway_route_table_id { - scope_3964.string(var_3965); + let mut scope_3966 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3967) = &input.transit_gateway_route_table_id { + scope_3966.string(var_3967); } #[allow(unused_mut)] - let mut scope_3966 = writer.prefix("Filter"); - if let Some(var_3967) = &input.filters { - let mut list_3969 = scope_3966.start_list(true, Some("Filter")); - for item_3968 in var_3967 { + let mut scope_3968 = writer.prefix("Filter"); + if let Some(var_3969) = &input.filters { + let mut list_3971 = scope_3968.start_list(true, Some("Filter")); + for item_3970 in var_3969 { #[allow(unused_mut)] - let mut entry_3970 = list_3969.entry(); - crate::query_ser::serialize_structure_filter(entry_3970, item_3968); + let mut entry_3972 = list_3971.entry(); + crate::query_ser::serialize_structure_filter(entry_3972, item_3970); } - list_3969.finish(); + list_3971.finish(); } #[allow(unused_mut)] - let mut scope_3971 = writer.prefix("MaxResults"); - if let Some(var_3972) = &input.max_results { - scope_3971.number( + let mut scope_3973 = writer.prefix("MaxResults"); + if let Some(var_3974) = &input.max_results { + scope_3973.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3972).into()), + smithy_types::Number::NegInt((*var_3974).into()), ); } #[allow(unused_mut)] - let mut scope_3973 = writer.prefix("NextToken"); - if let Some(var_3974) = &input.next_token { - scope_3973.string(var_3974); + let mut scope_3975 = writer.prefix("NextToken"); + if let Some(var_3976) = &input.next_token { + scope_3975.string(var_3976); } #[allow(unused_mut)] - let mut scope_3975 = writer.prefix("DryRun"); - if let Some(var_3976) = &input.dry_run { - scope_3975.boolean(*var_3976); + let mut scope_3977 = writer.prefix("DryRun"); + if let Some(var_3978) = &input.dry_run { + scope_3977.boolean(*var_3978); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13904,38 +13909,38 @@ pub fn serialize_operation_get_transit_gateway_route_table_propagations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3977 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_3978) = &input.transit_gateway_route_table_id { - scope_3977.string(var_3978); + let mut scope_3979 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_3980) = &input.transit_gateway_route_table_id { + scope_3979.string(var_3980); } #[allow(unused_mut)] - let mut scope_3979 = writer.prefix("Filter"); - if let Some(var_3980) = &input.filters { - let mut list_3982 = scope_3979.start_list(true, Some("Filter")); - for item_3981 in var_3980 { + let mut scope_3981 = writer.prefix("Filter"); + if let Some(var_3982) = &input.filters { + let mut list_3984 = scope_3981.start_list(true, Some("Filter")); + for item_3983 in var_3982 { #[allow(unused_mut)] - let mut entry_3983 = list_3982.entry(); - crate::query_ser::serialize_structure_filter(entry_3983, item_3981); + let mut entry_3985 = list_3984.entry(); + crate::query_ser::serialize_structure_filter(entry_3985, item_3983); } - list_3982.finish(); + list_3984.finish(); } #[allow(unused_mut)] - let mut scope_3984 = writer.prefix("MaxResults"); - if let Some(var_3985) = &input.max_results { - scope_3984.number( + let mut scope_3986 = writer.prefix("MaxResults"); + if let Some(var_3987) = &input.max_results { + scope_3986.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_3985).into()), + smithy_types::Number::NegInt((*var_3987).into()), ); } #[allow(unused_mut)] - let mut scope_3986 = writer.prefix("NextToken"); - if let Some(var_3987) = &input.next_token { - scope_3986.string(var_3987); + let mut scope_3988 = writer.prefix("NextToken"); + if let Some(var_3989) = &input.next_token { + scope_3988.string(var_3989); } #[allow(unused_mut)] - let mut scope_3988 = writer.prefix("DryRun"); - if let Some(var_3989) = &input.dry_run { - scope_3988.boolean(*var_3989); + let mut scope_3990 = writer.prefix("DryRun"); + if let Some(var_3991) = &input.dry_run { + scope_3990.boolean(*var_3991); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13952,19 +13957,19 @@ pub fn serialize_operation_import_client_vpn_client_certificate_revocation_list( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_3990 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_3991) = &input.client_vpn_endpoint_id { - scope_3990.string(var_3991); + let mut scope_3992 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_3993) = &input.client_vpn_endpoint_id { + scope_3992.string(var_3993); } #[allow(unused_mut)] - let mut scope_3992 = writer.prefix("CertificateRevocationList"); - if let Some(var_3993) = &input.certificate_revocation_list { - scope_3992.string(var_3993); + let mut scope_3994 = writer.prefix("CertificateRevocationList"); + if let Some(var_3995) = &input.certificate_revocation_list { + scope_3994.string(var_3995); } #[allow(unused_mut)] - let mut scope_3994 = writer.prefix("DryRun"); - if let Some(var_3995) = &input.dry_run { - scope_3994.boolean(*var_3995); + let mut scope_3996 = writer.prefix("DryRun"); + if let Some(var_3997) = &input.dry_run { + scope_3996.boolean(*var_3997); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -13977,94 +13982,94 @@ pub fn serialize_operation_import_image( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ImportImage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_3996 = writer.prefix("Architecture"); - if let Some(var_3997) = &input.architecture { - scope_3996.string(var_3997); + let mut scope_3998 = writer.prefix("Architecture"); + if let Some(var_3999) = &input.architecture { + scope_3998.string(var_3999); } #[allow(unused_mut)] - let mut scope_3998 = writer.prefix("ClientData"); - if let Some(var_3999) = &input.client_data { - crate::query_ser::serialize_structure_client_data(scope_3998, var_3999); + let mut scope_4000 = writer.prefix("ClientData"); + if let Some(var_4001) = &input.client_data { + crate::query_ser::serialize_structure_client_data(scope_4000, var_4001); } #[allow(unused_mut)] - let mut scope_4000 = writer.prefix("ClientToken"); - if let Some(var_4001) = &input.client_token { - scope_4000.string(var_4001); + let mut scope_4002 = writer.prefix("ClientToken"); + if let Some(var_4003) = &input.client_token { + scope_4002.string(var_4003); } #[allow(unused_mut)] - let mut scope_4002 = writer.prefix("Description"); - if let Some(var_4003) = &input.description { - scope_4002.string(var_4003); + let mut scope_4004 = writer.prefix("Description"); + if let Some(var_4005) = &input.description { + scope_4004.string(var_4005); } #[allow(unused_mut)] - let mut scope_4004 = writer.prefix("DiskContainer"); - if let Some(var_4005) = &input.disk_containers { - let mut list_4007 = scope_4004.start_list(true, Some("item")); - for item_4006 in var_4005 { + let mut scope_4006 = writer.prefix("DiskContainer"); + if let Some(var_4007) = &input.disk_containers { + let mut list_4009 = scope_4006.start_list(true, Some("item")); + for item_4008 in var_4007 { #[allow(unused_mut)] - let mut entry_4008 = list_4007.entry(); - crate::query_ser::serialize_structure_image_disk_container(entry_4008, item_4006); + let mut entry_4010 = list_4009.entry(); + crate::query_ser::serialize_structure_image_disk_container(entry_4010, item_4008); } - list_4007.finish(); - } - #[allow(unused_mut)] - let mut scope_4009 = writer.prefix("DryRun"); - if let Some(var_4010) = &input.dry_run { - scope_4009.boolean(*var_4010); + list_4009.finish(); } #[allow(unused_mut)] - let mut scope_4011 = writer.prefix("Encrypted"); - if let Some(var_4012) = &input.encrypted { + let mut scope_4011 = writer.prefix("DryRun"); + if let Some(var_4012) = &input.dry_run { scope_4011.boolean(*var_4012); } #[allow(unused_mut)] - let mut scope_4013 = writer.prefix("Hypervisor"); - if let Some(var_4014) = &input.hypervisor { - scope_4013.string(var_4014); + let mut scope_4013 = writer.prefix("Encrypted"); + if let Some(var_4014) = &input.encrypted { + scope_4013.boolean(*var_4014); } #[allow(unused_mut)] - let mut scope_4015 = writer.prefix("KmsKeyId"); - if let Some(var_4016) = &input.kms_key_id { + let mut scope_4015 = writer.prefix("Hypervisor"); + if let Some(var_4016) = &input.hypervisor { scope_4015.string(var_4016); } #[allow(unused_mut)] - let mut scope_4017 = writer.prefix("LicenseType"); - if let Some(var_4018) = &input.license_type { + let mut scope_4017 = writer.prefix("KmsKeyId"); + if let Some(var_4018) = &input.kms_key_id { scope_4017.string(var_4018); } #[allow(unused_mut)] - let mut scope_4019 = writer.prefix("Platform"); - if let Some(var_4020) = &input.platform { + let mut scope_4019 = writer.prefix("LicenseType"); + if let Some(var_4020) = &input.license_type { scope_4019.string(var_4020); } #[allow(unused_mut)] - let mut scope_4021 = writer.prefix("RoleName"); - if let Some(var_4022) = &input.role_name { + let mut scope_4021 = writer.prefix("Platform"); + if let Some(var_4022) = &input.platform { scope_4021.string(var_4022); } #[allow(unused_mut)] - let mut scope_4023 = writer.prefix("LicenseSpecifications"); - if let Some(var_4024) = &input.license_specifications { - let mut list_4026 = scope_4023.start_list(true, Some("item")); - for item_4025 in var_4024 { + let mut scope_4023 = writer.prefix("RoleName"); + if let Some(var_4024) = &input.role_name { + scope_4023.string(var_4024); + } + #[allow(unused_mut)] + let mut scope_4025 = writer.prefix("LicenseSpecifications"); + if let Some(var_4026) = &input.license_specifications { + let mut list_4028 = scope_4025.start_list(true, Some("item")); + for item_4027 in var_4026 { #[allow(unused_mut)] - let mut entry_4027 = list_4026.entry(); + let mut entry_4029 = list_4028.entry(); crate::query_ser::serialize_structure_import_image_license_configuration_request( - entry_4027, item_4025, + entry_4029, item_4027, ); } - list_4026.finish(); + list_4028.finish(); } #[allow(unused_mut)] - let mut scope_4028 = writer.prefix("TagSpecification"); - if let Some(var_4029) = &input.tag_specifications { - let mut list_4031 = scope_4028.start_list(true, Some("item")); - for item_4030 in var_4029 { + let mut scope_4030 = writer.prefix("TagSpecification"); + if let Some(var_4031) = &input.tag_specifications { + let mut list_4033 = scope_4030.start_list(true, Some("item")); + for item_4032 in var_4031 { #[allow(unused_mut)] - let mut entry_4032 = list_4031.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_4032, item_4030); + let mut entry_4034 = list_4033.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_4034, item_4032); } - list_4031.finish(); + list_4033.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14077,37 +14082,37 @@ pub fn serialize_operation_import_instance( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ImportInstance", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4033 = writer.prefix("Description"); - if let Some(var_4034) = &input.description { - scope_4033.string(var_4034); + let mut scope_4035 = writer.prefix("Description"); + if let Some(var_4036) = &input.description { + scope_4035.string(var_4036); } #[allow(unused_mut)] - let mut scope_4035 = writer.prefix("DiskImage"); - if let Some(var_4036) = &input.disk_images { - let mut list_4038 = scope_4035.start_list(true, None); - for item_4037 in var_4036 { + let mut scope_4037 = writer.prefix("DiskImage"); + if let Some(var_4038) = &input.disk_images { + let mut list_4040 = scope_4037.start_list(true, None); + for item_4039 in var_4038 { #[allow(unused_mut)] - let mut entry_4039 = list_4038.entry(); - crate::query_ser::serialize_structure_disk_image(entry_4039, item_4037); + let mut entry_4041 = list_4040.entry(); + crate::query_ser::serialize_structure_disk_image(entry_4041, item_4039); } - list_4038.finish(); + list_4040.finish(); } #[allow(unused_mut)] - let mut scope_4040 = writer.prefix("DryRun"); - if let Some(var_4041) = &input.dry_run { - scope_4040.boolean(*var_4041); + let mut scope_4042 = writer.prefix("DryRun"); + if let Some(var_4043) = &input.dry_run { + scope_4042.boolean(*var_4043); } #[allow(unused_mut)] - let mut scope_4042 = writer.prefix("LaunchSpecification"); - if let Some(var_4043) = &input.launch_specification { + let mut scope_4044 = writer.prefix("LaunchSpecification"); + if let Some(var_4045) = &input.launch_specification { crate::query_ser::serialize_structure_import_instance_launch_specification( - scope_4042, var_4043, + scope_4044, var_4045, ); } #[allow(unused_mut)] - let mut scope_4044 = writer.prefix("Platform"); - if let Some(var_4045) = &input.platform { - scope_4044.string(var_4045.as_str()); + let mut scope_4046 = writer.prefix("Platform"); + if let Some(var_4047) = &input.platform { + scope_4046.string(var_4047.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14120,30 +14125,30 @@ pub fn serialize_operation_import_key_pair( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ImportKeyPair", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4046 = writer.prefix("DryRun"); - if let Some(var_4047) = &input.dry_run { - scope_4046.boolean(*var_4047); + let mut scope_4048 = writer.prefix("DryRun"); + if let Some(var_4049) = &input.dry_run { + scope_4048.boolean(*var_4049); } #[allow(unused_mut)] - let mut scope_4048 = writer.prefix("KeyName"); - if let Some(var_4049) = &input.key_name { - scope_4048.string(var_4049); + let mut scope_4050 = writer.prefix("KeyName"); + if let Some(var_4051) = &input.key_name { + scope_4050.string(var_4051); } #[allow(unused_mut)] - let mut scope_4050 = writer.prefix("PublicKeyMaterial"); - if let Some(var_4051) = &input.public_key_material { - scope_4050.string(&smithy_types::base64::encode(var_4051)); + let mut scope_4052 = writer.prefix("PublicKeyMaterial"); + if let Some(var_4053) = &input.public_key_material { + scope_4052.string(&smithy_types::base64::encode(var_4053)); } #[allow(unused_mut)] - let mut scope_4052 = writer.prefix("TagSpecification"); - if let Some(var_4053) = &input.tag_specifications { - let mut list_4055 = scope_4052.start_list(true, Some("item")); - for item_4054 in var_4053 { + let mut scope_4054 = writer.prefix("TagSpecification"); + if let Some(var_4055) = &input.tag_specifications { + let mut list_4057 = scope_4054.start_list(true, Some("item")); + for item_4056 in var_4055 { #[allow(unused_mut)] - let mut entry_4056 = list_4055.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_4056, item_4054); + let mut entry_4058 = list_4057.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_4058, item_4056); } - list_4055.finish(); + list_4057.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14156,55 +14161,55 @@ pub fn serialize_operation_import_snapshot( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ImportSnapshot", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4057 = writer.prefix("ClientData"); - if let Some(var_4058) = &input.client_data { - crate::query_ser::serialize_structure_client_data(scope_4057, var_4058); - } - #[allow(unused_mut)] - let mut scope_4059 = writer.prefix("ClientToken"); - if let Some(var_4060) = &input.client_token { - scope_4059.string(var_4060); + let mut scope_4059 = writer.prefix("ClientData"); + if let Some(var_4060) = &input.client_data { + crate::query_ser::serialize_structure_client_data(scope_4059, var_4060); } #[allow(unused_mut)] - let mut scope_4061 = writer.prefix("Description"); - if let Some(var_4062) = &input.description { + let mut scope_4061 = writer.prefix("ClientToken"); + if let Some(var_4062) = &input.client_token { scope_4061.string(var_4062); } #[allow(unused_mut)] - let mut scope_4063 = writer.prefix("DiskContainer"); - if let Some(var_4064) = &input.disk_container { - crate::query_ser::serialize_structure_snapshot_disk_container(scope_4063, var_4064); + let mut scope_4063 = writer.prefix("Description"); + if let Some(var_4064) = &input.description { + scope_4063.string(var_4064); } #[allow(unused_mut)] - let mut scope_4065 = writer.prefix("DryRun"); - if let Some(var_4066) = &input.dry_run { - scope_4065.boolean(*var_4066); + let mut scope_4065 = writer.prefix("DiskContainer"); + if let Some(var_4066) = &input.disk_container { + crate::query_ser::serialize_structure_snapshot_disk_container(scope_4065, var_4066); } #[allow(unused_mut)] - let mut scope_4067 = writer.prefix("Encrypted"); - if let Some(var_4068) = &input.encrypted { + let mut scope_4067 = writer.prefix("DryRun"); + if let Some(var_4068) = &input.dry_run { scope_4067.boolean(*var_4068); } #[allow(unused_mut)] - let mut scope_4069 = writer.prefix("KmsKeyId"); - if let Some(var_4070) = &input.kms_key_id { - scope_4069.string(var_4070); + let mut scope_4069 = writer.prefix("Encrypted"); + if let Some(var_4070) = &input.encrypted { + scope_4069.boolean(*var_4070); } #[allow(unused_mut)] - let mut scope_4071 = writer.prefix("RoleName"); - if let Some(var_4072) = &input.role_name { + let mut scope_4071 = writer.prefix("KmsKeyId"); + if let Some(var_4072) = &input.kms_key_id { scope_4071.string(var_4072); } #[allow(unused_mut)] - let mut scope_4073 = writer.prefix("TagSpecification"); - if let Some(var_4074) = &input.tag_specifications { - let mut list_4076 = scope_4073.start_list(true, Some("item")); - for item_4075 in var_4074 { + let mut scope_4073 = writer.prefix("RoleName"); + if let Some(var_4074) = &input.role_name { + scope_4073.string(var_4074); + } + #[allow(unused_mut)] + let mut scope_4075 = writer.prefix("TagSpecification"); + if let Some(var_4076) = &input.tag_specifications { + let mut list_4078 = scope_4075.start_list(true, Some("item")); + for item_4077 in var_4076 { #[allow(unused_mut)] - let mut entry_4077 = list_4076.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_4077, item_4075); + let mut entry_4079 = list_4078.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_4079, item_4077); } - list_4076.finish(); + list_4078.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14217,29 +14222,29 @@ pub fn serialize_operation_import_volume( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ImportVolume", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4078 = writer.prefix("AvailabilityZone"); - if let Some(var_4079) = &input.availability_zone { - scope_4078.string(var_4079); + let mut scope_4080 = writer.prefix("AvailabilityZone"); + if let Some(var_4081) = &input.availability_zone { + scope_4080.string(var_4081); } #[allow(unused_mut)] - let mut scope_4080 = writer.prefix("Description"); - if let Some(var_4081) = &input.description { - scope_4080.string(var_4081); + let mut scope_4082 = writer.prefix("Description"); + if let Some(var_4083) = &input.description { + scope_4082.string(var_4083); } #[allow(unused_mut)] - let mut scope_4082 = writer.prefix("DryRun"); - if let Some(var_4083) = &input.dry_run { - scope_4082.boolean(*var_4083); + let mut scope_4084 = writer.prefix("DryRun"); + if let Some(var_4085) = &input.dry_run { + scope_4084.boolean(*var_4085); } #[allow(unused_mut)] - let mut scope_4084 = writer.prefix("Image"); - if let Some(var_4085) = &input.image { - crate::query_ser::serialize_structure_disk_image_detail(scope_4084, var_4085); + let mut scope_4086 = writer.prefix("Image"); + if let Some(var_4087) = &input.image { + crate::query_ser::serialize_structure_disk_image_detail(scope_4086, var_4087); } #[allow(unused_mut)] - let mut scope_4086 = writer.prefix("Volume"); - if let Some(var_4087) = &input.volume { - crate::query_ser::serialize_structure_volume_detail(scope_4086, var_4087); + let mut scope_4088 = writer.prefix("Volume"); + if let Some(var_4089) = &input.volume { + crate::query_ser::serialize_structure_volume_detail(scope_4088, var_4089); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14253,19 +14258,19 @@ pub fn serialize_operation_modify_address_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyAddressAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4088 = writer.prefix("AllocationId"); - if let Some(var_4089) = &input.allocation_id { - scope_4088.string(var_4089); + let mut scope_4090 = writer.prefix("AllocationId"); + if let Some(var_4091) = &input.allocation_id { + scope_4090.string(var_4091); } #[allow(unused_mut)] - let mut scope_4090 = writer.prefix("DomainName"); - if let Some(var_4091) = &input.domain_name { - scope_4090.string(var_4091); + let mut scope_4092 = writer.prefix("DomainName"); + if let Some(var_4093) = &input.domain_name { + scope_4092.string(var_4093); } #[allow(unused_mut)] - let mut scope_4092 = writer.prefix("DryRun"); - if let Some(var_4093) = &input.dry_run { - scope_4092.boolean(*var_4093); + let mut scope_4094 = writer.prefix("DryRun"); + if let Some(var_4095) = &input.dry_run { + scope_4094.boolean(*var_4095); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14279,19 +14284,19 @@ pub fn serialize_operation_modify_availability_zone_group( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyAvailabilityZoneGroup", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4094 = writer.prefix("GroupName"); - if let Some(var_4095) = &input.group_name { - scope_4094.string(var_4095); + let mut scope_4096 = writer.prefix("GroupName"); + if let Some(var_4097) = &input.group_name { + scope_4096.string(var_4097); } #[allow(unused_mut)] - let mut scope_4096 = writer.prefix("OptInStatus"); - if let Some(var_4097) = &input.opt_in_status { - scope_4096.string(var_4097.as_str()); + let mut scope_4098 = writer.prefix("OptInStatus"); + if let Some(var_4099) = &input.opt_in_status { + scope_4098.string(var_4099.as_str()); } #[allow(unused_mut)] - let mut scope_4098 = writer.prefix("DryRun"); - if let Some(var_4099) = &input.dry_run { - scope_4098.boolean(*var_4099); + let mut scope_4100 = writer.prefix("DryRun"); + if let Some(var_4101) = &input.dry_run { + scope_4100.boolean(*var_4101); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14305,37 +14310,37 @@ pub fn serialize_operation_modify_capacity_reservation( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyCapacityReservation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4100 = writer.prefix("CapacityReservationId"); - if let Some(var_4101) = &input.capacity_reservation_id { - scope_4100.string(var_4101); + let mut scope_4102 = writer.prefix("CapacityReservationId"); + if let Some(var_4103) = &input.capacity_reservation_id { + scope_4102.string(var_4103); } #[allow(unused_mut)] - let mut scope_4102 = writer.prefix("InstanceCount"); - if let Some(var_4103) = &input.instance_count { - scope_4102.number( + let mut scope_4104 = writer.prefix("InstanceCount"); + if let Some(var_4105) = &input.instance_count { + scope_4104.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4103).into()), + smithy_types::Number::NegInt((*var_4105).into()), ); } #[allow(unused_mut)] - let mut scope_4104 = writer.prefix("EndDate"); - if let Some(var_4105) = &input.end_date { - scope_4104.instant(var_4105, smithy_types::instant::Format::DateTime); + let mut scope_4106 = writer.prefix("EndDate"); + if let Some(var_4107) = &input.end_date { + scope_4106.instant(var_4107, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_4106 = writer.prefix("EndDateType"); - if let Some(var_4107) = &input.end_date_type { - scope_4106.string(var_4107.as_str()); + let mut scope_4108 = writer.prefix("EndDateType"); + if let Some(var_4109) = &input.end_date_type { + scope_4108.string(var_4109.as_str()); } #[allow(unused_mut)] - let mut scope_4108 = writer.prefix("Accept"); - if let Some(var_4109) = &input.accept { - scope_4108.boolean(*var_4109); + let mut scope_4110 = writer.prefix("Accept"); + if let Some(var_4111) = &input.accept { + scope_4110.boolean(*var_4111); } #[allow(unused_mut)] - let mut scope_4110 = writer.prefix("DryRun"); - if let Some(var_4111) = &input.dry_run { - scope_4110.boolean(*var_4111); + let mut scope_4112 = writer.prefix("DryRun"); + if let Some(var_4113) = &input.dry_run { + scope_4112.boolean(*var_4113); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14349,75 +14354,75 @@ pub fn serialize_operation_modify_client_vpn_endpoint( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyClientVpnEndpoint", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4112 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_4113) = &input.client_vpn_endpoint_id { - scope_4112.string(var_4113); + let mut scope_4114 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_4115) = &input.client_vpn_endpoint_id { + scope_4114.string(var_4115); } #[allow(unused_mut)] - let mut scope_4114 = writer.prefix("ServerCertificateArn"); - if let Some(var_4115) = &input.server_certificate_arn { - scope_4114.string(var_4115); + let mut scope_4116 = writer.prefix("ServerCertificateArn"); + if let Some(var_4117) = &input.server_certificate_arn { + scope_4116.string(var_4117); } #[allow(unused_mut)] - let mut scope_4116 = writer.prefix("ConnectionLogOptions"); - if let Some(var_4117) = &input.connection_log_options { - crate::query_ser::serialize_structure_connection_log_options(scope_4116, var_4117); + let mut scope_4118 = writer.prefix("ConnectionLogOptions"); + if let Some(var_4119) = &input.connection_log_options { + crate::query_ser::serialize_structure_connection_log_options(scope_4118, var_4119); } #[allow(unused_mut)] - let mut scope_4118 = writer.prefix("DnsServers"); - if let Some(var_4119) = &input.dns_servers { + let mut scope_4120 = writer.prefix("DnsServers"); + if let Some(var_4121) = &input.dns_servers { crate::query_ser::serialize_structure_dns_servers_options_modify_structure( - scope_4118, var_4119, + scope_4120, var_4121, ); } #[allow(unused_mut)] - let mut scope_4120 = writer.prefix("VpnPort"); - if let Some(var_4121) = &input.vpn_port { - scope_4120.number( + let mut scope_4122 = writer.prefix("VpnPort"); + if let Some(var_4123) = &input.vpn_port { + scope_4122.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4121).into()), + smithy_types::Number::NegInt((*var_4123).into()), ); } #[allow(unused_mut)] - let mut scope_4122 = writer.prefix("Description"); - if let Some(var_4123) = &input.description { - scope_4122.string(var_4123); + let mut scope_4124 = writer.prefix("Description"); + if let Some(var_4125) = &input.description { + scope_4124.string(var_4125); } #[allow(unused_mut)] - let mut scope_4124 = writer.prefix("SplitTunnel"); - if let Some(var_4125) = &input.split_tunnel { - scope_4124.boolean(*var_4125); + let mut scope_4126 = writer.prefix("SplitTunnel"); + if let Some(var_4127) = &input.split_tunnel { + scope_4126.boolean(*var_4127); } #[allow(unused_mut)] - let mut scope_4126 = writer.prefix("DryRun"); - if let Some(var_4127) = &input.dry_run { - scope_4126.boolean(*var_4127); + let mut scope_4128 = writer.prefix("DryRun"); + if let Some(var_4129) = &input.dry_run { + scope_4128.boolean(*var_4129); } #[allow(unused_mut)] - let mut scope_4128 = writer.prefix("SecurityGroupId"); - if let Some(var_4129) = &input.security_group_ids { - let mut list_4131 = scope_4128.start_list(true, Some("item")); - for item_4130 in var_4129 { + let mut scope_4130 = writer.prefix("SecurityGroupId"); + if let Some(var_4131) = &input.security_group_ids { + let mut list_4133 = scope_4130.start_list(true, Some("item")); + for item_4132 in var_4131 { #[allow(unused_mut)] - let mut entry_4132 = list_4131.entry(); - entry_4132.string(item_4130); + let mut entry_4134 = list_4133.entry(); + entry_4134.string(item_4132); } - list_4131.finish(); + list_4133.finish(); } #[allow(unused_mut)] - let mut scope_4133 = writer.prefix("VpcId"); - if let Some(var_4134) = &input.vpc_id { - scope_4133.string(var_4134); + let mut scope_4135 = writer.prefix("VpcId"); + if let Some(var_4136) = &input.vpc_id { + scope_4135.string(var_4136); } #[allow(unused_mut)] - let mut scope_4135 = writer.prefix("SelfServicePortal"); - if let Some(var_4136) = &input.self_service_portal { - scope_4135.string(var_4136.as_str()); + let mut scope_4137 = writer.prefix("SelfServicePortal"); + if let Some(var_4138) = &input.self_service_portal { + scope_4137.string(var_4138.as_str()); } #[allow(unused_mut)] - let mut scope_4137 = writer.prefix("ClientConnectOptions"); - if let Some(var_4138) = &input.client_connect_options { - crate::query_ser::serialize_structure_client_connect_options(scope_4137, var_4138); + let mut scope_4139 = writer.prefix("ClientConnectOptions"); + if let Some(var_4140) = &input.client_connect_options { + crate::query_ser::serialize_structure_client_connect_options(scope_4139, var_4140); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14431,19 +14436,19 @@ pub fn serialize_operation_modify_default_credit_specification( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyDefaultCreditSpecification", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4139 = writer.prefix("DryRun"); - if let Some(var_4140) = &input.dry_run { - scope_4139.boolean(*var_4140); + let mut scope_4141 = writer.prefix("DryRun"); + if let Some(var_4142) = &input.dry_run { + scope_4141.boolean(*var_4142); } #[allow(unused_mut)] - let mut scope_4141 = writer.prefix("InstanceFamily"); - if let Some(var_4142) = &input.instance_family { - scope_4141.string(var_4142.as_str()); + let mut scope_4143 = writer.prefix("InstanceFamily"); + if let Some(var_4144) = &input.instance_family { + scope_4143.string(var_4144.as_str()); } #[allow(unused_mut)] - let mut scope_4143 = writer.prefix("CpuCredits"); - if let Some(var_4144) = &input.cpu_credits { - scope_4143.string(var_4144); + let mut scope_4145 = writer.prefix("CpuCredits"); + if let Some(var_4146) = &input.cpu_credits { + scope_4145.string(var_4146); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14457,14 +14462,14 @@ pub fn serialize_operation_modify_ebs_default_kms_key_id( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyEbsDefaultKmsKeyId", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4145 = writer.prefix("KmsKeyId"); - if let Some(var_4146) = &input.kms_key_id { - scope_4145.string(var_4146); + let mut scope_4147 = writer.prefix("KmsKeyId"); + if let Some(var_4148) = &input.kms_key_id { + scope_4147.string(var_4148); } #[allow(unused_mut)] - let mut scope_4147 = writer.prefix("DryRun"); - if let Some(var_4148) = &input.dry_run { - scope_4147.boolean(*var_4148); + let mut scope_4149 = writer.prefix("DryRun"); + if let Some(var_4150) = &input.dry_run { + scope_4149.boolean(*var_4150); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14477,44 +14482,44 @@ pub fn serialize_operation_modify_fleet( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyFleet", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4149 = writer.prefix("DryRun"); - if let Some(var_4150) = &input.dry_run { - scope_4149.boolean(*var_4150); + let mut scope_4151 = writer.prefix("DryRun"); + if let Some(var_4152) = &input.dry_run { + scope_4151.boolean(*var_4152); } #[allow(unused_mut)] - let mut scope_4151 = writer.prefix("ExcessCapacityTerminationPolicy"); - if let Some(var_4152) = &input.excess_capacity_termination_policy { - scope_4151.string(var_4152.as_str()); + let mut scope_4153 = writer.prefix("ExcessCapacityTerminationPolicy"); + if let Some(var_4154) = &input.excess_capacity_termination_policy { + scope_4153.string(var_4154.as_str()); } #[allow(unused_mut)] - let mut scope_4153 = writer.prefix("LaunchTemplateConfig"); - if let Some(var_4154) = &input.launch_template_configs { - let mut list_4156 = scope_4153.start_list(true, Some("item")); - for item_4155 in var_4154 { + let mut scope_4155 = writer.prefix("LaunchTemplateConfig"); + if let Some(var_4156) = &input.launch_template_configs { + let mut list_4158 = scope_4155.start_list(true, Some("item")); + for item_4157 in var_4156 { #[allow(unused_mut)] - let mut entry_4157 = list_4156.entry(); + let mut entry_4159 = list_4158.entry(); crate::query_ser::serialize_structure_fleet_launch_template_config_request( - entry_4157, item_4155, + entry_4159, item_4157, ); } - list_4156.finish(); + list_4158.finish(); } #[allow(unused_mut)] - let mut scope_4158 = writer.prefix("FleetId"); - if let Some(var_4159) = &input.fleet_id { - scope_4158.string(var_4159); + let mut scope_4160 = writer.prefix("FleetId"); + if let Some(var_4161) = &input.fleet_id { + scope_4160.string(var_4161); } #[allow(unused_mut)] - let mut scope_4160 = writer.prefix("TargetCapacitySpecification"); - if let Some(var_4161) = &input.target_capacity_specification { + let mut scope_4162 = writer.prefix("TargetCapacitySpecification"); + if let Some(var_4163) = &input.target_capacity_specification { crate::query_ser::serialize_structure_target_capacity_specification_request( - scope_4160, var_4161, + scope_4162, var_4163, ); } #[allow(unused_mut)] - let mut scope_4162 = writer.prefix("Context"); - if let Some(var_4163) = &input.context { - scope_4162.string(var_4163); + let mut scope_4164 = writer.prefix("Context"); + if let Some(var_4165) = &input.context { + scope_4164.string(var_4165); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14528,72 +14533,72 @@ pub fn serialize_operation_modify_fpga_image_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyFpgaImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4164 = writer.prefix("DryRun"); - if let Some(var_4165) = &input.dry_run { - scope_4164.boolean(*var_4165); + let mut scope_4166 = writer.prefix("DryRun"); + if let Some(var_4167) = &input.dry_run { + scope_4166.boolean(*var_4167); } #[allow(unused_mut)] - let mut scope_4166 = writer.prefix("FpgaImageId"); - if let Some(var_4167) = &input.fpga_image_id { - scope_4166.string(var_4167); + let mut scope_4168 = writer.prefix("FpgaImageId"); + if let Some(var_4169) = &input.fpga_image_id { + scope_4168.string(var_4169); } #[allow(unused_mut)] - let mut scope_4168 = writer.prefix("Attribute"); - if let Some(var_4169) = &input.attribute { - scope_4168.string(var_4169.as_str()); + let mut scope_4170 = writer.prefix("Attribute"); + if let Some(var_4171) = &input.attribute { + scope_4170.string(var_4171.as_str()); } #[allow(unused_mut)] - let mut scope_4170 = writer.prefix("OperationType"); - if let Some(var_4171) = &input.operation_type { - scope_4170.string(var_4171.as_str()); + let mut scope_4172 = writer.prefix("OperationType"); + if let Some(var_4173) = &input.operation_type { + scope_4172.string(var_4173.as_str()); } #[allow(unused_mut)] - let mut scope_4172 = writer.prefix("UserId"); - if let Some(var_4173) = &input.user_ids { - let mut list_4175 = scope_4172.start_list(true, Some("UserId")); - for item_4174 in var_4173 { + let mut scope_4174 = writer.prefix("UserId"); + if let Some(var_4175) = &input.user_ids { + let mut list_4177 = scope_4174.start_list(true, Some("UserId")); + for item_4176 in var_4175 { #[allow(unused_mut)] - let mut entry_4176 = list_4175.entry(); - entry_4176.string(item_4174); + let mut entry_4178 = list_4177.entry(); + entry_4178.string(item_4176); } - list_4175.finish(); + list_4177.finish(); } #[allow(unused_mut)] - let mut scope_4177 = writer.prefix("UserGroup"); - if let Some(var_4178) = &input.user_groups { - let mut list_4180 = scope_4177.start_list(true, Some("UserGroup")); - for item_4179 in var_4178 { + let mut scope_4179 = writer.prefix("UserGroup"); + if let Some(var_4180) = &input.user_groups { + let mut list_4182 = scope_4179.start_list(true, Some("UserGroup")); + for item_4181 in var_4180 { #[allow(unused_mut)] - let mut entry_4181 = list_4180.entry(); - entry_4181.string(item_4179); + let mut entry_4183 = list_4182.entry(); + entry_4183.string(item_4181); } - list_4180.finish(); + list_4182.finish(); } #[allow(unused_mut)] - let mut scope_4182 = writer.prefix("ProductCode"); - if let Some(var_4183) = &input.product_codes { - let mut list_4185 = scope_4182.start_list(true, Some("ProductCode")); - for item_4184 in var_4183 { + let mut scope_4184 = writer.prefix("ProductCode"); + if let Some(var_4185) = &input.product_codes { + let mut list_4187 = scope_4184.start_list(true, Some("ProductCode")); + for item_4186 in var_4185 { #[allow(unused_mut)] - let mut entry_4186 = list_4185.entry(); - entry_4186.string(item_4184); + let mut entry_4188 = list_4187.entry(); + entry_4188.string(item_4186); } - list_4185.finish(); + list_4187.finish(); } #[allow(unused_mut)] - let mut scope_4187 = writer.prefix("LoadPermission"); - if let Some(var_4188) = &input.load_permission { - crate::query_ser::serialize_structure_load_permission_modifications(scope_4187, var_4188); + let mut scope_4189 = writer.prefix("LoadPermission"); + if let Some(var_4190) = &input.load_permission { + crate::query_ser::serialize_structure_load_permission_modifications(scope_4189, var_4190); } #[allow(unused_mut)] - let mut scope_4189 = writer.prefix("Description"); - if let Some(var_4190) = &input.description { - scope_4189.string(var_4190); + let mut scope_4191 = writer.prefix("Description"); + if let Some(var_4192) = &input.description { + scope_4191.string(var_4192); } #[allow(unused_mut)] - let mut scope_4191 = writer.prefix("Name"); - if let Some(var_4192) = &input.name { - scope_4191.string(var_4192); + let mut scope_4193 = writer.prefix("Name"); + if let Some(var_4194) = &input.name { + scope_4193.string(var_4194); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14606,35 +14611,35 @@ pub fn serialize_operation_modify_hosts( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyHosts", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4193 = writer.prefix("AutoPlacement"); - if let Some(var_4194) = &input.auto_placement { - scope_4193.string(var_4194.as_str()); + let mut scope_4195 = writer.prefix("AutoPlacement"); + if let Some(var_4196) = &input.auto_placement { + scope_4195.string(var_4196.as_str()); } #[allow(unused_mut)] - let mut scope_4195 = writer.prefix("HostId"); - if let Some(var_4196) = &input.host_ids { - let mut list_4198 = scope_4195.start_list(true, Some("item")); - for item_4197 in var_4196 { + let mut scope_4197 = writer.prefix("HostId"); + if let Some(var_4198) = &input.host_ids { + let mut list_4200 = scope_4197.start_list(true, Some("item")); + for item_4199 in var_4198 { #[allow(unused_mut)] - let mut entry_4199 = list_4198.entry(); - entry_4199.string(item_4197); + let mut entry_4201 = list_4200.entry(); + entry_4201.string(item_4199); } - list_4198.finish(); + list_4200.finish(); } #[allow(unused_mut)] - let mut scope_4200 = writer.prefix("HostRecovery"); - if let Some(var_4201) = &input.host_recovery { - scope_4200.string(var_4201.as_str()); + let mut scope_4202 = writer.prefix("HostRecovery"); + if let Some(var_4203) = &input.host_recovery { + scope_4202.string(var_4203.as_str()); } #[allow(unused_mut)] - let mut scope_4202 = writer.prefix("InstanceType"); - if let Some(var_4203) = &input.instance_type { - scope_4202.string(var_4203); + let mut scope_4204 = writer.prefix("InstanceType"); + if let Some(var_4205) = &input.instance_type { + scope_4204.string(var_4205); } #[allow(unused_mut)] - let mut scope_4204 = writer.prefix("InstanceFamily"); - if let Some(var_4205) = &input.instance_family { - scope_4204.string(var_4205); + let mut scope_4206 = writer.prefix("InstanceFamily"); + if let Some(var_4207) = &input.instance_family { + scope_4206.string(var_4207); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14648,19 +14653,19 @@ pub fn serialize_operation_modify_identity_id_format( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyIdentityIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4206 = writer.prefix("PrincipalArn"); - if let Some(var_4207) = &input.principal_arn { - scope_4206.string(var_4207); + let mut scope_4208 = writer.prefix("PrincipalArn"); + if let Some(var_4209) = &input.principal_arn { + scope_4208.string(var_4209); } #[allow(unused_mut)] - let mut scope_4208 = writer.prefix("Resource"); - if let Some(var_4209) = &input.resource { - scope_4208.string(var_4209); + let mut scope_4210 = writer.prefix("Resource"); + if let Some(var_4211) = &input.resource { + scope_4210.string(var_4211); } #[allow(unused_mut)] - let mut scope_4210 = writer.prefix("UseLongIds"); - if let Some(var_4211) = &input.use_long_ids { - scope_4210.boolean(*var_4211); + let mut scope_4212 = writer.prefix("UseLongIds"); + if let Some(var_4213) = &input.use_long_ids { + scope_4212.boolean(*var_4213); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14673,14 +14678,14 @@ pub fn serialize_operation_modify_id_format( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyIdFormat", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4212 = writer.prefix("Resource"); - if let Some(var_4213) = &input.resource { - scope_4212.string(var_4213); + let mut scope_4214 = writer.prefix("Resource"); + if let Some(var_4215) = &input.resource { + scope_4214.string(var_4215); } #[allow(unused_mut)] - let mut scope_4214 = writer.prefix("UseLongIds"); - if let Some(var_4215) = &input.use_long_ids { - scope_4214.boolean(*var_4215); + let mut scope_4216 = writer.prefix("UseLongIds"); + if let Some(var_4217) = &input.use_long_ids { + scope_4216.boolean(*var_4217); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14693,72 +14698,72 @@ pub fn serialize_operation_modify_image_attribute( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4216 = writer.prefix("Attribute"); - if let Some(var_4217) = &input.attribute { - scope_4216.string(var_4217); + let mut scope_4218 = writer.prefix("Attribute"); + if let Some(var_4219) = &input.attribute { + scope_4218.string(var_4219); } #[allow(unused_mut)] - let mut scope_4218 = writer.prefix("Description"); - if let Some(var_4219) = &input.description { - crate::query_ser::serialize_structure_attribute_value(scope_4218, var_4219); + let mut scope_4220 = writer.prefix("Description"); + if let Some(var_4221) = &input.description { + crate::query_ser::serialize_structure_attribute_value(scope_4220, var_4221); } #[allow(unused_mut)] - let mut scope_4220 = writer.prefix("ImageId"); - if let Some(var_4221) = &input.image_id { - scope_4220.string(var_4221); + let mut scope_4222 = writer.prefix("ImageId"); + if let Some(var_4223) = &input.image_id { + scope_4222.string(var_4223); } #[allow(unused_mut)] - let mut scope_4222 = writer.prefix("LaunchPermission"); - if let Some(var_4223) = &input.launch_permission { - crate::query_ser::serialize_structure_launch_permission_modifications(scope_4222, var_4223); + let mut scope_4224 = writer.prefix("LaunchPermission"); + if let Some(var_4225) = &input.launch_permission { + crate::query_ser::serialize_structure_launch_permission_modifications(scope_4224, var_4225); } #[allow(unused_mut)] - let mut scope_4224 = writer.prefix("OperationType"); - if let Some(var_4225) = &input.operation_type { - scope_4224.string(var_4225.as_str()); + let mut scope_4226 = writer.prefix("OperationType"); + if let Some(var_4227) = &input.operation_type { + scope_4226.string(var_4227.as_str()); } #[allow(unused_mut)] - let mut scope_4226 = writer.prefix("ProductCode"); - if let Some(var_4227) = &input.product_codes { - let mut list_4229 = scope_4226.start_list(true, Some("ProductCode")); - for item_4228 in var_4227 { + let mut scope_4228 = writer.prefix("ProductCode"); + if let Some(var_4229) = &input.product_codes { + let mut list_4231 = scope_4228.start_list(true, Some("ProductCode")); + for item_4230 in var_4229 { #[allow(unused_mut)] - let mut entry_4230 = list_4229.entry(); - entry_4230.string(item_4228); + let mut entry_4232 = list_4231.entry(); + entry_4232.string(item_4230); } - list_4229.finish(); + list_4231.finish(); } #[allow(unused_mut)] - let mut scope_4231 = writer.prefix("UserGroup"); - if let Some(var_4232) = &input.user_groups { - let mut list_4234 = scope_4231.start_list(true, Some("UserGroup")); - for item_4233 in var_4232 { + let mut scope_4233 = writer.prefix("UserGroup"); + if let Some(var_4234) = &input.user_groups { + let mut list_4236 = scope_4233.start_list(true, Some("UserGroup")); + for item_4235 in var_4234 { #[allow(unused_mut)] - let mut entry_4235 = list_4234.entry(); - entry_4235.string(item_4233); + let mut entry_4237 = list_4236.entry(); + entry_4237.string(item_4235); } - list_4234.finish(); + list_4236.finish(); } #[allow(unused_mut)] - let mut scope_4236 = writer.prefix("UserId"); - if let Some(var_4237) = &input.user_ids { - let mut list_4239 = scope_4236.start_list(true, Some("UserId")); - for item_4238 in var_4237 { + let mut scope_4238 = writer.prefix("UserId"); + if let Some(var_4239) = &input.user_ids { + let mut list_4241 = scope_4238.start_list(true, Some("UserId")); + for item_4240 in var_4239 { #[allow(unused_mut)] - let mut entry_4240 = list_4239.entry(); - entry_4240.string(item_4238); + let mut entry_4242 = list_4241.entry(); + entry_4242.string(item_4240); } - list_4239.finish(); + list_4241.finish(); } #[allow(unused_mut)] - let mut scope_4241 = writer.prefix("Value"); - if let Some(var_4242) = &input.value { - scope_4241.string(var_4242); + let mut scope_4243 = writer.prefix("Value"); + if let Some(var_4244) = &input.value { + scope_4243.string(var_4244); } #[allow(unused_mut)] - let mut scope_4243 = writer.prefix("DryRun"); - if let Some(var_4244) = &input.dry_run { - scope_4243.boolean(*var_4244); + let mut scope_4245 = writer.prefix("DryRun"); + if let Some(var_4246) = &input.dry_run { + scope_4245.boolean(*var_4246); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14772,98 +14777,98 @@ pub fn serialize_operation_modify_instance_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstanceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4245 = writer.prefix("SourceDestCheck"); - if let Some(var_4246) = &input.source_dest_check { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4245, var_4246); + let mut scope_4247 = writer.prefix("SourceDestCheck"); + if let Some(var_4248) = &input.source_dest_check { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4247, var_4248); } #[allow(unused_mut)] - let mut scope_4247 = writer.prefix("Attribute"); - if let Some(var_4248) = &input.attribute { - scope_4247.string(var_4248.as_str()); + let mut scope_4249 = writer.prefix("Attribute"); + if let Some(var_4250) = &input.attribute { + scope_4249.string(var_4250.as_str()); } #[allow(unused_mut)] - let mut scope_4249 = writer.prefix("BlockDeviceMapping"); - if let Some(var_4250) = &input.block_device_mappings { - let mut list_4252 = scope_4249.start_list(true, Some("item")); - for item_4251 in var_4250 { + let mut scope_4251 = writer.prefix("BlockDeviceMapping"); + if let Some(var_4252) = &input.block_device_mappings { + let mut list_4254 = scope_4251.start_list(true, Some("item")); + for item_4253 in var_4252 { #[allow(unused_mut)] - let mut entry_4253 = list_4252.entry(); + let mut entry_4255 = list_4254.entry(); crate::query_ser::serialize_structure_instance_block_device_mapping_specification( - entry_4253, item_4251, + entry_4255, item_4253, ); } - list_4252.finish(); + list_4254.finish(); } #[allow(unused_mut)] - let mut scope_4254 = writer.prefix("DisableApiTermination"); - if let Some(var_4255) = &input.disable_api_termination { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4254, var_4255); + let mut scope_4256 = writer.prefix("DisableApiTermination"); + if let Some(var_4257) = &input.disable_api_termination { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4256, var_4257); } #[allow(unused_mut)] - let mut scope_4256 = writer.prefix("DryRun"); - if let Some(var_4257) = &input.dry_run { - scope_4256.boolean(*var_4257); + let mut scope_4258 = writer.prefix("DryRun"); + if let Some(var_4259) = &input.dry_run { + scope_4258.boolean(*var_4259); } #[allow(unused_mut)] - let mut scope_4258 = writer.prefix("EbsOptimized"); - if let Some(var_4259) = &input.ebs_optimized { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4258, var_4259); + let mut scope_4260 = writer.prefix("EbsOptimized"); + if let Some(var_4261) = &input.ebs_optimized { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4260, var_4261); } #[allow(unused_mut)] - let mut scope_4260 = writer.prefix("EnaSupport"); - if let Some(var_4261) = &input.ena_support { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4260, var_4261); + let mut scope_4262 = writer.prefix("EnaSupport"); + if let Some(var_4263) = &input.ena_support { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4262, var_4263); } #[allow(unused_mut)] - let mut scope_4262 = writer.prefix("GroupId"); - if let Some(var_4263) = &input.groups { - let mut list_4265 = scope_4262.start_list(true, Some("groupId")); - for item_4264 in var_4263 { + let mut scope_4264 = writer.prefix("GroupId"); + if let Some(var_4265) = &input.groups { + let mut list_4267 = scope_4264.start_list(true, Some("groupId")); + for item_4266 in var_4265 { #[allow(unused_mut)] - let mut entry_4266 = list_4265.entry(); - entry_4266.string(item_4264); + let mut entry_4268 = list_4267.entry(); + entry_4268.string(item_4266); } - list_4265.finish(); + list_4267.finish(); } #[allow(unused_mut)] - let mut scope_4267 = writer.prefix("InstanceId"); - if let Some(var_4268) = &input.instance_id { - scope_4267.string(var_4268); + let mut scope_4269 = writer.prefix("InstanceId"); + if let Some(var_4270) = &input.instance_id { + scope_4269.string(var_4270); } #[allow(unused_mut)] - let mut scope_4269 = writer.prefix("InstanceInitiatedShutdownBehavior"); - if let Some(var_4270) = &input.instance_initiated_shutdown_behavior { - crate::query_ser::serialize_structure_attribute_value(scope_4269, var_4270); - } - #[allow(unused_mut)] - let mut scope_4271 = writer.prefix("InstanceType"); - if let Some(var_4272) = &input.instance_type { + let mut scope_4271 = writer.prefix("InstanceInitiatedShutdownBehavior"); + if let Some(var_4272) = &input.instance_initiated_shutdown_behavior { crate::query_ser::serialize_structure_attribute_value(scope_4271, var_4272); } #[allow(unused_mut)] - let mut scope_4273 = writer.prefix("Kernel"); - if let Some(var_4274) = &input.kernel { + let mut scope_4273 = writer.prefix("InstanceType"); + if let Some(var_4274) = &input.instance_type { crate::query_ser::serialize_structure_attribute_value(scope_4273, var_4274); } #[allow(unused_mut)] - let mut scope_4275 = writer.prefix("Ramdisk"); - if let Some(var_4276) = &input.ramdisk { + let mut scope_4275 = writer.prefix("Kernel"); + if let Some(var_4276) = &input.kernel { crate::query_ser::serialize_structure_attribute_value(scope_4275, var_4276); } #[allow(unused_mut)] - let mut scope_4277 = writer.prefix("SriovNetSupport"); - if let Some(var_4278) = &input.sriov_net_support { + let mut scope_4277 = writer.prefix("Ramdisk"); + if let Some(var_4278) = &input.ramdisk { crate::query_ser::serialize_structure_attribute_value(scope_4277, var_4278); } #[allow(unused_mut)] - let mut scope_4279 = writer.prefix("UserData"); - if let Some(var_4280) = &input.user_data { - crate::query_ser::serialize_structure_blob_attribute_value(scope_4279, var_4280); + let mut scope_4279 = writer.prefix("SriovNetSupport"); + if let Some(var_4280) = &input.sriov_net_support { + crate::query_ser::serialize_structure_attribute_value(scope_4279, var_4280); + } + #[allow(unused_mut)] + let mut scope_4281 = writer.prefix("UserData"); + if let Some(var_4282) = &input.user_data { + crate::query_ser::serialize_structure_blob_attribute_value(scope_4281, var_4282); } #[allow(unused_mut)] - let mut scope_4281 = writer.prefix("Value"); - if let Some(var_4282) = &input.value { - scope_4281.string(var_4282); + let mut scope_4283 = writer.prefix("Value"); + if let Some(var_4284) = &input.value { + scope_4283.string(var_4284); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14880,21 +14885,21 @@ pub fn serialize_operation_modify_instance_capacity_reservation_attributes( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4283 = writer.prefix("InstanceId"); - if let Some(var_4284) = &input.instance_id { - scope_4283.string(var_4284); + let mut scope_4285 = writer.prefix("InstanceId"); + if let Some(var_4286) = &input.instance_id { + scope_4285.string(var_4286); } #[allow(unused_mut)] - let mut scope_4285 = writer.prefix("CapacityReservationSpecification"); - if let Some(var_4286) = &input.capacity_reservation_specification { + let mut scope_4287 = writer.prefix("CapacityReservationSpecification"); + if let Some(var_4288) = &input.capacity_reservation_specification { crate::query_ser::serialize_structure_capacity_reservation_specification( - scope_4285, var_4286, + scope_4287, var_4288, ); } #[allow(unused_mut)] - let mut scope_4287 = writer.prefix("DryRun"); - if let Some(var_4288) = &input.dry_run { - scope_4287.boolean(*var_4288); + let mut scope_4289 = writer.prefix("DryRun"); + if let Some(var_4290) = &input.dry_run { + scope_4289.boolean(*var_4290); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14908,27 +14913,27 @@ pub fn serialize_operation_modify_instance_credit_specification( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstanceCreditSpecification", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4289 = writer.prefix("DryRun"); - if let Some(var_4290) = &input.dry_run { - scope_4289.boolean(*var_4290); + let mut scope_4291 = writer.prefix("DryRun"); + if let Some(var_4292) = &input.dry_run { + scope_4291.boolean(*var_4292); } #[allow(unused_mut)] - let mut scope_4291 = writer.prefix("ClientToken"); - if let Some(var_4292) = &input.client_token { - scope_4291.string(var_4292); + let mut scope_4293 = writer.prefix("ClientToken"); + if let Some(var_4294) = &input.client_token { + scope_4293.string(var_4294); } #[allow(unused_mut)] - let mut scope_4293 = writer.prefix("InstanceCreditSpecification"); - if let Some(var_4294) = &input.instance_credit_specifications { - let mut list_4296 = scope_4293.start_list(true, Some("item")); - for item_4295 in var_4294 { + let mut scope_4295 = writer.prefix("InstanceCreditSpecification"); + if let Some(var_4296) = &input.instance_credit_specifications { + let mut list_4298 = scope_4295.start_list(true, Some("item")); + for item_4297 in var_4296 { #[allow(unused_mut)] - let mut entry_4297 = list_4296.entry(); + let mut entry_4299 = list_4298.entry(); crate::query_ser::serialize_structure_instance_credit_specification_request( - entry_4297, item_4295, + entry_4299, item_4297, ); } - list_4296.finish(); + list_4298.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14942,24 +14947,24 @@ pub fn serialize_operation_modify_instance_event_start_time( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstanceEventStartTime", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4298 = writer.prefix("DryRun"); - if let Some(var_4299) = &input.dry_run { - scope_4298.boolean(*var_4299); + let mut scope_4300 = writer.prefix("DryRun"); + if let Some(var_4301) = &input.dry_run { + scope_4300.boolean(*var_4301); } #[allow(unused_mut)] - let mut scope_4300 = writer.prefix("InstanceId"); - if let Some(var_4301) = &input.instance_id { - scope_4300.string(var_4301); + let mut scope_4302 = writer.prefix("InstanceId"); + if let Some(var_4303) = &input.instance_id { + scope_4302.string(var_4303); } #[allow(unused_mut)] - let mut scope_4302 = writer.prefix("InstanceEventId"); - if let Some(var_4303) = &input.instance_event_id { - scope_4302.string(var_4303); + let mut scope_4304 = writer.prefix("InstanceEventId"); + if let Some(var_4305) = &input.instance_event_id { + scope_4304.string(var_4305); } #[allow(unused_mut)] - let mut scope_4304 = writer.prefix("NotBefore"); - if let Some(var_4305) = &input.not_before { - scope_4304.instant(var_4305, smithy_types::instant::Format::DateTime); + let mut scope_4306 = writer.prefix("NotBefore"); + if let Some(var_4307) = &input.not_before { + scope_4306.instant(var_4307, smithy_types::instant::Format::DateTime); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -14973,37 +14978,37 @@ pub fn serialize_operation_modify_instance_event_window( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstanceEventWindow", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4306 = writer.prefix("DryRun"); - if let Some(var_4307) = &input.dry_run { - scope_4306.boolean(*var_4307); + let mut scope_4308 = writer.prefix("DryRun"); + if let Some(var_4309) = &input.dry_run { + scope_4308.boolean(*var_4309); } #[allow(unused_mut)] - let mut scope_4308 = writer.prefix("Name"); - if let Some(var_4309) = &input.name { - scope_4308.string(var_4309); + let mut scope_4310 = writer.prefix("Name"); + if let Some(var_4311) = &input.name { + scope_4310.string(var_4311); } #[allow(unused_mut)] - let mut scope_4310 = writer.prefix("InstanceEventWindowId"); - if let Some(var_4311) = &input.instance_event_window_id { - scope_4310.string(var_4311); + let mut scope_4312 = writer.prefix("InstanceEventWindowId"); + if let Some(var_4313) = &input.instance_event_window_id { + scope_4312.string(var_4313); } #[allow(unused_mut)] - let mut scope_4312 = writer.prefix("TimeRange"); - if let Some(var_4313) = &input.time_ranges { - let mut list_4315 = scope_4312.start_list(true, None); - for item_4314 in var_4313 { + let mut scope_4314 = writer.prefix("TimeRange"); + if let Some(var_4315) = &input.time_ranges { + let mut list_4317 = scope_4314.start_list(true, None); + for item_4316 in var_4315 { #[allow(unused_mut)] - let mut entry_4316 = list_4315.entry(); + let mut entry_4318 = list_4317.entry(); crate::query_ser::serialize_structure_instance_event_window_time_range_request( - entry_4316, item_4314, + entry_4318, item_4316, ); } - list_4315.finish(); + list_4317.finish(); } #[allow(unused_mut)] - let mut scope_4317 = writer.prefix("CronExpression"); - if let Some(var_4318) = &input.cron_expression { - scope_4317.string(var_4318); + let mut scope_4319 = writer.prefix("CronExpression"); + if let Some(var_4320) = &input.cron_expression { + scope_4319.string(var_4320); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15017,32 +15022,32 @@ pub fn serialize_operation_modify_instance_metadata_options( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstanceMetadataOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4319 = writer.prefix("InstanceId"); - if let Some(var_4320) = &input.instance_id { - scope_4319.string(var_4320); + let mut scope_4321 = writer.prefix("InstanceId"); + if let Some(var_4322) = &input.instance_id { + scope_4321.string(var_4322); } #[allow(unused_mut)] - let mut scope_4321 = writer.prefix("HttpTokens"); - if let Some(var_4322) = &input.http_tokens { - scope_4321.string(var_4322.as_str()); + let mut scope_4323 = writer.prefix("HttpTokens"); + if let Some(var_4324) = &input.http_tokens { + scope_4323.string(var_4324.as_str()); } #[allow(unused_mut)] - let mut scope_4323 = writer.prefix("HttpPutResponseHopLimit"); - if let Some(var_4324) = &input.http_put_response_hop_limit { - scope_4323.number( + let mut scope_4325 = writer.prefix("HttpPutResponseHopLimit"); + if let Some(var_4326) = &input.http_put_response_hop_limit { + scope_4325.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4324).into()), + smithy_types::Number::NegInt((*var_4326).into()), ); } #[allow(unused_mut)] - let mut scope_4325 = writer.prefix("HttpEndpoint"); - if let Some(var_4326) = &input.http_endpoint { - scope_4325.string(var_4326.as_str()); + let mut scope_4327 = writer.prefix("HttpEndpoint"); + if let Some(var_4328) = &input.http_endpoint { + scope_4327.string(var_4328.as_str()); } #[allow(unused_mut)] - let mut scope_4327 = writer.prefix("DryRun"); - if let Some(var_4328) = &input.dry_run { - scope_4327.boolean(*var_4328); + let mut scope_4329 = writer.prefix("DryRun"); + if let Some(var_4330) = &input.dry_run { + scope_4329.boolean(*var_4330); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15056,42 +15061,42 @@ pub fn serialize_operation_modify_instance_placement( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyInstancePlacement", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4329 = writer.prefix("Affinity"); - if let Some(var_4330) = &input.affinity { - scope_4329.string(var_4330.as_str()); - } - #[allow(unused_mut)] - let mut scope_4331 = writer.prefix("GroupName"); - if let Some(var_4332) = &input.group_name { - scope_4331.string(var_4332); + let mut scope_4331 = writer.prefix("Affinity"); + if let Some(var_4332) = &input.affinity { + scope_4331.string(var_4332.as_str()); } #[allow(unused_mut)] - let mut scope_4333 = writer.prefix("HostId"); - if let Some(var_4334) = &input.host_id { + let mut scope_4333 = writer.prefix("GroupName"); + if let Some(var_4334) = &input.group_name { scope_4333.string(var_4334); } #[allow(unused_mut)] - let mut scope_4335 = writer.prefix("InstanceId"); - if let Some(var_4336) = &input.instance_id { + let mut scope_4335 = writer.prefix("HostId"); + if let Some(var_4336) = &input.host_id { scope_4335.string(var_4336); } #[allow(unused_mut)] - let mut scope_4337 = writer.prefix("Tenancy"); - if let Some(var_4338) = &input.tenancy { - scope_4337.string(var_4338.as_str()); + let mut scope_4337 = writer.prefix("InstanceId"); + if let Some(var_4338) = &input.instance_id { + scope_4337.string(var_4338); } #[allow(unused_mut)] - let mut scope_4339 = writer.prefix("PartitionNumber"); - if let Some(var_4340) = &input.partition_number { - scope_4339.number( + let mut scope_4339 = writer.prefix("Tenancy"); + if let Some(var_4340) = &input.tenancy { + scope_4339.string(var_4340.as_str()); + } + #[allow(unused_mut)] + let mut scope_4341 = writer.prefix("PartitionNumber"); + if let Some(var_4342) = &input.partition_number { + scope_4341.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4340).into()), + smithy_types::Number::NegInt((*var_4342).into()), ); } #[allow(unused_mut)] - let mut scope_4341 = writer.prefix("HostResourceGroupArn"); - if let Some(var_4342) = &input.host_resource_group_arn { - scope_4341.string(var_4342); + let mut scope_4343 = writer.prefix("HostResourceGroupArn"); + if let Some(var_4344) = &input.host_resource_group_arn { + scope_4343.string(var_4344); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15104,30 +15109,30 @@ pub fn serialize_operation_modify_launch_template( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyLaunchTemplate", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4343 = writer.prefix("DryRun"); - if let Some(var_4344) = &input.dry_run { - scope_4343.boolean(*var_4344); - } - #[allow(unused_mut)] - let mut scope_4345 = writer.prefix("ClientToken"); - if let Some(var_4346) = &input.client_token { - scope_4345.string(var_4346); + let mut scope_4345 = writer.prefix("DryRun"); + if let Some(var_4346) = &input.dry_run { + scope_4345.boolean(*var_4346); } #[allow(unused_mut)] - let mut scope_4347 = writer.prefix("LaunchTemplateId"); - if let Some(var_4348) = &input.launch_template_id { + let mut scope_4347 = writer.prefix("ClientToken"); + if let Some(var_4348) = &input.client_token { scope_4347.string(var_4348); } #[allow(unused_mut)] - let mut scope_4349 = writer.prefix("LaunchTemplateName"); - if let Some(var_4350) = &input.launch_template_name { + let mut scope_4349 = writer.prefix("LaunchTemplateId"); + if let Some(var_4350) = &input.launch_template_id { scope_4349.string(var_4350); } #[allow(unused_mut)] - let mut scope_4351 = writer.prefix("SetDefaultVersion"); - if let Some(var_4352) = &input.default_version { + let mut scope_4351 = writer.prefix("LaunchTemplateName"); + if let Some(var_4352) = &input.launch_template_name { scope_4351.string(var_4352); } + #[allow(unused_mut)] + let mut scope_4353 = writer.prefix("SetDefaultVersion"); + if let Some(var_4354) = &input.default_version { + scope_4353.string(var_4354); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -15140,49 +15145,49 @@ pub fn serialize_operation_modify_managed_prefix_list( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyManagedPrefixList", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4353 = writer.prefix("DryRun"); - if let Some(var_4354) = &input.dry_run { - scope_4353.boolean(*var_4354); + let mut scope_4355 = writer.prefix("DryRun"); + if let Some(var_4356) = &input.dry_run { + scope_4355.boolean(*var_4356); } #[allow(unused_mut)] - let mut scope_4355 = writer.prefix("PrefixListId"); - if let Some(var_4356) = &input.prefix_list_id { - scope_4355.string(var_4356); + let mut scope_4357 = writer.prefix("PrefixListId"); + if let Some(var_4358) = &input.prefix_list_id { + scope_4357.string(var_4358); } #[allow(unused_mut)] - let mut scope_4357 = writer.prefix("CurrentVersion"); - if let Some(var_4358) = &input.current_version { - scope_4357.number( + let mut scope_4359 = writer.prefix("CurrentVersion"); + if let Some(var_4360) = &input.current_version { + scope_4359.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4358).into()), + smithy_types::Number::NegInt((*var_4360).into()), ); } #[allow(unused_mut)] - let mut scope_4359 = writer.prefix("PrefixListName"); - if let Some(var_4360) = &input.prefix_list_name { - scope_4359.string(var_4360); + let mut scope_4361 = writer.prefix("PrefixListName"); + if let Some(var_4362) = &input.prefix_list_name { + scope_4361.string(var_4362); } #[allow(unused_mut)] - let mut scope_4361 = writer.prefix("AddEntry"); - if let Some(var_4362) = &input.add_entries { - let mut list_4364 = scope_4361.start_list(true, None); - for item_4363 in var_4362 { + let mut scope_4363 = writer.prefix("AddEntry"); + if let Some(var_4364) = &input.add_entries { + let mut list_4366 = scope_4363.start_list(true, None); + for item_4365 in var_4364 { #[allow(unused_mut)] - let mut entry_4365 = list_4364.entry(); - crate::query_ser::serialize_structure_add_prefix_list_entry(entry_4365, item_4363); + let mut entry_4367 = list_4366.entry(); + crate::query_ser::serialize_structure_add_prefix_list_entry(entry_4367, item_4365); } - list_4364.finish(); + list_4366.finish(); } #[allow(unused_mut)] - let mut scope_4366 = writer.prefix("RemoveEntry"); - if let Some(var_4367) = &input.remove_entries { - let mut list_4369 = scope_4366.start_list(true, None); - for item_4368 in var_4367 { + let mut scope_4368 = writer.prefix("RemoveEntry"); + if let Some(var_4369) = &input.remove_entries { + let mut list_4371 = scope_4368.start_list(true, None); + for item_4370 in var_4369 { #[allow(unused_mut)] - let mut entry_4370 = list_4369.entry(); - crate::query_ser::serialize_structure_remove_prefix_list_entry(entry_4370, item_4368); + let mut entry_4372 = list_4371.entry(); + crate::query_ser::serialize_structure_remove_prefix_list_entry(entry_4372, item_4370); } - list_4369.finish(); + list_4371.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15196,42 +15201,42 @@ pub fn serialize_operation_modify_network_interface_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyNetworkInterfaceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4371 = writer.prefix("Attachment"); - if let Some(var_4372) = &input.attachment { + let mut scope_4373 = writer.prefix("Attachment"); + if let Some(var_4374) = &input.attachment { crate::query_ser::serialize_structure_network_interface_attachment_changes( - scope_4371, var_4372, + scope_4373, var_4374, ); } #[allow(unused_mut)] - let mut scope_4373 = writer.prefix("Description"); - if let Some(var_4374) = &input.description { - crate::query_ser::serialize_structure_attribute_value(scope_4373, var_4374); + let mut scope_4375 = writer.prefix("Description"); + if let Some(var_4376) = &input.description { + crate::query_ser::serialize_structure_attribute_value(scope_4375, var_4376); } #[allow(unused_mut)] - let mut scope_4375 = writer.prefix("DryRun"); - if let Some(var_4376) = &input.dry_run { - scope_4375.boolean(*var_4376); + let mut scope_4377 = writer.prefix("DryRun"); + if let Some(var_4378) = &input.dry_run { + scope_4377.boolean(*var_4378); } #[allow(unused_mut)] - let mut scope_4377 = writer.prefix("SecurityGroupId"); - if let Some(var_4378) = &input.groups { - let mut list_4380 = scope_4377.start_list(true, Some("SecurityGroupId")); - for item_4379 in var_4378 { + let mut scope_4379 = writer.prefix("SecurityGroupId"); + if let Some(var_4380) = &input.groups { + let mut list_4382 = scope_4379.start_list(true, Some("SecurityGroupId")); + for item_4381 in var_4380 { #[allow(unused_mut)] - let mut entry_4381 = list_4380.entry(); - entry_4381.string(item_4379); + let mut entry_4383 = list_4382.entry(); + entry_4383.string(item_4381); } - list_4380.finish(); + list_4382.finish(); } #[allow(unused_mut)] - let mut scope_4382 = writer.prefix("NetworkInterfaceId"); - if let Some(var_4383) = &input.network_interface_id { - scope_4382.string(var_4383); + let mut scope_4384 = writer.prefix("NetworkInterfaceId"); + if let Some(var_4385) = &input.network_interface_id { + scope_4384.string(var_4385); } #[allow(unused_mut)] - let mut scope_4384 = writer.prefix("SourceDestCheck"); - if let Some(var_4385) = &input.source_dest_check { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4384, var_4385); + let mut scope_4386 = writer.prefix("SourceDestCheck"); + if let Some(var_4387) = &input.source_dest_check { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4386, var_4387); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15245,33 +15250,33 @@ pub fn serialize_operation_modify_reserved_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyReservedInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4386 = writer.prefix("ReservedInstancesId"); - if let Some(var_4387) = &input.reserved_instances_ids { - let mut list_4389 = scope_4386.start_list(true, Some("ReservedInstancesId")); - for item_4388 in var_4387 { + let mut scope_4388 = writer.prefix("ReservedInstancesId"); + if let Some(var_4389) = &input.reserved_instances_ids { + let mut list_4391 = scope_4388.start_list(true, Some("ReservedInstancesId")); + for item_4390 in var_4389 { #[allow(unused_mut)] - let mut entry_4390 = list_4389.entry(); - entry_4390.string(item_4388); + let mut entry_4392 = list_4391.entry(); + entry_4392.string(item_4390); } - list_4389.finish(); + list_4391.finish(); } #[allow(unused_mut)] - let mut scope_4391 = writer.prefix("ClientToken"); - if let Some(var_4392) = &input.client_token { - scope_4391.string(var_4392); + let mut scope_4393 = writer.prefix("ClientToken"); + if let Some(var_4394) = &input.client_token { + scope_4393.string(var_4394); } #[allow(unused_mut)] - let mut scope_4393 = writer.prefix("ReservedInstancesConfigurationSetItemType"); - if let Some(var_4394) = &input.target_configurations { - let mut list_4396 = scope_4393.start_list(true, Some("item")); - for item_4395 in var_4394 { + let mut scope_4395 = writer.prefix("ReservedInstancesConfigurationSetItemType"); + if let Some(var_4396) = &input.target_configurations { + let mut list_4398 = scope_4395.start_list(true, Some("item")); + for item_4397 in var_4396 { #[allow(unused_mut)] - let mut entry_4397 = list_4396.entry(); + let mut entry_4399 = list_4398.entry(); crate::query_ser::serialize_structure_reserved_instances_configuration( - entry_4397, item_4395, + entry_4399, item_4397, ); } - list_4396.finish(); + list_4398.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15285,25 +15290,25 @@ pub fn serialize_operation_modify_security_group_rules( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifySecurityGroupRules", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4398 = writer.prefix("GroupId"); - if let Some(var_4399) = &input.group_id { - scope_4398.string(var_4399); + let mut scope_4400 = writer.prefix("GroupId"); + if let Some(var_4401) = &input.group_id { + scope_4400.string(var_4401); } #[allow(unused_mut)] - let mut scope_4400 = writer.prefix("SecurityGroupRule"); - if let Some(var_4401) = &input.security_group_rules { - let mut list_4403 = scope_4400.start_list(true, Some("item")); - for item_4402 in var_4401 { + let mut scope_4402 = writer.prefix("SecurityGroupRule"); + if let Some(var_4403) = &input.security_group_rules { + let mut list_4405 = scope_4402.start_list(true, Some("item")); + for item_4404 in var_4403 { #[allow(unused_mut)] - let mut entry_4404 = list_4403.entry(); - crate::query_ser::serialize_structure_security_group_rule_update(entry_4404, item_4402); + let mut entry_4406 = list_4405.entry(); + crate::query_ser::serialize_structure_security_group_rule_update(entry_4406, item_4404); } - list_4403.finish(); + list_4405.finish(); } #[allow(unused_mut)] - let mut scope_4405 = writer.prefix("DryRun"); - if let Some(var_4406) = &input.dry_run { - scope_4405.boolean(*var_4406); + let mut scope_4407 = writer.prefix("DryRun"); + if let Some(var_4408) = &input.dry_run { + scope_4407.boolean(*var_4408); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15317,53 +15322,53 @@ pub fn serialize_operation_modify_snapshot_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifySnapshotAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4407 = writer.prefix("Attribute"); - if let Some(var_4408) = &input.attribute { - scope_4407.string(var_4408.as_str()); + let mut scope_4409 = writer.prefix("Attribute"); + if let Some(var_4410) = &input.attribute { + scope_4409.string(var_4410.as_str()); } #[allow(unused_mut)] - let mut scope_4409 = writer.prefix("CreateVolumePermission"); - if let Some(var_4410) = &input.create_volume_permission { + let mut scope_4411 = writer.prefix("CreateVolumePermission"); + if let Some(var_4412) = &input.create_volume_permission { crate::query_ser::serialize_structure_create_volume_permission_modifications( - scope_4409, var_4410, + scope_4411, var_4412, ); } #[allow(unused_mut)] - let mut scope_4411 = writer.prefix("UserGroup"); - if let Some(var_4412) = &input.group_names { - let mut list_4414 = scope_4411.start_list(true, Some("GroupName")); - for item_4413 in var_4412 { + let mut scope_4413 = writer.prefix("UserGroup"); + if let Some(var_4414) = &input.group_names { + let mut list_4416 = scope_4413.start_list(true, Some("GroupName")); + for item_4415 in var_4414 { #[allow(unused_mut)] - let mut entry_4415 = list_4414.entry(); - entry_4415.string(item_4413); + let mut entry_4417 = list_4416.entry(); + entry_4417.string(item_4415); } - list_4414.finish(); + list_4416.finish(); } #[allow(unused_mut)] - let mut scope_4416 = writer.prefix("OperationType"); - if let Some(var_4417) = &input.operation_type { - scope_4416.string(var_4417.as_str()); + let mut scope_4418 = writer.prefix("OperationType"); + if let Some(var_4419) = &input.operation_type { + scope_4418.string(var_4419.as_str()); } #[allow(unused_mut)] - let mut scope_4418 = writer.prefix("SnapshotId"); - if let Some(var_4419) = &input.snapshot_id { - scope_4418.string(var_4419); + let mut scope_4420 = writer.prefix("SnapshotId"); + if let Some(var_4421) = &input.snapshot_id { + scope_4420.string(var_4421); } #[allow(unused_mut)] - let mut scope_4420 = writer.prefix("UserId"); - if let Some(var_4421) = &input.user_ids { - let mut list_4423 = scope_4420.start_list(true, Some("UserId")); - for item_4422 in var_4421 { + let mut scope_4422 = writer.prefix("UserId"); + if let Some(var_4423) = &input.user_ids { + let mut list_4425 = scope_4422.start_list(true, Some("UserId")); + for item_4424 in var_4423 { #[allow(unused_mut)] - let mut entry_4424 = list_4423.entry(); - entry_4424.string(item_4422); + let mut entry_4426 = list_4425.entry(); + entry_4426.string(item_4424); } - list_4423.finish(); + list_4425.finish(); } #[allow(unused_mut)] - let mut scope_4425 = writer.prefix("DryRun"); - if let Some(var_4426) = &input.dry_run { - scope_4425.boolean(*var_4426); + let mut scope_4427 = writer.prefix("DryRun"); + if let Some(var_4428) = &input.dry_run { + scope_4427.boolean(*var_4428); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15377,46 +15382,46 @@ pub fn serialize_operation_modify_spot_fleet_request( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifySpotFleetRequest", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4427 = writer.prefix("ExcessCapacityTerminationPolicy"); - if let Some(var_4428) = &input.excess_capacity_termination_policy { - scope_4427.string(var_4428.as_str()); + let mut scope_4429 = writer.prefix("ExcessCapacityTerminationPolicy"); + if let Some(var_4430) = &input.excess_capacity_termination_policy { + scope_4429.string(var_4430.as_str()); } #[allow(unused_mut)] - let mut scope_4429 = writer.prefix("LaunchTemplateConfig"); - if let Some(var_4430) = &input.launch_template_configs { - let mut list_4432 = scope_4429.start_list(true, Some("item")); - for item_4431 in var_4430 { + let mut scope_4431 = writer.prefix("LaunchTemplateConfig"); + if let Some(var_4432) = &input.launch_template_configs { + let mut list_4434 = scope_4431.start_list(true, Some("item")); + for item_4433 in var_4432 { #[allow(unused_mut)] - let mut entry_4433 = list_4432.entry(); - crate::query_ser::serialize_structure_launch_template_config(entry_4433, item_4431); + let mut entry_4435 = list_4434.entry(); + crate::query_ser::serialize_structure_launch_template_config(entry_4435, item_4433); } - list_4432.finish(); + list_4434.finish(); } #[allow(unused_mut)] - let mut scope_4434 = writer.prefix("SpotFleetRequestId"); - if let Some(var_4435) = &input.spot_fleet_request_id { - scope_4434.string(var_4435); + let mut scope_4436 = writer.prefix("SpotFleetRequestId"); + if let Some(var_4437) = &input.spot_fleet_request_id { + scope_4436.string(var_4437); } #[allow(unused_mut)] - let mut scope_4436 = writer.prefix("TargetCapacity"); - if let Some(var_4437) = &input.target_capacity { - scope_4436.number( + let mut scope_4438 = writer.prefix("TargetCapacity"); + if let Some(var_4439) = &input.target_capacity { + scope_4438.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4437).into()), + smithy_types::Number::NegInt((*var_4439).into()), ); } #[allow(unused_mut)] - let mut scope_4438 = writer.prefix("OnDemandTargetCapacity"); - if let Some(var_4439) = &input.on_demand_target_capacity { - scope_4438.number( + let mut scope_4440 = writer.prefix("OnDemandTargetCapacity"); + if let Some(var_4441) = &input.on_demand_target_capacity { + scope_4440.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4439).into()), + smithy_types::Number::NegInt((*var_4441).into()), ); } #[allow(unused_mut)] - let mut scope_4440 = writer.prefix("Context"); - if let Some(var_4441) = &input.context { - scope_4440.string(var_4441); + let mut scope_4442 = writer.prefix("Context"); + if let Some(var_4443) = &input.context { + scope_4442.string(var_4443); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15430,29 +15435,29 @@ pub fn serialize_operation_modify_subnet_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifySubnetAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4442 = writer.prefix("AssignIpv6AddressOnCreation"); - if let Some(var_4443) = &input.assign_ipv6_address_on_creation { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4442, var_4443); + let mut scope_4444 = writer.prefix("AssignIpv6AddressOnCreation"); + if let Some(var_4445) = &input.assign_ipv6_address_on_creation { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4444, var_4445); } #[allow(unused_mut)] - let mut scope_4444 = writer.prefix("MapPublicIpOnLaunch"); - if let Some(var_4445) = &input.map_public_ip_on_launch { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4444, var_4445); + let mut scope_4446 = writer.prefix("MapPublicIpOnLaunch"); + if let Some(var_4447) = &input.map_public_ip_on_launch { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4446, var_4447); } #[allow(unused_mut)] - let mut scope_4446 = writer.prefix("SubnetId"); - if let Some(var_4447) = &input.subnet_id { - scope_4446.string(var_4447); + let mut scope_4448 = writer.prefix("SubnetId"); + if let Some(var_4449) = &input.subnet_id { + scope_4448.string(var_4449); } #[allow(unused_mut)] - let mut scope_4448 = writer.prefix("MapCustomerOwnedIpOnLaunch"); - if let Some(var_4449) = &input.map_customer_owned_ip_on_launch { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4448, var_4449); + let mut scope_4450 = writer.prefix("MapCustomerOwnedIpOnLaunch"); + if let Some(var_4451) = &input.map_customer_owned_ip_on_launch { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4450, var_4451); } #[allow(unused_mut)] - let mut scope_4450 = writer.prefix("CustomerOwnedIpv4Pool"); - if let Some(var_4451) = &input.customer_owned_ipv4_pool { - scope_4450.string(var_4451); + let mut scope_4452 = writer.prefix("CustomerOwnedIpv4Pool"); + if let Some(var_4453) = &input.customer_owned_ipv4_pool { + scope_4452.string(var_4453); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15469,36 +15474,36 @@ pub fn serialize_operation_modify_traffic_mirror_filter_network_services( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4452 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_4453) = &input.traffic_mirror_filter_id { - scope_4452.string(var_4453); + let mut scope_4454 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_4455) = &input.traffic_mirror_filter_id { + scope_4454.string(var_4455); } #[allow(unused_mut)] - let mut scope_4454 = writer.prefix("AddNetworkService"); - if let Some(var_4455) = &input.add_network_services { - let mut list_4457 = scope_4454.start_list(true, Some("item")); - for item_4456 in var_4455 { + let mut scope_4456 = writer.prefix("AddNetworkService"); + if let Some(var_4457) = &input.add_network_services { + let mut list_4459 = scope_4456.start_list(true, Some("item")); + for item_4458 in var_4457 { #[allow(unused_mut)] - let mut entry_4458 = list_4457.entry(); - entry_4458.string(item_4456.as_str()); + let mut entry_4460 = list_4459.entry(); + entry_4460.string(item_4458.as_str()); } - list_4457.finish(); + list_4459.finish(); } #[allow(unused_mut)] - let mut scope_4459 = writer.prefix("RemoveNetworkService"); - if let Some(var_4460) = &input.remove_network_services { - let mut list_4462 = scope_4459.start_list(true, Some("item")); - for item_4461 in var_4460 { + let mut scope_4461 = writer.prefix("RemoveNetworkService"); + if let Some(var_4462) = &input.remove_network_services { + let mut list_4464 = scope_4461.start_list(true, Some("item")); + for item_4463 in var_4462 { #[allow(unused_mut)] - let mut entry_4463 = list_4462.entry(); - entry_4463.string(item_4461.as_str()); + let mut entry_4465 = list_4464.entry(); + entry_4465.string(item_4463.as_str()); } - list_4462.finish(); + list_4464.finish(); } #[allow(unused_mut)] - let mut scope_4464 = writer.prefix("DryRun"); - if let Some(var_4465) = &input.dry_run { - scope_4464.boolean(*var_4465); + let mut scope_4466 = writer.prefix("DryRun"); + if let Some(var_4467) = &input.dry_run { + scope_4466.boolean(*var_4467); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15512,80 +15517,80 @@ pub fn serialize_operation_modify_traffic_mirror_filter_rule( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyTrafficMirrorFilterRule", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4466 = writer.prefix("TrafficMirrorFilterRuleId"); - if let Some(var_4467) = &input.traffic_mirror_filter_rule_id { - scope_4466.string(var_4467); + let mut scope_4468 = writer.prefix("TrafficMirrorFilterRuleId"); + if let Some(var_4469) = &input.traffic_mirror_filter_rule_id { + scope_4468.string(var_4469); } #[allow(unused_mut)] - let mut scope_4468 = writer.prefix("TrafficDirection"); - if let Some(var_4469) = &input.traffic_direction { - scope_4468.string(var_4469.as_str()); + let mut scope_4470 = writer.prefix("TrafficDirection"); + if let Some(var_4471) = &input.traffic_direction { + scope_4470.string(var_4471.as_str()); } #[allow(unused_mut)] - let mut scope_4470 = writer.prefix("RuleNumber"); - if let Some(var_4471) = &input.rule_number { - scope_4470.number( + let mut scope_4472 = writer.prefix("RuleNumber"); + if let Some(var_4473) = &input.rule_number { + scope_4472.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4471).into()), + smithy_types::Number::NegInt((*var_4473).into()), ); } #[allow(unused_mut)] - let mut scope_4472 = writer.prefix("RuleAction"); - if let Some(var_4473) = &input.rule_action { - scope_4472.string(var_4473.as_str()); + let mut scope_4474 = writer.prefix("RuleAction"); + if let Some(var_4475) = &input.rule_action { + scope_4474.string(var_4475.as_str()); } #[allow(unused_mut)] - let mut scope_4474 = writer.prefix("DestinationPortRange"); - if let Some(var_4475) = &input.destination_port_range { + let mut scope_4476 = writer.prefix("DestinationPortRange"); + if let Some(var_4477) = &input.destination_port_range { crate::query_ser::serialize_structure_traffic_mirror_port_range_request( - scope_4474, var_4475, + scope_4476, var_4477, ); } #[allow(unused_mut)] - let mut scope_4476 = writer.prefix("SourcePortRange"); - if let Some(var_4477) = &input.source_port_range { + let mut scope_4478 = writer.prefix("SourcePortRange"); + if let Some(var_4479) = &input.source_port_range { crate::query_ser::serialize_structure_traffic_mirror_port_range_request( - scope_4476, var_4477, + scope_4478, var_4479, ); } #[allow(unused_mut)] - let mut scope_4478 = writer.prefix("Protocol"); - if let Some(var_4479) = &input.protocol { - scope_4478.number( + let mut scope_4480 = writer.prefix("Protocol"); + if let Some(var_4481) = &input.protocol { + scope_4480.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4479).into()), + smithy_types::Number::NegInt((*var_4481).into()), ); } #[allow(unused_mut)] - let mut scope_4480 = writer.prefix("DestinationCidrBlock"); - if let Some(var_4481) = &input.destination_cidr_block { - scope_4480.string(var_4481); - } - #[allow(unused_mut)] - let mut scope_4482 = writer.prefix("SourceCidrBlock"); - if let Some(var_4483) = &input.source_cidr_block { + let mut scope_4482 = writer.prefix("DestinationCidrBlock"); + if let Some(var_4483) = &input.destination_cidr_block { scope_4482.string(var_4483); } #[allow(unused_mut)] - let mut scope_4484 = writer.prefix("Description"); - if let Some(var_4485) = &input.description { + let mut scope_4484 = writer.prefix("SourceCidrBlock"); + if let Some(var_4485) = &input.source_cidr_block { scope_4484.string(var_4485); } #[allow(unused_mut)] - let mut scope_4486 = writer.prefix("RemoveField"); - if let Some(var_4487) = &input.remove_fields { - let mut list_4489 = scope_4486.start_list(true, None); - for item_4488 in var_4487 { + let mut scope_4486 = writer.prefix("Description"); + if let Some(var_4487) = &input.description { + scope_4486.string(var_4487); + } + #[allow(unused_mut)] + let mut scope_4488 = writer.prefix("RemoveField"); + if let Some(var_4489) = &input.remove_fields { + let mut list_4491 = scope_4488.start_list(true, None); + for item_4490 in var_4489 { #[allow(unused_mut)] - let mut entry_4490 = list_4489.entry(); - entry_4490.string(item_4488.as_str()); + let mut entry_4492 = list_4491.entry(); + entry_4492.string(item_4490.as_str()); } - list_4489.finish(); + list_4491.finish(); } #[allow(unused_mut)] - let mut scope_4491 = writer.prefix("DryRun"); - if let Some(var_4492) = &input.dry_run { - scope_4491.boolean(*var_4492); + let mut scope_4493 = writer.prefix("DryRun"); + if let Some(var_4494) = &input.dry_run { + scope_4493.boolean(*var_4494); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15599,64 +15604,64 @@ pub fn serialize_operation_modify_traffic_mirror_session( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyTrafficMirrorSession", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4493 = writer.prefix("TrafficMirrorSessionId"); - if let Some(var_4494) = &input.traffic_mirror_session_id { - scope_4493.string(var_4494); - } - #[allow(unused_mut)] - let mut scope_4495 = writer.prefix("TrafficMirrorTargetId"); - if let Some(var_4496) = &input.traffic_mirror_target_id { + let mut scope_4495 = writer.prefix("TrafficMirrorSessionId"); + if let Some(var_4496) = &input.traffic_mirror_session_id { scope_4495.string(var_4496); } #[allow(unused_mut)] - let mut scope_4497 = writer.prefix("TrafficMirrorFilterId"); - if let Some(var_4498) = &input.traffic_mirror_filter_id { + let mut scope_4497 = writer.prefix("TrafficMirrorTargetId"); + if let Some(var_4498) = &input.traffic_mirror_target_id { scope_4497.string(var_4498); } #[allow(unused_mut)] - let mut scope_4499 = writer.prefix("PacketLength"); - if let Some(var_4500) = &input.packet_length { - scope_4499.number( - #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4500).into()), - ); + let mut scope_4499 = writer.prefix("TrafficMirrorFilterId"); + if let Some(var_4500) = &input.traffic_mirror_filter_id { + scope_4499.string(var_4500); } #[allow(unused_mut)] - let mut scope_4501 = writer.prefix("SessionNumber"); - if let Some(var_4502) = &input.session_number { + let mut scope_4501 = writer.prefix("PacketLength"); + if let Some(var_4502) = &input.packet_length { scope_4501.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_4502).into()), ); } #[allow(unused_mut)] - let mut scope_4503 = writer.prefix("VirtualNetworkId"); - if let Some(var_4504) = &input.virtual_network_id { + let mut scope_4503 = writer.prefix("SessionNumber"); + if let Some(var_4504) = &input.session_number { scope_4503.number( #[allow(clippy::useless_conversion)] smithy_types::Number::NegInt((*var_4504).into()), ); } #[allow(unused_mut)] - let mut scope_4505 = writer.prefix("Description"); - if let Some(var_4506) = &input.description { - scope_4505.string(var_4506); + let mut scope_4505 = writer.prefix("VirtualNetworkId"); + if let Some(var_4506) = &input.virtual_network_id { + scope_4505.number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_4506).into()), + ); + } + #[allow(unused_mut)] + let mut scope_4507 = writer.prefix("Description"); + if let Some(var_4508) = &input.description { + scope_4507.string(var_4508); } #[allow(unused_mut)] - let mut scope_4507 = writer.prefix("RemoveField"); - if let Some(var_4508) = &input.remove_fields { - let mut list_4510 = scope_4507.start_list(true, None); - for item_4509 in var_4508 { + let mut scope_4509 = writer.prefix("RemoveField"); + if let Some(var_4510) = &input.remove_fields { + let mut list_4512 = scope_4509.start_list(true, None); + for item_4511 in var_4510 { #[allow(unused_mut)] - let mut entry_4511 = list_4510.entry(); - entry_4511.string(item_4509.as_str()); + let mut entry_4513 = list_4512.entry(); + entry_4513.string(item_4511.as_str()); } - list_4510.finish(); + list_4512.finish(); } #[allow(unused_mut)] - let mut scope_4512 = writer.prefix("DryRun"); - if let Some(var_4513) = &input.dry_run { - scope_4512.boolean(*var_4513); + let mut scope_4514 = writer.prefix("DryRun"); + if let Some(var_4515) = &input.dry_run { + scope_4514.boolean(*var_4515); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15669,24 +15674,24 @@ pub fn serialize_operation_modify_transit_gateway( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyTransitGateway", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4514 = writer.prefix("TransitGatewayId"); - if let Some(var_4515) = &input.transit_gateway_id { - scope_4514.string(var_4515); + let mut scope_4516 = writer.prefix("TransitGatewayId"); + if let Some(var_4517) = &input.transit_gateway_id { + scope_4516.string(var_4517); } #[allow(unused_mut)] - let mut scope_4516 = writer.prefix("Description"); - if let Some(var_4517) = &input.description { - scope_4516.string(var_4517); + let mut scope_4518 = writer.prefix("Description"); + if let Some(var_4519) = &input.description { + scope_4518.string(var_4519); } #[allow(unused_mut)] - let mut scope_4518 = writer.prefix("Options"); - if let Some(var_4519) = &input.options { - crate::query_ser::serialize_structure_modify_transit_gateway_options(scope_4518, var_4519); + let mut scope_4520 = writer.prefix("Options"); + if let Some(var_4521) = &input.options { + crate::query_ser::serialize_structure_modify_transit_gateway_options(scope_4520, var_4521); } #[allow(unused_mut)] - let mut scope_4520 = writer.prefix("DryRun"); - if let Some(var_4521) = &input.dry_run { - scope_4520.boolean(*var_4521); + let mut scope_4522 = writer.prefix("DryRun"); + if let Some(var_4523) = &input.dry_run { + scope_4522.boolean(*var_4523); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15703,30 +15708,30 @@ pub fn serialize_operation_modify_transit_gateway_prefix_list_reference( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4522 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_4523) = &input.transit_gateway_route_table_id { - scope_4522.string(var_4523); - } - #[allow(unused_mut)] - let mut scope_4524 = writer.prefix("PrefixListId"); - if let Some(var_4525) = &input.prefix_list_id { + let mut scope_4524 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_4525) = &input.transit_gateway_route_table_id { scope_4524.string(var_4525); } #[allow(unused_mut)] - let mut scope_4526 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4527) = &input.transit_gateway_attachment_id { + let mut scope_4526 = writer.prefix("PrefixListId"); + if let Some(var_4527) = &input.prefix_list_id { scope_4526.string(var_4527); } #[allow(unused_mut)] - let mut scope_4528 = writer.prefix("Blackhole"); - if let Some(var_4529) = &input.blackhole { - scope_4528.boolean(*var_4529); + let mut scope_4528 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4529) = &input.transit_gateway_attachment_id { + scope_4528.string(var_4529); } #[allow(unused_mut)] - let mut scope_4530 = writer.prefix("DryRun"); - if let Some(var_4531) = &input.dry_run { + let mut scope_4530 = writer.prefix("Blackhole"); + if let Some(var_4531) = &input.blackhole { scope_4530.boolean(*var_4531); } + #[allow(unused_mut)] + let mut scope_4532 = writer.prefix("DryRun"); + if let Some(var_4533) = &input.dry_run { + scope_4532.boolean(*var_4533); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -15739,43 +15744,43 @@ pub fn serialize_operation_modify_transit_gateway_vpc_attachment( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyTransitGatewayVpcAttachment", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4532 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4533) = &input.transit_gateway_attachment_id { - scope_4532.string(var_4533); + let mut scope_4534 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4535) = &input.transit_gateway_attachment_id { + scope_4534.string(var_4535); } #[allow(unused_mut)] - let mut scope_4534 = writer.prefix("AddSubnetIds"); - if let Some(var_4535) = &input.add_subnet_ids { - let mut list_4537 = scope_4534.start_list(true, Some("item")); - for item_4536 in var_4535 { + let mut scope_4536 = writer.prefix("AddSubnetIds"); + if let Some(var_4537) = &input.add_subnet_ids { + let mut list_4539 = scope_4536.start_list(true, Some("item")); + for item_4538 in var_4537 { #[allow(unused_mut)] - let mut entry_4538 = list_4537.entry(); - entry_4538.string(item_4536); + let mut entry_4540 = list_4539.entry(); + entry_4540.string(item_4538); } - list_4537.finish(); + list_4539.finish(); } #[allow(unused_mut)] - let mut scope_4539 = writer.prefix("RemoveSubnetIds"); - if let Some(var_4540) = &input.remove_subnet_ids { - let mut list_4542 = scope_4539.start_list(true, Some("item")); - for item_4541 in var_4540 { + let mut scope_4541 = writer.prefix("RemoveSubnetIds"); + if let Some(var_4542) = &input.remove_subnet_ids { + let mut list_4544 = scope_4541.start_list(true, Some("item")); + for item_4543 in var_4542 { #[allow(unused_mut)] - let mut entry_4543 = list_4542.entry(); - entry_4543.string(item_4541); + let mut entry_4545 = list_4544.entry(); + entry_4545.string(item_4543); } - list_4542.finish(); + list_4544.finish(); } #[allow(unused_mut)] - let mut scope_4544 = writer.prefix("Options"); - if let Some(var_4545) = &input.options { + let mut scope_4546 = writer.prefix("Options"); + if let Some(var_4547) = &input.options { crate::query_ser::serialize_structure_modify_transit_gateway_vpc_attachment_request_options( - scope_4544, var_4545, + scope_4546, var_4547, ); } #[allow(unused_mut)] - let mut scope_4546 = writer.prefix("DryRun"); - if let Some(var_4547) = &input.dry_run { - scope_4546.boolean(*var_4547); + let mut scope_4548 = writer.prefix("DryRun"); + if let Some(var_4549) = &input.dry_run { + scope_4548.boolean(*var_4549); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15788,48 +15793,48 @@ pub fn serialize_operation_modify_volume( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVolume", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4548 = writer.prefix("DryRun"); - if let Some(var_4549) = &input.dry_run { - scope_4548.boolean(*var_4549); + let mut scope_4550 = writer.prefix("DryRun"); + if let Some(var_4551) = &input.dry_run { + scope_4550.boolean(*var_4551); } #[allow(unused_mut)] - let mut scope_4550 = writer.prefix("VolumeId"); - if let Some(var_4551) = &input.volume_id { - scope_4550.string(var_4551); + let mut scope_4552 = writer.prefix("VolumeId"); + if let Some(var_4553) = &input.volume_id { + scope_4552.string(var_4553); } #[allow(unused_mut)] - let mut scope_4552 = writer.prefix("Size"); - if let Some(var_4553) = &input.size { - scope_4552.number( + let mut scope_4554 = writer.prefix("Size"); + if let Some(var_4555) = &input.size { + scope_4554.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4553).into()), + smithy_types::Number::NegInt((*var_4555).into()), ); } #[allow(unused_mut)] - let mut scope_4554 = writer.prefix("VolumeType"); - if let Some(var_4555) = &input.volume_type { - scope_4554.string(var_4555.as_str()); + let mut scope_4556 = writer.prefix("VolumeType"); + if let Some(var_4557) = &input.volume_type { + scope_4556.string(var_4557.as_str()); } #[allow(unused_mut)] - let mut scope_4556 = writer.prefix("Iops"); - if let Some(var_4557) = &input.iops { - scope_4556.number( + let mut scope_4558 = writer.prefix("Iops"); + if let Some(var_4559) = &input.iops { + scope_4558.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4557).into()), + smithy_types::Number::NegInt((*var_4559).into()), ); } #[allow(unused_mut)] - let mut scope_4558 = writer.prefix("Throughput"); - if let Some(var_4559) = &input.throughput { - scope_4558.number( + let mut scope_4560 = writer.prefix("Throughput"); + if let Some(var_4561) = &input.throughput { + scope_4560.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4559).into()), + smithy_types::Number::NegInt((*var_4561).into()), ); } #[allow(unused_mut)] - let mut scope_4560 = writer.prefix("MultiAttachEnabled"); - if let Some(var_4561) = &input.multi_attach_enabled { - scope_4560.boolean(*var_4561); + let mut scope_4562 = writer.prefix("MultiAttachEnabled"); + if let Some(var_4563) = &input.multi_attach_enabled { + scope_4562.boolean(*var_4563); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15843,19 +15848,19 @@ pub fn serialize_operation_modify_volume_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVolumeAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4562 = writer.prefix("AutoEnableIO"); - if let Some(var_4563) = &input.auto_enable_io { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4562, var_4563); + let mut scope_4564 = writer.prefix("AutoEnableIO"); + if let Some(var_4565) = &input.auto_enable_io { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4564, var_4565); } #[allow(unused_mut)] - let mut scope_4564 = writer.prefix("VolumeId"); - if let Some(var_4565) = &input.volume_id { - scope_4564.string(var_4565); + let mut scope_4566 = writer.prefix("VolumeId"); + if let Some(var_4567) = &input.volume_id { + scope_4566.string(var_4567); } #[allow(unused_mut)] - let mut scope_4566 = writer.prefix("DryRun"); - if let Some(var_4567) = &input.dry_run { - scope_4566.boolean(*var_4567); + let mut scope_4568 = writer.prefix("DryRun"); + if let Some(var_4569) = &input.dry_run { + scope_4568.boolean(*var_4569); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15868,19 +15873,19 @@ pub fn serialize_operation_modify_vpc_attribute( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpcAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4568 = writer.prefix("EnableDnsHostnames"); - if let Some(var_4569) = &input.enable_dns_hostnames { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4568, var_4569); + let mut scope_4570 = writer.prefix("EnableDnsHostnames"); + if let Some(var_4571) = &input.enable_dns_hostnames { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4570, var_4571); } #[allow(unused_mut)] - let mut scope_4570 = writer.prefix("EnableDnsSupport"); - if let Some(var_4571) = &input.enable_dns_support { - crate::query_ser::serialize_structure_attribute_boolean_value(scope_4570, var_4571); + let mut scope_4572 = writer.prefix("EnableDnsSupport"); + if let Some(var_4573) = &input.enable_dns_support { + crate::query_ser::serialize_structure_attribute_boolean_value(scope_4572, var_4573); } #[allow(unused_mut)] - let mut scope_4572 = writer.prefix("VpcId"); - if let Some(var_4573) = &input.vpc_id { - scope_4572.string(var_4573); + let mut scope_4574 = writer.prefix("VpcId"); + if let Some(var_4575) = &input.vpc_id { + scope_4574.string(var_4575); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15893,95 +15898,95 @@ pub fn serialize_operation_modify_vpc_endpoint( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpcEndpoint", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4574 = writer.prefix("DryRun"); - if let Some(var_4575) = &input.dry_run { - scope_4574.boolean(*var_4575); + let mut scope_4576 = writer.prefix("DryRun"); + if let Some(var_4577) = &input.dry_run { + scope_4576.boolean(*var_4577); } #[allow(unused_mut)] - let mut scope_4576 = writer.prefix("VpcEndpointId"); - if let Some(var_4577) = &input.vpc_endpoint_id { - scope_4576.string(var_4577); + let mut scope_4578 = writer.prefix("VpcEndpointId"); + if let Some(var_4579) = &input.vpc_endpoint_id { + scope_4578.string(var_4579); } #[allow(unused_mut)] - let mut scope_4578 = writer.prefix("ResetPolicy"); - if let Some(var_4579) = &input.reset_policy { - scope_4578.boolean(*var_4579); + let mut scope_4580 = writer.prefix("ResetPolicy"); + if let Some(var_4581) = &input.reset_policy { + scope_4580.boolean(*var_4581); } #[allow(unused_mut)] - let mut scope_4580 = writer.prefix("PolicyDocument"); - if let Some(var_4581) = &input.policy_document { - scope_4580.string(var_4581); + let mut scope_4582 = writer.prefix("PolicyDocument"); + if let Some(var_4583) = &input.policy_document { + scope_4582.string(var_4583); } #[allow(unused_mut)] - let mut scope_4582 = writer.prefix("AddRouteTableId"); - if let Some(var_4583) = &input.add_route_table_ids { - let mut list_4585 = scope_4582.start_list(true, Some("item")); - for item_4584 in var_4583 { + let mut scope_4584 = writer.prefix("AddRouteTableId"); + if let Some(var_4585) = &input.add_route_table_ids { + let mut list_4587 = scope_4584.start_list(true, Some("item")); + for item_4586 in var_4585 { #[allow(unused_mut)] - let mut entry_4586 = list_4585.entry(); - entry_4586.string(item_4584); + let mut entry_4588 = list_4587.entry(); + entry_4588.string(item_4586); } - list_4585.finish(); + list_4587.finish(); } #[allow(unused_mut)] - let mut scope_4587 = writer.prefix("RemoveRouteTableId"); - if let Some(var_4588) = &input.remove_route_table_ids { - let mut list_4590 = scope_4587.start_list(true, Some("item")); - for item_4589 in var_4588 { + let mut scope_4589 = writer.prefix("RemoveRouteTableId"); + if let Some(var_4590) = &input.remove_route_table_ids { + let mut list_4592 = scope_4589.start_list(true, Some("item")); + for item_4591 in var_4590 { #[allow(unused_mut)] - let mut entry_4591 = list_4590.entry(); - entry_4591.string(item_4589); + let mut entry_4593 = list_4592.entry(); + entry_4593.string(item_4591); } - list_4590.finish(); + list_4592.finish(); } #[allow(unused_mut)] - let mut scope_4592 = writer.prefix("AddSubnetId"); - if let Some(var_4593) = &input.add_subnet_ids { - let mut list_4595 = scope_4592.start_list(true, Some("item")); - for item_4594 in var_4593 { + let mut scope_4594 = writer.prefix("AddSubnetId"); + if let Some(var_4595) = &input.add_subnet_ids { + let mut list_4597 = scope_4594.start_list(true, Some("item")); + for item_4596 in var_4595 { #[allow(unused_mut)] - let mut entry_4596 = list_4595.entry(); - entry_4596.string(item_4594); + let mut entry_4598 = list_4597.entry(); + entry_4598.string(item_4596); } - list_4595.finish(); + list_4597.finish(); } #[allow(unused_mut)] - let mut scope_4597 = writer.prefix("RemoveSubnetId"); - if let Some(var_4598) = &input.remove_subnet_ids { - let mut list_4600 = scope_4597.start_list(true, Some("item")); - for item_4599 in var_4598 { + let mut scope_4599 = writer.prefix("RemoveSubnetId"); + if let Some(var_4600) = &input.remove_subnet_ids { + let mut list_4602 = scope_4599.start_list(true, Some("item")); + for item_4601 in var_4600 { #[allow(unused_mut)] - let mut entry_4601 = list_4600.entry(); - entry_4601.string(item_4599); + let mut entry_4603 = list_4602.entry(); + entry_4603.string(item_4601); } - list_4600.finish(); + list_4602.finish(); } #[allow(unused_mut)] - let mut scope_4602 = writer.prefix("AddSecurityGroupId"); - if let Some(var_4603) = &input.add_security_group_ids { - let mut list_4605 = scope_4602.start_list(true, Some("item")); - for item_4604 in var_4603 { + let mut scope_4604 = writer.prefix("AddSecurityGroupId"); + if let Some(var_4605) = &input.add_security_group_ids { + let mut list_4607 = scope_4604.start_list(true, Some("item")); + for item_4606 in var_4605 { #[allow(unused_mut)] - let mut entry_4606 = list_4605.entry(); - entry_4606.string(item_4604); + let mut entry_4608 = list_4607.entry(); + entry_4608.string(item_4606); } - list_4605.finish(); + list_4607.finish(); } #[allow(unused_mut)] - let mut scope_4607 = writer.prefix("RemoveSecurityGroupId"); - if let Some(var_4608) = &input.remove_security_group_ids { - let mut list_4610 = scope_4607.start_list(true, Some("item")); - for item_4609 in var_4608 { + let mut scope_4609 = writer.prefix("RemoveSecurityGroupId"); + if let Some(var_4610) = &input.remove_security_group_ids { + let mut list_4612 = scope_4609.start_list(true, Some("item")); + for item_4611 in var_4610 { #[allow(unused_mut)] - let mut entry_4611 = list_4610.entry(); - entry_4611.string(item_4609); + let mut entry_4613 = list_4612.entry(); + entry_4613.string(item_4611); } - list_4610.finish(); + list_4612.finish(); } #[allow(unused_mut)] - let mut scope_4612 = writer.prefix("PrivateDnsEnabled"); - if let Some(var_4613) = &input.private_dns_enabled { - scope_4612.boolean(*var_4613); + let mut scope_4614 = writer.prefix("PrivateDnsEnabled"); + if let Some(var_4615) = &input.private_dns_enabled { + scope_4614.boolean(*var_4615); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -15998,30 +16003,30 @@ pub fn serialize_operation_modify_vpc_endpoint_connection_notification( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4614 = writer.prefix("DryRun"); - if let Some(var_4615) = &input.dry_run { - scope_4614.boolean(*var_4615); + let mut scope_4616 = writer.prefix("DryRun"); + if let Some(var_4617) = &input.dry_run { + scope_4616.boolean(*var_4617); } #[allow(unused_mut)] - let mut scope_4616 = writer.prefix("ConnectionNotificationId"); - if let Some(var_4617) = &input.connection_notification_id { - scope_4616.string(var_4617); + let mut scope_4618 = writer.prefix("ConnectionNotificationId"); + if let Some(var_4619) = &input.connection_notification_id { + scope_4618.string(var_4619); } #[allow(unused_mut)] - let mut scope_4618 = writer.prefix("ConnectionNotificationArn"); - if let Some(var_4619) = &input.connection_notification_arn { - scope_4618.string(var_4619); + let mut scope_4620 = writer.prefix("ConnectionNotificationArn"); + if let Some(var_4621) = &input.connection_notification_arn { + scope_4620.string(var_4621); } #[allow(unused_mut)] - let mut scope_4620 = writer.prefix("ConnectionEvents"); - if let Some(var_4621) = &input.connection_events { - let mut list_4623 = scope_4620.start_list(true, Some("item")); - for item_4622 in var_4621 { + let mut scope_4622 = writer.prefix("ConnectionEvents"); + if let Some(var_4623) = &input.connection_events { + let mut list_4625 = scope_4622.start_list(true, Some("item")); + for item_4624 in var_4623 { #[allow(unused_mut)] - let mut entry_4624 = list_4623.entry(); - entry_4624.string(item_4622); + let mut entry_4626 = list_4625.entry(); + entry_4626.string(item_4624); } - list_4623.finish(); + list_4625.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16038,73 +16043,73 @@ pub fn serialize_operation_modify_vpc_endpoint_service_configuration( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4625 = writer.prefix("DryRun"); - if let Some(var_4626) = &input.dry_run { - scope_4625.boolean(*var_4626); - } - #[allow(unused_mut)] - let mut scope_4627 = writer.prefix("ServiceId"); - if let Some(var_4628) = &input.service_id { - scope_4627.string(var_4628); + let mut scope_4627 = writer.prefix("DryRun"); + if let Some(var_4628) = &input.dry_run { + scope_4627.boolean(*var_4628); } #[allow(unused_mut)] - let mut scope_4629 = writer.prefix("PrivateDnsName"); - if let Some(var_4630) = &input.private_dns_name { + let mut scope_4629 = writer.prefix("ServiceId"); + if let Some(var_4630) = &input.service_id { scope_4629.string(var_4630); } #[allow(unused_mut)] - let mut scope_4631 = writer.prefix("RemovePrivateDnsName"); - if let Some(var_4632) = &input.remove_private_dns_name { - scope_4631.boolean(*var_4632); + let mut scope_4631 = writer.prefix("PrivateDnsName"); + if let Some(var_4632) = &input.private_dns_name { + scope_4631.string(var_4632); } #[allow(unused_mut)] - let mut scope_4633 = writer.prefix("AcceptanceRequired"); - if let Some(var_4634) = &input.acceptance_required { + let mut scope_4633 = writer.prefix("RemovePrivateDnsName"); + if let Some(var_4634) = &input.remove_private_dns_name { scope_4633.boolean(*var_4634); } #[allow(unused_mut)] - let mut scope_4635 = writer.prefix("AddNetworkLoadBalancerArn"); - if let Some(var_4636) = &input.add_network_load_balancer_arns { - let mut list_4638 = scope_4635.start_list(true, Some("item")); - for item_4637 in var_4636 { + let mut scope_4635 = writer.prefix("AcceptanceRequired"); + if let Some(var_4636) = &input.acceptance_required { + scope_4635.boolean(*var_4636); + } + #[allow(unused_mut)] + let mut scope_4637 = writer.prefix("AddNetworkLoadBalancerArn"); + if let Some(var_4638) = &input.add_network_load_balancer_arns { + let mut list_4640 = scope_4637.start_list(true, Some("item")); + for item_4639 in var_4638 { #[allow(unused_mut)] - let mut entry_4639 = list_4638.entry(); - entry_4639.string(item_4637); + let mut entry_4641 = list_4640.entry(); + entry_4641.string(item_4639); } - list_4638.finish(); + list_4640.finish(); } #[allow(unused_mut)] - let mut scope_4640 = writer.prefix("RemoveNetworkLoadBalancerArn"); - if let Some(var_4641) = &input.remove_network_load_balancer_arns { - let mut list_4643 = scope_4640.start_list(true, Some("item")); - for item_4642 in var_4641 { + let mut scope_4642 = writer.prefix("RemoveNetworkLoadBalancerArn"); + if let Some(var_4643) = &input.remove_network_load_balancer_arns { + let mut list_4645 = scope_4642.start_list(true, Some("item")); + for item_4644 in var_4643 { #[allow(unused_mut)] - let mut entry_4644 = list_4643.entry(); - entry_4644.string(item_4642); + let mut entry_4646 = list_4645.entry(); + entry_4646.string(item_4644); } - list_4643.finish(); + list_4645.finish(); } #[allow(unused_mut)] - let mut scope_4645 = writer.prefix("AddGatewayLoadBalancerArn"); - if let Some(var_4646) = &input.add_gateway_load_balancer_arns { - let mut list_4648 = scope_4645.start_list(true, Some("item")); - for item_4647 in var_4646 { + let mut scope_4647 = writer.prefix("AddGatewayLoadBalancerArn"); + if let Some(var_4648) = &input.add_gateway_load_balancer_arns { + let mut list_4650 = scope_4647.start_list(true, Some("item")); + for item_4649 in var_4648 { #[allow(unused_mut)] - let mut entry_4649 = list_4648.entry(); - entry_4649.string(item_4647); + let mut entry_4651 = list_4650.entry(); + entry_4651.string(item_4649); } - list_4648.finish(); + list_4650.finish(); } #[allow(unused_mut)] - let mut scope_4650 = writer.prefix("RemoveGatewayLoadBalancerArn"); - if let Some(var_4651) = &input.remove_gateway_load_balancer_arns { - let mut list_4653 = scope_4650.start_list(true, Some("item")); - for item_4652 in var_4651 { + let mut scope_4652 = writer.prefix("RemoveGatewayLoadBalancerArn"); + if let Some(var_4653) = &input.remove_gateway_load_balancer_arns { + let mut list_4655 = scope_4652.start_list(true, Some("item")); + for item_4654 in var_4653 { #[allow(unused_mut)] - let mut entry_4654 = list_4653.entry(); - entry_4654.string(item_4652); + let mut entry_4656 = list_4655.entry(); + entry_4656.string(item_4654); } - list_4653.finish(); + list_4655.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16121,36 +16126,36 @@ pub fn serialize_operation_modify_vpc_endpoint_service_permissions( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4655 = writer.prefix("DryRun"); - if let Some(var_4656) = &input.dry_run { - scope_4655.boolean(*var_4656); + let mut scope_4657 = writer.prefix("DryRun"); + if let Some(var_4658) = &input.dry_run { + scope_4657.boolean(*var_4658); } #[allow(unused_mut)] - let mut scope_4657 = writer.prefix("ServiceId"); - if let Some(var_4658) = &input.service_id { - scope_4657.string(var_4658); + let mut scope_4659 = writer.prefix("ServiceId"); + if let Some(var_4660) = &input.service_id { + scope_4659.string(var_4660); } #[allow(unused_mut)] - let mut scope_4659 = writer.prefix("AddAllowedPrincipals"); - if let Some(var_4660) = &input.add_allowed_principals { - let mut list_4662 = scope_4659.start_list(true, Some("item")); - for item_4661 in var_4660 { + let mut scope_4661 = writer.prefix("AddAllowedPrincipals"); + if let Some(var_4662) = &input.add_allowed_principals { + let mut list_4664 = scope_4661.start_list(true, Some("item")); + for item_4663 in var_4662 { #[allow(unused_mut)] - let mut entry_4663 = list_4662.entry(); - entry_4663.string(item_4661); + let mut entry_4665 = list_4664.entry(); + entry_4665.string(item_4663); } - list_4662.finish(); + list_4664.finish(); } #[allow(unused_mut)] - let mut scope_4664 = writer.prefix("RemoveAllowedPrincipals"); - if let Some(var_4665) = &input.remove_allowed_principals { - let mut list_4667 = scope_4664.start_list(true, Some("item")); - for item_4666 in var_4665 { + let mut scope_4666 = writer.prefix("RemoveAllowedPrincipals"); + if let Some(var_4667) = &input.remove_allowed_principals { + let mut list_4669 = scope_4666.start_list(true, Some("item")); + for item_4668 in var_4667 { #[allow(unused_mut)] - let mut entry_4668 = list_4667.entry(); - entry_4668.string(item_4666); + let mut entry_4670 = list_4669.entry(); + entry_4670.string(item_4668); } - list_4667.finish(); + list_4669.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16164,28 +16169,28 @@ pub fn serialize_operation_modify_vpc_peering_connection_options( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpcPeeringConnectionOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4669 = writer.prefix("AccepterPeeringConnectionOptions"); - if let Some(var_4670) = &input.accepter_peering_connection_options { + let mut scope_4671 = writer.prefix("AccepterPeeringConnectionOptions"); + if let Some(var_4672) = &input.accepter_peering_connection_options { crate::query_ser::serialize_structure_peering_connection_options_request( - scope_4669, var_4670, + scope_4671, var_4672, ); } #[allow(unused_mut)] - let mut scope_4671 = writer.prefix("DryRun"); - if let Some(var_4672) = &input.dry_run { - scope_4671.boolean(*var_4672); + let mut scope_4673 = writer.prefix("DryRun"); + if let Some(var_4674) = &input.dry_run { + scope_4673.boolean(*var_4674); } #[allow(unused_mut)] - let mut scope_4673 = writer.prefix("RequesterPeeringConnectionOptions"); - if let Some(var_4674) = &input.requester_peering_connection_options { + let mut scope_4675 = writer.prefix("RequesterPeeringConnectionOptions"); + if let Some(var_4676) = &input.requester_peering_connection_options { crate::query_ser::serialize_structure_peering_connection_options_request( - scope_4673, var_4674, + scope_4675, var_4676, ); } #[allow(unused_mut)] - let mut scope_4675 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_4676) = &input.vpc_peering_connection_id { - scope_4675.string(var_4676); + let mut scope_4677 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_4678) = &input.vpc_peering_connection_id { + scope_4677.string(var_4678); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16198,19 +16203,19 @@ pub fn serialize_operation_modify_vpc_tenancy( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpcTenancy", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4677 = writer.prefix("VpcId"); - if let Some(var_4678) = &input.vpc_id { - scope_4677.string(var_4678); + let mut scope_4679 = writer.prefix("VpcId"); + if let Some(var_4680) = &input.vpc_id { + scope_4679.string(var_4680); } #[allow(unused_mut)] - let mut scope_4679 = writer.prefix("InstanceTenancy"); - if let Some(var_4680) = &input.instance_tenancy { - scope_4679.string(var_4680.as_str()); + let mut scope_4681 = writer.prefix("InstanceTenancy"); + if let Some(var_4682) = &input.instance_tenancy { + scope_4681.string(var_4682.as_str()); } #[allow(unused_mut)] - let mut scope_4681 = writer.prefix("DryRun"); - if let Some(var_4682) = &input.dry_run { - scope_4681.boolean(*var_4682); + let mut scope_4683 = writer.prefix("DryRun"); + if let Some(var_4684) = &input.dry_run { + scope_4683.boolean(*var_4684); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16223,29 +16228,29 @@ pub fn serialize_operation_modify_vpn_connection( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpnConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4683 = writer.prefix("VpnConnectionId"); - if let Some(var_4684) = &input.vpn_connection_id { - scope_4683.string(var_4684); - } - #[allow(unused_mut)] - let mut scope_4685 = writer.prefix("TransitGatewayId"); - if let Some(var_4686) = &input.transit_gateway_id { + let mut scope_4685 = writer.prefix("VpnConnectionId"); + if let Some(var_4686) = &input.vpn_connection_id { scope_4685.string(var_4686); } #[allow(unused_mut)] - let mut scope_4687 = writer.prefix("CustomerGatewayId"); - if let Some(var_4688) = &input.customer_gateway_id { + let mut scope_4687 = writer.prefix("TransitGatewayId"); + if let Some(var_4688) = &input.transit_gateway_id { scope_4687.string(var_4688); } #[allow(unused_mut)] - let mut scope_4689 = writer.prefix("VpnGatewayId"); - if let Some(var_4690) = &input.vpn_gateway_id { + let mut scope_4689 = writer.prefix("CustomerGatewayId"); + if let Some(var_4690) = &input.customer_gateway_id { scope_4689.string(var_4690); } #[allow(unused_mut)] - let mut scope_4691 = writer.prefix("DryRun"); - if let Some(var_4692) = &input.dry_run { - scope_4691.boolean(*var_4692); + let mut scope_4691 = writer.prefix("VpnGatewayId"); + if let Some(var_4692) = &input.vpn_gateway_id { + scope_4691.string(var_4692); + } + #[allow(unused_mut)] + let mut scope_4693 = writer.prefix("DryRun"); + if let Some(var_4694) = &input.dry_run { + scope_4693.boolean(*var_4694); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16259,34 +16264,34 @@ pub fn serialize_operation_modify_vpn_connection_options( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpnConnectionOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4693 = writer.prefix("VpnConnectionId"); - if let Some(var_4694) = &input.vpn_connection_id { - scope_4693.string(var_4694); - } - #[allow(unused_mut)] - let mut scope_4695 = writer.prefix("LocalIpv4NetworkCidr"); - if let Some(var_4696) = &input.local_ipv4_network_cidr { + let mut scope_4695 = writer.prefix("VpnConnectionId"); + if let Some(var_4696) = &input.vpn_connection_id { scope_4695.string(var_4696); } #[allow(unused_mut)] - let mut scope_4697 = writer.prefix("RemoteIpv4NetworkCidr"); - if let Some(var_4698) = &input.remote_ipv4_network_cidr { + let mut scope_4697 = writer.prefix("LocalIpv4NetworkCidr"); + if let Some(var_4698) = &input.local_ipv4_network_cidr { scope_4697.string(var_4698); } #[allow(unused_mut)] - let mut scope_4699 = writer.prefix("LocalIpv6NetworkCidr"); - if let Some(var_4700) = &input.local_ipv6_network_cidr { + let mut scope_4699 = writer.prefix("RemoteIpv4NetworkCidr"); + if let Some(var_4700) = &input.remote_ipv4_network_cidr { scope_4699.string(var_4700); } #[allow(unused_mut)] - let mut scope_4701 = writer.prefix("RemoteIpv6NetworkCidr"); - if let Some(var_4702) = &input.remote_ipv6_network_cidr { + let mut scope_4701 = writer.prefix("LocalIpv6NetworkCidr"); + if let Some(var_4702) = &input.local_ipv6_network_cidr { scope_4701.string(var_4702); } #[allow(unused_mut)] - let mut scope_4703 = writer.prefix("DryRun"); - if let Some(var_4704) = &input.dry_run { - scope_4703.boolean(*var_4704); + let mut scope_4703 = writer.prefix("RemoteIpv6NetworkCidr"); + if let Some(var_4704) = &input.remote_ipv6_network_cidr { + scope_4703.string(var_4704); + } + #[allow(unused_mut)] + let mut scope_4705 = writer.prefix("DryRun"); + if let Some(var_4706) = &input.dry_run { + scope_4705.boolean(*var_4706); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16300,19 +16305,19 @@ pub fn serialize_operation_modify_vpn_tunnel_certificate( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpnTunnelCertificate", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4705 = writer.prefix("VpnConnectionId"); - if let Some(var_4706) = &input.vpn_connection_id { - scope_4705.string(var_4706); + let mut scope_4707 = writer.prefix("VpnConnectionId"); + if let Some(var_4708) = &input.vpn_connection_id { + scope_4707.string(var_4708); } #[allow(unused_mut)] - let mut scope_4707 = writer.prefix("VpnTunnelOutsideIpAddress"); - if let Some(var_4708) = &input.vpn_tunnel_outside_ip_address { - scope_4707.string(var_4708); + let mut scope_4709 = writer.prefix("VpnTunnelOutsideIpAddress"); + if let Some(var_4710) = &input.vpn_tunnel_outside_ip_address { + scope_4709.string(var_4710); } #[allow(unused_mut)] - let mut scope_4709 = writer.prefix("DryRun"); - if let Some(var_4710) = &input.dry_run { - scope_4709.boolean(*var_4710); + let mut scope_4711 = writer.prefix("DryRun"); + if let Some(var_4712) = &input.dry_run { + scope_4711.boolean(*var_4712); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16326,26 +16331,26 @@ pub fn serialize_operation_modify_vpn_tunnel_options( let mut writer = smithy_query::QueryWriter::new(&mut out, "ModifyVpnTunnelOptions", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4711 = writer.prefix("VpnConnectionId"); - if let Some(var_4712) = &input.vpn_connection_id { - scope_4711.string(var_4712); + let mut scope_4713 = writer.prefix("VpnConnectionId"); + if let Some(var_4714) = &input.vpn_connection_id { + scope_4713.string(var_4714); } #[allow(unused_mut)] - let mut scope_4713 = writer.prefix("VpnTunnelOutsideIpAddress"); - if let Some(var_4714) = &input.vpn_tunnel_outside_ip_address { - scope_4713.string(var_4714); + let mut scope_4715 = writer.prefix("VpnTunnelOutsideIpAddress"); + if let Some(var_4716) = &input.vpn_tunnel_outside_ip_address { + scope_4715.string(var_4716); } #[allow(unused_mut)] - let mut scope_4715 = writer.prefix("TunnelOptions"); - if let Some(var_4716) = &input.tunnel_options { + let mut scope_4717 = writer.prefix("TunnelOptions"); + if let Some(var_4718) = &input.tunnel_options { crate::query_ser::serialize_structure_modify_vpn_tunnel_options_specification( - scope_4715, var_4716, + scope_4717, var_4718, ); } #[allow(unused_mut)] - let mut scope_4717 = writer.prefix("DryRun"); - if let Some(var_4718) = &input.dry_run { - scope_4717.boolean(*var_4718); + let mut scope_4719 = writer.prefix("DryRun"); + if let Some(var_4720) = &input.dry_run { + scope_4719.boolean(*var_4720); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16358,20 +16363,20 @@ pub fn serialize_operation_monitor_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "MonitorInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4719 = writer.prefix("InstanceId"); - if let Some(var_4720) = &input.instance_ids { - let mut list_4722 = scope_4719.start_list(true, Some("InstanceId")); - for item_4721 in var_4720 { + let mut scope_4721 = writer.prefix("InstanceId"); + if let Some(var_4722) = &input.instance_ids { + let mut list_4724 = scope_4721.start_list(true, Some("InstanceId")); + for item_4723 in var_4722 { #[allow(unused_mut)] - let mut entry_4723 = list_4722.entry(); - entry_4723.string(item_4721); + let mut entry_4725 = list_4724.entry(); + entry_4725.string(item_4723); } - list_4722.finish(); + list_4724.finish(); } #[allow(unused_mut)] - let mut scope_4724 = writer.prefix("DryRun"); - if let Some(var_4725) = &input.dry_run { - scope_4724.boolean(*var_4725); + let mut scope_4726 = writer.prefix("DryRun"); + if let Some(var_4727) = &input.dry_run { + scope_4726.boolean(*var_4727); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16384,14 +16389,14 @@ pub fn serialize_operation_move_address_to_vpc( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "MoveAddressToVpc", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4726 = writer.prefix("DryRun"); - if let Some(var_4727) = &input.dry_run { - scope_4726.boolean(*var_4727); + let mut scope_4728 = writer.prefix("DryRun"); + if let Some(var_4729) = &input.dry_run { + scope_4728.boolean(*var_4729); } #[allow(unused_mut)] - let mut scope_4728 = writer.prefix("PublicIp"); - if let Some(var_4729) = &input.public_ip { - scope_4728.string(var_4729); + let mut scope_4730 = writer.prefix("PublicIp"); + if let Some(var_4731) = &input.public_ip { + scope_4730.string(var_4731); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16404,45 +16409,45 @@ pub fn serialize_operation_provision_byoip_cidr( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ProvisionByoipCidr", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4730 = writer.prefix("Cidr"); - if let Some(var_4731) = &input.cidr { - scope_4730.string(var_4731); + let mut scope_4732 = writer.prefix("Cidr"); + if let Some(var_4733) = &input.cidr { + scope_4732.string(var_4733); } #[allow(unused_mut)] - let mut scope_4732 = writer.prefix("CidrAuthorizationContext"); - if let Some(var_4733) = &input.cidr_authorization_context { - crate::query_ser::serialize_structure_cidr_authorization_context(scope_4732, var_4733); + let mut scope_4734 = writer.prefix("CidrAuthorizationContext"); + if let Some(var_4735) = &input.cidr_authorization_context { + crate::query_ser::serialize_structure_cidr_authorization_context(scope_4734, var_4735); } #[allow(unused_mut)] - let mut scope_4734 = writer.prefix("PubliclyAdvertisable"); - if let Some(var_4735) = &input.publicly_advertisable { - scope_4734.boolean(*var_4735); + let mut scope_4736 = writer.prefix("PubliclyAdvertisable"); + if let Some(var_4737) = &input.publicly_advertisable { + scope_4736.boolean(*var_4737); } #[allow(unused_mut)] - let mut scope_4736 = writer.prefix("Description"); - if let Some(var_4737) = &input.description { - scope_4736.string(var_4737); + let mut scope_4738 = writer.prefix("Description"); + if let Some(var_4739) = &input.description { + scope_4738.string(var_4739); } #[allow(unused_mut)] - let mut scope_4738 = writer.prefix("DryRun"); - if let Some(var_4739) = &input.dry_run { - scope_4738.boolean(*var_4739); + let mut scope_4740 = writer.prefix("DryRun"); + if let Some(var_4741) = &input.dry_run { + scope_4740.boolean(*var_4741); } #[allow(unused_mut)] - let mut scope_4740 = writer.prefix("PoolTagSpecification"); - if let Some(var_4741) = &input.pool_tag_specifications { - let mut list_4743 = scope_4740.start_list(true, Some("item")); - for item_4742 in var_4741 { + let mut scope_4742 = writer.prefix("PoolTagSpecification"); + if let Some(var_4743) = &input.pool_tag_specifications { + let mut list_4745 = scope_4742.start_list(true, Some("item")); + for item_4744 in var_4743 { #[allow(unused_mut)] - let mut entry_4744 = list_4743.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_4744, item_4742); + let mut entry_4746 = list_4745.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_4746, item_4744); } - list_4743.finish(); + list_4745.finish(); } #[allow(unused_mut)] - let mut scope_4745 = writer.prefix("MultiRegion"); - if let Some(var_4746) = &input.multi_region { - scope_4745.boolean(*var_4746); + let mut scope_4747 = writer.prefix("MultiRegion"); + if let Some(var_4748) = &input.multi_region { + scope_4747.boolean(*var_4748); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16456,46 +16461,46 @@ pub fn serialize_operation_purchase_host_reservation( let mut writer = smithy_query::QueryWriter::new(&mut out, "PurchaseHostReservation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4747 = writer.prefix("ClientToken"); - if let Some(var_4748) = &input.client_token { - scope_4747.string(var_4748); + let mut scope_4749 = writer.prefix("ClientToken"); + if let Some(var_4750) = &input.client_token { + scope_4749.string(var_4750); } #[allow(unused_mut)] - let mut scope_4749 = writer.prefix("CurrencyCode"); - if let Some(var_4750) = &input.currency_code { - scope_4749.string(var_4750.as_str()); + let mut scope_4751 = writer.prefix("CurrencyCode"); + if let Some(var_4752) = &input.currency_code { + scope_4751.string(var_4752.as_str()); } #[allow(unused_mut)] - let mut scope_4751 = writer.prefix("HostIdSet"); - if let Some(var_4752) = &input.host_id_set { - let mut list_4754 = scope_4751.start_list(true, Some("item")); - for item_4753 in var_4752 { + let mut scope_4753 = writer.prefix("HostIdSet"); + if let Some(var_4754) = &input.host_id_set { + let mut list_4756 = scope_4753.start_list(true, Some("item")); + for item_4755 in var_4754 { #[allow(unused_mut)] - let mut entry_4755 = list_4754.entry(); - entry_4755.string(item_4753); + let mut entry_4757 = list_4756.entry(); + entry_4757.string(item_4755); } - list_4754.finish(); + list_4756.finish(); } #[allow(unused_mut)] - let mut scope_4756 = writer.prefix("LimitPrice"); - if let Some(var_4757) = &input.limit_price { - scope_4756.string(var_4757); + let mut scope_4758 = writer.prefix("LimitPrice"); + if let Some(var_4759) = &input.limit_price { + scope_4758.string(var_4759); } #[allow(unused_mut)] - let mut scope_4758 = writer.prefix("OfferingId"); - if let Some(var_4759) = &input.offering_id { - scope_4758.string(var_4759); + let mut scope_4760 = writer.prefix("OfferingId"); + if let Some(var_4761) = &input.offering_id { + scope_4760.string(var_4761); } #[allow(unused_mut)] - let mut scope_4760 = writer.prefix("TagSpecification"); - if let Some(var_4761) = &input.tag_specifications { - let mut list_4763 = scope_4760.start_list(true, Some("item")); - for item_4762 in var_4761 { + let mut scope_4762 = writer.prefix("TagSpecification"); + if let Some(var_4763) = &input.tag_specifications { + let mut list_4765 = scope_4762.start_list(true, Some("item")); + for item_4764 in var_4763 { #[allow(unused_mut)] - let mut entry_4764 = list_4763.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_4764, item_4762); + let mut entry_4766 = list_4765.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_4766, item_4764); } - list_4763.finish(); + list_4765.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16509,32 +16514,32 @@ pub fn serialize_operation_purchase_reserved_instances_offering( let mut writer = smithy_query::QueryWriter::new(&mut out, "PurchaseReservedInstancesOffering", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4765 = writer.prefix("InstanceCount"); - if let Some(var_4766) = &input.instance_count { - scope_4765.number( + let mut scope_4767 = writer.prefix("InstanceCount"); + if let Some(var_4768) = &input.instance_count { + scope_4767.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4766).into()), + smithy_types::Number::NegInt((*var_4768).into()), ); } #[allow(unused_mut)] - let mut scope_4767 = writer.prefix("ReservedInstancesOfferingId"); - if let Some(var_4768) = &input.reserved_instances_offering_id { - scope_4767.string(var_4768); + let mut scope_4769 = writer.prefix("ReservedInstancesOfferingId"); + if let Some(var_4770) = &input.reserved_instances_offering_id { + scope_4769.string(var_4770); } #[allow(unused_mut)] - let mut scope_4769 = writer.prefix("DryRun"); - if let Some(var_4770) = &input.dry_run { - scope_4769.boolean(*var_4770); + let mut scope_4771 = writer.prefix("DryRun"); + if let Some(var_4772) = &input.dry_run { + scope_4771.boolean(*var_4772); } #[allow(unused_mut)] - let mut scope_4771 = writer.prefix("LimitPrice"); - if let Some(var_4772) = &input.limit_price { - crate::query_ser::serialize_structure_reserved_instance_limit_price(scope_4771, var_4772); + let mut scope_4773 = writer.prefix("LimitPrice"); + if let Some(var_4774) = &input.limit_price { + crate::query_ser::serialize_structure_reserved_instance_limit_price(scope_4773, var_4774); } #[allow(unused_mut)] - let mut scope_4773 = writer.prefix("PurchaseTime"); - if let Some(var_4774) = &input.purchase_time { - scope_4773.instant(var_4774, smithy_types::instant::Format::DateTime); + let mut scope_4775 = writer.prefix("PurchaseTime"); + if let Some(var_4776) = &input.purchase_time { + scope_4775.instant(var_4776, smithy_types::instant::Format::DateTime); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16548,25 +16553,25 @@ pub fn serialize_operation_purchase_scheduled_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "PurchaseScheduledInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4775 = writer.prefix("ClientToken"); - if let Some(var_4776) = &input.client_token { - scope_4775.string(var_4776); + let mut scope_4777 = writer.prefix("ClientToken"); + if let Some(var_4778) = &input.client_token { + scope_4777.string(var_4778); } #[allow(unused_mut)] - let mut scope_4777 = writer.prefix("DryRun"); - if let Some(var_4778) = &input.dry_run { - scope_4777.boolean(*var_4778); + let mut scope_4779 = writer.prefix("DryRun"); + if let Some(var_4780) = &input.dry_run { + scope_4779.boolean(*var_4780); } #[allow(unused_mut)] - let mut scope_4779 = writer.prefix("PurchaseRequest"); - if let Some(var_4780) = &input.purchase_requests { - let mut list_4782 = scope_4779.start_list(true, Some("PurchaseRequest")); - for item_4781 in var_4780 { + let mut scope_4781 = writer.prefix("PurchaseRequest"); + if let Some(var_4782) = &input.purchase_requests { + let mut list_4784 = scope_4781.start_list(true, Some("PurchaseRequest")); + for item_4783 in var_4782 { #[allow(unused_mut)] - let mut entry_4783 = list_4782.entry(); - crate::query_ser::serialize_structure_purchase_request(entry_4783, item_4781); + let mut entry_4785 = list_4784.entry(); + crate::query_ser::serialize_structure_purchase_request(entry_4785, item_4783); } - list_4782.finish(); + list_4784.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16579,20 +16584,20 @@ pub fn serialize_operation_reboot_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "RebootInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4784 = writer.prefix("InstanceId"); - if let Some(var_4785) = &input.instance_ids { - let mut list_4787 = scope_4784.start_list(true, Some("InstanceId")); - for item_4786 in var_4785 { + let mut scope_4786 = writer.prefix("InstanceId"); + if let Some(var_4787) = &input.instance_ids { + let mut list_4789 = scope_4786.start_list(true, Some("InstanceId")); + for item_4788 in var_4787 { #[allow(unused_mut)] - let mut entry_4788 = list_4787.entry(); - entry_4788.string(item_4786); + let mut entry_4790 = list_4789.entry(); + entry_4790.string(item_4788); } - list_4787.finish(); + list_4789.finish(); } #[allow(unused_mut)] - let mut scope_4789 = writer.prefix("DryRun"); - if let Some(var_4790) = &input.dry_run { - scope_4789.boolean(*var_4790); + let mut scope_4791 = writer.prefix("DryRun"); + if let Some(var_4792) = &input.dry_run { + scope_4791.boolean(*var_4792); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16605,86 +16610,86 @@ pub fn serialize_operation_register_image( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "RegisterImage", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4791 = writer.prefix("ImageLocation"); - if let Some(var_4792) = &input.image_location { - scope_4791.string(var_4792); + let mut scope_4793 = writer.prefix("ImageLocation"); + if let Some(var_4794) = &input.image_location { + scope_4793.string(var_4794); } #[allow(unused_mut)] - let mut scope_4793 = writer.prefix("Architecture"); - if let Some(var_4794) = &input.architecture { - scope_4793.string(var_4794.as_str()); + let mut scope_4795 = writer.prefix("Architecture"); + if let Some(var_4796) = &input.architecture { + scope_4795.string(var_4796.as_str()); } #[allow(unused_mut)] - let mut scope_4795 = writer.prefix("BlockDeviceMapping"); - if let Some(var_4796) = &input.block_device_mappings { - let mut list_4798 = scope_4795.start_list(true, Some("BlockDeviceMapping")); - for item_4797 in var_4796 { + let mut scope_4797 = writer.prefix("BlockDeviceMapping"); + if let Some(var_4798) = &input.block_device_mappings { + let mut list_4800 = scope_4797.start_list(true, Some("BlockDeviceMapping")); + for item_4799 in var_4798 { #[allow(unused_mut)] - let mut entry_4799 = list_4798.entry(); - crate::query_ser::serialize_structure_block_device_mapping(entry_4799, item_4797); + let mut entry_4801 = list_4800.entry(); + crate::query_ser::serialize_structure_block_device_mapping(entry_4801, item_4799); } - list_4798.finish(); - } - #[allow(unused_mut)] - let mut scope_4800 = writer.prefix("Description"); - if let Some(var_4801) = &input.description { - scope_4800.string(var_4801); + list_4800.finish(); } #[allow(unused_mut)] - let mut scope_4802 = writer.prefix("DryRun"); - if let Some(var_4803) = &input.dry_run { - scope_4802.boolean(*var_4803); + let mut scope_4802 = writer.prefix("Description"); + if let Some(var_4803) = &input.description { + scope_4802.string(var_4803); } #[allow(unused_mut)] - let mut scope_4804 = writer.prefix("EnaSupport"); - if let Some(var_4805) = &input.ena_support { + let mut scope_4804 = writer.prefix("DryRun"); + if let Some(var_4805) = &input.dry_run { scope_4804.boolean(*var_4805); } #[allow(unused_mut)] - let mut scope_4806 = writer.prefix("KernelId"); - if let Some(var_4807) = &input.kernel_id { - scope_4806.string(var_4807); + let mut scope_4806 = writer.prefix("EnaSupport"); + if let Some(var_4807) = &input.ena_support { + scope_4806.boolean(*var_4807); } #[allow(unused_mut)] - let mut scope_4808 = writer.prefix("Name"); - if let Some(var_4809) = &input.name { + let mut scope_4808 = writer.prefix("KernelId"); + if let Some(var_4809) = &input.kernel_id { scope_4808.string(var_4809); } #[allow(unused_mut)] - let mut scope_4810 = writer.prefix("BillingProduct"); - if let Some(var_4811) = &input.billing_products { - let mut list_4813 = scope_4810.start_list(true, Some("item")); - for item_4812 in var_4811 { - #[allow(unused_mut)] - let mut entry_4814 = list_4813.entry(); - entry_4814.string(item_4812); - } - list_4813.finish(); + let mut scope_4810 = writer.prefix("Name"); + if let Some(var_4811) = &input.name { + scope_4810.string(var_4811); } #[allow(unused_mut)] - let mut scope_4815 = writer.prefix("RamdiskId"); - if let Some(var_4816) = &input.ramdisk_id { - scope_4815.string(var_4816); + let mut scope_4812 = writer.prefix("BillingProduct"); + if let Some(var_4813) = &input.billing_products { + let mut list_4815 = scope_4812.start_list(true, Some("item")); + for item_4814 in var_4813 { + #[allow(unused_mut)] + let mut entry_4816 = list_4815.entry(); + entry_4816.string(item_4814); + } + list_4815.finish(); } #[allow(unused_mut)] - let mut scope_4817 = writer.prefix("RootDeviceName"); - if let Some(var_4818) = &input.root_device_name { + let mut scope_4817 = writer.prefix("RamdiskId"); + if let Some(var_4818) = &input.ramdisk_id { scope_4817.string(var_4818); } #[allow(unused_mut)] - let mut scope_4819 = writer.prefix("SriovNetSupport"); - if let Some(var_4820) = &input.sriov_net_support { + let mut scope_4819 = writer.prefix("RootDeviceName"); + if let Some(var_4820) = &input.root_device_name { scope_4819.string(var_4820); } #[allow(unused_mut)] - let mut scope_4821 = writer.prefix("VirtualizationType"); - if let Some(var_4822) = &input.virtualization_type { + let mut scope_4821 = writer.prefix("SriovNetSupport"); + if let Some(var_4822) = &input.sriov_net_support { scope_4821.string(var_4822); } #[allow(unused_mut)] - let mut scope_4823 = writer.prefix("BootMode"); - if let Some(var_4824) = &input.boot_mode { - scope_4823.string(var_4824.as_str()); + let mut scope_4823 = writer.prefix("VirtualizationType"); + if let Some(var_4824) = &input.virtualization_type { + scope_4823.string(var_4824); + } + #[allow(unused_mut)] + let mut scope_4825 = writer.prefix("BootMode"); + if let Some(var_4826) = &input.boot_mode { + scope_4825.string(var_4826.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16701,15 +16706,15 @@ pub fn serialize_operation_register_instance_event_notification_attributes( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4825 = writer.prefix("DryRun"); - if let Some(var_4826) = &input.dry_run { - scope_4825.boolean(*var_4826); + let mut scope_4827 = writer.prefix("DryRun"); + if let Some(var_4828) = &input.dry_run { + scope_4827.boolean(*var_4828); } #[allow(unused_mut)] - let mut scope_4827 = writer.prefix("InstanceTagAttribute"); - if let Some(var_4828) = &input.instance_tag_attribute { + let mut scope_4829 = writer.prefix("InstanceTagAttribute"); + if let Some(var_4830) = &input.instance_tag_attribute { crate::query_ser::serialize_structure_register_instance_tag_attribute_request( - scope_4827, var_4828, + scope_4829, var_4830, ); } writer.finish(); @@ -16727,30 +16732,30 @@ pub fn serialize_operation_register_transit_gateway_multicast_group_members( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4829 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_4830) = &input.transit_gateway_multicast_domain_id { - scope_4829.string(var_4830); + let mut scope_4831 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_4832) = &input.transit_gateway_multicast_domain_id { + scope_4831.string(var_4832); } #[allow(unused_mut)] - let mut scope_4831 = writer.prefix("GroupIpAddress"); - if let Some(var_4832) = &input.group_ip_address { - scope_4831.string(var_4832); + let mut scope_4833 = writer.prefix("GroupIpAddress"); + if let Some(var_4834) = &input.group_ip_address { + scope_4833.string(var_4834); } #[allow(unused_mut)] - let mut scope_4833 = writer.prefix("NetworkInterfaceIds"); - if let Some(var_4834) = &input.network_interface_ids { - let mut list_4836 = scope_4833.start_list(true, Some("item")); - for item_4835 in var_4834 { + let mut scope_4835 = writer.prefix("NetworkInterfaceIds"); + if let Some(var_4836) = &input.network_interface_ids { + let mut list_4838 = scope_4835.start_list(true, Some("item")); + for item_4837 in var_4836 { #[allow(unused_mut)] - let mut entry_4837 = list_4836.entry(); - entry_4837.string(item_4835); + let mut entry_4839 = list_4838.entry(); + entry_4839.string(item_4837); } - list_4836.finish(); + list_4838.finish(); } #[allow(unused_mut)] - let mut scope_4838 = writer.prefix("DryRun"); - if let Some(var_4839) = &input.dry_run { - scope_4838.boolean(*var_4839); + let mut scope_4840 = writer.prefix("DryRun"); + if let Some(var_4841) = &input.dry_run { + scope_4840.boolean(*var_4841); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16767,30 +16772,30 @@ pub fn serialize_operation_register_transit_gateway_multicast_group_sources( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4840 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_4841) = &input.transit_gateway_multicast_domain_id { - scope_4840.string(var_4841); + let mut scope_4842 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_4843) = &input.transit_gateway_multicast_domain_id { + scope_4842.string(var_4843); } #[allow(unused_mut)] - let mut scope_4842 = writer.prefix("GroupIpAddress"); - if let Some(var_4843) = &input.group_ip_address { - scope_4842.string(var_4843); + let mut scope_4844 = writer.prefix("GroupIpAddress"); + if let Some(var_4845) = &input.group_ip_address { + scope_4844.string(var_4845); } #[allow(unused_mut)] - let mut scope_4844 = writer.prefix("NetworkInterfaceIds"); - if let Some(var_4845) = &input.network_interface_ids { - let mut list_4847 = scope_4844.start_list(true, Some("item")); - for item_4846 in var_4845 { + let mut scope_4846 = writer.prefix("NetworkInterfaceIds"); + if let Some(var_4847) = &input.network_interface_ids { + let mut list_4849 = scope_4846.start_list(true, Some("item")); + for item_4848 in var_4847 { #[allow(unused_mut)] - let mut entry_4848 = list_4847.entry(); - entry_4848.string(item_4846); + let mut entry_4850 = list_4849.entry(); + entry_4850.string(item_4848); } - list_4847.finish(); + list_4849.finish(); } #[allow(unused_mut)] - let mut scope_4849 = writer.prefix("DryRun"); - if let Some(var_4850) = &input.dry_run { - scope_4849.boolean(*var_4850); + let mut scope_4851 = writer.prefix("DryRun"); + if let Some(var_4852) = &input.dry_run { + scope_4851.boolean(*var_4852); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16807,30 +16812,30 @@ pub fn serialize_operation_reject_transit_gateway_multicast_domain_associations( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4851 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_4852) = &input.transit_gateway_multicast_domain_id { - scope_4851.string(var_4852); + let mut scope_4853 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_4854) = &input.transit_gateway_multicast_domain_id { + scope_4853.string(var_4854); } #[allow(unused_mut)] - let mut scope_4853 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4854) = &input.transit_gateway_attachment_id { - scope_4853.string(var_4854); + let mut scope_4855 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4856) = &input.transit_gateway_attachment_id { + scope_4855.string(var_4856); } #[allow(unused_mut)] - let mut scope_4855 = writer.prefix("SubnetIds"); - if let Some(var_4856) = &input.subnet_ids { - let mut list_4858 = scope_4855.start_list(true, Some("item")); - for item_4857 in var_4856 { + let mut scope_4857 = writer.prefix("SubnetIds"); + if let Some(var_4858) = &input.subnet_ids { + let mut list_4860 = scope_4857.start_list(true, Some("item")); + for item_4859 in var_4858 { #[allow(unused_mut)] - let mut entry_4859 = list_4858.entry(); - entry_4859.string(item_4857); + let mut entry_4861 = list_4860.entry(); + entry_4861.string(item_4859); } - list_4858.finish(); + list_4860.finish(); } #[allow(unused_mut)] - let mut scope_4860 = writer.prefix("DryRun"); - if let Some(var_4861) = &input.dry_run { - scope_4860.boolean(*var_4861); + let mut scope_4862 = writer.prefix("DryRun"); + if let Some(var_4863) = &input.dry_run { + scope_4862.boolean(*var_4863); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16847,14 +16852,14 @@ pub fn serialize_operation_reject_transit_gateway_peering_attachment( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4862 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4863) = &input.transit_gateway_attachment_id { - scope_4862.string(var_4863); + let mut scope_4864 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4865) = &input.transit_gateway_attachment_id { + scope_4864.string(var_4865); } #[allow(unused_mut)] - let mut scope_4864 = writer.prefix("DryRun"); - if let Some(var_4865) = &input.dry_run { - scope_4864.boolean(*var_4865); + let mut scope_4866 = writer.prefix("DryRun"); + if let Some(var_4867) = &input.dry_run { + scope_4866.boolean(*var_4867); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16868,14 +16873,14 @@ pub fn serialize_operation_reject_transit_gateway_vpc_attachment( let mut writer = smithy_query::QueryWriter::new(&mut out, "RejectTransitGatewayVpcAttachment", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4866 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4867) = &input.transit_gateway_attachment_id { - scope_4866.string(var_4867); + let mut scope_4868 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4869) = &input.transit_gateway_attachment_id { + scope_4868.string(var_4869); } #[allow(unused_mut)] - let mut scope_4868 = writer.prefix("DryRun"); - if let Some(var_4869) = &input.dry_run { - scope_4868.boolean(*var_4869); + let mut scope_4870 = writer.prefix("DryRun"); + if let Some(var_4871) = &input.dry_run { + scope_4870.boolean(*var_4871); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16889,25 +16894,25 @@ pub fn serialize_operation_reject_vpc_endpoint_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "RejectVpcEndpointConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4870 = writer.prefix("DryRun"); - if let Some(var_4871) = &input.dry_run { - scope_4870.boolean(*var_4871); + let mut scope_4872 = writer.prefix("DryRun"); + if let Some(var_4873) = &input.dry_run { + scope_4872.boolean(*var_4873); } #[allow(unused_mut)] - let mut scope_4872 = writer.prefix("ServiceId"); - if let Some(var_4873) = &input.service_id { - scope_4872.string(var_4873); + let mut scope_4874 = writer.prefix("ServiceId"); + if let Some(var_4875) = &input.service_id { + scope_4874.string(var_4875); } #[allow(unused_mut)] - let mut scope_4874 = writer.prefix("VpcEndpointId"); - if let Some(var_4875) = &input.vpc_endpoint_ids { - let mut list_4877 = scope_4874.start_list(true, Some("item")); - for item_4876 in var_4875 { + let mut scope_4876 = writer.prefix("VpcEndpointId"); + if let Some(var_4877) = &input.vpc_endpoint_ids { + let mut list_4879 = scope_4876.start_list(true, Some("item")); + for item_4878 in var_4877 { #[allow(unused_mut)] - let mut entry_4878 = list_4877.entry(); - entry_4878.string(item_4876); + let mut entry_4880 = list_4879.entry(); + entry_4880.string(item_4878); } - list_4877.finish(); + list_4879.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16921,14 +16926,14 @@ pub fn serialize_operation_reject_vpc_peering_connection( let mut writer = smithy_query::QueryWriter::new(&mut out, "RejectVpcPeeringConnection", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4879 = writer.prefix("DryRun"); - if let Some(var_4880) = &input.dry_run { - scope_4879.boolean(*var_4880); + let mut scope_4881 = writer.prefix("DryRun"); + if let Some(var_4882) = &input.dry_run { + scope_4881.boolean(*var_4882); } #[allow(unused_mut)] - let mut scope_4881 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_4882) = &input.vpc_peering_connection_id { - scope_4881.string(var_4882); + let mut scope_4883 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_4884) = &input.vpc_peering_connection_id { + scope_4883.string(var_4884); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16941,24 +16946,24 @@ pub fn serialize_operation_release_address( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ReleaseAddress", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4883 = writer.prefix("AllocationId"); - if let Some(var_4884) = &input.allocation_id { - scope_4883.string(var_4884); - } - #[allow(unused_mut)] - let mut scope_4885 = writer.prefix("PublicIp"); - if let Some(var_4886) = &input.public_ip { + let mut scope_4885 = writer.prefix("AllocationId"); + if let Some(var_4886) = &input.allocation_id { scope_4885.string(var_4886); } #[allow(unused_mut)] - let mut scope_4887 = writer.prefix("NetworkBorderGroup"); - if let Some(var_4888) = &input.network_border_group { + let mut scope_4887 = writer.prefix("PublicIp"); + if let Some(var_4888) = &input.public_ip { scope_4887.string(var_4888); } #[allow(unused_mut)] - let mut scope_4889 = writer.prefix("DryRun"); - if let Some(var_4890) = &input.dry_run { - scope_4889.boolean(*var_4890); + let mut scope_4889 = writer.prefix("NetworkBorderGroup"); + if let Some(var_4890) = &input.network_border_group { + scope_4889.string(var_4890); + } + #[allow(unused_mut)] + let mut scope_4891 = writer.prefix("DryRun"); + if let Some(var_4892) = &input.dry_run { + scope_4891.boolean(*var_4892); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16971,15 +16976,15 @@ pub fn serialize_operation_release_hosts( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ReleaseHosts", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4891 = writer.prefix("HostId"); - if let Some(var_4892) = &input.host_ids { - let mut list_4894 = scope_4891.start_list(true, Some("item")); - for item_4893 in var_4892 { + let mut scope_4893 = writer.prefix("HostId"); + if let Some(var_4894) = &input.host_ids { + let mut list_4896 = scope_4893.start_list(true, Some("item")); + for item_4895 in var_4894 { #[allow(unused_mut)] - let mut entry_4895 = list_4894.entry(); - entry_4895.string(item_4893); + let mut entry_4897 = list_4896.entry(); + entry_4897.string(item_4895); } - list_4894.finish(); + list_4896.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -16996,16 +17001,16 @@ pub fn serialize_operation_replace_iam_instance_profile_association( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_4896 = writer.prefix("IamInstanceProfile"); - if let Some(var_4897) = &input.iam_instance_profile { + let mut scope_4898 = writer.prefix("IamInstanceProfile"); + if let Some(var_4899) = &input.iam_instance_profile { crate::query_ser::serialize_structure_iam_instance_profile_specification( - scope_4896, var_4897, + scope_4898, var_4899, ); } #[allow(unused_mut)] - let mut scope_4898 = writer.prefix("AssociationId"); - if let Some(var_4899) = &input.association_id { - scope_4898.string(var_4899); + let mut scope_4900 = writer.prefix("AssociationId"); + if let Some(var_4901) = &input.association_id { + scope_4900.string(var_4901); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17019,19 +17024,19 @@ pub fn serialize_operation_replace_network_acl_association( let mut writer = smithy_query::QueryWriter::new(&mut out, "ReplaceNetworkAclAssociation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4900 = writer.prefix("AssociationId"); - if let Some(var_4901) = &input.association_id { - scope_4900.string(var_4901); + let mut scope_4902 = writer.prefix("AssociationId"); + if let Some(var_4903) = &input.association_id { + scope_4902.string(var_4903); } #[allow(unused_mut)] - let mut scope_4902 = writer.prefix("DryRun"); - if let Some(var_4903) = &input.dry_run { - scope_4902.boolean(*var_4903); + let mut scope_4904 = writer.prefix("DryRun"); + if let Some(var_4905) = &input.dry_run { + scope_4904.boolean(*var_4905); } #[allow(unused_mut)] - let mut scope_4904 = writer.prefix("NetworkAclId"); - if let Some(var_4905) = &input.network_acl_id { - scope_4904.string(var_4905); + let mut scope_4906 = writer.prefix("NetworkAclId"); + if let Some(var_4907) = &input.network_acl_id { + scope_4906.string(var_4907); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17045,56 +17050,56 @@ pub fn serialize_operation_replace_network_acl_entry( let mut writer = smithy_query::QueryWriter::new(&mut out, "ReplaceNetworkAclEntry", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4906 = writer.prefix("CidrBlock"); - if let Some(var_4907) = &input.cidr_block { - scope_4906.string(var_4907); - } - #[allow(unused_mut)] - let mut scope_4908 = writer.prefix("DryRun"); - if let Some(var_4909) = &input.dry_run { - scope_4908.boolean(*var_4909); + let mut scope_4908 = writer.prefix("CidrBlock"); + if let Some(var_4909) = &input.cidr_block { + scope_4908.string(var_4909); } #[allow(unused_mut)] - let mut scope_4910 = writer.prefix("Egress"); - if let Some(var_4911) = &input.egress { + let mut scope_4910 = writer.prefix("DryRun"); + if let Some(var_4911) = &input.dry_run { scope_4910.boolean(*var_4911); } #[allow(unused_mut)] - let mut scope_4912 = writer.prefix("Icmp"); - if let Some(var_4913) = &input.icmp_type_code { - crate::query_ser::serialize_structure_icmp_type_code(scope_4912, var_4913); + let mut scope_4912 = writer.prefix("Egress"); + if let Some(var_4913) = &input.egress { + scope_4912.boolean(*var_4913); } #[allow(unused_mut)] - let mut scope_4914 = writer.prefix("Ipv6CidrBlock"); - if let Some(var_4915) = &input.ipv6_cidr_block { - scope_4914.string(var_4915); + let mut scope_4914 = writer.prefix("Icmp"); + if let Some(var_4915) = &input.icmp_type_code { + crate::query_ser::serialize_structure_icmp_type_code(scope_4914, var_4915); } #[allow(unused_mut)] - let mut scope_4916 = writer.prefix("NetworkAclId"); - if let Some(var_4917) = &input.network_acl_id { + let mut scope_4916 = writer.prefix("Ipv6CidrBlock"); + if let Some(var_4917) = &input.ipv6_cidr_block { scope_4916.string(var_4917); } #[allow(unused_mut)] - let mut scope_4918 = writer.prefix("PortRange"); - if let Some(var_4919) = &input.port_range { - crate::query_ser::serialize_structure_port_range(scope_4918, var_4919); + let mut scope_4918 = writer.prefix("NetworkAclId"); + if let Some(var_4919) = &input.network_acl_id { + scope_4918.string(var_4919); + } + #[allow(unused_mut)] + let mut scope_4920 = writer.prefix("PortRange"); + if let Some(var_4921) = &input.port_range { + crate::query_ser::serialize_structure_port_range(scope_4920, var_4921); } #[allow(unused_mut)] - let mut scope_4920 = writer.prefix("Protocol"); - if let Some(var_4921) = &input.protocol { - scope_4920.string(var_4921); + let mut scope_4922 = writer.prefix("Protocol"); + if let Some(var_4923) = &input.protocol { + scope_4922.string(var_4923); } #[allow(unused_mut)] - let mut scope_4922 = writer.prefix("RuleAction"); - if let Some(var_4923) = &input.rule_action { - scope_4922.string(var_4923.as_str()); + let mut scope_4924 = writer.prefix("RuleAction"); + if let Some(var_4925) = &input.rule_action { + scope_4924.string(var_4925.as_str()); } #[allow(unused_mut)] - let mut scope_4924 = writer.prefix("RuleNumber"); - if let Some(var_4925) = &input.rule_number { - scope_4924.number( + let mut scope_4926 = writer.prefix("RuleNumber"); + if let Some(var_4927) = &input.rule_number { + scope_4926.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_4925).into()), + smithy_types::Number::NegInt((*var_4927).into()), ); } writer.finish(); @@ -17108,85 +17113,85 @@ pub fn serialize_operation_replace_route( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ReplaceRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4926 = writer.prefix("DestinationCidrBlock"); - if let Some(var_4927) = &input.destination_cidr_block { - scope_4926.string(var_4927); - } - #[allow(unused_mut)] - let mut scope_4928 = writer.prefix("DestinationIpv6CidrBlock"); - if let Some(var_4929) = &input.destination_ipv6_cidr_block { + let mut scope_4928 = writer.prefix("DestinationCidrBlock"); + if let Some(var_4929) = &input.destination_cidr_block { scope_4928.string(var_4929); } #[allow(unused_mut)] - let mut scope_4930 = writer.prefix("DestinationPrefixListId"); - if let Some(var_4931) = &input.destination_prefix_list_id { + let mut scope_4930 = writer.prefix("DestinationIpv6CidrBlock"); + if let Some(var_4931) = &input.destination_ipv6_cidr_block { scope_4930.string(var_4931); } #[allow(unused_mut)] - let mut scope_4932 = writer.prefix("DryRun"); - if let Some(var_4933) = &input.dry_run { - scope_4932.boolean(*var_4933); + let mut scope_4932 = writer.prefix("DestinationPrefixListId"); + if let Some(var_4933) = &input.destination_prefix_list_id { + scope_4932.string(var_4933); } #[allow(unused_mut)] - let mut scope_4934 = writer.prefix("VpcEndpointId"); - if let Some(var_4935) = &input.vpc_endpoint_id { - scope_4934.string(var_4935); + let mut scope_4934 = writer.prefix("DryRun"); + if let Some(var_4935) = &input.dry_run { + scope_4934.boolean(*var_4935); } #[allow(unused_mut)] - let mut scope_4936 = writer.prefix("EgressOnlyInternetGatewayId"); - if let Some(var_4937) = &input.egress_only_internet_gateway_id { + let mut scope_4936 = writer.prefix("VpcEndpointId"); + if let Some(var_4937) = &input.vpc_endpoint_id { scope_4936.string(var_4937); } #[allow(unused_mut)] - let mut scope_4938 = writer.prefix("GatewayId"); - if let Some(var_4939) = &input.gateway_id { + let mut scope_4938 = writer.prefix("EgressOnlyInternetGatewayId"); + if let Some(var_4939) = &input.egress_only_internet_gateway_id { scope_4938.string(var_4939); } #[allow(unused_mut)] - let mut scope_4940 = writer.prefix("InstanceId"); - if let Some(var_4941) = &input.instance_id { + let mut scope_4940 = writer.prefix("GatewayId"); + if let Some(var_4941) = &input.gateway_id { scope_4940.string(var_4941); } #[allow(unused_mut)] - let mut scope_4942 = writer.prefix("LocalTarget"); - if let Some(var_4943) = &input.local_target { - scope_4942.boolean(*var_4943); + let mut scope_4942 = writer.prefix("InstanceId"); + if let Some(var_4943) = &input.instance_id { + scope_4942.string(var_4943); } #[allow(unused_mut)] - let mut scope_4944 = writer.prefix("NatGatewayId"); - if let Some(var_4945) = &input.nat_gateway_id { - scope_4944.string(var_4945); + let mut scope_4944 = writer.prefix("LocalTarget"); + if let Some(var_4945) = &input.local_target { + scope_4944.boolean(*var_4945); } #[allow(unused_mut)] - let mut scope_4946 = writer.prefix("TransitGatewayId"); - if let Some(var_4947) = &input.transit_gateway_id { + let mut scope_4946 = writer.prefix("NatGatewayId"); + if let Some(var_4947) = &input.nat_gateway_id { scope_4946.string(var_4947); } #[allow(unused_mut)] - let mut scope_4948 = writer.prefix("LocalGatewayId"); - if let Some(var_4949) = &input.local_gateway_id { + let mut scope_4948 = writer.prefix("TransitGatewayId"); + if let Some(var_4949) = &input.transit_gateway_id { scope_4948.string(var_4949); } #[allow(unused_mut)] - let mut scope_4950 = writer.prefix("CarrierGatewayId"); - if let Some(var_4951) = &input.carrier_gateway_id { + let mut scope_4950 = writer.prefix("LocalGatewayId"); + if let Some(var_4951) = &input.local_gateway_id { scope_4950.string(var_4951); } #[allow(unused_mut)] - let mut scope_4952 = writer.prefix("NetworkInterfaceId"); - if let Some(var_4953) = &input.network_interface_id { + let mut scope_4952 = writer.prefix("CarrierGatewayId"); + if let Some(var_4953) = &input.carrier_gateway_id { scope_4952.string(var_4953); } #[allow(unused_mut)] - let mut scope_4954 = writer.prefix("RouteTableId"); - if let Some(var_4955) = &input.route_table_id { + let mut scope_4954 = writer.prefix("NetworkInterfaceId"); + if let Some(var_4955) = &input.network_interface_id { scope_4954.string(var_4955); } #[allow(unused_mut)] - let mut scope_4956 = writer.prefix("VpcPeeringConnectionId"); - if let Some(var_4957) = &input.vpc_peering_connection_id { + let mut scope_4956 = writer.prefix("RouteTableId"); + if let Some(var_4957) = &input.route_table_id { scope_4956.string(var_4957); } + #[allow(unused_mut)] + let mut scope_4958 = writer.prefix("VpcPeeringConnectionId"); + if let Some(var_4959) = &input.vpc_peering_connection_id { + scope_4958.string(var_4959); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -17199,19 +17204,19 @@ pub fn serialize_operation_replace_route_table_association( let mut writer = smithy_query::QueryWriter::new(&mut out, "ReplaceRouteTableAssociation", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4958 = writer.prefix("AssociationId"); - if let Some(var_4959) = &input.association_id { - scope_4958.string(var_4959); + let mut scope_4960 = writer.prefix("AssociationId"); + if let Some(var_4961) = &input.association_id { + scope_4960.string(var_4961); } #[allow(unused_mut)] - let mut scope_4960 = writer.prefix("DryRun"); - if let Some(var_4961) = &input.dry_run { - scope_4960.boolean(*var_4961); + let mut scope_4962 = writer.prefix("DryRun"); + if let Some(var_4963) = &input.dry_run { + scope_4962.boolean(*var_4963); } #[allow(unused_mut)] - let mut scope_4962 = writer.prefix("RouteTableId"); - if let Some(var_4963) = &input.route_table_id { - scope_4962.string(var_4963); + let mut scope_4964 = writer.prefix("RouteTableId"); + if let Some(var_4965) = &input.route_table_id { + scope_4964.string(var_4965); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17225,30 +17230,30 @@ pub fn serialize_operation_replace_transit_gateway_route( let mut writer = smithy_query::QueryWriter::new(&mut out, "ReplaceTransitGatewayRoute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4964 = writer.prefix("DestinationCidrBlock"); - if let Some(var_4965) = &input.destination_cidr_block { - scope_4964.string(var_4965); - } - #[allow(unused_mut)] - let mut scope_4966 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_4967) = &input.transit_gateway_route_table_id { + let mut scope_4966 = writer.prefix("DestinationCidrBlock"); + if let Some(var_4967) = &input.destination_cidr_block { scope_4966.string(var_4967); } #[allow(unused_mut)] - let mut scope_4968 = writer.prefix("TransitGatewayAttachmentId"); - if let Some(var_4969) = &input.transit_gateway_attachment_id { + let mut scope_4968 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_4969) = &input.transit_gateway_route_table_id { scope_4968.string(var_4969); } #[allow(unused_mut)] - let mut scope_4970 = writer.prefix("Blackhole"); - if let Some(var_4971) = &input.blackhole { - scope_4970.boolean(*var_4971); + let mut scope_4970 = writer.prefix("TransitGatewayAttachmentId"); + if let Some(var_4971) = &input.transit_gateway_attachment_id { + scope_4970.string(var_4971); } #[allow(unused_mut)] - let mut scope_4972 = writer.prefix("DryRun"); - if let Some(var_4973) = &input.dry_run { + let mut scope_4972 = writer.prefix("Blackhole"); + if let Some(var_4973) = &input.blackhole { scope_4972.boolean(*var_4973); } + #[allow(unused_mut)] + let mut scope_4974 = writer.prefix("DryRun"); + if let Some(var_4975) = &input.dry_run { + scope_4974.boolean(*var_4975); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -17260,51 +17265,51 @@ pub fn serialize_operation_report_instance_status( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ReportInstanceStatus", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4974 = writer.prefix("Description"); - if let Some(var_4975) = &input.description { - scope_4974.string(var_4975); + let mut scope_4976 = writer.prefix("Description"); + if let Some(var_4977) = &input.description { + scope_4976.string(var_4977); } #[allow(unused_mut)] - let mut scope_4976 = writer.prefix("DryRun"); - if let Some(var_4977) = &input.dry_run { - scope_4976.boolean(*var_4977); + let mut scope_4978 = writer.prefix("DryRun"); + if let Some(var_4979) = &input.dry_run { + scope_4978.boolean(*var_4979); } #[allow(unused_mut)] - let mut scope_4978 = writer.prefix("EndTime"); - if let Some(var_4979) = &input.end_time { - scope_4978.instant(var_4979, smithy_types::instant::Format::DateTime); + let mut scope_4980 = writer.prefix("EndTime"); + if let Some(var_4981) = &input.end_time { + scope_4980.instant(var_4981, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_4980 = writer.prefix("InstanceId"); - if let Some(var_4981) = &input.instances { - let mut list_4983 = scope_4980.start_list(true, Some("InstanceId")); - for item_4982 in var_4981 { + let mut scope_4982 = writer.prefix("InstanceId"); + if let Some(var_4983) = &input.instances { + let mut list_4985 = scope_4982.start_list(true, Some("InstanceId")); + for item_4984 in var_4983 { #[allow(unused_mut)] - let mut entry_4984 = list_4983.entry(); - entry_4984.string(item_4982); + let mut entry_4986 = list_4985.entry(); + entry_4986.string(item_4984); } - list_4983.finish(); + list_4985.finish(); } #[allow(unused_mut)] - let mut scope_4985 = writer.prefix("ReasonCode"); - if let Some(var_4986) = &input.reason_codes { - let mut list_4988 = scope_4985.start_list(true, Some("item")); - for item_4987 in var_4986 { + let mut scope_4987 = writer.prefix("ReasonCode"); + if let Some(var_4988) = &input.reason_codes { + let mut list_4990 = scope_4987.start_list(true, Some("item")); + for item_4989 in var_4988 { #[allow(unused_mut)] - let mut entry_4989 = list_4988.entry(); - entry_4989.string(item_4987.as_str()); + let mut entry_4991 = list_4990.entry(); + entry_4991.string(item_4989.as_str()); } - list_4988.finish(); + list_4990.finish(); } #[allow(unused_mut)] - let mut scope_4990 = writer.prefix("StartTime"); - if let Some(var_4991) = &input.start_time { - scope_4990.instant(var_4991, smithy_types::instant::Format::DateTime); + let mut scope_4992 = writer.prefix("StartTime"); + if let Some(var_4993) = &input.start_time { + scope_4992.instant(var_4993, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_4992 = writer.prefix("Status"); - if let Some(var_4993) = &input.status { - scope_4992.string(var_4993.as_str()); + let mut scope_4994 = writer.prefix("Status"); + if let Some(var_4995) = &input.status { + scope_4994.string(var_4995.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17317,14 +17322,14 @@ pub fn serialize_operation_request_spot_fleet( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "RequestSpotFleet", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4994 = writer.prefix("DryRun"); - if let Some(var_4995) = &input.dry_run { - scope_4994.boolean(*var_4995); + let mut scope_4996 = writer.prefix("DryRun"); + if let Some(var_4997) = &input.dry_run { + scope_4996.boolean(*var_4997); } #[allow(unused_mut)] - let mut scope_4996 = writer.prefix("SpotFleetRequestConfig"); - if let Some(var_4997) = &input.spot_fleet_request_config { - crate::query_ser::serialize_structure_spot_fleet_request_config_data(scope_4996, var_4997); + let mut scope_4998 = writer.prefix("SpotFleetRequestConfig"); + if let Some(var_4999) = &input.spot_fleet_request_config { + crate::query_ser::serialize_structure_spot_fleet_request_config_data(scope_4998, var_4999); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17337,83 +17342,83 @@ pub fn serialize_operation_request_spot_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "RequestSpotInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_4998 = writer.prefix("AvailabilityZoneGroup"); - if let Some(var_4999) = &input.availability_zone_group { - scope_4998.string(var_4999); + let mut scope_5000 = writer.prefix("AvailabilityZoneGroup"); + if let Some(var_5001) = &input.availability_zone_group { + scope_5000.string(var_5001); } #[allow(unused_mut)] - let mut scope_5000 = writer.prefix("BlockDurationMinutes"); - if let Some(var_5001) = &input.block_duration_minutes { - scope_5000.number( + let mut scope_5002 = writer.prefix("BlockDurationMinutes"); + if let Some(var_5003) = &input.block_duration_minutes { + scope_5002.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5001).into()), + smithy_types::Number::NegInt((*var_5003).into()), ); } #[allow(unused_mut)] - let mut scope_5002 = writer.prefix("ClientToken"); - if let Some(var_5003) = &input.client_token { - scope_5002.string(var_5003); + let mut scope_5004 = writer.prefix("ClientToken"); + if let Some(var_5005) = &input.client_token { + scope_5004.string(var_5005); } #[allow(unused_mut)] - let mut scope_5004 = writer.prefix("DryRun"); - if let Some(var_5005) = &input.dry_run { - scope_5004.boolean(*var_5005); + let mut scope_5006 = writer.prefix("DryRun"); + if let Some(var_5007) = &input.dry_run { + scope_5006.boolean(*var_5007); } #[allow(unused_mut)] - let mut scope_5006 = writer.prefix("InstanceCount"); - if let Some(var_5007) = &input.instance_count { - scope_5006.number( + let mut scope_5008 = writer.prefix("InstanceCount"); + if let Some(var_5009) = &input.instance_count { + scope_5008.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5007).into()), + smithy_types::Number::NegInt((*var_5009).into()), ); } #[allow(unused_mut)] - let mut scope_5008 = writer.prefix("LaunchGroup"); - if let Some(var_5009) = &input.launch_group { - scope_5008.string(var_5009); + let mut scope_5010 = writer.prefix("LaunchGroup"); + if let Some(var_5011) = &input.launch_group { + scope_5010.string(var_5011); } #[allow(unused_mut)] - let mut scope_5010 = writer.prefix("LaunchSpecification"); - if let Some(var_5011) = &input.launch_specification { + let mut scope_5012 = writer.prefix("LaunchSpecification"); + if let Some(var_5013) = &input.launch_specification { crate::query_ser::serialize_structure_request_spot_launch_specification( - scope_5010, var_5011, + scope_5012, var_5013, ); } #[allow(unused_mut)] - let mut scope_5012 = writer.prefix("SpotPrice"); - if let Some(var_5013) = &input.spot_price { - scope_5012.string(var_5013); + let mut scope_5014 = writer.prefix("SpotPrice"); + if let Some(var_5015) = &input.spot_price { + scope_5014.string(var_5015); } #[allow(unused_mut)] - let mut scope_5014 = writer.prefix("Type"); - if let Some(var_5015) = &input.r#type { - scope_5014.string(var_5015.as_str()); + let mut scope_5016 = writer.prefix("Type"); + if let Some(var_5017) = &input.r#type { + scope_5016.string(var_5017.as_str()); } #[allow(unused_mut)] - let mut scope_5016 = writer.prefix("ValidFrom"); - if let Some(var_5017) = &input.valid_from { - scope_5016.instant(var_5017, smithy_types::instant::Format::DateTime); + let mut scope_5018 = writer.prefix("ValidFrom"); + if let Some(var_5019) = &input.valid_from { + scope_5018.instant(var_5019, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_5018 = writer.prefix("ValidUntil"); - if let Some(var_5019) = &input.valid_until { - scope_5018.instant(var_5019, smithy_types::instant::Format::DateTime); + let mut scope_5020 = writer.prefix("ValidUntil"); + if let Some(var_5021) = &input.valid_until { + scope_5020.instant(var_5021, smithy_types::instant::Format::DateTime); } #[allow(unused_mut)] - let mut scope_5020 = writer.prefix("TagSpecification"); - if let Some(var_5021) = &input.tag_specifications { - let mut list_5023 = scope_5020.start_list(true, Some("item")); - for item_5022 in var_5021 { + let mut scope_5022 = writer.prefix("TagSpecification"); + if let Some(var_5023) = &input.tag_specifications { + let mut list_5025 = scope_5022.start_list(true, Some("item")); + for item_5024 in var_5023 { #[allow(unused_mut)] - let mut entry_5024 = list_5023.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_5024, item_5022); + let mut entry_5026 = list_5025.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_5026, item_5024); } - list_5023.finish(); + list_5025.finish(); } #[allow(unused_mut)] - let mut scope_5025 = writer.prefix("InstanceInterruptionBehavior"); - if let Some(var_5026) = &input.instance_interruption_behavior { - scope_5025.string(var_5026.as_str()); + let mut scope_5027 = writer.prefix("InstanceInterruptionBehavior"); + if let Some(var_5028) = &input.instance_interruption_behavior { + scope_5027.string(var_5028.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17427,19 +17432,19 @@ pub fn serialize_operation_reset_address_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetAddressAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5027 = writer.prefix("AllocationId"); - if let Some(var_5028) = &input.allocation_id { - scope_5027.string(var_5028); + let mut scope_5029 = writer.prefix("AllocationId"); + if let Some(var_5030) = &input.allocation_id { + scope_5029.string(var_5030); } #[allow(unused_mut)] - let mut scope_5029 = writer.prefix("Attribute"); - if let Some(var_5030) = &input.attribute { - scope_5029.string(var_5030.as_str()); + let mut scope_5031 = writer.prefix("Attribute"); + if let Some(var_5032) = &input.attribute { + scope_5031.string(var_5032.as_str()); } #[allow(unused_mut)] - let mut scope_5031 = writer.prefix("DryRun"); - if let Some(var_5032) = &input.dry_run { - scope_5031.boolean(*var_5032); + let mut scope_5033 = writer.prefix("DryRun"); + if let Some(var_5034) = &input.dry_run { + scope_5033.boolean(*var_5034); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17453,9 +17458,9 @@ pub fn serialize_operation_reset_ebs_default_kms_key_id( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetEbsDefaultKmsKeyId", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5033 = writer.prefix("DryRun"); - if let Some(var_5034) = &input.dry_run { - scope_5033.boolean(*var_5034); + let mut scope_5035 = writer.prefix("DryRun"); + if let Some(var_5036) = &input.dry_run { + scope_5035.boolean(*var_5036); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17469,19 +17474,19 @@ pub fn serialize_operation_reset_fpga_image_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetFpgaImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5035 = writer.prefix("DryRun"); - if let Some(var_5036) = &input.dry_run { - scope_5035.boolean(*var_5036); + let mut scope_5037 = writer.prefix("DryRun"); + if let Some(var_5038) = &input.dry_run { + scope_5037.boolean(*var_5038); } #[allow(unused_mut)] - let mut scope_5037 = writer.prefix("FpgaImageId"); - if let Some(var_5038) = &input.fpga_image_id { - scope_5037.string(var_5038); + let mut scope_5039 = writer.prefix("FpgaImageId"); + if let Some(var_5040) = &input.fpga_image_id { + scope_5039.string(var_5040); } #[allow(unused_mut)] - let mut scope_5039 = writer.prefix("Attribute"); - if let Some(var_5040) = &input.attribute { - scope_5039.string(var_5040.as_str()); + let mut scope_5041 = writer.prefix("Attribute"); + if let Some(var_5042) = &input.attribute { + scope_5041.string(var_5042.as_str()); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17494,19 +17499,19 @@ pub fn serialize_operation_reset_image_attribute( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetImageAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5041 = writer.prefix("Attribute"); - if let Some(var_5042) = &input.attribute { - scope_5041.string(var_5042.as_str()); + let mut scope_5043 = writer.prefix("Attribute"); + if let Some(var_5044) = &input.attribute { + scope_5043.string(var_5044.as_str()); } #[allow(unused_mut)] - let mut scope_5043 = writer.prefix("ImageId"); - if let Some(var_5044) = &input.image_id { - scope_5043.string(var_5044); + let mut scope_5045 = writer.prefix("ImageId"); + if let Some(var_5046) = &input.image_id { + scope_5045.string(var_5046); } #[allow(unused_mut)] - let mut scope_5045 = writer.prefix("DryRun"); - if let Some(var_5046) = &input.dry_run { - scope_5045.boolean(*var_5046); + let mut scope_5047 = writer.prefix("DryRun"); + if let Some(var_5048) = &input.dry_run { + scope_5047.boolean(*var_5048); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17520,19 +17525,19 @@ pub fn serialize_operation_reset_instance_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetInstanceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5047 = writer.prefix("Attribute"); - if let Some(var_5048) = &input.attribute { - scope_5047.string(var_5048.as_str()); + let mut scope_5049 = writer.prefix("Attribute"); + if let Some(var_5050) = &input.attribute { + scope_5049.string(var_5050.as_str()); } #[allow(unused_mut)] - let mut scope_5049 = writer.prefix("DryRun"); - if let Some(var_5050) = &input.dry_run { - scope_5049.boolean(*var_5050); + let mut scope_5051 = writer.prefix("DryRun"); + if let Some(var_5052) = &input.dry_run { + scope_5051.boolean(*var_5052); } #[allow(unused_mut)] - let mut scope_5051 = writer.prefix("InstanceId"); - if let Some(var_5052) = &input.instance_id { - scope_5051.string(var_5052); + let mut scope_5053 = writer.prefix("InstanceId"); + if let Some(var_5054) = &input.instance_id { + scope_5053.string(var_5054); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17546,19 +17551,19 @@ pub fn serialize_operation_reset_network_interface_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetNetworkInterfaceAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5053 = writer.prefix("DryRun"); - if let Some(var_5054) = &input.dry_run { - scope_5053.boolean(*var_5054); + let mut scope_5055 = writer.prefix("DryRun"); + if let Some(var_5056) = &input.dry_run { + scope_5055.boolean(*var_5056); } #[allow(unused_mut)] - let mut scope_5055 = writer.prefix("NetworkInterfaceId"); - if let Some(var_5056) = &input.network_interface_id { - scope_5055.string(var_5056); + let mut scope_5057 = writer.prefix("NetworkInterfaceId"); + if let Some(var_5058) = &input.network_interface_id { + scope_5057.string(var_5058); } #[allow(unused_mut)] - let mut scope_5057 = writer.prefix("SourceDestCheck"); - if let Some(var_5058) = &input.source_dest_check { - scope_5057.string(var_5058); + let mut scope_5059 = writer.prefix("SourceDestCheck"); + if let Some(var_5060) = &input.source_dest_check { + scope_5059.string(var_5060); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17572,19 +17577,19 @@ pub fn serialize_operation_reset_snapshot_attribute( let mut writer = smithy_query::QueryWriter::new(&mut out, "ResetSnapshotAttribute", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5059 = writer.prefix("Attribute"); - if let Some(var_5060) = &input.attribute { - scope_5059.string(var_5060.as_str()); + let mut scope_5061 = writer.prefix("Attribute"); + if let Some(var_5062) = &input.attribute { + scope_5061.string(var_5062.as_str()); } #[allow(unused_mut)] - let mut scope_5061 = writer.prefix("SnapshotId"); - if let Some(var_5062) = &input.snapshot_id { - scope_5061.string(var_5062); + let mut scope_5063 = writer.prefix("SnapshotId"); + if let Some(var_5064) = &input.snapshot_id { + scope_5063.string(var_5064); } #[allow(unused_mut)] - let mut scope_5063 = writer.prefix("DryRun"); - if let Some(var_5064) = &input.dry_run { - scope_5063.boolean(*var_5064); + let mut scope_5065 = writer.prefix("DryRun"); + if let Some(var_5066) = &input.dry_run { + scope_5065.boolean(*var_5066); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17598,14 +17603,14 @@ pub fn serialize_operation_restore_address_to_classic( let mut writer = smithy_query::QueryWriter::new(&mut out, "RestoreAddressToClassic", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5065 = writer.prefix("DryRun"); - if let Some(var_5066) = &input.dry_run { - scope_5065.boolean(*var_5066); + let mut scope_5067 = writer.prefix("DryRun"); + if let Some(var_5068) = &input.dry_run { + scope_5067.boolean(*var_5068); } #[allow(unused_mut)] - let mut scope_5067 = writer.prefix("PublicIp"); - if let Some(var_5068) = &input.public_ip { - scope_5067.string(var_5068); + let mut scope_5069 = writer.prefix("PublicIp"); + if let Some(var_5070) = &input.public_ip { + scope_5069.string(var_5070); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17619,29 +17624,29 @@ pub fn serialize_operation_restore_managed_prefix_list_version( let mut writer = smithy_query::QueryWriter::new(&mut out, "RestoreManagedPrefixListVersion", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5069 = writer.prefix("DryRun"); - if let Some(var_5070) = &input.dry_run { - scope_5069.boolean(*var_5070); + let mut scope_5071 = writer.prefix("DryRun"); + if let Some(var_5072) = &input.dry_run { + scope_5071.boolean(*var_5072); } #[allow(unused_mut)] - let mut scope_5071 = writer.prefix("PrefixListId"); - if let Some(var_5072) = &input.prefix_list_id { - scope_5071.string(var_5072); + let mut scope_5073 = writer.prefix("PrefixListId"); + if let Some(var_5074) = &input.prefix_list_id { + scope_5073.string(var_5074); } #[allow(unused_mut)] - let mut scope_5073 = writer.prefix("PreviousVersion"); - if let Some(var_5074) = &input.previous_version { - scope_5073.number( + let mut scope_5075 = writer.prefix("PreviousVersion"); + if let Some(var_5076) = &input.previous_version { + scope_5075.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5074).into()), + smithy_types::Number::NegInt((*var_5076).into()), ); } #[allow(unused_mut)] - let mut scope_5075 = writer.prefix("CurrentVersion"); - if let Some(var_5076) = &input.current_version { - scope_5075.number( + let mut scope_5077 = writer.prefix("CurrentVersion"); + if let Some(var_5078) = &input.current_version { + scope_5077.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5076).into()), + smithy_types::Number::NegInt((*var_5078).into()), ); } writer.finish(); @@ -17656,30 +17661,30 @@ pub fn serialize_operation_revoke_client_vpn_ingress( let mut writer = smithy_query::QueryWriter::new(&mut out, "RevokeClientVpnIngress", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5077 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_5078) = &input.client_vpn_endpoint_id { - scope_5077.string(var_5078); - } - #[allow(unused_mut)] - let mut scope_5079 = writer.prefix("TargetNetworkCidr"); - if let Some(var_5080) = &input.target_network_cidr { + let mut scope_5079 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_5080) = &input.client_vpn_endpoint_id { scope_5079.string(var_5080); } #[allow(unused_mut)] - let mut scope_5081 = writer.prefix("AccessGroupId"); - if let Some(var_5082) = &input.access_group_id { + let mut scope_5081 = writer.prefix("TargetNetworkCidr"); + if let Some(var_5082) = &input.target_network_cidr { scope_5081.string(var_5082); } #[allow(unused_mut)] - let mut scope_5083 = writer.prefix("RevokeAllGroups"); - if let Some(var_5084) = &input.revoke_all_groups { - scope_5083.boolean(*var_5084); + let mut scope_5083 = writer.prefix("AccessGroupId"); + if let Some(var_5084) = &input.access_group_id { + scope_5083.string(var_5084); } #[allow(unused_mut)] - let mut scope_5085 = writer.prefix("DryRun"); - if let Some(var_5086) = &input.dry_run { + let mut scope_5085 = writer.prefix("RevokeAllGroups"); + if let Some(var_5086) = &input.revoke_all_groups { scope_5085.boolean(*var_5086); } + #[allow(unused_mut)] + let mut scope_5087 = writer.prefix("DryRun"); + if let Some(var_5088) = &input.dry_run { + scope_5087.boolean(*var_5088); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -17692,72 +17697,72 @@ pub fn serialize_operation_revoke_security_group_egress( let mut writer = smithy_query::QueryWriter::new(&mut out, "RevokeSecurityGroupEgress", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5087 = writer.prefix("DryRun"); - if let Some(var_5088) = &input.dry_run { - scope_5087.boolean(*var_5088); + let mut scope_5089 = writer.prefix("DryRun"); + if let Some(var_5090) = &input.dry_run { + scope_5089.boolean(*var_5090); } #[allow(unused_mut)] - let mut scope_5089 = writer.prefix("GroupId"); - if let Some(var_5090) = &input.group_id { - scope_5089.string(var_5090); + let mut scope_5091 = writer.prefix("GroupId"); + if let Some(var_5092) = &input.group_id { + scope_5091.string(var_5092); } #[allow(unused_mut)] - let mut scope_5091 = writer.prefix("IpPermissions"); - if let Some(var_5092) = &input.ip_permissions { - let mut list_5094 = scope_5091.start_list(true, Some("item")); - for item_5093 in var_5092 { + let mut scope_5093 = writer.prefix("IpPermissions"); + if let Some(var_5094) = &input.ip_permissions { + let mut list_5096 = scope_5093.start_list(true, Some("item")); + for item_5095 in var_5094 { #[allow(unused_mut)] - let mut entry_5095 = list_5094.entry(); - crate::query_ser::serialize_structure_ip_permission(entry_5095, item_5093); + let mut entry_5097 = list_5096.entry(); + crate::query_ser::serialize_structure_ip_permission(entry_5097, item_5095); } - list_5094.finish(); + list_5096.finish(); } #[allow(unused_mut)] - let mut scope_5096 = writer.prefix("SecurityGroupRuleId"); - if let Some(var_5097) = &input.security_group_rule_ids { - let mut list_5099 = scope_5096.start_list(true, Some("item")); - for item_5098 in var_5097 { + let mut scope_5098 = writer.prefix("SecurityGroupRuleId"); + if let Some(var_5099) = &input.security_group_rule_ids { + let mut list_5101 = scope_5098.start_list(true, Some("item")); + for item_5100 in var_5099 { #[allow(unused_mut)] - let mut entry_5100 = list_5099.entry(); - entry_5100.string(item_5098); + let mut entry_5102 = list_5101.entry(); + entry_5102.string(item_5100); } - list_5099.finish(); + list_5101.finish(); } #[allow(unused_mut)] - let mut scope_5101 = writer.prefix("CidrIp"); - if let Some(var_5102) = &input.cidr_ip { - scope_5101.string(var_5102); + let mut scope_5103 = writer.prefix("CidrIp"); + if let Some(var_5104) = &input.cidr_ip { + scope_5103.string(var_5104); } #[allow(unused_mut)] - let mut scope_5103 = writer.prefix("FromPort"); - if let Some(var_5104) = &input.from_port { - scope_5103.number( + let mut scope_5105 = writer.prefix("FromPort"); + if let Some(var_5106) = &input.from_port { + scope_5105.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5104).into()), + smithy_types::Number::NegInt((*var_5106).into()), ); } #[allow(unused_mut)] - let mut scope_5105 = writer.prefix("IpProtocol"); - if let Some(var_5106) = &input.ip_protocol { - scope_5105.string(var_5106); + let mut scope_5107 = writer.prefix("IpProtocol"); + if let Some(var_5108) = &input.ip_protocol { + scope_5107.string(var_5108); } #[allow(unused_mut)] - let mut scope_5107 = writer.prefix("ToPort"); - if let Some(var_5108) = &input.to_port { - scope_5107.number( + let mut scope_5109 = writer.prefix("ToPort"); + if let Some(var_5110) = &input.to_port { + scope_5109.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5108).into()), + smithy_types::Number::NegInt((*var_5110).into()), ); } #[allow(unused_mut)] - let mut scope_5109 = writer.prefix("SourceSecurityGroupName"); - if let Some(var_5110) = &input.source_security_group_name { - scope_5109.string(var_5110); + let mut scope_5111 = writer.prefix("SourceSecurityGroupName"); + if let Some(var_5112) = &input.source_security_group_name { + scope_5111.string(var_5112); } #[allow(unused_mut)] - let mut scope_5111 = writer.prefix("SourceSecurityGroupOwnerId"); - if let Some(var_5112) = &input.source_security_group_owner_id { - scope_5111.string(var_5112); + let mut scope_5113 = writer.prefix("SourceSecurityGroupOwnerId"); + if let Some(var_5114) = &input.source_security_group_owner_id { + scope_5113.string(var_5114); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17771,77 +17776,77 @@ pub fn serialize_operation_revoke_security_group_ingress( let mut writer = smithy_query::QueryWriter::new(&mut out, "RevokeSecurityGroupIngress", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5113 = writer.prefix("CidrIp"); - if let Some(var_5114) = &input.cidr_ip { - scope_5113.string(var_5114); + let mut scope_5115 = writer.prefix("CidrIp"); + if let Some(var_5116) = &input.cidr_ip { + scope_5115.string(var_5116); } #[allow(unused_mut)] - let mut scope_5115 = writer.prefix("FromPort"); - if let Some(var_5116) = &input.from_port { - scope_5115.number( + let mut scope_5117 = writer.prefix("FromPort"); + if let Some(var_5118) = &input.from_port { + scope_5117.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5116).into()), + smithy_types::Number::NegInt((*var_5118).into()), ); } #[allow(unused_mut)] - let mut scope_5117 = writer.prefix("GroupId"); - if let Some(var_5118) = &input.group_id { - scope_5117.string(var_5118); + let mut scope_5119 = writer.prefix("GroupId"); + if let Some(var_5120) = &input.group_id { + scope_5119.string(var_5120); } #[allow(unused_mut)] - let mut scope_5119 = writer.prefix("GroupName"); - if let Some(var_5120) = &input.group_name { - scope_5119.string(var_5120); + let mut scope_5121 = writer.prefix("GroupName"); + if let Some(var_5122) = &input.group_name { + scope_5121.string(var_5122); } #[allow(unused_mut)] - let mut scope_5121 = writer.prefix("IpPermissions"); - if let Some(var_5122) = &input.ip_permissions { - let mut list_5124 = scope_5121.start_list(true, Some("item")); - for item_5123 in var_5122 { + let mut scope_5123 = writer.prefix("IpPermissions"); + if let Some(var_5124) = &input.ip_permissions { + let mut list_5126 = scope_5123.start_list(true, Some("item")); + for item_5125 in var_5124 { #[allow(unused_mut)] - let mut entry_5125 = list_5124.entry(); - crate::query_ser::serialize_structure_ip_permission(entry_5125, item_5123); + let mut entry_5127 = list_5126.entry(); + crate::query_ser::serialize_structure_ip_permission(entry_5127, item_5125); } - list_5124.finish(); + list_5126.finish(); } #[allow(unused_mut)] - let mut scope_5126 = writer.prefix("IpProtocol"); - if let Some(var_5127) = &input.ip_protocol { - scope_5126.string(var_5127); - } - #[allow(unused_mut)] - let mut scope_5128 = writer.prefix("SourceSecurityGroupName"); - if let Some(var_5129) = &input.source_security_group_name { + let mut scope_5128 = writer.prefix("IpProtocol"); + if let Some(var_5129) = &input.ip_protocol { scope_5128.string(var_5129); } #[allow(unused_mut)] - let mut scope_5130 = writer.prefix("SourceSecurityGroupOwnerId"); - if let Some(var_5131) = &input.source_security_group_owner_id { + let mut scope_5130 = writer.prefix("SourceSecurityGroupName"); + if let Some(var_5131) = &input.source_security_group_name { scope_5130.string(var_5131); } #[allow(unused_mut)] - let mut scope_5132 = writer.prefix("ToPort"); - if let Some(var_5133) = &input.to_port { - scope_5132.number( + let mut scope_5132 = writer.prefix("SourceSecurityGroupOwnerId"); + if let Some(var_5133) = &input.source_security_group_owner_id { + scope_5132.string(var_5133); + } + #[allow(unused_mut)] + let mut scope_5134 = writer.prefix("ToPort"); + if let Some(var_5135) = &input.to_port { + scope_5134.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5133).into()), + smithy_types::Number::NegInt((*var_5135).into()), ); } #[allow(unused_mut)] - let mut scope_5134 = writer.prefix("DryRun"); - if let Some(var_5135) = &input.dry_run { - scope_5134.boolean(*var_5135); + let mut scope_5136 = writer.prefix("DryRun"); + if let Some(var_5137) = &input.dry_run { + scope_5136.boolean(*var_5137); } #[allow(unused_mut)] - let mut scope_5136 = writer.prefix("SecurityGroupRuleId"); - if let Some(var_5137) = &input.security_group_rule_ids { - let mut list_5139 = scope_5136.start_list(true, Some("item")); - for item_5138 in var_5137 { + let mut scope_5138 = writer.prefix("SecurityGroupRuleId"); + if let Some(var_5139) = &input.security_group_rule_ids { + let mut list_5141 = scope_5138.start_list(true, Some("item")); + for item_5140 in var_5139 { #[allow(unused_mut)] - let mut entry_5140 = list_5139.entry(); - entry_5140.string(item_5138); + let mut entry_5142 = list_5141.entry(); + entry_5142.string(item_5140); } - list_5139.finish(); + list_5141.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -17854,266 +17859,266 @@ pub fn serialize_operation_run_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "RunInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5141 = writer.prefix("BlockDeviceMapping"); - if let Some(var_5142) = &input.block_device_mappings { - let mut list_5144 = scope_5141.start_list(true, Some("BlockDeviceMapping")); - for item_5143 in var_5142 { + let mut scope_5143 = writer.prefix("BlockDeviceMapping"); + if let Some(var_5144) = &input.block_device_mappings { + let mut list_5146 = scope_5143.start_list(true, Some("BlockDeviceMapping")); + for item_5145 in var_5144 { #[allow(unused_mut)] - let mut entry_5145 = list_5144.entry(); - crate::query_ser::serialize_structure_block_device_mapping(entry_5145, item_5143); + let mut entry_5147 = list_5146.entry(); + crate::query_ser::serialize_structure_block_device_mapping(entry_5147, item_5145); } - list_5144.finish(); + list_5146.finish(); } #[allow(unused_mut)] - let mut scope_5146 = writer.prefix("ImageId"); - if let Some(var_5147) = &input.image_id { - scope_5146.string(var_5147); + let mut scope_5148 = writer.prefix("ImageId"); + if let Some(var_5149) = &input.image_id { + scope_5148.string(var_5149); } #[allow(unused_mut)] - let mut scope_5148 = writer.prefix("InstanceType"); - if let Some(var_5149) = &input.instance_type { - scope_5148.string(var_5149.as_str()); + let mut scope_5150 = writer.prefix("InstanceType"); + if let Some(var_5151) = &input.instance_type { + scope_5150.string(var_5151.as_str()); } #[allow(unused_mut)] - let mut scope_5150 = writer.prefix("Ipv6AddressCount"); - if let Some(var_5151) = &input.ipv6_address_count { - scope_5150.number( + let mut scope_5152 = writer.prefix("Ipv6AddressCount"); + if let Some(var_5153) = &input.ipv6_address_count { + scope_5152.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5151).into()), + smithy_types::Number::NegInt((*var_5153).into()), ); } #[allow(unused_mut)] - let mut scope_5152 = writer.prefix("Ipv6Address"); - if let Some(var_5153) = &input.ipv6_addresses { - let mut list_5155 = scope_5152.start_list(true, Some("item")); - for item_5154 in var_5153 { + let mut scope_5154 = writer.prefix("Ipv6Address"); + if let Some(var_5155) = &input.ipv6_addresses { + let mut list_5157 = scope_5154.start_list(true, Some("item")); + for item_5156 in var_5155 { #[allow(unused_mut)] - let mut entry_5156 = list_5155.entry(); - crate::query_ser::serialize_structure_instance_ipv6_address(entry_5156, item_5154); + let mut entry_5158 = list_5157.entry(); + crate::query_ser::serialize_structure_instance_ipv6_address(entry_5158, item_5156); } - list_5155.finish(); + list_5157.finish(); } #[allow(unused_mut)] - let mut scope_5157 = writer.prefix("KernelId"); - if let Some(var_5158) = &input.kernel_id { - scope_5157.string(var_5158); + let mut scope_5159 = writer.prefix("KernelId"); + if let Some(var_5160) = &input.kernel_id { + scope_5159.string(var_5160); } #[allow(unused_mut)] - let mut scope_5159 = writer.prefix("KeyName"); - if let Some(var_5160) = &input.key_name { - scope_5159.string(var_5160); + let mut scope_5161 = writer.prefix("KeyName"); + if let Some(var_5162) = &input.key_name { + scope_5161.string(var_5162); } #[allow(unused_mut)] - let mut scope_5161 = writer.prefix("MaxCount"); - if let Some(var_5162) = &input.max_count { - scope_5161.number( + let mut scope_5163 = writer.prefix("MaxCount"); + if let Some(var_5164) = &input.max_count { + scope_5163.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5162).into()), + smithy_types::Number::NegInt((*var_5164).into()), ); } #[allow(unused_mut)] - let mut scope_5163 = writer.prefix("MinCount"); - if let Some(var_5164) = &input.min_count { - scope_5163.number( + let mut scope_5165 = writer.prefix("MinCount"); + if let Some(var_5166) = &input.min_count { + scope_5165.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5164).into()), + smithy_types::Number::NegInt((*var_5166).into()), ); } #[allow(unused_mut)] - let mut scope_5165 = writer.prefix("Monitoring"); - if let Some(var_5166) = &input.monitoring { + let mut scope_5167 = writer.prefix("Monitoring"); + if let Some(var_5168) = &input.monitoring { crate::query_ser::serialize_structure_run_instances_monitoring_enabled( - scope_5165, var_5166, + scope_5167, var_5168, ); } #[allow(unused_mut)] - let mut scope_5167 = writer.prefix("Placement"); - if let Some(var_5168) = &input.placement { - crate::query_ser::serialize_structure_placement(scope_5167, var_5168); + let mut scope_5169 = writer.prefix("Placement"); + if let Some(var_5170) = &input.placement { + crate::query_ser::serialize_structure_placement(scope_5169, var_5170); } #[allow(unused_mut)] - let mut scope_5169 = writer.prefix("RamdiskId"); - if let Some(var_5170) = &input.ramdisk_id { - scope_5169.string(var_5170); + let mut scope_5171 = writer.prefix("RamdiskId"); + if let Some(var_5172) = &input.ramdisk_id { + scope_5171.string(var_5172); } #[allow(unused_mut)] - let mut scope_5171 = writer.prefix("SecurityGroupId"); - if let Some(var_5172) = &input.security_group_ids { - let mut list_5174 = scope_5171.start_list(true, Some("SecurityGroupId")); - for item_5173 in var_5172 { + let mut scope_5173 = writer.prefix("SecurityGroupId"); + if let Some(var_5174) = &input.security_group_ids { + let mut list_5176 = scope_5173.start_list(true, Some("SecurityGroupId")); + for item_5175 in var_5174 { #[allow(unused_mut)] - let mut entry_5175 = list_5174.entry(); - entry_5175.string(item_5173); + let mut entry_5177 = list_5176.entry(); + entry_5177.string(item_5175); } - list_5174.finish(); + list_5176.finish(); } #[allow(unused_mut)] - let mut scope_5176 = writer.prefix("SecurityGroup"); - if let Some(var_5177) = &input.security_groups { - let mut list_5179 = scope_5176.start_list(true, Some("SecurityGroup")); - for item_5178 in var_5177 { + let mut scope_5178 = writer.prefix("SecurityGroup"); + if let Some(var_5179) = &input.security_groups { + let mut list_5181 = scope_5178.start_list(true, Some("SecurityGroup")); + for item_5180 in var_5179 { #[allow(unused_mut)] - let mut entry_5180 = list_5179.entry(); - entry_5180.string(item_5178); + let mut entry_5182 = list_5181.entry(); + entry_5182.string(item_5180); } - list_5179.finish(); - } - #[allow(unused_mut)] - let mut scope_5181 = writer.prefix("SubnetId"); - if let Some(var_5182) = &input.subnet_id { - scope_5181.string(var_5182); + list_5181.finish(); } #[allow(unused_mut)] - let mut scope_5183 = writer.prefix("UserData"); - if let Some(var_5184) = &input.user_data { + let mut scope_5183 = writer.prefix("SubnetId"); + if let Some(var_5184) = &input.subnet_id { scope_5183.string(var_5184); } #[allow(unused_mut)] - let mut scope_5185 = writer.prefix("AdditionalInfo"); - if let Some(var_5186) = &input.additional_info { + let mut scope_5185 = writer.prefix("UserData"); + if let Some(var_5186) = &input.user_data { scope_5185.string(var_5186); } #[allow(unused_mut)] - let mut scope_5187 = writer.prefix("ClientToken"); - if let Some(var_5188) = &input.client_token { + let mut scope_5187 = writer.prefix("AdditionalInfo"); + if let Some(var_5188) = &input.additional_info { scope_5187.string(var_5188); } #[allow(unused_mut)] - let mut scope_5189 = writer.prefix("DisableApiTermination"); - if let Some(var_5190) = &input.disable_api_termination { - scope_5189.boolean(*var_5190); + let mut scope_5189 = writer.prefix("ClientToken"); + if let Some(var_5190) = &input.client_token { + scope_5189.string(var_5190); } #[allow(unused_mut)] - let mut scope_5191 = writer.prefix("DryRun"); - if let Some(var_5192) = &input.dry_run { + let mut scope_5191 = writer.prefix("DisableApiTermination"); + if let Some(var_5192) = &input.disable_api_termination { scope_5191.boolean(*var_5192); } #[allow(unused_mut)] - let mut scope_5193 = writer.prefix("EbsOptimized"); - if let Some(var_5194) = &input.ebs_optimized { + let mut scope_5193 = writer.prefix("DryRun"); + if let Some(var_5194) = &input.dry_run { scope_5193.boolean(*var_5194); } #[allow(unused_mut)] - let mut scope_5195 = writer.prefix("IamInstanceProfile"); - if let Some(var_5196) = &input.iam_instance_profile { + let mut scope_5195 = writer.prefix("EbsOptimized"); + if let Some(var_5196) = &input.ebs_optimized { + scope_5195.boolean(*var_5196); + } + #[allow(unused_mut)] + let mut scope_5197 = writer.prefix("IamInstanceProfile"); + if let Some(var_5198) = &input.iam_instance_profile { crate::query_ser::serialize_structure_iam_instance_profile_specification( - scope_5195, var_5196, + scope_5197, var_5198, ); } #[allow(unused_mut)] - let mut scope_5197 = writer.prefix("InstanceInitiatedShutdownBehavior"); - if let Some(var_5198) = &input.instance_initiated_shutdown_behavior { - scope_5197.string(var_5198.as_str()); + let mut scope_5199 = writer.prefix("InstanceInitiatedShutdownBehavior"); + if let Some(var_5200) = &input.instance_initiated_shutdown_behavior { + scope_5199.string(var_5200.as_str()); } #[allow(unused_mut)] - let mut scope_5199 = writer.prefix("NetworkInterface"); - if let Some(var_5200) = &input.network_interfaces { - let mut list_5202 = scope_5199.start_list(true, Some("item")); - for item_5201 in var_5200 { + let mut scope_5201 = writer.prefix("NetworkInterface"); + if let Some(var_5202) = &input.network_interfaces { + let mut list_5204 = scope_5201.start_list(true, Some("item")); + for item_5203 in var_5202 { #[allow(unused_mut)] - let mut entry_5203 = list_5202.entry(); + let mut entry_5205 = list_5204.entry(); crate::query_ser::serialize_structure_instance_network_interface_specification( - entry_5203, item_5201, + entry_5205, item_5203, ); } - list_5202.finish(); + list_5204.finish(); } #[allow(unused_mut)] - let mut scope_5204 = writer.prefix("PrivateIpAddress"); - if let Some(var_5205) = &input.private_ip_address { - scope_5204.string(var_5205); + let mut scope_5206 = writer.prefix("PrivateIpAddress"); + if let Some(var_5207) = &input.private_ip_address { + scope_5206.string(var_5207); } #[allow(unused_mut)] - let mut scope_5206 = writer.prefix("ElasticGpuSpecification"); - if let Some(var_5207) = &input.elastic_gpu_specification { - let mut list_5209 = scope_5206.start_list(true, Some("item")); - for item_5208 in var_5207 { + let mut scope_5208 = writer.prefix("ElasticGpuSpecification"); + if let Some(var_5209) = &input.elastic_gpu_specification { + let mut list_5211 = scope_5208.start_list(true, Some("item")); + for item_5210 in var_5209 { #[allow(unused_mut)] - let mut entry_5210 = list_5209.entry(); - crate::query_ser::serialize_structure_elastic_gpu_specification(entry_5210, item_5208); + let mut entry_5212 = list_5211.entry(); + crate::query_ser::serialize_structure_elastic_gpu_specification(entry_5212, item_5210); } - list_5209.finish(); + list_5211.finish(); } #[allow(unused_mut)] - let mut scope_5211 = writer.prefix("ElasticInferenceAccelerator"); - if let Some(var_5212) = &input.elastic_inference_accelerators { - let mut list_5214 = scope_5211.start_list(true, Some("item")); - for item_5213 in var_5212 { + let mut scope_5213 = writer.prefix("ElasticInferenceAccelerator"); + if let Some(var_5214) = &input.elastic_inference_accelerators { + let mut list_5216 = scope_5213.start_list(true, Some("item")); + for item_5215 in var_5214 { #[allow(unused_mut)] - let mut entry_5215 = list_5214.entry(); + let mut entry_5217 = list_5216.entry(); crate::query_ser::serialize_structure_elastic_inference_accelerator( - entry_5215, item_5213, + entry_5217, item_5215, ); } - list_5214.finish(); + list_5216.finish(); } #[allow(unused_mut)] - let mut scope_5216 = writer.prefix("TagSpecification"); - if let Some(var_5217) = &input.tag_specifications { - let mut list_5219 = scope_5216.start_list(true, Some("item")); - for item_5218 in var_5217 { + let mut scope_5218 = writer.prefix("TagSpecification"); + if let Some(var_5219) = &input.tag_specifications { + let mut list_5221 = scope_5218.start_list(true, Some("item")); + for item_5220 in var_5219 { #[allow(unused_mut)] - let mut entry_5220 = list_5219.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_5220, item_5218); + let mut entry_5222 = list_5221.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_5222, item_5220); } - list_5219.finish(); + list_5221.finish(); } #[allow(unused_mut)] - let mut scope_5221 = writer.prefix("LaunchTemplate"); - if let Some(var_5222) = &input.launch_template { - crate::query_ser::serialize_structure_launch_template_specification(scope_5221, var_5222); + let mut scope_5223 = writer.prefix("LaunchTemplate"); + if let Some(var_5224) = &input.launch_template { + crate::query_ser::serialize_structure_launch_template_specification(scope_5223, var_5224); } #[allow(unused_mut)] - let mut scope_5223 = writer.prefix("InstanceMarketOptions"); - if let Some(var_5224) = &input.instance_market_options { - crate::query_ser::serialize_structure_instance_market_options_request(scope_5223, var_5224); + let mut scope_5225 = writer.prefix("InstanceMarketOptions"); + if let Some(var_5226) = &input.instance_market_options { + crate::query_ser::serialize_structure_instance_market_options_request(scope_5225, var_5226); } #[allow(unused_mut)] - let mut scope_5225 = writer.prefix("CreditSpecification"); - if let Some(var_5226) = &input.credit_specification { - crate::query_ser::serialize_structure_credit_specification_request(scope_5225, var_5226); + let mut scope_5227 = writer.prefix("CreditSpecification"); + if let Some(var_5228) = &input.credit_specification { + crate::query_ser::serialize_structure_credit_specification_request(scope_5227, var_5228); } #[allow(unused_mut)] - let mut scope_5227 = writer.prefix("CpuOptions"); - if let Some(var_5228) = &input.cpu_options { - crate::query_ser::serialize_structure_cpu_options_request(scope_5227, var_5228); + let mut scope_5229 = writer.prefix("CpuOptions"); + if let Some(var_5230) = &input.cpu_options { + crate::query_ser::serialize_structure_cpu_options_request(scope_5229, var_5230); } #[allow(unused_mut)] - let mut scope_5229 = writer.prefix("CapacityReservationSpecification"); - if let Some(var_5230) = &input.capacity_reservation_specification { + let mut scope_5231 = writer.prefix("CapacityReservationSpecification"); + if let Some(var_5232) = &input.capacity_reservation_specification { crate::query_ser::serialize_structure_capacity_reservation_specification( - scope_5229, var_5230, + scope_5231, var_5232, ); } #[allow(unused_mut)] - let mut scope_5231 = writer.prefix("HibernationOptions"); - if let Some(var_5232) = &input.hibernation_options { - crate::query_ser::serialize_structure_hibernation_options_request(scope_5231, var_5232); + let mut scope_5233 = writer.prefix("HibernationOptions"); + if let Some(var_5234) = &input.hibernation_options { + crate::query_ser::serialize_structure_hibernation_options_request(scope_5233, var_5234); } #[allow(unused_mut)] - let mut scope_5233 = writer.prefix("LicenseSpecification"); - if let Some(var_5234) = &input.license_specifications { - let mut list_5236 = scope_5233.start_list(true, Some("item")); - for item_5235 in var_5234 { + let mut scope_5235 = writer.prefix("LicenseSpecification"); + if let Some(var_5236) = &input.license_specifications { + let mut list_5238 = scope_5235.start_list(true, Some("item")); + for item_5237 in var_5236 { #[allow(unused_mut)] - let mut entry_5237 = list_5236.entry(); + let mut entry_5239 = list_5238.entry(); crate::query_ser::serialize_structure_license_configuration_request( - entry_5237, item_5235, + entry_5239, item_5237, ); } - list_5236.finish(); + list_5238.finish(); } #[allow(unused_mut)] - let mut scope_5238 = writer.prefix("MetadataOptions"); - if let Some(var_5239) = &input.metadata_options { + let mut scope_5240 = writer.prefix("MetadataOptions"); + if let Some(var_5241) = &input.metadata_options { crate::query_ser::serialize_structure_instance_metadata_options_request( - scope_5238, var_5239, + scope_5240, var_5241, ); } #[allow(unused_mut)] - let mut scope_5240 = writer.prefix("EnclaveOptions"); - if let Some(var_5241) = &input.enclave_options { - crate::query_ser::serialize_structure_enclave_options_request(scope_5240, var_5241); + let mut scope_5242 = writer.prefix("EnclaveOptions"); + if let Some(var_5243) = &input.enclave_options { + crate::query_ser::serialize_structure_enclave_options_request(scope_5242, var_5243); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18127,34 +18132,34 @@ pub fn serialize_operation_run_scheduled_instances( let mut writer = smithy_query::QueryWriter::new(&mut out, "RunScheduledInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5242 = writer.prefix("ClientToken"); - if let Some(var_5243) = &input.client_token { - scope_5242.string(var_5243); + let mut scope_5244 = writer.prefix("ClientToken"); + if let Some(var_5245) = &input.client_token { + scope_5244.string(var_5245); } #[allow(unused_mut)] - let mut scope_5244 = writer.prefix("DryRun"); - if let Some(var_5245) = &input.dry_run { - scope_5244.boolean(*var_5245); + let mut scope_5246 = writer.prefix("DryRun"); + if let Some(var_5247) = &input.dry_run { + scope_5246.boolean(*var_5247); } #[allow(unused_mut)] - let mut scope_5246 = writer.prefix("InstanceCount"); - if let Some(var_5247) = &input.instance_count { - scope_5246.number( + let mut scope_5248 = writer.prefix("InstanceCount"); + if let Some(var_5249) = &input.instance_count { + scope_5248.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5247).into()), + smithy_types::Number::NegInt((*var_5249).into()), ); } #[allow(unused_mut)] - let mut scope_5248 = writer.prefix("LaunchSpecification"); - if let Some(var_5249) = &input.launch_specification { + let mut scope_5250 = writer.prefix("LaunchSpecification"); + if let Some(var_5251) = &input.launch_specification { crate::query_ser::serialize_structure_scheduled_instances_launch_specification( - scope_5248, var_5249, + scope_5250, var_5251, ); } #[allow(unused_mut)] - let mut scope_5250 = writer.prefix("ScheduledInstanceId"); - if let Some(var_5251) = &input.scheduled_instance_id { - scope_5250.string(var_5251); + let mut scope_5252 = writer.prefix("ScheduledInstanceId"); + if let Some(var_5253) = &input.scheduled_instance_id { + scope_5252.string(var_5253); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18168,38 +18173,38 @@ pub fn serialize_operation_search_local_gateway_routes( let mut writer = smithy_query::QueryWriter::new(&mut out, "SearchLocalGatewayRoutes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5252 = writer.prefix("LocalGatewayRouteTableId"); - if let Some(var_5253) = &input.local_gateway_route_table_id { - scope_5252.string(var_5253); + let mut scope_5254 = writer.prefix("LocalGatewayRouteTableId"); + if let Some(var_5255) = &input.local_gateway_route_table_id { + scope_5254.string(var_5255); } #[allow(unused_mut)] - let mut scope_5254 = writer.prefix("Filter"); - if let Some(var_5255) = &input.filters { - let mut list_5257 = scope_5254.start_list(true, Some("Filter")); - for item_5256 in var_5255 { + let mut scope_5256 = writer.prefix("Filter"); + if let Some(var_5257) = &input.filters { + let mut list_5259 = scope_5256.start_list(true, Some("Filter")); + for item_5258 in var_5257 { #[allow(unused_mut)] - let mut entry_5258 = list_5257.entry(); - crate::query_ser::serialize_structure_filter(entry_5258, item_5256); + let mut entry_5260 = list_5259.entry(); + crate::query_ser::serialize_structure_filter(entry_5260, item_5258); } - list_5257.finish(); + list_5259.finish(); } #[allow(unused_mut)] - let mut scope_5259 = writer.prefix("MaxResults"); - if let Some(var_5260) = &input.max_results { - scope_5259.number( + let mut scope_5261 = writer.prefix("MaxResults"); + if let Some(var_5262) = &input.max_results { + scope_5261.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5260).into()), + smithy_types::Number::NegInt((*var_5262).into()), ); } #[allow(unused_mut)] - let mut scope_5261 = writer.prefix("NextToken"); - if let Some(var_5262) = &input.next_token { - scope_5261.string(var_5262); + let mut scope_5263 = writer.prefix("NextToken"); + if let Some(var_5264) = &input.next_token { + scope_5263.string(var_5264); } #[allow(unused_mut)] - let mut scope_5263 = writer.prefix("DryRun"); - if let Some(var_5264) = &input.dry_run { - scope_5263.boolean(*var_5264); + let mut scope_5265 = writer.prefix("DryRun"); + if let Some(var_5266) = &input.dry_run { + scope_5265.boolean(*var_5266); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18216,38 +18221,38 @@ pub fn serialize_operation_search_transit_gateway_multicast_groups( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_5265 = writer.prefix("TransitGatewayMulticastDomainId"); - if let Some(var_5266) = &input.transit_gateway_multicast_domain_id { - scope_5265.string(var_5266); + let mut scope_5267 = writer.prefix("TransitGatewayMulticastDomainId"); + if let Some(var_5268) = &input.transit_gateway_multicast_domain_id { + scope_5267.string(var_5268); } #[allow(unused_mut)] - let mut scope_5267 = writer.prefix("Filter"); - if let Some(var_5268) = &input.filters { - let mut list_5270 = scope_5267.start_list(true, Some("Filter")); - for item_5269 in var_5268 { + let mut scope_5269 = writer.prefix("Filter"); + if let Some(var_5270) = &input.filters { + let mut list_5272 = scope_5269.start_list(true, Some("Filter")); + for item_5271 in var_5270 { #[allow(unused_mut)] - let mut entry_5271 = list_5270.entry(); - crate::query_ser::serialize_structure_filter(entry_5271, item_5269); + let mut entry_5273 = list_5272.entry(); + crate::query_ser::serialize_structure_filter(entry_5273, item_5271); } - list_5270.finish(); + list_5272.finish(); } #[allow(unused_mut)] - let mut scope_5272 = writer.prefix("MaxResults"); - if let Some(var_5273) = &input.max_results { - scope_5272.number( + let mut scope_5274 = writer.prefix("MaxResults"); + if let Some(var_5275) = &input.max_results { + scope_5274.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5273).into()), + smithy_types::Number::NegInt((*var_5275).into()), ); } #[allow(unused_mut)] - let mut scope_5274 = writer.prefix("NextToken"); - if let Some(var_5275) = &input.next_token { - scope_5274.string(var_5275); + let mut scope_5276 = writer.prefix("NextToken"); + if let Some(var_5277) = &input.next_token { + scope_5276.string(var_5277); } #[allow(unused_mut)] - let mut scope_5276 = writer.prefix("DryRun"); - if let Some(var_5277) = &input.dry_run { - scope_5276.boolean(*var_5277); + let mut scope_5278 = writer.prefix("DryRun"); + if let Some(var_5279) = &input.dry_run { + scope_5278.boolean(*var_5279); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18261,33 +18266,33 @@ pub fn serialize_operation_search_transit_gateway_routes( let mut writer = smithy_query::QueryWriter::new(&mut out, "SearchTransitGatewayRoutes", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5278 = writer.prefix("TransitGatewayRouteTableId"); - if let Some(var_5279) = &input.transit_gateway_route_table_id { - scope_5278.string(var_5279); + let mut scope_5280 = writer.prefix("TransitGatewayRouteTableId"); + if let Some(var_5281) = &input.transit_gateway_route_table_id { + scope_5280.string(var_5281); } #[allow(unused_mut)] - let mut scope_5280 = writer.prefix("Filter"); - if let Some(var_5281) = &input.filters { - let mut list_5283 = scope_5280.start_list(true, Some("Filter")); - for item_5282 in var_5281 { + let mut scope_5282 = writer.prefix("Filter"); + if let Some(var_5283) = &input.filters { + let mut list_5285 = scope_5282.start_list(true, Some("Filter")); + for item_5284 in var_5283 { #[allow(unused_mut)] - let mut entry_5284 = list_5283.entry(); - crate::query_ser::serialize_structure_filter(entry_5284, item_5282); + let mut entry_5286 = list_5285.entry(); + crate::query_ser::serialize_structure_filter(entry_5286, item_5284); } - list_5283.finish(); + list_5285.finish(); } #[allow(unused_mut)] - let mut scope_5285 = writer.prefix("MaxResults"); - if let Some(var_5286) = &input.max_results { - scope_5285.number( + let mut scope_5287 = writer.prefix("MaxResults"); + if let Some(var_5288) = &input.max_results { + scope_5287.number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_5286).into()), + smithy_types::Number::NegInt((*var_5288).into()), ); } #[allow(unused_mut)] - let mut scope_5287 = writer.prefix("DryRun"); - if let Some(var_5288) = &input.dry_run { - scope_5287.boolean(*var_5288); + let mut scope_5289 = writer.prefix("DryRun"); + if let Some(var_5290) = &input.dry_run { + scope_5289.boolean(*var_5290); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18301,14 +18306,14 @@ pub fn serialize_operation_send_diagnostic_interrupt( let mut writer = smithy_query::QueryWriter::new(&mut out, "SendDiagnosticInterrupt", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5289 = writer.prefix("InstanceId"); - if let Some(var_5290) = &input.instance_id { - scope_5289.string(var_5290); + let mut scope_5291 = writer.prefix("InstanceId"); + if let Some(var_5292) = &input.instance_id { + scope_5291.string(var_5292); } #[allow(unused_mut)] - let mut scope_5291 = writer.prefix("DryRun"); - if let Some(var_5292) = &input.dry_run { - scope_5291.boolean(*var_5292); + let mut scope_5293 = writer.prefix("DryRun"); + if let Some(var_5294) = &input.dry_run { + scope_5293.boolean(*var_5294); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18321,25 +18326,25 @@ pub fn serialize_operation_start_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "StartInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5293 = writer.prefix("InstanceId"); - if let Some(var_5294) = &input.instance_ids { - let mut list_5296 = scope_5293.start_list(true, Some("InstanceId")); - for item_5295 in var_5294 { + let mut scope_5295 = writer.prefix("InstanceId"); + if let Some(var_5296) = &input.instance_ids { + let mut list_5298 = scope_5295.start_list(true, Some("InstanceId")); + for item_5297 in var_5296 { #[allow(unused_mut)] - let mut entry_5297 = list_5296.entry(); - entry_5297.string(item_5295); + let mut entry_5299 = list_5298.entry(); + entry_5299.string(item_5297); } - list_5296.finish(); + list_5298.finish(); } #[allow(unused_mut)] - let mut scope_5298 = writer.prefix("AdditionalInfo"); - if let Some(var_5299) = &input.additional_info { - scope_5298.string(var_5299); + let mut scope_5300 = writer.prefix("AdditionalInfo"); + if let Some(var_5301) = &input.additional_info { + scope_5300.string(var_5301); } #[allow(unused_mut)] - let mut scope_5300 = writer.prefix("DryRun"); - if let Some(var_5301) = &input.dry_run { - scope_5300.boolean(*var_5301); + let mut scope_5302 = writer.prefix("DryRun"); + if let Some(var_5303) = &input.dry_run { + scope_5302.boolean(*var_5303); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18353,41 +18358,41 @@ pub fn serialize_operation_start_network_insights_analysis( let mut writer = smithy_query::QueryWriter::new(&mut out, "StartNetworkInsightsAnalysis", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5302 = writer.prefix("NetworkInsightsPathId"); - if let Some(var_5303) = &input.network_insights_path_id { - scope_5302.string(var_5303); + let mut scope_5304 = writer.prefix("NetworkInsightsPathId"); + if let Some(var_5305) = &input.network_insights_path_id { + scope_5304.string(var_5305); } #[allow(unused_mut)] - let mut scope_5304 = writer.prefix("FilterInArn"); - if let Some(var_5305) = &input.filter_in_arns { - let mut list_5307 = scope_5304.start_list(true, Some("item")); - for item_5306 in var_5305 { + let mut scope_5306 = writer.prefix("FilterInArn"); + if let Some(var_5307) = &input.filter_in_arns { + let mut list_5309 = scope_5306.start_list(true, Some("item")); + for item_5308 in var_5307 { #[allow(unused_mut)] - let mut entry_5308 = list_5307.entry(); - entry_5308.string(item_5306); + let mut entry_5310 = list_5309.entry(); + entry_5310.string(item_5308); } - list_5307.finish(); + list_5309.finish(); } #[allow(unused_mut)] - let mut scope_5309 = writer.prefix("DryRun"); - if let Some(var_5310) = &input.dry_run { - scope_5309.boolean(*var_5310); + let mut scope_5311 = writer.prefix("DryRun"); + if let Some(var_5312) = &input.dry_run { + scope_5311.boolean(*var_5312); } #[allow(unused_mut)] - let mut scope_5311 = writer.prefix("TagSpecification"); - if let Some(var_5312) = &input.tag_specifications { - let mut list_5314 = scope_5311.start_list(true, Some("item")); - for item_5313 in var_5312 { + let mut scope_5313 = writer.prefix("TagSpecification"); + if let Some(var_5314) = &input.tag_specifications { + let mut list_5316 = scope_5313.start_list(true, Some("item")); + for item_5315 in var_5314 { #[allow(unused_mut)] - let mut entry_5315 = list_5314.entry(); - crate::query_ser::serialize_structure_tag_specification(entry_5315, item_5313); + let mut entry_5317 = list_5316.entry(); + crate::query_ser::serialize_structure_tag_specification(entry_5317, item_5315); } - list_5314.finish(); + list_5316.finish(); } #[allow(unused_mut)] - let mut scope_5316 = writer.prefix("ClientToken"); - if let Some(var_5317) = &input.client_token { - scope_5316.string(var_5317); + let mut scope_5318 = writer.prefix("ClientToken"); + if let Some(var_5319) = &input.client_token { + scope_5318.string(var_5319); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18404,14 +18409,14 @@ pub fn serialize_operation_start_vpc_endpoint_service_private_dns_verification( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_5318 = writer.prefix("DryRun"); - if let Some(var_5319) = &input.dry_run { - scope_5318.boolean(*var_5319); + let mut scope_5320 = writer.prefix("DryRun"); + if let Some(var_5321) = &input.dry_run { + scope_5320.boolean(*var_5321); } #[allow(unused_mut)] - let mut scope_5320 = writer.prefix("ServiceId"); - if let Some(var_5321) = &input.service_id { - scope_5320.string(var_5321); + let mut scope_5322 = writer.prefix("ServiceId"); + if let Some(var_5323) = &input.service_id { + scope_5322.string(var_5323); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18424,31 +18429,31 @@ pub fn serialize_operation_stop_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "StopInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5322 = writer.prefix("InstanceId"); - if let Some(var_5323) = &input.instance_ids { - let mut list_5325 = scope_5322.start_list(true, Some("InstanceId")); - for item_5324 in var_5323 { + let mut scope_5324 = writer.prefix("InstanceId"); + if let Some(var_5325) = &input.instance_ids { + let mut list_5327 = scope_5324.start_list(true, Some("InstanceId")); + for item_5326 in var_5325 { #[allow(unused_mut)] - let mut entry_5326 = list_5325.entry(); - entry_5326.string(item_5324); + let mut entry_5328 = list_5327.entry(); + entry_5328.string(item_5326); } - list_5325.finish(); + list_5327.finish(); } #[allow(unused_mut)] - let mut scope_5327 = writer.prefix("Hibernate"); - if let Some(var_5328) = &input.hibernate { - scope_5327.boolean(*var_5328); - } - #[allow(unused_mut)] - let mut scope_5329 = writer.prefix("DryRun"); - if let Some(var_5330) = &input.dry_run { + let mut scope_5329 = writer.prefix("Hibernate"); + if let Some(var_5330) = &input.hibernate { scope_5329.boolean(*var_5330); } #[allow(unused_mut)] - let mut scope_5331 = writer.prefix("Force"); - if let Some(var_5332) = &input.force { + let mut scope_5331 = writer.prefix("DryRun"); + if let Some(var_5332) = &input.dry_run { scope_5331.boolean(*var_5332); } + #[allow(unused_mut)] + let mut scope_5333 = writer.prefix("Force"); + if let Some(var_5334) = &input.force { + scope_5333.boolean(*var_5334); + } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) } @@ -18461,24 +18466,24 @@ pub fn serialize_operation_terminate_client_vpn_connections( let mut writer = smithy_query::QueryWriter::new(&mut out, "TerminateClientVpnConnections", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5333 = writer.prefix("ClientVpnEndpointId"); - if let Some(var_5334) = &input.client_vpn_endpoint_id { - scope_5333.string(var_5334); - } - #[allow(unused_mut)] - let mut scope_5335 = writer.prefix("ConnectionId"); - if let Some(var_5336) = &input.connection_id { + let mut scope_5335 = writer.prefix("ClientVpnEndpointId"); + if let Some(var_5336) = &input.client_vpn_endpoint_id { scope_5335.string(var_5336); } #[allow(unused_mut)] - let mut scope_5337 = writer.prefix("Username"); - if let Some(var_5338) = &input.username { + let mut scope_5337 = writer.prefix("ConnectionId"); + if let Some(var_5338) = &input.connection_id { scope_5337.string(var_5338); } #[allow(unused_mut)] - let mut scope_5339 = writer.prefix("DryRun"); - if let Some(var_5340) = &input.dry_run { - scope_5339.boolean(*var_5340); + let mut scope_5339 = writer.prefix("Username"); + if let Some(var_5340) = &input.username { + scope_5339.string(var_5340); + } + #[allow(unused_mut)] + let mut scope_5341 = writer.prefix("DryRun"); + if let Some(var_5342) = &input.dry_run { + scope_5341.boolean(*var_5342); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18491,20 +18496,20 @@ pub fn serialize_operation_terminate_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "TerminateInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5341 = writer.prefix("InstanceId"); - if let Some(var_5342) = &input.instance_ids { - let mut list_5344 = scope_5341.start_list(true, Some("InstanceId")); - for item_5343 in var_5342 { + let mut scope_5343 = writer.prefix("InstanceId"); + if let Some(var_5344) = &input.instance_ids { + let mut list_5346 = scope_5343.start_list(true, Some("InstanceId")); + for item_5345 in var_5344 { #[allow(unused_mut)] - let mut entry_5345 = list_5344.entry(); - entry_5345.string(item_5343); + let mut entry_5347 = list_5346.entry(); + entry_5347.string(item_5345); } - list_5344.finish(); + list_5346.finish(); } #[allow(unused_mut)] - let mut scope_5346 = writer.prefix("DryRun"); - if let Some(var_5347) = &input.dry_run { - scope_5346.boolean(*var_5347); + let mut scope_5348 = writer.prefix("DryRun"); + if let Some(var_5349) = &input.dry_run { + scope_5348.boolean(*var_5349); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18518,31 +18523,31 @@ pub fn serialize_operation_unassign_ipv6_addresses( let mut writer = smithy_query::QueryWriter::new(&mut out, "UnassignIpv6Addresses", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5348 = writer.prefix("Ipv6Addresses"); - if let Some(var_5349) = &input.ipv6_addresses { - let mut list_5351 = scope_5348.start_list(true, Some("item")); - for item_5350 in var_5349 { + let mut scope_5350 = writer.prefix("Ipv6Addresses"); + if let Some(var_5351) = &input.ipv6_addresses { + let mut list_5353 = scope_5350.start_list(true, Some("item")); + for item_5352 in var_5351 { #[allow(unused_mut)] - let mut entry_5352 = list_5351.entry(); - entry_5352.string(item_5350); + let mut entry_5354 = list_5353.entry(); + entry_5354.string(item_5352); } - list_5351.finish(); + list_5353.finish(); } #[allow(unused_mut)] - let mut scope_5353 = writer.prefix("Ipv6Prefix"); - if let Some(var_5354) = &input.ipv6_prefixes { - let mut list_5356 = scope_5353.start_list(true, Some("item")); - for item_5355 in var_5354 { + let mut scope_5355 = writer.prefix("Ipv6Prefix"); + if let Some(var_5356) = &input.ipv6_prefixes { + let mut list_5358 = scope_5355.start_list(true, Some("item")); + for item_5357 in var_5356 { #[allow(unused_mut)] - let mut entry_5357 = list_5356.entry(); - entry_5357.string(item_5355); + let mut entry_5359 = list_5358.entry(); + entry_5359.string(item_5357); } - list_5356.finish(); + list_5358.finish(); } #[allow(unused_mut)] - let mut scope_5358 = writer.prefix("NetworkInterfaceId"); - if let Some(var_5359) = &input.network_interface_id { - scope_5358.string(var_5359); + let mut scope_5360 = writer.prefix("NetworkInterfaceId"); + if let Some(var_5361) = &input.network_interface_id { + scope_5360.string(var_5361); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18556,31 +18561,31 @@ pub fn serialize_operation_unassign_private_ip_addresses( let mut writer = smithy_query::QueryWriter::new(&mut out, "UnassignPrivateIpAddresses", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5360 = writer.prefix("NetworkInterfaceId"); - if let Some(var_5361) = &input.network_interface_id { - scope_5360.string(var_5361); + let mut scope_5362 = writer.prefix("NetworkInterfaceId"); + if let Some(var_5363) = &input.network_interface_id { + scope_5362.string(var_5363); } #[allow(unused_mut)] - let mut scope_5362 = writer.prefix("PrivateIpAddress"); - if let Some(var_5363) = &input.private_ip_addresses { - let mut list_5365 = scope_5362.start_list(true, Some("PrivateIpAddress")); - for item_5364 in var_5363 { + let mut scope_5364 = writer.prefix("PrivateIpAddress"); + if let Some(var_5365) = &input.private_ip_addresses { + let mut list_5367 = scope_5364.start_list(true, Some("PrivateIpAddress")); + for item_5366 in var_5365 { #[allow(unused_mut)] - let mut entry_5366 = list_5365.entry(); - entry_5366.string(item_5364); + let mut entry_5368 = list_5367.entry(); + entry_5368.string(item_5366); } - list_5365.finish(); + list_5367.finish(); } #[allow(unused_mut)] - let mut scope_5367 = writer.prefix("Ipv4Prefix"); - if let Some(var_5368) = &input.ipv4_prefixes { - let mut list_5370 = scope_5367.start_list(true, Some("item")); - for item_5369 in var_5368 { + let mut scope_5369 = writer.prefix("Ipv4Prefix"); + if let Some(var_5370) = &input.ipv4_prefixes { + let mut list_5372 = scope_5369.start_list(true, Some("item")); + for item_5371 in var_5370 { #[allow(unused_mut)] - let mut entry_5371 = list_5370.entry(); - entry_5371.string(item_5369); + let mut entry_5373 = list_5372.entry(); + entry_5373.string(item_5371); } - list_5370.finish(); + list_5372.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18593,20 +18598,20 @@ pub fn serialize_operation_unmonitor_instances( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "UnmonitorInstances", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5372 = writer.prefix("InstanceId"); - if let Some(var_5373) = &input.instance_ids { - let mut list_5375 = scope_5372.start_list(true, Some("InstanceId")); - for item_5374 in var_5373 { + let mut scope_5374 = writer.prefix("InstanceId"); + if let Some(var_5375) = &input.instance_ids { + let mut list_5377 = scope_5374.start_list(true, Some("InstanceId")); + for item_5376 in var_5375 { #[allow(unused_mut)] - let mut entry_5376 = list_5375.entry(); - entry_5376.string(item_5374); + let mut entry_5378 = list_5377.entry(); + entry_5378.string(item_5376); } - list_5375.finish(); + list_5377.finish(); } #[allow(unused_mut)] - let mut scope_5377 = writer.prefix("DryRun"); - if let Some(var_5378) = &input.dry_run { - scope_5377.boolean(*var_5378); + let mut scope_5379 = writer.prefix("DryRun"); + if let Some(var_5380) = &input.dry_run { + scope_5379.boolean(*var_5380); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18623,43 +18628,43 @@ pub fn serialize_operation_update_security_group_rule_descriptions_egress( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_5379 = writer.prefix("DryRun"); - if let Some(var_5380) = &input.dry_run { - scope_5379.boolean(*var_5380); + let mut scope_5381 = writer.prefix("DryRun"); + if let Some(var_5382) = &input.dry_run { + scope_5381.boolean(*var_5382); } #[allow(unused_mut)] - let mut scope_5381 = writer.prefix("GroupId"); - if let Some(var_5382) = &input.group_id { - scope_5381.string(var_5382); + let mut scope_5383 = writer.prefix("GroupId"); + if let Some(var_5384) = &input.group_id { + scope_5383.string(var_5384); } #[allow(unused_mut)] - let mut scope_5383 = writer.prefix("GroupName"); - if let Some(var_5384) = &input.group_name { - scope_5383.string(var_5384); + let mut scope_5385 = writer.prefix("GroupName"); + if let Some(var_5386) = &input.group_name { + scope_5385.string(var_5386); } #[allow(unused_mut)] - let mut scope_5385 = writer.prefix("IpPermissions"); - if let Some(var_5386) = &input.ip_permissions { - let mut list_5388 = scope_5385.start_list(true, Some("item")); - for item_5387 in var_5386 { + let mut scope_5387 = writer.prefix("IpPermissions"); + if let Some(var_5388) = &input.ip_permissions { + let mut list_5390 = scope_5387.start_list(true, Some("item")); + for item_5389 in var_5388 { #[allow(unused_mut)] - let mut entry_5389 = list_5388.entry(); - crate::query_ser::serialize_structure_ip_permission(entry_5389, item_5387); + let mut entry_5391 = list_5390.entry(); + crate::query_ser::serialize_structure_ip_permission(entry_5391, item_5389); } - list_5388.finish(); + list_5390.finish(); } #[allow(unused_mut)] - let mut scope_5390 = writer.prefix("SecurityGroupRuleDescription"); - if let Some(var_5391) = &input.security_group_rule_descriptions { - let mut list_5393 = scope_5390.start_list(true, Some("item")); - for item_5392 in var_5391 { + let mut scope_5392 = writer.prefix("SecurityGroupRuleDescription"); + if let Some(var_5393) = &input.security_group_rule_descriptions { + let mut list_5395 = scope_5392.start_list(true, Some("item")); + for item_5394 in var_5393 { #[allow(unused_mut)] - let mut entry_5394 = list_5393.entry(); + let mut entry_5396 = list_5395.entry(); crate::query_ser::serialize_structure_security_group_rule_description( - entry_5394, item_5392, + entry_5396, item_5394, ); } - list_5393.finish(); + list_5395.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18676,43 +18681,43 @@ pub fn serialize_operation_update_security_group_rule_descriptions_ingress( "2016-11-15", ); #[allow(unused_mut)] - let mut scope_5395 = writer.prefix("DryRun"); - if let Some(var_5396) = &input.dry_run { - scope_5395.boolean(*var_5396); + let mut scope_5397 = writer.prefix("DryRun"); + if let Some(var_5398) = &input.dry_run { + scope_5397.boolean(*var_5398); } #[allow(unused_mut)] - let mut scope_5397 = writer.prefix("GroupId"); - if let Some(var_5398) = &input.group_id { - scope_5397.string(var_5398); + let mut scope_5399 = writer.prefix("GroupId"); + if let Some(var_5400) = &input.group_id { + scope_5399.string(var_5400); } #[allow(unused_mut)] - let mut scope_5399 = writer.prefix("GroupName"); - if let Some(var_5400) = &input.group_name { - scope_5399.string(var_5400); + let mut scope_5401 = writer.prefix("GroupName"); + if let Some(var_5402) = &input.group_name { + scope_5401.string(var_5402); } #[allow(unused_mut)] - let mut scope_5401 = writer.prefix("IpPermissions"); - if let Some(var_5402) = &input.ip_permissions { - let mut list_5404 = scope_5401.start_list(true, Some("item")); - for item_5403 in var_5402 { + let mut scope_5403 = writer.prefix("IpPermissions"); + if let Some(var_5404) = &input.ip_permissions { + let mut list_5406 = scope_5403.start_list(true, Some("item")); + for item_5405 in var_5404 { #[allow(unused_mut)] - let mut entry_5405 = list_5404.entry(); - crate::query_ser::serialize_structure_ip_permission(entry_5405, item_5403); + let mut entry_5407 = list_5406.entry(); + crate::query_ser::serialize_structure_ip_permission(entry_5407, item_5405); } - list_5404.finish(); + list_5406.finish(); } #[allow(unused_mut)] - let mut scope_5406 = writer.prefix("SecurityGroupRuleDescription"); - if let Some(var_5407) = &input.security_group_rule_descriptions { - let mut list_5409 = scope_5406.start_list(true, Some("item")); - for item_5408 in var_5407 { + let mut scope_5408 = writer.prefix("SecurityGroupRuleDescription"); + if let Some(var_5409) = &input.security_group_rule_descriptions { + let mut list_5411 = scope_5408.start_list(true, Some("item")); + for item_5410 in var_5409 { #[allow(unused_mut)] - let mut entry_5410 = list_5409.entry(); + let mut entry_5412 = list_5411.entry(); crate::query_ser::serialize_structure_security_group_rule_description( - entry_5410, item_5408, + entry_5412, item_5410, ); } - list_5409.finish(); + list_5411.finish(); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) @@ -18725,14 +18730,14 @@ pub fn serialize_operation_withdraw_byoip_cidr( #[allow(unused_mut)] let mut writer = smithy_query::QueryWriter::new(&mut out, "WithdrawByoipCidr", "2016-11-15"); #[allow(unused_mut)] - let mut scope_5411 = writer.prefix("Cidr"); - if let Some(var_5412) = &input.cidr { - scope_5411.string(var_5412); + let mut scope_5413 = writer.prefix("Cidr"); + if let Some(var_5414) = &input.cidr { + scope_5413.string(var_5414); } #[allow(unused_mut)] - let mut scope_5413 = writer.prefix("DryRun"); - if let Some(var_5414) = &input.dry_run { - scope_5413.boolean(*var_5414); + let mut scope_5415 = writer.prefix("DryRun"); + if let Some(var_5416) = &input.dry_run { + scope_5415.boolean(*var_5416); } writer.finish(); Ok(smithy_http::body::SdkBody::from(out)) diff --git a/sdk/ec2/src/output.rs b/sdk/ec2/src/output.rs index bf8cbaad98d6..59a888c86f1d 100644 --- a/sdk/ec2/src/output.rs +++ b/sdk/ec2/src/output.rs @@ -24507,7 +24507,7 @@ impl CreateLaunchTemplateOutput { pub struct CreateKeyPairOutput { ///

            The SHA-1 digest of the DER encoded private key.

            pub key_fingerprint: std::option::Option, - ///

            An unencrypted PEM encoded RSA private key.

            + ///

            An unencrypted PEM encoded RSA or ED25519 private key.

            pub key_material: std::option::Option, ///

            The name of the key pair.

            pub key_name: std::option::Option, @@ -24552,7 +24552,7 @@ pub mod create_key_pair_output { self.key_fingerprint = input; self } - ///

            An unencrypted PEM encoded RSA private key.

            + ///

            An unencrypted PEM encoded RSA or ED25519 private key.

            pub fn key_material(mut self, input: impl Into) -> Self { self.key_material = Some(input.into()); self diff --git a/sdk/ec2/src/xml_deser.rs b/sdk/ec2/src/xml_deser.rs index c90d56b3979b..ab044667f6cb 100644 --- a/sdk/ec2/src/xml_deser.rs +++ b/sdk/ec2/src/xml_deser.rs @@ -39022,14 +39022,28 @@ pub fn deser_structure_key_pair_info( builder = builder.set_key_name(var_1795); } , - s if s.matches("tagSet") /* Tags com.amazonaws.ec2#KeyPairInfo$Tags */ => { + s if s.matches("keyType") /* KeyType com.amazonaws.ec2#KeyPairInfo$KeyType */ => { let var_1796 = + Some( + Result::::Ok( + crate::model::KeyType::from( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + ) + ? + ) + ; + builder = builder.set_key_type(var_1796); + } + , + s if s.matches("tagSet") /* Tags com.amazonaws.ec2#KeyPairInfo$Tags */ => { + let var_1797 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1796); + builder = builder.set_tags(var_1797); } , _ => {} @@ -39046,7 +39060,7 @@ pub fn deser_structure_local_gateway_route_table( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("localGatewayRouteTableId") /* LocalGatewayRouteTableId com.amazonaws.ec2#LocalGatewayRouteTable$LocalGatewayRouteTableId */ => { - let var_1797 = + let var_1798 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39055,11 +39069,11 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_local_gateway_route_table_id(var_1797); + builder = builder.set_local_gateway_route_table_id(var_1798); } , s if s.matches("localGatewayRouteTableArn") /* LocalGatewayRouteTableArn com.amazonaws.ec2#LocalGatewayRouteTable$LocalGatewayRouteTableArn */ => { - let var_1798 = + let var_1799 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39068,11 +39082,11 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_local_gateway_route_table_arn(var_1798); + builder = builder.set_local_gateway_route_table_arn(var_1799); } , s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#LocalGatewayRouteTable$LocalGatewayId */ => { - let var_1799 = + let var_1800 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39081,11 +39095,11 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_local_gateway_id(var_1799); + builder = builder.set_local_gateway_id(var_1800); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#LocalGatewayRouteTable$OutpostArn */ => { - let var_1800 = + let var_1801 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39094,11 +39108,11 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_outpost_arn(var_1800); + builder = builder.set_outpost_arn(var_1801); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#LocalGatewayRouteTable$OwnerId */ => { - let var_1801 = + let var_1802 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39107,11 +39121,11 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_owner_id(var_1801); + builder = builder.set_owner_id(var_1802); } , s if s.matches("state") /* State com.amazonaws.ec2#LocalGatewayRouteTable$State */ => { - let var_1802 = + let var_1803 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39120,17 +39134,17 @@ pub fn deser_structure_local_gateway_route_table( ? ) ; - builder = builder.set_state(var_1802); + builder = builder.set_state(var_1803); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LocalGatewayRouteTable$Tags */ => { - let var_1803 = + let var_1804 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1803); + builder = builder.set_tags(var_1804); } , _ => {} @@ -39151,7 +39165,7 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("localGatewayRouteTableVirtualInterfaceGroupAssociationId") /* LocalGatewayRouteTableVirtualInterfaceGroupAssociationId com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$LocalGatewayRouteTableVirtualInterfaceGroupAssociationId */ => { - let var_1804 = + let var_1805 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39160,11 +39174,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_local_gateway_route_table_virtual_interface_group_association_id(var_1804); + builder = builder.set_local_gateway_route_table_virtual_interface_group_association_id(var_1805); } , s if s.matches("localGatewayVirtualInterfaceGroupId") /* LocalGatewayVirtualInterfaceGroupId com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$LocalGatewayVirtualInterfaceGroupId */ => { - let var_1805 = + let var_1806 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39173,11 +39187,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_local_gateway_virtual_interface_group_id(var_1805); + builder = builder.set_local_gateway_virtual_interface_group_id(var_1806); } , s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$LocalGatewayId */ => { - let var_1806 = + let var_1807 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39186,11 +39200,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_local_gateway_id(var_1806); + builder = builder.set_local_gateway_id(var_1807); } , s if s.matches("localGatewayRouteTableId") /* LocalGatewayRouteTableId com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$LocalGatewayRouteTableId */ => { - let var_1807 = + let var_1808 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39199,11 +39213,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_local_gateway_route_table_id(var_1807); + builder = builder.set_local_gateway_route_table_id(var_1808); } , s if s.matches("localGatewayRouteTableArn") /* LocalGatewayRouteTableArn com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$LocalGatewayRouteTableArn */ => { - let var_1808 = + let var_1809 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39212,11 +39226,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_local_gateway_route_table_arn(var_1808); + builder = builder.set_local_gateway_route_table_arn(var_1809); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$OwnerId */ => { - let var_1809 = + let var_1810 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39225,11 +39239,11 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_owner_id(var_1809); + builder = builder.set_owner_id(var_1810); } , s if s.matches("state") /* State com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$State */ => { - let var_1810 = + let var_1811 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39238,17 +39252,17 @@ pub fn deser_structure_local_gateway_route_table_virtual_interface_group_associa ? ) ; - builder = builder.set_state(var_1810); + builder = builder.set_state(var_1811); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LocalGatewayRouteTableVirtualInterfaceGroupAssociation$Tags */ => { - let var_1811 = + let var_1812 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1811); + builder = builder.set_tags(var_1812); } , _ => {} @@ -39265,7 +39279,7 @@ pub fn deser_structure_local_gateway( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#LocalGateway$LocalGatewayId */ => { - let var_1812 = + let var_1813 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39274,11 +39288,11 @@ pub fn deser_structure_local_gateway( ? ) ; - builder = builder.set_local_gateway_id(var_1812); + builder = builder.set_local_gateway_id(var_1813); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#LocalGateway$OutpostArn */ => { - let var_1813 = + let var_1814 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39287,11 +39301,11 @@ pub fn deser_structure_local_gateway( ? ) ; - builder = builder.set_outpost_arn(var_1813); + builder = builder.set_outpost_arn(var_1814); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#LocalGateway$OwnerId */ => { - let var_1814 = + let var_1815 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39300,11 +39314,11 @@ pub fn deser_structure_local_gateway( ? ) ; - builder = builder.set_owner_id(var_1814); + builder = builder.set_owner_id(var_1815); } , s if s.matches("state") /* State com.amazonaws.ec2#LocalGateway$State */ => { - let var_1815 = + let var_1816 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39313,17 +39327,17 @@ pub fn deser_structure_local_gateway( ? ) ; - builder = builder.set_state(var_1815); + builder = builder.set_state(var_1816); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LocalGateway$Tags */ => { - let var_1816 = + let var_1817 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1816); + builder = builder.set_tags(var_1817); } , _ => {} @@ -39340,7 +39354,7 @@ pub fn deser_structure_local_gateway_virtual_interface_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("localGatewayVirtualInterfaceGroupId") /* LocalGatewayVirtualInterfaceGroupId com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup$LocalGatewayVirtualInterfaceGroupId */ => { - let var_1817 = + let var_1818 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39349,21 +39363,21 @@ pub fn deser_structure_local_gateway_virtual_interface_group( ? ) ; - builder = builder.set_local_gateway_virtual_interface_group_id(var_1817); + builder = builder.set_local_gateway_virtual_interface_group_id(var_1818); } , s if s.matches("localGatewayVirtualInterfaceIdSet") /* LocalGatewayVirtualInterfaceIds com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup$LocalGatewayVirtualInterfaceIds */ => { - let var_1818 = + let var_1819 = Some( crate::xml_deser::deser_list_local_gateway_virtual_interface_id_set(&mut tag) ? ) ; - builder = builder.set_local_gateway_virtual_interface_ids(var_1818); + builder = builder.set_local_gateway_virtual_interface_ids(var_1819); } , s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup$LocalGatewayId */ => { - let var_1819 = + let var_1820 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39372,11 +39386,11 @@ pub fn deser_structure_local_gateway_virtual_interface_group( ? ) ; - builder = builder.set_local_gateway_id(var_1819); + builder = builder.set_local_gateway_id(var_1820); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup$OwnerId */ => { - let var_1820 = + let var_1821 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39385,17 +39399,17 @@ pub fn deser_structure_local_gateway_virtual_interface_group( ? ) ; - builder = builder.set_owner_id(var_1820); + builder = builder.set_owner_id(var_1821); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LocalGatewayVirtualInterfaceGroup$Tags */ => { - let var_1821 = + let var_1822 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1821); + builder = builder.set_tags(var_1822); } , _ => {} @@ -39412,7 +39426,7 @@ pub fn deser_structure_local_gateway_virtual_interface( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("localGatewayVirtualInterfaceId") /* LocalGatewayVirtualInterfaceId com.amazonaws.ec2#LocalGatewayVirtualInterface$LocalGatewayVirtualInterfaceId */ => { - let var_1822 = + let var_1823 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39421,11 +39435,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_local_gateway_virtual_interface_id(var_1822); + builder = builder.set_local_gateway_virtual_interface_id(var_1823); } , s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#LocalGatewayVirtualInterface$LocalGatewayId */ => { - let var_1823 = + let var_1824 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39434,11 +39448,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_local_gateway_id(var_1823); + builder = builder.set_local_gateway_id(var_1824); } , s if s.matches("vlan") /* Vlan com.amazonaws.ec2#LocalGatewayVirtualInterface$Vlan */ => { - let var_1824 = + let var_1825 = Some( { ::parse_smithy_primitive( @@ -39449,11 +39463,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_vlan(var_1824); + builder = builder.set_vlan(var_1825); } , s if s.matches("localAddress") /* LocalAddress com.amazonaws.ec2#LocalGatewayVirtualInterface$LocalAddress */ => { - let var_1825 = + let var_1826 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39462,11 +39476,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_local_address(var_1825); + builder = builder.set_local_address(var_1826); } , s if s.matches("peerAddress") /* PeerAddress com.amazonaws.ec2#LocalGatewayVirtualInterface$PeerAddress */ => { - let var_1826 = + let var_1827 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39475,11 +39489,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_peer_address(var_1826); + builder = builder.set_peer_address(var_1827); } , s if s.matches("localBgpAsn") /* LocalBgpAsn com.amazonaws.ec2#LocalGatewayVirtualInterface$LocalBgpAsn */ => { - let var_1827 = + let var_1828 = Some( { ::parse_smithy_primitive( @@ -39490,11 +39504,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_local_bgp_asn(var_1827); + builder = builder.set_local_bgp_asn(var_1828); } , s if s.matches("peerBgpAsn") /* PeerBgpAsn com.amazonaws.ec2#LocalGatewayVirtualInterface$PeerBgpAsn */ => { - let var_1828 = + let var_1829 = Some( { ::parse_smithy_primitive( @@ -39505,11 +39519,11 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_peer_bgp_asn(var_1828); + builder = builder.set_peer_bgp_asn(var_1829); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#LocalGatewayVirtualInterface$OwnerId */ => { - let var_1829 = + let var_1830 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39518,17 +39532,17 @@ pub fn deser_structure_local_gateway_virtual_interface( ? ) ; - builder = builder.set_owner_id(var_1829); + builder = builder.set_owner_id(var_1830); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LocalGatewayVirtualInterface$Tags */ => { - let var_1830 = + let var_1831 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1830); + builder = builder.set_tags(var_1831); } , _ => {} @@ -39545,7 +39559,7 @@ pub fn deser_structure_moving_address_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("moveStatus") /* MoveStatus com.amazonaws.ec2#MovingAddressStatus$MoveStatus */ => { - let var_1831 = + let var_1832 = Some( Result::::Ok( crate::model::MoveStatus::from( @@ -39555,11 +39569,11 @@ pub fn deser_structure_moving_address_status( ? ) ; - builder = builder.set_move_status(var_1831); + builder = builder.set_move_status(var_1832); } , s if s.matches("publicIp") /* PublicIp com.amazonaws.ec2#MovingAddressStatus$PublicIp */ => { - let var_1832 = + let var_1833 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39568,7 +39582,7 @@ pub fn deser_structure_moving_address_status( ? ) ; - builder = builder.set_public_ip(var_1832); + builder = builder.set_public_ip(var_1833); } , _ => {} @@ -39585,17 +39599,17 @@ pub fn deser_structure_prefix_list( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidrSet") /* Cidrs com.amazonaws.ec2#PrefixList$Cidrs */ => { - let var_1833 = + let var_1834 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_cidrs(var_1833); + builder = builder.set_cidrs(var_1834); } , s if s.matches("prefixListId") /* PrefixListId com.amazonaws.ec2#PrefixList$PrefixListId */ => { - let var_1834 = + let var_1835 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39604,11 +39618,11 @@ pub fn deser_structure_prefix_list( ? ) ; - builder = builder.set_prefix_list_id(var_1834); + builder = builder.set_prefix_list_id(var_1835); } , s if s.matches("prefixListName") /* PrefixListName com.amazonaws.ec2#PrefixList$PrefixListName */ => { - let var_1835 = + let var_1836 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39617,7 +39631,7 @@ pub fn deser_structure_prefix_list( ? ) ; - builder = builder.set_prefix_list_name(var_1835); + builder = builder.set_prefix_list_name(var_1836); } , _ => {} @@ -39634,7 +39648,7 @@ pub fn deser_structure_principal_id_format( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("arn") /* Arn com.amazonaws.ec2#PrincipalIdFormat$Arn */ => { - let var_1836 = + let var_1837 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39643,17 +39657,17 @@ pub fn deser_structure_principal_id_format( ? ) ; - builder = builder.set_arn(var_1836); + builder = builder.set_arn(var_1837); } , s if s.matches("statusSet") /* Statuses com.amazonaws.ec2#PrincipalIdFormat$Statuses */ => { - let var_1837 = + let var_1838 = Some( crate::xml_deser::deser_list_id_format_list(&mut tag) ? ) ; - builder = builder.set_statuses(var_1837); + builder = builder.set_statuses(var_1838); } , _ => {} @@ -39670,7 +39684,7 @@ pub fn deser_structure_public_ipv4_pool( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("poolId") /* PoolId com.amazonaws.ec2#PublicIpv4Pool$PoolId */ => { - let var_1838 = + let var_1839 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39679,11 +39693,11 @@ pub fn deser_structure_public_ipv4_pool( ? ) ; - builder = builder.set_pool_id(var_1838); + builder = builder.set_pool_id(var_1839); } , s if s.matches("description") /* Description com.amazonaws.ec2#PublicIpv4Pool$Description */ => { - let var_1839 = + let var_1840 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39692,21 +39706,21 @@ pub fn deser_structure_public_ipv4_pool( ? ) ; - builder = builder.set_description(var_1839); + builder = builder.set_description(var_1840); } , s if s.matches("poolAddressRangeSet") /* PoolAddressRanges com.amazonaws.ec2#PublicIpv4Pool$PoolAddressRanges */ => { - let var_1840 = + let var_1841 = Some( crate::xml_deser::deser_list_public_ipv4_pool_range_set(&mut tag) ? ) ; - builder = builder.set_pool_address_ranges(var_1840); + builder = builder.set_pool_address_ranges(var_1841); } , s if s.matches("totalAddressCount") /* TotalAddressCount com.amazonaws.ec2#PublicIpv4Pool$TotalAddressCount */ => { - let var_1841 = + let var_1842 = Some( { ::parse_smithy_primitive( @@ -39717,11 +39731,11 @@ pub fn deser_structure_public_ipv4_pool( ? ) ; - builder = builder.set_total_address_count(var_1841); + builder = builder.set_total_address_count(var_1842); } , s if s.matches("totalAvailableAddressCount") /* TotalAvailableAddressCount com.amazonaws.ec2#PublicIpv4Pool$TotalAvailableAddressCount */ => { - let var_1842 = + let var_1843 = Some( { ::parse_smithy_primitive( @@ -39732,11 +39746,11 @@ pub fn deser_structure_public_ipv4_pool( ? ) ; - builder = builder.set_total_available_address_count(var_1842); + builder = builder.set_total_available_address_count(var_1843); } , s if s.matches("networkBorderGroup") /* NetworkBorderGroup com.amazonaws.ec2#PublicIpv4Pool$NetworkBorderGroup */ => { - let var_1843 = + let var_1844 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39745,17 +39759,17 @@ pub fn deser_structure_public_ipv4_pool( ? ) ; - builder = builder.set_network_border_group(var_1843); + builder = builder.set_network_border_group(var_1844); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#PublicIpv4Pool$Tags */ => { - let var_1844 = + let var_1845 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1844); + builder = builder.set_tags(var_1845); } , _ => {} @@ -39772,7 +39786,7 @@ pub fn deser_structure_region( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("regionEndpoint") /* Endpoint com.amazonaws.ec2#Region$Endpoint */ => { - let var_1845 = + let var_1846 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39781,11 +39795,11 @@ pub fn deser_structure_region( ? ) ; - builder = builder.set_endpoint(var_1845); + builder = builder.set_endpoint(var_1846); } , s if s.matches("regionName") /* RegionName com.amazonaws.ec2#Region$RegionName */ => { - let var_1846 = + let var_1847 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39794,11 +39808,11 @@ pub fn deser_structure_region( ? ) ; - builder = builder.set_region_name(var_1846); + builder = builder.set_region_name(var_1847); } , s if s.matches("optInStatus") /* OptInStatus com.amazonaws.ec2#Region$OptInStatus */ => { - let var_1847 = + let var_1848 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39807,7 +39821,7 @@ pub fn deser_structure_region( ? ) ; - builder = builder.set_opt_in_status(var_1847); + builder = builder.set_opt_in_status(var_1848); } , _ => {} @@ -39824,7 +39838,7 @@ pub fn deser_structure_reserved_instances( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ReservedInstances$AvailabilityZone */ => { - let var_1848 = + let var_1849 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39833,11 +39847,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_availability_zone(var_1848); + builder = builder.set_availability_zone(var_1849); } , s if s.matches("duration") /* Duration com.amazonaws.ec2#ReservedInstances$Duration */ => { - let var_1849 = + let var_1850 = Some( { ::parse_smithy_primitive( @@ -39848,11 +39862,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_duration(var_1849); + builder = builder.set_duration(var_1850); } , s if s.matches("end") /* End com.amazonaws.ec2#ReservedInstances$End */ => { - let var_1850 = + let var_1851 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39862,11 +39876,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_end(var_1850); + builder = builder.set_end(var_1851); } , s if s.matches("fixedPrice") /* FixedPrice com.amazonaws.ec2#ReservedInstances$FixedPrice */ => { - let var_1851 = + let var_1852 = Some( { ::parse_smithy_primitive( @@ -39877,11 +39891,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_fixed_price(var_1851); + builder = builder.set_fixed_price(var_1852); } , s if s.matches("instanceCount") /* InstanceCount com.amazonaws.ec2#ReservedInstances$InstanceCount */ => { - let var_1852 = + let var_1853 = Some( { ::parse_smithy_primitive( @@ -39892,11 +39906,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_instance_count(var_1852); + builder = builder.set_instance_count(var_1853); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#ReservedInstances$InstanceType */ => { - let var_1853 = + let var_1854 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -39906,11 +39920,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_instance_type(var_1853); + builder = builder.set_instance_type(var_1854); } , s if s.matches("productDescription") /* ProductDescription com.amazonaws.ec2#ReservedInstances$ProductDescription */ => { - let var_1854 = + let var_1855 = Some( Result::::Ok( crate::model::RiProductDescription::from( @@ -39920,11 +39934,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_product_description(var_1854); + builder = builder.set_product_description(var_1855); } , s if s.matches("reservedInstancesId") /* ReservedInstancesId com.amazonaws.ec2#ReservedInstances$ReservedInstancesId */ => { - let var_1855 = + let var_1856 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39933,11 +39947,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_reserved_instances_id(var_1855); + builder = builder.set_reserved_instances_id(var_1856); } , s if s.matches("start") /* Start com.amazonaws.ec2#ReservedInstances$Start */ => { - let var_1856 = + let var_1857 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -39947,11 +39961,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_start(var_1856); + builder = builder.set_start(var_1857); } , s if s.matches("state") /* State com.amazonaws.ec2#ReservedInstances$State */ => { - let var_1857 = + let var_1858 = Some( Result::::Ok( crate::model::ReservedInstanceState::from( @@ -39961,11 +39975,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_state(var_1857); + builder = builder.set_state(var_1858); } , s if s.matches("usagePrice") /* UsagePrice com.amazonaws.ec2#ReservedInstances$UsagePrice */ => { - let var_1858 = + let var_1859 = Some( { ::parse_smithy_primitive( @@ -39976,11 +39990,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_usage_price(var_1858); + builder = builder.set_usage_price(var_1859); } , s if s.matches("currencyCode") /* CurrencyCode com.amazonaws.ec2#ReservedInstances$CurrencyCode */ => { - let var_1859 = + let var_1860 = Some( Result::::Ok( crate::model::CurrencyCodeValues::from( @@ -39990,11 +40004,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_currency_code(var_1859); + builder = builder.set_currency_code(var_1860); } , s if s.matches("instanceTenancy") /* InstanceTenancy com.amazonaws.ec2#ReservedInstances$InstanceTenancy */ => { - let var_1860 = + let var_1861 = Some( Result::::Ok( crate::model::Tenancy::from( @@ -40004,11 +40018,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_instance_tenancy(var_1860); + builder = builder.set_instance_tenancy(var_1861); } , s if s.matches("offeringClass") /* OfferingClass com.amazonaws.ec2#ReservedInstances$OfferingClass */ => { - let var_1861 = + let var_1862 = Some( Result::::Ok( crate::model::OfferingClassType::from( @@ -40018,11 +40032,11 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_offering_class(var_1861); + builder = builder.set_offering_class(var_1862); } , s if s.matches("offeringType") /* OfferingType com.amazonaws.ec2#ReservedInstances$OfferingType */ => { - let var_1862 = + let var_1863 = Some( Result::::Ok( crate::model::OfferingTypeValues::from( @@ -40032,21 +40046,21 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_offering_type(var_1862); + builder = builder.set_offering_type(var_1863); } , s if s.matches("recurringCharges") /* RecurringCharges com.amazonaws.ec2#ReservedInstances$RecurringCharges */ => { - let var_1863 = + let var_1864 = Some( crate::xml_deser::deser_list_recurring_charges_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_1863); + builder = builder.set_recurring_charges(var_1864); } , s if s.matches("scope") /* Scope com.amazonaws.ec2#ReservedInstances$Scope */ => { - let var_1864 = + let var_1865 = Some( Result::::Ok( crate::model::Scope::from( @@ -40056,17 +40070,17 @@ pub fn deser_structure_reserved_instances( ? ) ; - builder = builder.set_scope(var_1864); + builder = builder.set_scope(var_1865); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#ReservedInstances$Tags */ => { - let var_1865 = + let var_1866 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1865); + builder = builder.set_tags(var_1866); } , _ => {} @@ -40083,7 +40097,7 @@ pub fn deser_structure_reserved_instances_modification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("clientToken") /* ClientToken com.amazonaws.ec2#ReservedInstancesModification$ClientToken */ => { - let var_1866 = + let var_1867 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40092,11 +40106,11 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_client_token(var_1866); + builder = builder.set_client_token(var_1867); } , s if s.matches("createDate") /* CreateDate com.amazonaws.ec2#ReservedInstancesModification$CreateDate */ => { - let var_1867 = + let var_1868 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40106,11 +40120,11 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_create_date(var_1867); + builder = builder.set_create_date(var_1868); } , s if s.matches("effectiveDate") /* EffectiveDate com.amazonaws.ec2#ReservedInstancesModification$EffectiveDate */ => { - let var_1868 = + let var_1869 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40120,31 +40134,31 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_effective_date(var_1868); + builder = builder.set_effective_date(var_1869); } , s if s.matches("modificationResultSet") /* ModificationResults com.amazonaws.ec2#ReservedInstancesModification$ModificationResults */ => { - let var_1869 = + let var_1870 = Some( crate::xml_deser::deser_list_reserved_instances_modification_result_list(&mut tag) ? ) ; - builder = builder.set_modification_results(var_1869); + builder = builder.set_modification_results(var_1870); } , s if s.matches("reservedInstancesSet") /* ReservedInstancesIds com.amazonaws.ec2#ReservedInstancesModification$ReservedInstancesIds */ => { - let var_1870 = + let var_1871 = Some( crate::xml_deser::deser_list_reserved_intances_ids(&mut tag) ? ) ; - builder = builder.set_reserved_instances_ids(var_1870); + builder = builder.set_reserved_instances_ids(var_1871); } , s if s.matches("reservedInstancesModificationId") /* ReservedInstancesModificationId com.amazonaws.ec2#ReservedInstancesModification$ReservedInstancesModificationId */ => { - let var_1871 = + let var_1872 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40153,11 +40167,11 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_reserved_instances_modification_id(var_1871); + builder = builder.set_reserved_instances_modification_id(var_1872); } , s if s.matches("status") /* Status com.amazonaws.ec2#ReservedInstancesModification$Status */ => { - let var_1872 = + let var_1873 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40166,11 +40180,11 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_status(var_1872); + builder = builder.set_status(var_1873); } , s if s.matches("statusMessage") /* StatusMessage com.amazonaws.ec2#ReservedInstancesModification$StatusMessage */ => { - let var_1873 = + let var_1874 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40179,11 +40193,11 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_status_message(var_1873); + builder = builder.set_status_message(var_1874); } , s if s.matches("updateDate") /* UpdateDate com.amazonaws.ec2#ReservedInstancesModification$UpdateDate */ => { - let var_1874 = + let var_1875 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40193,7 +40207,7 @@ pub fn deser_structure_reserved_instances_modification( ? ) ; - builder = builder.set_update_date(var_1874); + builder = builder.set_update_date(var_1875); } , _ => {} @@ -40210,7 +40224,7 @@ pub fn deser_structure_reserved_instances_offering( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ReservedInstancesOffering$AvailabilityZone */ => { - let var_1875 = + let var_1876 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40219,11 +40233,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_availability_zone(var_1875); + builder = builder.set_availability_zone(var_1876); } , s if s.matches("duration") /* Duration com.amazonaws.ec2#ReservedInstancesOffering$Duration */ => { - let var_1876 = + let var_1877 = Some( { ::parse_smithy_primitive( @@ -40234,11 +40248,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_duration(var_1876); + builder = builder.set_duration(var_1877); } , s if s.matches("fixedPrice") /* FixedPrice com.amazonaws.ec2#ReservedInstancesOffering$FixedPrice */ => { - let var_1877 = + let var_1878 = Some( { ::parse_smithy_primitive( @@ -40249,11 +40263,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_fixed_price(var_1877); + builder = builder.set_fixed_price(var_1878); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#ReservedInstancesOffering$InstanceType */ => { - let var_1878 = + let var_1879 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -40263,11 +40277,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_instance_type(var_1878); + builder = builder.set_instance_type(var_1879); } , s if s.matches("productDescription") /* ProductDescription com.amazonaws.ec2#ReservedInstancesOffering$ProductDescription */ => { - let var_1879 = + let var_1880 = Some( Result::::Ok( crate::model::RiProductDescription::from( @@ -40277,11 +40291,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_product_description(var_1879); + builder = builder.set_product_description(var_1880); } , s if s.matches("reservedInstancesOfferingId") /* ReservedInstancesOfferingId com.amazonaws.ec2#ReservedInstancesOffering$ReservedInstancesOfferingId */ => { - let var_1880 = + let var_1881 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40290,11 +40304,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_reserved_instances_offering_id(var_1880); + builder = builder.set_reserved_instances_offering_id(var_1881); } , s if s.matches("usagePrice") /* UsagePrice com.amazonaws.ec2#ReservedInstancesOffering$UsagePrice */ => { - let var_1881 = + let var_1882 = Some( { ::parse_smithy_primitive( @@ -40305,11 +40319,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_usage_price(var_1881); + builder = builder.set_usage_price(var_1882); } , s if s.matches("currencyCode") /* CurrencyCode com.amazonaws.ec2#ReservedInstancesOffering$CurrencyCode */ => { - let var_1882 = + let var_1883 = Some( Result::::Ok( crate::model::CurrencyCodeValues::from( @@ -40319,11 +40333,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_currency_code(var_1882); + builder = builder.set_currency_code(var_1883); } , s if s.matches("instanceTenancy") /* InstanceTenancy com.amazonaws.ec2#ReservedInstancesOffering$InstanceTenancy */ => { - let var_1883 = + let var_1884 = Some( Result::::Ok( crate::model::Tenancy::from( @@ -40333,11 +40347,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_instance_tenancy(var_1883); + builder = builder.set_instance_tenancy(var_1884); } , s if s.matches("marketplace") /* Marketplace com.amazonaws.ec2#ReservedInstancesOffering$Marketplace */ => { - let var_1884 = + let var_1885 = Some( { ::parse_smithy_primitive( @@ -40348,11 +40362,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_marketplace(var_1884); + builder = builder.set_marketplace(var_1885); } , s if s.matches("offeringClass") /* OfferingClass com.amazonaws.ec2#ReservedInstancesOffering$OfferingClass */ => { - let var_1885 = + let var_1886 = Some( Result::::Ok( crate::model::OfferingClassType::from( @@ -40362,11 +40376,11 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_offering_class(var_1885); + builder = builder.set_offering_class(var_1886); } , s if s.matches("offeringType") /* OfferingType com.amazonaws.ec2#ReservedInstancesOffering$OfferingType */ => { - let var_1886 = + let var_1887 = Some( Result::::Ok( crate::model::OfferingTypeValues::from( @@ -40376,31 +40390,31 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_offering_type(var_1886); + builder = builder.set_offering_type(var_1887); } , s if s.matches("pricingDetailsSet") /* PricingDetails com.amazonaws.ec2#ReservedInstancesOffering$PricingDetails */ => { - let var_1887 = + let var_1888 = Some( crate::xml_deser::deser_list_pricing_details_list(&mut tag) ? ) ; - builder = builder.set_pricing_details(var_1887); + builder = builder.set_pricing_details(var_1888); } , s if s.matches("recurringCharges") /* RecurringCharges com.amazonaws.ec2#ReservedInstancesOffering$RecurringCharges */ => { - let var_1888 = + let var_1889 = Some( crate::xml_deser::deser_list_recurring_charges_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_1888); + builder = builder.set_recurring_charges(var_1889); } , s if s.matches("scope") /* Scope com.amazonaws.ec2#ReservedInstancesOffering$Scope */ => { - let var_1889 = + let var_1890 = Some( Result::::Ok( crate::model::Scope::from( @@ -40410,7 +40424,7 @@ pub fn deser_structure_reserved_instances_offering( ? ) ; - builder = builder.set_scope(var_1889); + builder = builder.set_scope(var_1890); } , _ => {} @@ -40427,7 +40441,7 @@ pub fn deser_structure_scheduled_instance_availability( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ScheduledInstanceAvailability$AvailabilityZone */ => { - let var_1890 = + let var_1891 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40436,11 +40450,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_availability_zone(var_1890); + builder = builder.set_availability_zone(var_1891); } , s if s.matches("availableInstanceCount") /* AvailableInstanceCount com.amazonaws.ec2#ScheduledInstanceAvailability$AvailableInstanceCount */ => { - let var_1891 = + let var_1892 = Some( { ::parse_smithy_primitive( @@ -40451,11 +40465,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_available_instance_count(var_1891); + builder = builder.set_available_instance_count(var_1892); } , s if s.matches("firstSlotStartTime") /* FirstSlotStartTime com.amazonaws.ec2#ScheduledInstanceAvailability$FirstSlotStartTime */ => { - let var_1892 = + let var_1893 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40465,11 +40479,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_first_slot_start_time(var_1892); + builder = builder.set_first_slot_start_time(var_1893); } , s if s.matches("hourlyPrice") /* HourlyPrice com.amazonaws.ec2#ScheduledInstanceAvailability$HourlyPrice */ => { - let var_1893 = + let var_1894 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40478,11 +40492,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_hourly_price(var_1893); + builder = builder.set_hourly_price(var_1894); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#ScheduledInstanceAvailability$InstanceType */ => { - let var_1894 = + let var_1895 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40491,11 +40505,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_instance_type(var_1894); + builder = builder.set_instance_type(var_1895); } , s if s.matches("maxTermDurationInDays") /* MaxTermDurationInDays com.amazonaws.ec2#ScheduledInstanceAvailability$MaxTermDurationInDays */ => { - let var_1895 = + let var_1896 = Some( { ::parse_smithy_primitive( @@ -40506,11 +40520,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_max_term_duration_in_days(var_1895); + builder = builder.set_max_term_duration_in_days(var_1896); } , s if s.matches("minTermDurationInDays") /* MinTermDurationInDays com.amazonaws.ec2#ScheduledInstanceAvailability$MinTermDurationInDays */ => { - let var_1896 = + let var_1897 = Some( { ::parse_smithy_primitive( @@ -40521,11 +40535,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_min_term_duration_in_days(var_1896); + builder = builder.set_min_term_duration_in_days(var_1897); } , s if s.matches("networkPlatform") /* NetworkPlatform com.amazonaws.ec2#ScheduledInstanceAvailability$NetworkPlatform */ => { - let var_1897 = + let var_1898 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40534,11 +40548,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_network_platform(var_1897); + builder = builder.set_network_platform(var_1898); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#ScheduledInstanceAvailability$Platform */ => { - let var_1898 = + let var_1899 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40547,11 +40561,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_platform(var_1898); + builder = builder.set_platform(var_1899); } , s if s.matches("purchaseToken") /* PurchaseToken com.amazonaws.ec2#ScheduledInstanceAvailability$PurchaseToken */ => { - let var_1899 = + let var_1900 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40560,21 +40574,21 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_purchase_token(var_1899); + builder = builder.set_purchase_token(var_1900); } , s if s.matches("recurrence") /* Recurrence com.amazonaws.ec2#ScheduledInstanceAvailability$Recurrence */ => { - let var_1900 = + let var_1901 = Some( crate::xml_deser::deser_structure_scheduled_instance_recurrence(&mut tag) ? ) ; - builder = builder.set_recurrence(var_1900); + builder = builder.set_recurrence(var_1901); } , s if s.matches("slotDurationInHours") /* SlotDurationInHours com.amazonaws.ec2#ScheduledInstanceAvailability$SlotDurationInHours */ => { - let var_1901 = + let var_1902 = Some( { ::parse_smithy_primitive( @@ -40585,11 +40599,11 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_slot_duration_in_hours(var_1901); + builder = builder.set_slot_duration_in_hours(var_1902); } , s if s.matches("totalScheduledInstanceHours") /* TotalScheduledInstanceHours com.amazonaws.ec2#ScheduledInstanceAvailability$TotalScheduledInstanceHours */ => { - let var_1902 = + let var_1903 = Some( { ::parse_smithy_primitive( @@ -40600,7 +40614,7 @@ pub fn deser_structure_scheduled_instance_availability( ? ) ; - builder = builder.set_total_scheduled_instance_hours(var_1902); + builder = builder.set_total_scheduled_instance_hours(var_1903); } , _ => {} @@ -40617,7 +40631,7 @@ pub fn deser_structure_scheduled_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ScheduledInstance$AvailabilityZone */ => { - let var_1903 = + let var_1904 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40626,11 +40640,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_availability_zone(var_1903); + builder = builder.set_availability_zone(var_1904); } , s if s.matches("createDate") /* CreateDate com.amazonaws.ec2#ScheduledInstance$CreateDate */ => { - let var_1904 = + let var_1905 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40640,11 +40654,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_create_date(var_1904); + builder = builder.set_create_date(var_1905); } , s if s.matches("hourlyPrice") /* HourlyPrice com.amazonaws.ec2#ScheduledInstance$HourlyPrice */ => { - let var_1905 = + let var_1906 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40653,11 +40667,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_hourly_price(var_1905); + builder = builder.set_hourly_price(var_1906); } , s if s.matches("instanceCount") /* InstanceCount com.amazonaws.ec2#ScheduledInstance$InstanceCount */ => { - let var_1906 = + let var_1907 = Some( { ::parse_smithy_primitive( @@ -40668,11 +40682,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_instance_count(var_1906); + builder = builder.set_instance_count(var_1907); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#ScheduledInstance$InstanceType */ => { - let var_1907 = + let var_1908 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40681,11 +40695,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_instance_type(var_1907); + builder = builder.set_instance_type(var_1908); } , s if s.matches("networkPlatform") /* NetworkPlatform com.amazonaws.ec2#ScheduledInstance$NetworkPlatform */ => { - let var_1908 = + let var_1909 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40694,11 +40708,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_network_platform(var_1908); + builder = builder.set_network_platform(var_1909); } , s if s.matches("nextSlotStartTime") /* NextSlotStartTime com.amazonaws.ec2#ScheduledInstance$NextSlotStartTime */ => { - let var_1909 = + let var_1910 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40708,11 +40722,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_next_slot_start_time(var_1909); + builder = builder.set_next_slot_start_time(var_1910); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#ScheduledInstance$Platform */ => { - let var_1910 = + let var_1911 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40721,11 +40735,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_platform(var_1910); + builder = builder.set_platform(var_1911); } , s if s.matches("previousSlotEndTime") /* PreviousSlotEndTime com.amazonaws.ec2#ScheduledInstance$PreviousSlotEndTime */ => { - let var_1911 = + let var_1912 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40735,21 +40749,21 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_previous_slot_end_time(var_1911); + builder = builder.set_previous_slot_end_time(var_1912); } , s if s.matches("recurrence") /* Recurrence com.amazonaws.ec2#ScheduledInstance$Recurrence */ => { - let var_1912 = + let var_1913 = Some( crate::xml_deser::deser_structure_scheduled_instance_recurrence(&mut tag) ? ) ; - builder = builder.set_recurrence(var_1912); + builder = builder.set_recurrence(var_1913); } , s if s.matches("scheduledInstanceId") /* ScheduledInstanceId com.amazonaws.ec2#ScheduledInstance$ScheduledInstanceId */ => { - let var_1913 = + let var_1914 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40758,11 +40772,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_scheduled_instance_id(var_1913); + builder = builder.set_scheduled_instance_id(var_1914); } , s if s.matches("slotDurationInHours") /* SlotDurationInHours com.amazonaws.ec2#ScheduledInstance$SlotDurationInHours */ => { - let var_1914 = + let var_1915 = Some( { ::parse_smithy_primitive( @@ -40773,11 +40787,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_slot_duration_in_hours(var_1914); + builder = builder.set_slot_duration_in_hours(var_1915); } , s if s.matches("termEndDate") /* TermEndDate com.amazonaws.ec2#ScheduledInstance$TermEndDate */ => { - let var_1915 = + let var_1916 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40787,11 +40801,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_term_end_date(var_1915); + builder = builder.set_term_end_date(var_1916); } , s if s.matches("termStartDate") /* TermStartDate com.amazonaws.ec2#ScheduledInstance$TermStartDate */ => { - let var_1916 = + let var_1917 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40801,11 +40815,11 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_term_start_date(var_1916); + builder = builder.set_term_start_date(var_1917); } , s if s.matches("totalScheduledInstanceHours") /* TotalScheduledInstanceHours com.amazonaws.ec2#ScheduledInstance$TotalScheduledInstanceHours */ => { - let var_1917 = + let var_1918 = Some( { ::parse_smithy_primitive( @@ -40816,7 +40830,7 @@ pub fn deser_structure_scheduled_instance( ? ) ; - builder = builder.set_total_scheduled_instance_hours(var_1917); + builder = builder.set_total_scheduled_instance_hours(var_1918); } , _ => {} @@ -40833,7 +40847,7 @@ pub fn deser_structure_security_group_reference( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupId") /* GroupId com.amazonaws.ec2#SecurityGroupReference$GroupId */ => { - let var_1918 = + let var_1919 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40842,11 +40856,11 @@ pub fn deser_structure_security_group_reference( ? ) ; - builder = builder.set_group_id(var_1918); + builder = builder.set_group_id(var_1919); } , s if s.matches("referencingVpcId") /* ReferencingVpcId com.amazonaws.ec2#SecurityGroupReference$ReferencingVpcId */ => { - let var_1919 = + let var_1920 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40855,11 +40869,11 @@ pub fn deser_structure_security_group_reference( ? ) ; - builder = builder.set_referencing_vpc_id(var_1919); + builder = builder.set_referencing_vpc_id(var_1920); } , s if s.matches("vpcPeeringConnectionId") /* VpcPeeringConnectionId com.amazonaws.ec2#SecurityGroupReference$VpcPeeringConnectionId */ => { - let var_1920 = + let var_1921 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40868,7 +40882,7 @@ pub fn deser_structure_security_group_reference( ? ) ; - builder = builder.set_vpc_peering_connection_id(var_1920); + builder = builder.set_vpc_peering_connection_id(var_1921); } , _ => {} @@ -40885,7 +40899,7 @@ pub fn deser_structure_security_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupDescription") /* Description com.amazonaws.ec2#SecurityGroup$Description */ => { - let var_1921 = + let var_1922 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40894,11 +40908,11 @@ pub fn deser_structure_security_group( ? ) ; - builder = builder.set_description(var_1921); + builder = builder.set_description(var_1922); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#SecurityGroup$GroupName */ => { - let var_1922 = + let var_1923 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40907,21 +40921,21 @@ pub fn deser_structure_security_group( ? ) ; - builder = builder.set_group_name(var_1922); + builder = builder.set_group_name(var_1923); } , s if s.matches("ipPermissions") /* IpPermissions com.amazonaws.ec2#SecurityGroup$IpPermissions */ => { - let var_1923 = + let var_1924 = Some( crate::xml_deser::deser_list_ip_permission_list(&mut tag) ? ) ; - builder = builder.set_ip_permissions(var_1923); + builder = builder.set_ip_permissions(var_1924); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#SecurityGroup$OwnerId */ => { - let var_1924 = + let var_1925 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40930,11 +40944,11 @@ pub fn deser_structure_security_group( ? ) ; - builder = builder.set_owner_id(var_1924); + builder = builder.set_owner_id(var_1925); } , s if s.matches("groupId") /* GroupId com.amazonaws.ec2#SecurityGroup$GroupId */ => { - let var_1925 = + let var_1926 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40943,31 +40957,31 @@ pub fn deser_structure_security_group( ? ) ; - builder = builder.set_group_id(var_1925); + builder = builder.set_group_id(var_1926); } , s if s.matches("ipPermissionsEgress") /* IpPermissionsEgress com.amazonaws.ec2#SecurityGroup$IpPermissionsEgress */ => { - let var_1926 = + let var_1927 = Some( crate::xml_deser::deser_list_ip_permission_list(&mut tag) ? ) ; - builder = builder.set_ip_permissions_egress(var_1926); + builder = builder.set_ip_permissions_egress(var_1927); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#SecurityGroup$Tags */ => { - let var_1927 = + let var_1928 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1927); + builder = builder.set_tags(var_1928); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#SecurityGroup$VpcId */ => { - let var_1928 = + let var_1929 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -40976,7 +40990,7 @@ pub fn deser_structure_security_group( ? ) ; - builder = builder.set_vpc_id(var_1928); + builder = builder.set_vpc_id(var_1929); } , _ => {} @@ -40993,7 +41007,7 @@ pub fn deser_structure_create_volume_permission( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("group") /* Group com.amazonaws.ec2#CreateVolumePermission$Group */ => { - let var_1929 = + let var_1930 = Some( Result::::Ok( crate::model::PermissionGroup::from( @@ -41003,11 +41017,11 @@ pub fn deser_structure_create_volume_permission( ? ) ; - builder = builder.set_group(var_1929); + builder = builder.set_group(var_1930); } , s if s.matches("userId") /* UserId com.amazonaws.ec2#CreateVolumePermission$UserId */ => { - let var_1930 = + let var_1931 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41016,7 +41030,7 @@ pub fn deser_structure_create_volume_permission( ? ) ; - builder = builder.set_user_id(var_1930); + builder = builder.set_user_id(var_1931); } , _ => {} @@ -41033,7 +41047,7 @@ pub fn deser_structure_snapshot( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("dataEncryptionKeyId") /* DataEncryptionKeyId com.amazonaws.ec2#Snapshot$DataEncryptionKeyId */ => { - let var_1931 = + let var_1932 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41042,11 +41056,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_data_encryption_key_id(var_1931); + builder = builder.set_data_encryption_key_id(var_1932); } , s if s.matches("description") /* Description com.amazonaws.ec2#Snapshot$Description */ => { - let var_1932 = + let var_1933 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41055,11 +41069,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_description(var_1932); + builder = builder.set_description(var_1933); } , s if s.matches("encrypted") /* Encrypted com.amazonaws.ec2#Snapshot$Encrypted */ => { - let var_1933 = + let var_1934 = Some( { ::parse_smithy_primitive( @@ -41070,11 +41084,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_encrypted(var_1933); + builder = builder.set_encrypted(var_1934); } , s if s.matches("kmsKeyId") /* KmsKeyId com.amazonaws.ec2#Snapshot$KmsKeyId */ => { - let var_1934 = + let var_1935 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41083,11 +41097,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_kms_key_id(var_1934); + builder = builder.set_kms_key_id(var_1935); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#Snapshot$OwnerId */ => { - let var_1935 = + let var_1936 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41096,11 +41110,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_owner_id(var_1935); + builder = builder.set_owner_id(var_1936); } , s if s.matches("progress") /* Progress com.amazonaws.ec2#Snapshot$Progress */ => { - let var_1936 = + let var_1937 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41109,11 +41123,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_progress(var_1936); + builder = builder.set_progress(var_1937); } , s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#Snapshot$SnapshotId */ => { - let var_1937 = + let var_1938 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41122,11 +41136,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_id(var_1937); + builder = builder.set_snapshot_id(var_1938); } , s if s.matches("startTime") /* StartTime com.amazonaws.ec2#Snapshot$StartTime */ => { - let var_1938 = + let var_1939 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41136,11 +41150,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_start_time(var_1938); + builder = builder.set_start_time(var_1939); } , s if s.matches("status") /* State com.amazonaws.ec2#Snapshot$State */ => { - let var_1939 = + let var_1940 = Some( Result::::Ok( crate::model::SnapshotState::from( @@ -41150,11 +41164,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_state(var_1939); + builder = builder.set_state(var_1940); } , s if s.matches("statusMessage") /* StateMessage com.amazonaws.ec2#Snapshot$StateMessage */ => { - let var_1940 = + let var_1941 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41163,11 +41177,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_state_message(var_1940); + builder = builder.set_state_message(var_1941); } , s if s.matches("volumeId") /* VolumeId com.amazonaws.ec2#Snapshot$VolumeId */ => { - let var_1941 = + let var_1942 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41176,11 +41190,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_volume_id(var_1941); + builder = builder.set_volume_id(var_1942); } , s if s.matches("volumeSize") /* VolumeSize com.amazonaws.ec2#Snapshot$VolumeSize */ => { - let var_1942 = + let var_1943 = Some( { ::parse_smithy_primitive( @@ -41191,11 +41205,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_volume_size(var_1942); + builder = builder.set_volume_size(var_1943); } , s if s.matches("ownerAlias") /* OwnerAlias com.amazonaws.ec2#Snapshot$OwnerAlias */ => { - let var_1943 = + let var_1944 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41204,11 +41218,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_owner_alias(var_1943); + builder = builder.set_owner_alias(var_1944); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#Snapshot$OutpostArn */ => { - let var_1944 = + let var_1945 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41217,17 +41231,17 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_outpost_arn(var_1944); + builder = builder.set_outpost_arn(var_1945); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#Snapshot$Tags */ => { - let var_1945 = + let var_1946 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1945); + builder = builder.set_tags(var_1946); } , _ => {} @@ -41244,17 +41258,17 @@ pub fn deser_structure_history_record( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("eventInformation") /* EventInformation com.amazonaws.ec2#HistoryRecord$EventInformation */ => { - let var_1946 = + let var_1947 = Some( crate::xml_deser::deser_structure_event_information(&mut tag) ? ) ; - builder = builder.set_event_information(var_1946); + builder = builder.set_event_information(var_1947); } , s if s.matches("eventType") /* EventType com.amazonaws.ec2#HistoryRecord$EventType */ => { - let var_1947 = + let var_1948 = Some( Result::::Ok( crate::model::EventType::from( @@ -41264,11 +41278,11 @@ pub fn deser_structure_history_record( ? ) ; - builder = builder.set_event_type(var_1947); + builder = builder.set_event_type(var_1948); } , s if s.matches("timestamp") /* Timestamp com.amazonaws.ec2#HistoryRecord$Timestamp */ => { - let var_1948 = + let var_1949 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41278,7 +41292,7 @@ pub fn deser_structure_history_record( ? ) ; - builder = builder.set_timestamp(var_1948); + builder = builder.set_timestamp(var_1949); } , _ => {} @@ -41295,7 +41309,7 @@ pub fn deser_structure_spot_fleet_request_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("activityStatus") /* ActivityStatus com.amazonaws.ec2#SpotFleetRequestConfig$ActivityStatus */ => { - let var_1949 = + let var_1950 = Some( Result::::Ok( crate::model::ActivityStatus::from( @@ -41305,11 +41319,11 @@ pub fn deser_structure_spot_fleet_request_config( ? ) ; - builder = builder.set_activity_status(var_1949); + builder = builder.set_activity_status(var_1950); } , s if s.matches("createTime") /* CreateTime com.amazonaws.ec2#SpotFleetRequestConfig$CreateTime */ => { - let var_1950 = + let var_1951 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41319,21 +41333,21 @@ pub fn deser_structure_spot_fleet_request_config( ? ) ; - builder = builder.set_create_time(var_1950); + builder = builder.set_create_time(var_1951); } , s if s.matches("spotFleetRequestConfig") /* SpotFleetRequestConfig com.amazonaws.ec2#SpotFleetRequestConfig$SpotFleetRequestConfig */ => { - let var_1951 = + let var_1952 = Some( crate::xml_deser::deser_structure_spot_fleet_request_config_data(&mut tag) ? ) ; - builder = builder.set_spot_fleet_request_config(var_1951); + builder = builder.set_spot_fleet_request_config(var_1952); } , s if s.matches("spotFleetRequestId") /* SpotFleetRequestId com.amazonaws.ec2#SpotFleetRequestConfig$SpotFleetRequestId */ => { - let var_1952 = + let var_1953 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41342,11 +41356,11 @@ pub fn deser_structure_spot_fleet_request_config( ? ) ; - builder = builder.set_spot_fleet_request_id(var_1952); + builder = builder.set_spot_fleet_request_id(var_1953); } , s if s.matches("spotFleetRequestState") /* SpotFleetRequestState com.amazonaws.ec2#SpotFleetRequestConfig$SpotFleetRequestState */ => { - let var_1953 = + let var_1954 = Some( Result::::Ok( crate::model::BatchState::from( @@ -41356,17 +41370,17 @@ pub fn deser_structure_spot_fleet_request_config( ? ) ; - builder = builder.set_spot_fleet_request_state(var_1953); + builder = builder.set_spot_fleet_request_state(var_1954); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#SpotFleetRequestConfig$Tags */ => { - let var_1954 = + let var_1955 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1954); + builder = builder.set_tags(var_1955); } , _ => {} @@ -41383,7 +41397,7 @@ pub fn deser_structure_spot_instance_request( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("actualBlockHourlyPrice") /* ActualBlockHourlyPrice com.amazonaws.ec2#SpotInstanceRequest$ActualBlockHourlyPrice */ => { - let var_1955 = + let var_1956 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41392,11 +41406,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_actual_block_hourly_price(var_1955); + builder = builder.set_actual_block_hourly_price(var_1956); } , s if s.matches("availabilityZoneGroup") /* AvailabilityZoneGroup com.amazonaws.ec2#SpotInstanceRequest$AvailabilityZoneGroup */ => { - let var_1956 = + let var_1957 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41405,11 +41419,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_availability_zone_group(var_1956); + builder = builder.set_availability_zone_group(var_1957); } , s if s.matches("blockDurationMinutes") /* BlockDurationMinutes com.amazonaws.ec2#SpotInstanceRequest$BlockDurationMinutes */ => { - let var_1957 = + let var_1958 = Some( { ::parse_smithy_primitive( @@ -41420,11 +41434,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_block_duration_minutes(var_1957); + builder = builder.set_block_duration_minutes(var_1958); } , s if s.matches("createTime") /* CreateTime com.amazonaws.ec2#SpotInstanceRequest$CreateTime */ => { - let var_1958 = + let var_1959 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41434,21 +41448,21 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_create_time(var_1958); + builder = builder.set_create_time(var_1959); } , s if s.matches("fault") /* Fault com.amazonaws.ec2#SpotInstanceRequest$Fault */ => { - let var_1959 = + let var_1960 = Some( crate::xml_deser::deser_structure_spot_instance_state_fault(&mut tag) ? ) ; - builder = builder.set_fault(var_1959); + builder = builder.set_fault(var_1960); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#SpotInstanceRequest$InstanceId */ => { - let var_1960 = + let var_1961 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41457,11 +41471,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_instance_id(var_1960); + builder = builder.set_instance_id(var_1961); } , s if s.matches("launchGroup") /* LaunchGroup com.amazonaws.ec2#SpotInstanceRequest$LaunchGroup */ => { - let var_1961 = + let var_1962 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41470,21 +41484,21 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_launch_group(var_1961); + builder = builder.set_launch_group(var_1962); } , s if s.matches("launchSpecification") /* LaunchSpecification com.amazonaws.ec2#SpotInstanceRequest$LaunchSpecification */ => { - let var_1962 = + let var_1963 = Some( crate::xml_deser::deser_structure_launch_specification(&mut tag) ? ) ; - builder = builder.set_launch_specification(var_1962); + builder = builder.set_launch_specification(var_1963); } , s if s.matches("launchedAvailabilityZone") /* LaunchedAvailabilityZone com.amazonaws.ec2#SpotInstanceRequest$LaunchedAvailabilityZone */ => { - let var_1963 = + let var_1964 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41493,11 +41507,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_launched_availability_zone(var_1963); + builder = builder.set_launched_availability_zone(var_1964); } , s if s.matches("productDescription") /* ProductDescription com.amazonaws.ec2#SpotInstanceRequest$ProductDescription */ => { - let var_1964 = + let var_1965 = Some( Result::::Ok( crate::model::RiProductDescription::from( @@ -41507,11 +41521,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_product_description(var_1964); + builder = builder.set_product_description(var_1965); } , s if s.matches("spotInstanceRequestId") /* SpotInstanceRequestId com.amazonaws.ec2#SpotInstanceRequest$SpotInstanceRequestId */ => { - let var_1965 = + let var_1966 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41520,11 +41534,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_spot_instance_request_id(var_1965); + builder = builder.set_spot_instance_request_id(var_1966); } , s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#SpotInstanceRequest$SpotPrice */ => { - let var_1966 = + let var_1967 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41533,11 +41547,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_spot_price(var_1966); + builder = builder.set_spot_price(var_1967); } , s if s.matches("state") /* State com.amazonaws.ec2#SpotInstanceRequest$State */ => { - let var_1967 = + let var_1968 = Some( Result::::Ok( crate::model::SpotInstanceState::from( @@ -41547,31 +41561,31 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_state(var_1967); + builder = builder.set_state(var_1968); } , s if s.matches("status") /* Status com.amazonaws.ec2#SpotInstanceRequest$Status */ => { - let var_1968 = + let var_1969 = Some( crate::xml_deser::deser_structure_spot_instance_status(&mut tag) ? ) ; - builder = builder.set_status(var_1968); + builder = builder.set_status(var_1969); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#SpotInstanceRequest$Tags */ => { - let var_1969 = + let var_1970 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_1969); + builder = builder.set_tags(var_1970); } , s if s.matches("type") /* Type com.amazonaws.ec2#SpotInstanceRequest$Type */ => { - let var_1970 = + let var_1971 = Some( Result::::Ok( crate::model::SpotInstanceType::from( @@ -41581,11 +41595,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_type(var_1970); + builder = builder.set_type(var_1971); } , s if s.matches("validFrom") /* ValidFrom com.amazonaws.ec2#SpotInstanceRequest$ValidFrom */ => { - let var_1971 = + let var_1972 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41595,11 +41609,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_valid_from(var_1971); + builder = builder.set_valid_from(var_1972); } , s if s.matches("validUntil") /* ValidUntil com.amazonaws.ec2#SpotInstanceRequest$ValidUntil */ => { - let var_1972 = + let var_1973 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41609,11 +41623,11 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_valid_until(var_1972); + builder = builder.set_valid_until(var_1973); } , s if s.matches("instanceInterruptionBehavior") /* InstanceInterruptionBehavior com.amazonaws.ec2#SpotInstanceRequest$InstanceInterruptionBehavior */ => { - let var_1973 = + let var_1974 = Some( Result::::Ok( crate::model::InstanceInterruptionBehavior::from( @@ -41623,7 +41637,7 @@ pub fn deser_structure_spot_instance_request( ? ) ; - builder = builder.set_instance_interruption_behavior(var_1973); + builder = builder.set_instance_interruption_behavior(var_1974); } , _ => {} @@ -41640,7 +41654,7 @@ pub fn deser_structure_spot_price( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#SpotPrice$AvailabilityZone */ => { - let var_1974 = + let var_1975 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41649,11 +41663,11 @@ pub fn deser_structure_spot_price( ? ) ; - builder = builder.set_availability_zone(var_1974); + builder = builder.set_availability_zone(var_1975); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#SpotPrice$InstanceType */ => { - let var_1975 = + let var_1976 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -41663,11 +41677,11 @@ pub fn deser_structure_spot_price( ? ) ; - builder = builder.set_instance_type(var_1975); + builder = builder.set_instance_type(var_1976); } , s if s.matches("productDescription") /* ProductDescription com.amazonaws.ec2#SpotPrice$ProductDescription */ => { - let var_1976 = + let var_1977 = Some( Result::::Ok( crate::model::RiProductDescription::from( @@ -41677,11 +41691,11 @@ pub fn deser_structure_spot_price( ? ) ; - builder = builder.set_product_description(var_1976); + builder = builder.set_product_description(var_1977); } , s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#SpotPrice$SpotPrice */ => { - let var_1977 = + let var_1978 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41690,11 +41704,11 @@ pub fn deser_structure_spot_price( ? ) ; - builder = builder.set_spot_price(var_1977); + builder = builder.set_spot_price(var_1978); } , s if s.matches("timestamp") /* Timestamp com.amazonaws.ec2#SpotPrice$Timestamp */ => { - let var_1978 = + let var_1979 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41704,7 +41718,7 @@ pub fn deser_structure_spot_price( ? ) ; - builder = builder.set_timestamp(var_1978); + builder = builder.set_timestamp(var_1979); } , _ => {} @@ -41721,7 +41735,7 @@ pub fn deser_structure_stale_security_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#StaleSecurityGroup$Description */ => { - let var_1979 = + let var_1980 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41730,11 +41744,11 @@ pub fn deser_structure_stale_security_group( ? ) ; - builder = builder.set_description(var_1979); + builder = builder.set_description(var_1980); } , s if s.matches("groupId") /* GroupId com.amazonaws.ec2#StaleSecurityGroup$GroupId */ => { - let var_1980 = + let var_1981 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41743,11 +41757,11 @@ pub fn deser_structure_stale_security_group( ? ) ; - builder = builder.set_group_id(var_1980); + builder = builder.set_group_id(var_1981); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#StaleSecurityGroup$GroupName */ => { - let var_1981 = + let var_1982 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41756,31 +41770,31 @@ pub fn deser_structure_stale_security_group( ? ) ; - builder = builder.set_group_name(var_1981); + builder = builder.set_group_name(var_1982); } , s if s.matches("staleIpPermissions") /* StaleIpPermissions com.amazonaws.ec2#StaleSecurityGroup$StaleIpPermissions */ => { - let var_1982 = + let var_1983 = Some( crate::xml_deser::deser_list_stale_ip_permission_set(&mut tag) ? ) ; - builder = builder.set_stale_ip_permissions(var_1982); + builder = builder.set_stale_ip_permissions(var_1983); } , s if s.matches("staleIpPermissionsEgress") /* StaleIpPermissionsEgress com.amazonaws.ec2#StaleSecurityGroup$StaleIpPermissionsEgress */ => { - let var_1983 = + let var_1984 = Some( crate::xml_deser::deser_list_stale_ip_permission_set(&mut tag) ? ) ; - builder = builder.set_stale_ip_permissions_egress(var_1983); + builder = builder.set_stale_ip_permissions_egress(var_1984); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#StaleSecurityGroup$VpcId */ => { - let var_1984 = + let var_1985 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41789,7 +41803,7 @@ pub fn deser_structure_stale_security_group( ? ) ; - builder = builder.set_vpc_id(var_1984); + builder = builder.set_vpc_id(var_1985); } , _ => {} @@ -41806,7 +41820,7 @@ pub fn deser_structure_store_image_task_result( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("amiId") /* AmiId com.amazonaws.ec2#StoreImageTaskResult$AmiId */ => { - let var_1985 = + let var_1986 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41815,11 +41829,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_ami_id(var_1985); + builder = builder.set_ami_id(var_1986); } , s if s.matches("taskStartTime") /* TaskStartTime com.amazonaws.ec2#StoreImageTaskResult$TaskStartTime */ => { - let var_1986 = + let var_1987 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41829,11 +41843,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_task_start_time(var_1986); + builder = builder.set_task_start_time(var_1987); } , s if s.matches("bucket") /* Bucket com.amazonaws.ec2#StoreImageTaskResult$Bucket */ => { - let var_1987 = + let var_1988 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41842,11 +41856,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_bucket(var_1987); + builder = builder.set_bucket(var_1988); } , s if s.matches("s3objectKey") /* S3objectKey com.amazonaws.ec2#StoreImageTaskResult$S3objectKey */ => { - let var_1988 = + let var_1989 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41855,11 +41869,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_s3object_key(var_1988); + builder = builder.set_s3object_key(var_1989); } , s if s.matches("progressPercentage") /* ProgressPercentage com.amazonaws.ec2#StoreImageTaskResult$ProgressPercentage */ => { - let var_1989 = + let var_1990 = Some( { ::parse_smithy_primitive( @@ -41870,11 +41884,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_progress_percentage(var_1989); + builder = builder.set_progress_percentage(var_1990); } , s if s.matches("storeTaskState") /* StoreTaskState com.amazonaws.ec2#StoreImageTaskResult$StoreTaskState */ => { - let var_1990 = + let var_1991 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41883,11 +41897,11 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_store_task_state(var_1990); + builder = builder.set_store_task_state(var_1991); } , s if s.matches("storeTaskFailureReason") /* StoreTaskFailureReason com.amazonaws.ec2#StoreImageTaskResult$StoreTaskFailureReason */ => { - let var_1991 = + let var_1992 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41896,7 +41910,7 @@ pub fn deser_structure_store_image_task_result( ? ) ; - builder = builder.set_store_task_failure_reason(var_1991); + builder = builder.set_store_task_failure_reason(var_1992); } , _ => {} @@ -41913,7 +41927,7 @@ pub fn deser_structure_tag_description( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("key") /* Key com.amazonaws.ec2#TagDescription$Key */ => { - let var_1992 = + let var_1993 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41922,11 +41936,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_key(var_1992); + builder = builder.set_key(var_1993); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TagDescription$ResourceId */ => { - let var_1993 = + let var_1994 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41935,11 +41949,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_resource_id(var_1993); + builder = builder.set_resource_id(var_1994); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TagDescription$ResourceType */ => { - let var_1994 = + let var_1995 = Some( Result::::Ok( crate::model::ResourceType::from( @@ -41949,11 +41963,11 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_resource_type(var_1994); + builder = builder.set_resource_type(var_1995); } , s if s.matches("value") /* Value com.amazonaws.ec2#TagDescription$Value */ => { - let var_1995 = + let var_1996 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41962,7 +41976,7 @@ pub fn deser_structure_tag_description( ? ) ; - builder = builder.set_value(var_1995); + builder = builder.set_value(var_1996); } , _ => {} @@ -41979,7 +41993,7 @@ pub fn deser_structure_transit_gateway_attachment( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayAttachment$TransitGatewayAttachmentId */ => { - let var_1996 = + let var_1997 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -41988,11 +42002,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_1996); + builder = builder.set_transit_gateway_attachment_id(var_1997); } , s if s.matches("transitGatewayId") /* TransitGatewayId com.amazonaws.ec2#TransitGatewayAttachment$TransitGatewayId */ => { - let var_1997 = + let var_1998 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42001,11 +42015,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_transit_gateway_id(var_1997); + builder = builder.set_transit_gateway_id(var_1998); } , s if s.matches("transitGatewayOwnerId") /* TransitGatewayOwnerId com.amazonaws.ec2#TransitGatewayAttachment$TransitGatewayOwnerId */ => { - let var_1998 = + let var_1999 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42014,11 +42028,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_transit_gateway_owner_id(var_1998); + builder = builder.set_transit_gateway_owner_id(var_1999); } , s if s.matches("resourceOwnerId") /* ResourceOwnerId com.amazonaws.ec2#TransitGatewayAttachment$ResourceOwnerId */ => { - let var_1999 = + let var_2000 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42027,11 +42041,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_resource_owner_id(var_1999); + builder = builder.set_resource_owner_id(var_2000); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayAttachment$ResourceType */ => { - let var_2000 = + let var_2001 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -42041,11 +42055,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_resource_type(var_2000); + builder = builder.set_resource_type(var_2001); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayAttachment$ResourceId */ => { - let var_2001 = + let var_2002 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42054,11 +42068,11 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_resource_id(var_2001); + builder = builder.set_resource_id(var_2002); } , s if s.matches("state") /* State com.amazonaws.ec2#TransitGatewayAttachment$State */ => { - let var_2002 = + let var_2003 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentState::from( @@ -42068,21 +42082,21 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_state(var_2002); + builder = builder.set_state(var_2003); } , s if s.matches("association") /* Association com.amazonaws.ec2#TransitGatewayAttachment$Association */ => { - let var_2003 = + let var_2004 = Some( crate::xml_deser::deser_structure_transit_gateway_attachment_association(&mut tag) ? ) ; - builder = builder.set_association(var_2003); + builder = builder.set_association(var_2004); } , s if s.matches("creationTime") /* CreationTime com.amazonaws.ec2#TransitGatewayAttachment$CreationTime */ => { - let var_2004 = + let var_2005 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42092,17 +42106,17 @@ pub fn deser_structure_transit_gateway_attachment( ? ) ; - builder = builder.set_creation_time(var_2004); + builder = builder.set_creation_time(var_2005); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#TransitGatewayAttachment$Tags */ => { - let var_2005 = + let var_2006 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2005); + builder = builder.set_tags(var_2006); } , _ => {} @@ -42119,17 +42133,17 @@ pub fn deser_structure_volume( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("attachmentSet") /* Attachments com.amazonaws.ec2#Volume$Attachments */ => { - let var_2006 = + let var_2007 = Some( crate::xml_deser::deser_list_volume_attachment_list(&mut tag) ? ) ; - builder = builder.set_attachments(var_2006); + builder = builder.set_attachments(var_2007); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#Volume$AvailabilityZone */ => { - let var_2007 = + let var_2008 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42138,11 +42152,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_availability_zone(var_2007); + builder = builder.set_availability_zone(var_2008); } , s if s.matches("createTime") /* CreateTime com.amazonaws.ec2#Volume$CreateTime */ => { - let var_2008 = + let var_2009 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42152,11 +42166,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_create_time(var_2008); + builder = builder.set_create_time(var_2009); } , s if s.matches("encrypted") /* Encrypted com.amazonaws.ec2#Volume$Encrypted */ => { - let var_2009 = + let var_2010 = Some( { ::parse_smithy_primitive( @@ -42167,11 +42181,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_encrypted(var_2009); + builder = builder.set_encrypted(var_2010); } , s if s.matches("kmsKeyId") /* KmsKeyId com.amazonaws.ec2#Volume$KmsKeyId */ => { - let var_2010 = + let var_2011 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42180,11 +42194,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_kms_key_id(var_2010); + builder = builder.set_kms_key_id(var_2011); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#Volume$OutpostArn */ => { - let var_2011 = + let var_2012 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42193,11 +42207,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_outpost_arn(var_2011); + builder = builder.set_outpost_arn(var_2012); } , s if s.matches("size") /* Size com.amazonaws.ec2#Volume$Size */ => { - let var_2012 = + let var_2013 = Some( { ::parse_smithy_primitive( @@ -42208,11 +42222,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_size(var_2012); + builder = builder.set_size(var_2013); } , s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#Volume$SnapshotId */ => { - let var_2013 = + let var_2014 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42221,11 +42235,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_snapshot_id(var_2013); + builder = builder.set_snapshot_id(var_2014); } , s if s.matches("status") /* State com.amazonaws.ec2#Volume$State */ => { - let var_2014 = + let var_2015 = Some( Result::::Ok( crate::model::VolumeState::from( @@ -42235,11 +42249,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_state(var_2014); + builder = builder.set_state(var_2015); } , s if s.matches("volumeId") /* VolumeId com.amazonaws.ec2#Volume$VolumeId */ => { - let var_2015 = + let var_2016 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42248,11 +42262,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_volume_id(var_2015); + builder = builder.set_volume_id(var_2016); } , s if s.matches("iops") /* Iops com.amazonaws.ec2#Volume$Iops */ => { - let var_2016 = + let var_2017 = Some( { ::parse_smithy_primitive( @@ -42263,21 +42277,21 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_iops(var_2016); + builder = builder.set_iops(var_2017); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#Volume$Tags */ => { - let var_2017 = + let var_2018 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2017); + builder = builder.set_tags(var_2018); } , s if s.matches("volumeType") /* VolumeType com.amazonaws.ec2#Volume$VolumeType */ => { - let var_2018 = + let var_2019 = Some( Result::::Ok( crate::model::VolumeType::from( @@ -42287,11 +42301,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_volume_type(var_2018); + builder = builder.set_volume_type(var_2019); } , s if s.matches("fastRestored") /* FastRestored com.amazonaws.ec2#Volume$FastRestored */ => { - let var_2019 = + let var_2020 = Some( { ::parse_smithy_primitive( @@ -42302,11 +42316,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_fast_restored(var_2019); + builder = builder.set_fast_restored(var_2020); } , s if s.matches("multiAttachEnabled") /* MultiAttachEnabled com.amazonaws.ec2#Volume$MultiAttachEnabled */ => { - let var_2020 = + let var_2021 = Some( { ::parse_smithy_primitive( @@ -42317,11 +42331,11 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_multi_attach_enabled(var_2020); + builder = builder.set_multi_attach_enabled(var_2021); } , s if s.matches("throughput") /* Throughput com.amazonaws.ec2#Volume$Throughput */ => { - let var_2021 = + let var_2022 = Some( { ::parse_smithy_primitive( @@ -42332,7 +42346,7 @@ pub fn deser_structure_volume( ? ) ; - builder = builder.set_throughput(var_2021); + builder = builder.set_throughput(var_2022); } , _ => {} @@ -42349,17 +42363,17 @@ pub fn deser_structure_volume_status_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("actionsSet") /* Actions com.amazonaws.ec2#VolumeStatusItem$Actions */ => { - let var_2022 = + let var_2023 = Some( crate::xml_deser::deser_list_volume_status_actions_list(&mut tag) ? ) ; - builder = builder.set_actions(var_2022); + builder = builder.set_actions(var_2023); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#VolumeStatusItem$AvailabilityZone */ => { - let var_2023 = + let var_2024 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42368,11 +42382,11 @@ pub fn deser_structure_volume_status_item( ? ) ; - builder = builder.set_availability_zone(var_2023); + builder = builder.set_availability_zone(var_2024); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#VolumeStatusItem$OutpostArn */ => { - let var_2024 = + let var_2025 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42381,21 +42395,21 @@ pub fn deser_structure_volume_status_item( ? ) ; - builder = builder.set_outpost_arn(var_2024); + builder = builder.set_outpost_arn(var_2025); } , s if s.matches("eventsSet") /* Events com.amazonaws.ec2#VolumeStatusItem$Events */ => { - let var_2025 = + let var_2026 = Some( crate::xml_deser::deser_list_volume_status_events_list(&mut tag) ? ) ; - builder = builder.set_events(var_2025); + builder = builder.set_events(var_2026); } , s if s.matches("volumeId") /* VolumeId com.amazonaws.ec2#VolumeStatusItem$VolumeId */ => { - let var_2026 = + let var_2027 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42404,27 +42418,27 @@ pub fn deser_structure_volume_status_item( ? ) ; - builder = builder.set_volume_id(var_2026); + builder = builder.set_volume_id(var_2027); } , s if s.matches("volumeStatus") /* VolumeStatus com.amazonaws.ec2#VolumeStatusItem$VolumeStatus */ => { - let var_2027 = + let var_2028 = Some( crate::xml_deser::deser_structure_volume_status_info(&mut tag) ? ) ; - builder = builder.set_volume_status(var_2027); + builder = builder.set_volume_status(var_2028); } , s if s.matches("attachmentStatuses") /* AttachmentStatuses com.amazonaws.ec2#VolumeStatusItem$AttachmentStatuses */ => { - let var_2028 = + let var_2029 = Some( crate::xml_deser::deser_list_volume_status_attachment_status_list(&mut tag) ? ) ; - builder = builder.set_attachment_statuses(var_2028); + builder = builder.set_attachment_statuses(var_2029); } , _ => {} @@ -42441,7 +42455,7 @@ pub fn deser_structure_vpc_classic_link( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("classicLinkEnabled") /* ClassicLinkEnabled com.amazonaws.ec2#VpcClassicLink$ClassicLinkEnabled */ => { - let var_2029 = + let var_2030 = Some( { ::parse_smithy_primitive( @@ -42452,21 +42466,21 @@ pub fn deser_structure_vpc_classic_link( ? ) ; - builder = builder.set_classic_link_enabled(var_2029); + builder = builder.set_classic_link_enabled(var_2030); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#VpcClassicLink$Tags */ => { - let var_2030 = + let var_2031 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2030); + builder = builder.set_tags(var_2031); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#VpcClassicLink$VpcId */ => { - let var_2031 = + let var_2032 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42475,7 +42489,7 @@ pub fn deser_structure_vpc_classic_link( ? ) ; - builder = builder.set_vpc_id(var_2031); + builder = builder.set_vpc_id(var_2032); } , _ => {} @@ -42492,7 +42506,7 @@ pub fn deser_structure_classic_link_dns_support( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("classicLinkDnsSupported") /* ClassicLinkDnsSupported com.amazonaws.ec2#ClassicLinkDnsSupport$ClassicLinkDnsSupported */ => { - let var_2032 = + let var_2033 = Some( { ::parse_smithy_primitive( @@ -42503,11 +42517,11 @@ pub fn deser_structure_classic_link_dns_support( ? ) ; - builder = builder.set_classic_link_dns_supported(var_2032); + builder = builder.set_classic_link_dns_supported(var_2033); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#ClassicLinkDnsSupport$VpcId */ => { - let var_2033 = + let var_2034 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42516,7 +42530,7 @@ pub fn deser_structure_classic_link_dns_support( ? ) ; - builder = builder.set_vpc_id(var_2033); + builder = builder.set_vpc_id(var_2034); } , _ => {} @@ -42533,7 +42547,7 @@ pub fn deser_structure_vpc_endpoint_connection( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("serviceId") /* ServiceId com.amazonaws.ec2#VpcEndpointConnection$ServiceId */ => { - let var_2034 = + let var_2035 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42542,11 +42556,11 @@ pub fn deser_structure_vpc_endpoint_connection( ? ) ; - builder = builder.set_service_id(var_2034); + builder = builder.set_service_id(var_2035); } , s if s.matches("vpcEndpointId") /* VpcEndpointId com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointId */ => { - let var_2035 = + let var_2036 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42555,11 +42569,11 @@ pub fn deser_structure_vpc_endpoint_connection( ? ) ; - builder = builder.set_vpc_endpoint_id(var_2035); + builder = builder.set_vpc_endpoint_id(var_2036); } , s if s.matches("vpcEndpointOwner") /* VpcEndpointOwner com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointOwner */ => { - let var_2036 = + let var_2037 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42568,11 +42582,11 @@ pub fn deser_structure_vpc_endpoint_connection( ? ) ; - builder = builder.set_vpc_endpoint_owner(var_2036); + builder = builder.set_vpc_endpoint_owner(var_2037); } , s if s.matches("vpcEndpointState") /* VpcEndpointState com.amazonaws.ec2#VpcEndpointConnection$VpcEndpointState */ => { - let var_2037 = + let var_2038 = Some( Result::::Ok( crate::model::State::from( @@ -42582,11 +42596,11 @@ pub fn deser_structure_vpc_endpoint_connection( ? ) ; - builder = builder.set_vpc_endpoint_state(var_2037); + builder = builder.set_vpc_endpoint_state(var_2038); } , s if s.matches("creationTimestamp") /* CreationTimestamp com.amazonaws.ec2#VpcEndpointConnection$CreationTimestamp */ => { - let var_2038 = + let var_2039 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42596,37 +42610,37 @@ pub fn deser_structure_vpc_endpoint_connection( ? ) ; - builder = builder.set_creation_timestamp(var_2038); + builder = builder.set_creation_timestamp(var_2039); } , s if s.matches("dnsEntrySet") /* DnsEntries com.amazonaws.ec2#VpcEndpointConnection$DnsEntries */ => { - let var_2039 = + let var_2040 = Some( crate::xml_deser::deser_list_dns_entry_set(&mut tag) ? ) ; - builder = builder.set_dns_entries(var_2039); + builder = builder.set_dns_entries(var_2040); } , s if s.matches("networkLoadBalancerArnSet") /* NetworkLoadBalancerArns com.amazonaws.ec2#VpcEndpointConnection$NetworkLoadBalancerArns */ => { - let var_2040 = + let var_2041 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_network_load_balancer_arns(var_2040); + builder = builder.set_network_load_balancer_arns(var_2041); } , s if s.matches("gatewayLoadBalancerArnSet") /* GatewayLoadBalancerArns com.amazonaws.ec2#VpcEndpointConnection$GatewayLoadBalancerArns */ => { - let var_2041 = + let var_2042 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_gateway_load_balancer_arns(var_2041); + builder = builder.set_gateway_load_balancer_arns(var_2042); } , _ => {} @@ -42643,7 +42657,7 @@ pub fn deser_structure_allowed_principal( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("principalType") /* PrincipalType com.amazonaws.ec2#AllowedPrincipal$PrincipalType */ => { - let var_2042 = + let var_2043 = Some( Result::::Ok( crate::model::PrincipalType::from( @@ -42653,11 +42667,11 @@ pub fn deser_structure_allowed_principal( ? ) ; - builder = builder.set_principal_type(var_2042); + builder = builder.set_principal_type(var_2043); } , s if s.matches("principal") /* Principal com.amazonaws.ec2#AllowedPrincipal$Principal */ => { - let var_2043 = + let var_2044 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42666,7 +42680,7 @@ pub fn deser_structure_allowed_principal( ? ) ; - builder = builder.set_principal(var_2043); + builder = builder.set_principal(var_2044); } , _ => {} @@ -42683,7 +42697,7 @@ pub fn deser_structure_service_detail( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("serviceName") /* ServiceName com.amazonaws.ec2#ServiceDetail$ServiceName */ => { - let var_2044 = + let var_2045 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42692,11 +42706,11 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_service_name(var_2044); + builder = builder.set_service_name(var_2045); } , s if s.matches("serviceId") /* ServiceId com.amazonaws.ec2#ServiceDetail$ServiceId */ => { - let var_2045 = + let var_2046 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42705,31 +42719,31 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_service_id(var_2045); + builder = builder.set_service_id(var_2046); } , s if s.matches("serviceType") /* ServiceType com.amazonaws.ec2#ServiceDetail$ServiceType */ => { - let var_2046 = + let var_2047 = Some( crate::xml_deser::deser_list_service_type_detail_set(&mut tag) ? ) ; - builder = builder.set_service_type(var_2046); + builder = builder.set_service_type(var_2047); } , s if s.matches("availabilityZoneSet") /* AvailabilityZones com.amazonaws.ec2#ServiceDetail$AvailabilityZones */ => { - let var_2047 = + let var_2048 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_availability_zones(var_2047); + builder = builder.set_availability_zones(var_2048); } , s if s.matches("owner") /* Owner com.amazonaws.ec2#ServiceDetail$Owner */ => { - let var_2048 = + let var_2049 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42738,21 +42752,21 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_owner(var_2048); + builder = builder.set_owner(var_2049); } , s if s.matches("baseEndpointDnsNameSet") /* BaseEndpointDnsNames com.amazonaws.ec2#ServiceDetail$BaseEndpointDnsNames */ => { - let var_2049 = + let var_2050 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_base_endpoint_dns_names(var_2049); + builder = builder.set_base_endpoint_dns_names(var_2050); } , s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#ServiceDetail$PrivateDnsName */ => { - let var_2050 = + let var_2051 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42761,21 +42775,21 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_private_dns_name(var_2050); + builder = builder.set_private_dns_name(var_2051); } , s if s.matches("privateDnsNameSet") /* PrivateDnsNames com.amazonaws.ec2#ServiceDetail$PrivateDnsNames */ => { - let var_2051 = + let var_2052 = Some( crate::xml_deser::deser_list_private_dns_details_set(&mut tag) ? ) ; - builder = builder.set_private_dns_names(var_2051); + builder = builder.set_private_dns_names(var_2052); } , s if s.matches("vpcEndpointPolicySupported") /* VpcEndpointPolicySupported com.amazonaws.ec2#ServiceDetail$VpcEndpointPolicySupported */ => { - let var_2052 = + let var_2053 = Some( { ::parse_smithy_primitive( @@ -42786,11 +42800,11 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_vpc_endpoint_policy_supported(var_2052); + builder = builder.set_vpc_endpoint_policy_supported(var_2053); } , s if s.matches("acceptanceRequired") /* AcceptanceRequired com.amazonaws.ec2#ServiceDetail$AcceptanceRequired */ => { - let var_2053 = + let var_2054 = Some( { ::parse_smithy_primitive( @@ -42801,11 +42815,11 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_acceptance_required(var_2053); + builder = builder.set_acceptance_required(var_2054); } , s if s.matches("managesVpcEndpoints") /* ManagesVpcEndpoints com.amazonaws.ec2#ServiceDetail$ManagesVpcEndpoints */ => { - let var_2054 = + let var_2055 = Some( { ::parse_smithy_primitive( @@ -42816,21 +42830,21 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_manages_vpc_endpoints(var_2054); + builder = builder.set_manages_vpc_endpoints(var_2055); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#ServiceDetail$Tags */ => { - let var_2055 = + let var_2056 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2055); + builder = builder.set_tags(var_2056); } , s if s.matches("privateDnsNameVerificationState") /* PrivateDnsNameVerificationState com.amazonaws.ec2#ServiceDetail$PrivateDnsNameVerificationState */ => { - let var_2056 = + let var_2057 = Some( Result::::Ok( crate::model::DnsNameState::from( @@ -42840,7 +42854,7 @@ pub fn deser_structure_service_detail( ? ) ; - builder = builder.set_private_dns_name_verification_state(var_2056); + builder = builder.set_private_dns_name_verification_state(var_2057); } , _ => {} @@ -42857,7 +42871,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$SnapshotId */ => { - let var_2057 = + let var_2058 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42866,11 +42880,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_snapshot_id(var_2057); + builder = builder.set_snapshot_id(var_2058); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$AvailabilityZone */ => { - let var_2058 = + let var_2059 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42879,11 +42893,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_availability_zone(var_2058); + builder = builder.set_availability_zone(var_2059); } , s if s.matches("state") /* State com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$State */ => { - let var_2059 = + let var_2060 = Some( Result::::Ok( crate::model::FastSnapshotRestoreStateCode::from( @@ -42893,11 +42907,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_state(var_2059); + builder = builder.set_state(var_2060); } , s if s.matches("stateTransitionReason") /* StateTransitionReason com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$StateTransitionReason */ => { - let var_2060 = + let var_2061 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42906,11 +42920,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_state_transition_reason(var_2060); + builder = builder.set_state_transition_reason(var_2061); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$OwnerId */ => { - let var_2061 = + let var_2062 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42919,11 +42933,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_owner_id(var_2061); + builder = builder.set_owner_id(var_2062); } , s if s.matches("ownerAlias") /* OwnerAlias com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$OwnerAlias */ => { - let var_2062 = + let var_2063 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42932,11 +42946,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_owner_alias(var_2062); + builder = builder.set_owner_alias(var_2063); } , s if s.matches("enablingTime") /* EnablingTime com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$EnablingTime */ => { - let var_2063 = + let var_2064 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42946,11 +42960,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_enabling_time(var_2063); + builder = builder.set_enabling_time(var_2064); } , s if s.matches("optimizingTime") /* OptimizingTime com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$OptimizingTime */ => { - let var_2064 = + let var_2065 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42960,11 +42974,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_optimizing_time(var_2064); + builder = builder.set_optimizing_time(var_2065); } , s if s.matches("enabledTime") /* EnabledTime com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$EnabledTime */ => { - let var_2065 = + let var_2066 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42974,11 +42988,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_enabled_time(var_2065); + builder = builder.set_enabled_time(var_2066); } , s if s.matches("disablingTime") /* DisablingTime com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$DisablingTime */ => { - let var_2066 = + let var_2067 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -42988,11 +43002,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_disabling_time(var_2066); + builder = builder.set_disabling_time(var_2067); } , s if s.matches("disabledTime") /* DisabledTime com.amazonaws.ec2#DisableFastSnapshotRestoreSuccessItem$DisabledTime */ => { - let var_2067 = + let var_2068 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43002,7 +43016,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_disabled_time(var_2067); + builder = builder.set_disabled_time(var_2068); } , _ => {} @@ -43019,7 +43033,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_error_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem$SnapshotId */ => { - let var_2068 = + let var_2069 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43028,17 +43042,17 @@ pub fn deser_structure_disable_fast_snapshot_restore_error_item( ? ) ; - builder = builder.set_snapshot_id(var_2068); + builder = builder.set_snapshot_id(var_2069); } , s if s.matches("fastSnapshotRestoreStateErrorSet") /* FastSnapshotRestoreStateErrors com.amazonaws.ec2#DisableFastSnapshotRestoreErrorItem$FastSnapshotRestoreStateErrors */ => { - let var_2069 = + let var_2070 = Some( crate::xml_deser::deser_list_disable_fast_snapshot_restore_state_error_set(&mut tag) ? ) ; - builder = builder.set_fast_snapshot_restore_state_errors(var_2069); + builder = builder.set_fast_snapshot_restore_state_errors(var_2070); } , _ => {} @@ -43055,7 +43069,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$SnapshotId */ => { - let var_2070 = + let var_2071 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43064,11 +43078,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_snapshot_id(var_2070); + builder = builder.set_snapshot_id(var_2071); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$AvailabilityZone */ => { - let var_2071 = + let var_2072 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43077,11 +43091,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_availability_zone(var_2071); + builder = builder.set_availability_zone(var_2072); } , s if s.matches("state") /* State com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$State */ => { - let var_2072 = + let var_2073 = Some( Result::::Ok( crate::model::FastSnapshotRestoreStateCode::from( @@ -43091,11 +43105,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_state(var_2072); + builder = builder.set_state(var_2073); } , s if s.matches("stateTransitionReason") /* StateTransitionReason com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$StateTransitionReason */ => { - let var_2073 = + let var_2074 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43104,11 +43118,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_state_transition_reason(var_2073); + builder = builder.set_state_transition_reason(var_2074); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$OwnerId */ => { - let var_2074 = + let var_2075 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43117,11 +43131,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_owner_id(var_2074); + builder = builder.set_owner_id(var_2075); } , s if s.matches("ownerAlias") /* OwnerAlias com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$OwnerAlias */ => { - let var_2075 = + let var_2076 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43130,11 +43144,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_owner_alias(var_2075); + builder = builder.set_owner_alias(var_2076); } , s if s.matches("enablingTime") /* EnablingTime com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$EnablingTime */ => { - let var_2076 = + let var_2077 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43144,11 +43158,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_enabling_time(var_2076); + builder = builder.set_enabling_time(var_2077); } , s if s.matches("optimizingTime") /* OptimizingTime com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$OptimizingTime */ => { - let var_2077 = + let var_2078 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43158,11 +43172,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_optimizing_time(var_2077); + builder = builder.set_optimizing_time(var_2078); } , s if s.matches("enabledTime") /* EnabledTime com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$EnabledTime */ => { - let var_2078 = + let var_2079 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43172,11 +43186,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_enabled_time(var_2078); + builder = builder.set_enabled_time(var_2079); } , s if s.matches("disablingTime") /* DisablingTime com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$DisablingTime */ => { - let var_2079 = + let var_2080 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43186,11 +43200,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_disabling_time(var_2079); + builder = builder.set_disabling_time(var_2080); } , s if s.matches("disabledTime") /* DisabledTime com.amazonaws.ec2#EnableFastSnapshotRestoreSuccessItem$DisabledTime */ => { - let var_2080 = + let var_2081 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43200,7 +43214,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_success_item( ? ) ; - builder = builder.set_disabled_time(var_2080); + builder = builder.set_disabled_time(var_2081); } , _ => {} @@ -43217,7 +43231,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_error_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem$SnapshotId */ => { - let var_2081 = + let var_2082 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43226,17 +43240,17 @@ pub fn deser_structure_enable_fast_snapshot_restore_error_item( ? ) ; - builder = builder.set_snapshot_id(var_2081); + builder = builder.set_snapshot_id(var_2082); } , s if s.matches("fastSnapshotRestoreStateErrorSet") /* FastSnapshotRestoreStateErrors com.amazonaws.ec2#EnableFastSnapshotRestoreErrorItem$FastSnapshotRestoreStateErrors */ => { - let var_2082 = + let var_2083 = Some( crate::xml_deser::deser_list_enable_fast_snapshot_restore_state_error_set(&mut tag) ? ) ; - builder = builder.set_fast_snapshot_restore_state_errors(var_2082); + builder = builder.set_fast_snapshot_restore_state_errors(var_2083); } , _ => {} @@ -43253,7 +43267,7 @@ pub fn deser_structure_associated_role( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("associatedRoleArn") /* AssociatedRoleArn com.amazonaws.ec2#AssociatedRole$AssociatedRoleArn */ => { - let var_2083 = + let var_2084 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43262,11 +43276,11 @@ pub fn deser_structure_associated_role( ? ) ; - builder = builder.set_associated_role_arn(var_2083); + builder = builder.set_associated_role_arn(var_2084); } , s if s.matches("certificateS3BucketName") /* CertificateS3BucketName com.amazonaws.ec2#AssociatedRole$CertificateS3BucketName */ => { - let var_2084 = + let var_2085 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43275,11 +43289,11 @@ pub fn deser_structure_associated_role( ? ) ; - builder = builder.set_certificate_s3_bucket_name(var_2084); + builder = builder.set_certificate_s3_bucket_name(var_2085); } , s if s.matches("certificateS3ObjectKey") /* CertificateS3ObjectKey com.amazonaws.ec2#AssociatedRole$CertificateS3ObjectKey */ => { - let var_2085 = + let var_2086 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43288,11 +43302,11 @@ pub fn deser_structure_associated_role( ? ) ; - builder = builder.set_certificate_s3_object_key(var_2085); + builder = builder.set_certificate_s3_object_key(var_2086); } , s if s.matches("encryptionKmsKeyId") /* EncryptionKmsKeyId com.amazonaws.ec2#AssociatedRole$EncryptionKmsKeyId */ => { - let var_2086 = + let var_2087 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43301,7 +43315,7 @@ pub fn deser_structure_associated_role( ? ) ; - builder = builder.set_encryption_kms_key_id(var_2086); + builder = builder.set_encryption_kms_key_id(var_2087); } , _ => {} @@ -43318,7 +43332,7 @@ pub fn deser_structure_ipv6_cidr_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Cidr") /* Ipv6Cidr com.amazonaws.ec2#Ipv6CidrAssociation$Ipv6Cidr */ => { - let var_2087 = + let var_2088 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43327,11 +43341,11 @@ pub fn deser_structure_ipv6_cidr_association( ? ) ; - builder = builder.set_ipv6_cidr(var_2087); + builder = builder.set_ipv6_cidr(var_2088); } , s if s.matches("associatedResource") /* AssociatedResource com.amazonaws.ec2#Ipv6CidrAssociation$AssociatedResource */ => { - let var_2088 = + let var_2089 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43340,7 +43354,7 @@ pub fn deser_structure_ipv6_cidr_association( ? ) ; - builder = builder.set_associated_resource(var_2088); + builder = builder.set_associated_resource(var_2089); } , _ => {} @@ -43357,7 +43371,7 @@ pub fn deser_structure_instance_usage( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("accountId") /* AccountId com.amazonaws.ec2#InstanceUsage$AccountId */ => { - let var_2089 = + let var_2090 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43366,11 +43380,11 @@ pub fn deser_structure_instance_usage( ? ) ; - builder = builder.set_account_id(var_2089); + builder = builder.set_account_id(var_2090); } , s if s.matches("usedInstanceCount") /* UsedInstanceCount com.amazonaws.ec2#InstanceUsage$UsedInstanceCount */ => { - let var_2090 = + let var_2091 = Some( { ::parse_smithy_primitive( @@ -43381,7 +43395,7 @@ pub fn deser_structure_instance_usage( ? ) ; - builder = builder.set_used_instance_count(var_2090); + builder = builder.set_used_instance_count(var_2091); } , _ => {} @@ -43398,7 +43412,7 @@ pub fn deser_structure_coip_address_usage( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allocationId") /* AllocationId com.amazonaws.ec2#CoipAddressUsage$AllocationId */ => { - let var_2091 = + let var_2092 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43407,11 +43421,11 @@ pub fn deser_structure_coip_address_usage( ? ) ; - builder = builder.set_allocation_id(var_2091); + builder = builder.set_allocation_id(var_2092); } , s if s.matches("awsAccountId") /* AwsAccountId com.amazonaws.ec2#CoipAddressUsage$AwsAccountId */ => { - let var_2092 = + let var_2093 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43420,11 +43434,11 @@ pub fn deser_structure_coip_address_usage( ? ) ; - builder = builder.set_aws_account_id(var_2092); + builder = builder.set_aws_account_id(var_2093); } , s if s.matches("awsService") /* AwsService com.amazonaws.ec2#CoipAddressUsage$AwsService */ => { - let var_2093 = + let var_2094 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43433,11 +43447,11 @@ pub fn deser_structure_coip_address_usage( ? ) ; - builder = builder.set_aws_service(var_2093); + builder = builder.set_aws_service(var_2094); } , s if s.matches("coIp") /* CoIp com.amazonaws.ec2#CoipAddressUsage$CoIp */ => { - let var_2094 = + let var_2095 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43446,7 +43460,7 @@ pub fn deser_structure_coip_address_usage( ? ) ; - builder = builder.set_co_ip(var_2094); + builder = builder.set_co_ip(var_2095); } , _ => {} @@ -43463,7 +43477,7 @@ pub fn deser_structure_capacity_reservation_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupArn") /* GroupArn com.amazonaws.ec2#CapacityReservationGroup$GroupArn */ => { - let var_2095 = + let var_2096 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43472,11 +43486,11 @@ pub fn deser_structure_capacity_reservation_group( ? ) ; - builder = builder.set_group_arn(var_2095); + builder = builder.set_group_arn(var_2096); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#CapacityReservationGroup$OwnerId */ => { - let var_2096 = + let var_2097 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43485,7 +43499,7 @@ pub fn deser_structure_capacity_reservation_group( ? ) ; - builder = builder.set_owner_id(var_2096); + builder = builder.set_owner_id(var_2097); } , _ => {} @@ -43502,7 +43516,7 @@ pub fn deser_structure_purchase( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("currencyCode") /* CurrencyCode com.amazonaws.ec2#Purchase$CurrencyCode */ => { - let var_2097 = + let var_2098 = Some( Result::::Ok( crate::model::CurrencyCodeValues::from( @@ -43512,11 +43526,11 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_currency_code(var_2097); + builder = builder.set_currency_code(var_2098); } , s if s.matches("duration") /* Duration com.amazonaws.ec2#Purchase$Duration */ => { - let var_2098 = + let var_2099 = Some( { ::parse_smithy_primitive( @@ -43527,21 +43541,21 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_duration(var_2098); + builder = builder.set_duration(var_2099); } , s if s.matches("hostIdSet") /* HostIdSet com.amazonaws.ec2#Purchase$HostIdSet */ => { - let var_2099 = + let var_2100 = Some( crate::xml_deser::deser_list_response_host_id_set(&mut tag) ? ) ; - builder = builder.set_host_id_set(var_2099); + builder = builder.set_host_id_set(var_2100); } , s if s.matches("hostReservationId") /* HostReservationId com.amazonaws.ec2#Purchase$HostReservationId */ => { - let var_2100 = + let var_2101 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43550,11 +43564,11 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_host_reservation_id(var_2100); + builder = builder.set_host_reservation_id(var_2101); } , s if s.matches("hourlyPrice") /* HourlyPrice com.amazonaws.ec2#Purchase$HourlyPrice */ => { - let var_2101 = + let var_2102 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43563,11 +43577,11 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_hourly_price(var_2101); + builder = builder.set_hourly_price(var_2102); } , s if s.matches("instanceFamily") /* InstanceFamily com.amazonaws.ec2#Purchase$InstanceFamily */ => { - let var_2102 = + let var_2103 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43576,11 +43590,11 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_instance_family(var_2102); + builder = builder.set_instance_family(var_2103); } , s if s.matches("paymentOption") /* PaymentOption com.amazonaws.ec2#Purchase$PaymentOption */ => { - let var_2103 = + let var_2104 = Some( Result::::Ok( crate::model::PaymentOption::from( @@ -43590,11 +43604,11 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_payment_option(var_2103); + builder = builder.set_payment_option(var_2104); } , s if s.matches("upfrontPrice") /* UpfrontPrice com.amazonaws.ec2#Purchase$UpfrontPrice */ => { - let var_2104 = + let var_2105 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43603,7 +43617,7 @@ pub fn deser_structure_purchase( ? ) ; - builder = builder.set_upfront_price(var_2104); + builder = builder.set_upfront_price(var_2105); } , _ => {} @@ -43621,7 +43635,7 @@ pub fn deser_structure_launch_template_iam_instance_profile_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("arn") /* Arn com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification$Arn */ => { - let var_2105 = + let var_2106 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43630,11 +43644,11 @@ pub fn deser_structure_launch_template_iam_instance_profile_specification( ? ) ; - builder = builder.set_arn(var_2105); + builder = builder.set_arn(var_2106); } , s if s.matches("name") /* Name com.amazonaws.ec2#LaunchTemplateIamInstanceProfileSpecification$Name */ => { - let var_2106 = + let var_2107 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43643,7 +43657,7 @@ pub fn deser_structure_launch_template_iam_instance_profile_specification( ? ) ; - builder = builder.set_name(var_2106); + builder = builder.set_name(var_2107); } , _ => {} @@ -43704,7 +43718,7 @@ pub fn deser_structure_launch_templates_monitoring( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("enabled") /* Enabled com.amazonaws.ec2#LaunchTemplatesMonitoring$Enabled */ => { - let var_2107 = + let var_2108 = Some( { ::parse_smithy_primitive( @@ -43715,7 +43729,7 @@ pub fn deser_structure_launch_templates_monitoring( ? ) ; - builder = builder.set_enabled(var_2107); + builder = builder.set_enabled(var_2108); } , _ => {} @@ -43732,7 +43746,7 @@ pub fn deser_structure_launch_template_placement( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#LaunchTemplatePlacement$AvailabilityZone */ => { - let var_2108 = + let var_2109 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43741,11 +43755,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_availability_zone(var_2108); + builder = builder.set_availability_zone(var_2109); } , s if s.matches("affinity") /* Affinity com.amazonaws.ec2#LaunchTemplatePlacement$Affinity */ => { - let var_2109 = + let var_2110 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43754,11 +43768,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_affinity(var_2109); + builder = builder.set_affinity(var_2110); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#LaunchTemplatePlacement$GroupName */ => { - let var_2110 = + let var_2111 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43767,11 +43781,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_group_name(var_2110); + builder = builder.set_group_name(var_2111); } , s if s.matches("hostId") /* HostId com.amazonaws.ec2#LaunchTemplatePlacement$HostId */ => { - let var_2111 = + let var_2112 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43780,11 +43794,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_host_id(var_2111); + builder = builder.set_host_id(var_2112); } , s if s.matches("tenancy") /* Tenancy com.amazonaws.ec2#LaunchTemplatePlacement$Tenancy */ => { - let var_2112 = + let var_2113 = Some( Result::::Ok( crate::model::Tenancy::from( @@ -43794,11 +43808,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_tenancy(var_2112); + builder = builder.set_tenancy(var_2113); } , s if s.matches("spreadDomain") /* SpreadDomain com.amazonaws.ec2#LaunchTemplatePlacement$SpreadDomain */ => { - let var_2113 = + let var_2114 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43807,11 +43821,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_spread_domain(var_2113); + builder = builder.set_spread_domain(var_2114); } , s if s.matches("hostResourceGroupArn") /* HostResourceGroupArn com.amazonaws.ec2#LaunchTemplatePlacement$HostResourceGroupArn */ => { - let var_2114 = + let var_2115 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43820,11 +43834,11 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_host_resource_group_arn(var_2114); + builder = builder.set_host_resource_group_arn(var_2115); } , s if s.matches("partitionNumber") /* PartitionNumber com.amazonaws.ec2#LaunchTemplatePlacement$PartitionNumber */ => { - let var_2115 = + let var_2116 = Some( { ::parse_smithy_primitive( @@ -43835,7 +43849,7 @@ pub fn deser_structure_launch_template_placement( ? ) ; - builder = builder.set_partition_number(var_2115); + builder = builder.set_partition_number(var_2116); } , _ => {} @@ -43916,7 +43930,7 @@ pub fn deser_structure_launch_template_instance_market_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("marketType") /* MarketType com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions$MarketType */ => { - let var_2116 = + let var_2117 = Some( Result::::Ok( crate::model::MarketType::from( @@ -43926,17 +43940,17 @@ pub fn deser_structure_launch_template_instance_market_options( ? ) ; - builder = builder.set_market_type(var_2116); + builder = builder.set_market_type(var_2117); } , s if s.matches("spotOptions") /* SpotOptions com.amazonaws.ec2#LaunchTemplateInstanceMarketOptions$SpotOptions */ => { - let var_2117 = + let var_2118 = Some( crate::xml_deser::deser_structure_launch_template_spot_market_options(&mut tag) ? ) ; - builder = builder.set_spot_options(var_2117); + builder = builder.set_spot_options(var_2118); } , _ => {} @@ -43953,7 +43967,7 @@ pub fn deser_structure_credit_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cpuCredits") /* CpuCredits com.amazonaws.ec2#CreditSpecification$CpuCredits */ => { - let var_2118 = + let var_2119 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -43962,7 +43976,7 @@ pub fn deser_structure_credit_specification( ? ) ; - builder = builder.set_cpu_credits(var_2118); + builder = builder.set_cpu_credits(var_2119); } , _ => {} @@ -43979,7 +43993,7 @@ pub fn deser_structure_launch_template_cpu_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("coreCount") /* CoreCount com.amazonaws.ec2#LaunchTemplateCpuOptions$CoreCount */ => { - let var_2119 = + let var_2120 = Some( { ::parse_smithy_primitive( @@ -43990,11 +44004,11 @@ pub fn deser_structure_launch_template_cpu_options( ? ) ; - builder = builder.set_core_count(var_2119); + builder = builder.set_core_count(var_2120); } , s if s.matches("threadsPerCore") /* ThreadsPerCore com.amazonaws.ec2#LaunchTemplateCpuOptions$ThreadsPerCore */ => { - let var_2120 = + let var_2121 = Some( { ::parse_smithy_primitive( @@ -44005,7 +44019,7 @@ pub fn deser_structure_launch_template_cpu_options( ? ) ; - builder = builder.set_threads_per_core(var_2120); + builder = builder.set_threads_per_core(var_2121); } , _ => {} @@ -44026,7 +44040,7 @@ pub fn deser_structure_launch_template_capacity_reservation_specification_respon while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("capacityReservationPreference") /* CapacityReservationPreference com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse$CapacityReservationPreference */ => { - let var_2121 = + let var_2122 = Some( Result::::Ok( crate::model::CapacityReservationPreference::from( @@ -44036,17 +44050,17 @@ pub fn deser_structure_launch_template_capacity_reservation_specification_respon ? ) ; - builder = builder.set_capacity_reservation_preference(var_2121); + builder = builder.set_capacity_reservation_preference(var_2122); } , s if s.matches("capacityReservationTarget") /* CapacityReservationTarget com.amazonaws.ec2#LaunchTemplateCapacityReservationSpecificationResponse$CapacityReservationTarget */ => { - let var_2122 = + let var_2123 = Some( crate::xml_deser::deser_structure_capacity_reservation_target_response(&mut tag) ? ) ; - builder = builder.set_capacity_reservation_target(var_2122); + builder = builder.set_capacity_reservation_target(var_2123); } , _ => {} @@ -44085,7 +44099,7 @@ pub fn deser_structure_launch_template_hibernation_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("configured") /* Configured com.amazonaws.ec2#LaunchTemplateHibernationOptions$Configured */ => { - let var_2123 = + let var_2124 = Some( { ::parse_smithy_primitive( @@ -44096,7 +44110,7 @@ pub fn deser_structure_launch_template_hibernation_options( ? ) ; - builder = builder.set_configured(var_2123); + builder = builder.set_configured(var_2124); } , _ => {} @@ -44113,7 +44127,7 @@ pub fn deser_structure_launch_template_instance_metadata_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("state") /* State com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions$State */ => { - let var_2124 = + let var_2125 = Some( Result::::Ok( crate::model::LaunchTemplateInstanceMetadataOptionsState::from( @@ -44123,11 +44137,11 @@ pub fn deser_structure_launch_template_instance_metadata_options( ? ) ; - builder = builder.set_state(var_2124); + builder = builder.set_state(var_2125); } , s if s.matches("httpTokens") /* HttpTokens com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions$HttpTokens */ => { - let var_2125 = + let var_2126 = Some( Result::::Ok( crate::model::LaunchTemplateHttpTokensState::from( @@ -44137,11 +44151,11 @@ pub fn deser_structure_launch_template_instance_metadata_options( ? ) ; - builder = builder.set_http_tokens(var_2125); + builder = builder.set_http_tokens(var_2126); } , s if s.matches("httpPutResponseHopLimit") /* HttpPutResponseHopLimit com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions$HttpPutResponseHopLimit */ => { - let var_2126 = + let var_2127 = Some( { ::parse_smithy_primitive( @@ -44152,11 +44166,11 @@ pub fn deser_structure_launch_template_instance_metadata_options( ? ) ; - builder = builder.set_http_put_response_hop_limit(var_2126); + builder = builder.set_http_put_response_hop_limit(var_2127); } , s if s.matches("httpEndpoint") /* HttpEndpoint com.amazonaws.ec2#LaunchTemplateInstanceMetadataOptions$HttpEndpoint */ => { - let var_2127 = + let var_2128 = Some( Result::::Ok( crate::model::LaunchTemplateInstanceMetadataEndpointState::from( @@ -44166,7 +44180,7 @@ pub fn deser_structure_launch_template_instance_metadata_options( ? ) ; - builder = builder.set_http_endpoint(var_2127); + builder = builder.set_http_endpoint(var_2128); } , _ => {} @@ -44183,7 +44197,7 @@ pub fn deser_structure_launch_template_enclave_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("enabled") /* Enabled com.amazonaws.ec2#LaunchTemplateEnclaveOptions$Enabled */ => { - let var_2128 = + let var_2129 = Some( { ::parse_smithy_primitive( @@ -44194,7 +44208,7 @@ pub fn deser_structure_launch_template_enclave_options( ? ) ; - builder = builder.set_enabled(var_2128); + builder = builder.set_enabled(var_2129); } , _ => {} @@ -44211,7 +44225,7 @@ pub fn deser_structure_prefix_list_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#PrefixListAssociation$ResourceId */ => { - let var_2129 = + let var_2130 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44220,11 +44234,11 @@ pub fn deser_structure_prefix_list_association( ? ) ; - builder = builder.set_resource_id(var_2129); + builder = builder.set_resource_id(var_2130); } , s if s.matches("resourceOwner") /* ResourceOwner com.amazonaws.ec2#PrefixListAssociation$ResourceOwner */ => { - let var_2130 = + let var_2131 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44233,7 +44247,7 @@ pub fn deser_structure_prefix_list_association( ? ) ; - builder = builder.set_resource_owner(var_2130); + builder = builder.set_resource_owner(var_2131); } , _ => {} @@ -44250,7 +44264,7 @@ pub fn deser_structure_prefix_list_entry( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidr") /* Cidr com.amazonaws.ec2#PrefixListEntry$Cidr */ => { - let var_2131 = + let var_2132 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44259,11 +44273,11 @@ pub fn deser_structure_prefix_list_entry( ? ) ; - builder = builder.set_cidr(var_2131); + builder = builder.set_cidr(var_2132); } , s if s.matches("description") /* Description com.amazonaws.ec2#PrefixListEntry$Description */ => { - let var_2132 = + let var_2133 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44272,7 +44286,7 @@ pub fn deser_structure_prefix_list_entry( ? ) ; - builder = builder.set_description(var_2132); + builder = builder.set_description(var_2133); } , _ => {} @@ -44289,17 +44303,17 @@ pub fn deser_structure_reserved_instance_reservation_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("reservationValue") /* ReservationValue com.amazonaws.ec2#ReservedInstanceReservationValue$ReservationValue */ => { - let var_2133 = + let var_2134 = Some( crate::xml_deser::deser_structure_reservation_value(&mut tag) ? ) ; - builder = builder.set_reservation_value(var_2133); + builder = builder.set_reservation_value(var_2134); } , s if s.matches("reservedInstanceId") /* ReservedInstanceId com.amazonaws.ec2#ReservedInstanceReservationValue$ReservedInstanceId */ => { - let var_2134 = + let var_2135 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44308,7 +44322,7 @@ pub fn deser_structure_reserved_instance_reservation_value( ? ) ; - builder = builder.set_reserved_instance_id(var_2134); + builder = builder.set_reserved_instance_id(var_2135); } , _ => {} @@ -44325,23 +44339,23 @@ pub fn deser_structure_target_reservation_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("reservationValue") /* ReservationValue com.amazonaws.ec2#TargetReservationValue$ReservationValue */ => { - let var_2135 = + let var_2136 = Some( crate::xml_deser::deser_structure_reservation_value(&mut tag) ? ) ; - builder = builder.set_reservation_value(var_2135); + builder = builder.set_reservation_value(var_2136); } , s if s.matches("targetConfiguration") /* TargetConfiguration com.amazonaws.ec2#TargetReservationValue$TargetConfiguration */ => { - let var_2136 = + let var_2137 = Some( crate::xml_deser::deser_structure_target_configuration(&mut tag) ? ) ; - builder = builder.set_target_configuration(var_2136); + builder = builder.set_target_configuration(var_2137); } , _ => {} @@ -44358,7 +44372,7 @@ pub fn deser_structure_transit_gateway_attachment_propagation( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayRouteTableId") /* TransitGatewayRouteTableId com.amazonaws.ec2#TransitGatewayAttachmentPropagation$TransitGatewayRouteTableId */ => { - let var_2137 = + let var_2138 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44367,11 +44381,11 @@ pub fn deser_structure_transit_gateway_attachment_propagation( ? ) ; - builder = builder.set_transit_gateway_route_table_id(var_2137); + builder = builder.set_transit_gateway_route_table_id(var_2138); } , s if s.matches("state") /* State com.amazonaws.ec2#TransitGatewayAttachmentPropagation$State */ => { - let var_2138 = + let var_2139 = Some( Result::::Ok( crate::model::TransitGatewayPropagationState::from( @@ -44381,7 +44395,7 @@ pub fn deser_structure_transit_gateway_attachment_propagation( ? ) ; - builder = builder.set_state(var_2138); + builder = builder.set_state(var_2139); } , _ => {} @@ -44398,7 +44412,7 @@ pub fn deser_structure_transit_gateway_multicast_domain_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$TransitGatewayAttachmentId */ => { - let var_2139 = + let var_2140 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44407,11 +44421,11 @@ pub fn deser_structure_transit_gateway_multicast_domain_association( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_2139); + builder = builder.set_transit_gateway_attachment_id(var_2140); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceId */ => { - let var_2140 = + let var_2141 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44420,11 +44434,11 @@ pub fn deser_structure_transit_gateway_multicast_domain_association( ? ) ; - builder = builder.set_resource_id(var_2140); + builder = builder.set_resource_id(var_2141); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceType */ => { - let var_2141 = + let var_2142 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -44434,11 +44448,11 @@ pub fn deser_structure_transit_gateway_multicast_domain_association( ? ) ; - builder = builder.set_resource_type(var_2141); + builder = builder.set_resource_type(var_2142); } , s if s.matches("resourceOwnerId") /* ResourceOwnerId com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$ResourceOwnerId */ => { - let var_2142 = + let var_2143 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44447,17 +44461,17 @@ pub fn deser_structure_transit_gateway_multicast_domain_association( ? ) ; - builder = builder.set_resource_owner_id(var_2142); + builder = builder.set_resource_owner_id(var_2143); } , s if s.matches("subnet") /* Subnet com.amazonaws.ec2#TransitGatewayMulticastDomainAssociation$Subnet */ => { - let var_2143 = + let var_2144 = Some( crate::xml_deser::deser_structure_subnet_association(&mut tag) ? ) ; - builder = builder.set_subnet(var_2143); + builder = builder.set_subnet(var_2144); } , _ => {} @@ -44474,7 +44488,7 @@ pub fn deser_structure_transit_gateway_route_table_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayRouteTableAssociation$TransitGatewayAttachmentId */ => { - let var_2144 = + let var_2145 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44483,11 +44497,11 @@ pub fn deser_structure_transit_gateway_route_table_association( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_2144); + builder = builder.set_transit_gateway_attachment_id(var_2145); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayRouteTableAssociation$ResourceId */ => { - let var_2145 = + let var_2146 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44496,11 +44510,11 @@ pub fn deser_structure_transit_gateway_route_table_association( ? ) ; - builder = builder.set_resource_id(var_2145); + builder = builder.set_resource_id(var_2146); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayRouteTableAssociation$ResourceType */ => { - let var_2146 = + let var_2147 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -44510,11 +44524,11 @@ pub fn deser_structure_transit_gateway_route_table_association( ? ) ; - builder = builder.set_resource_type(var_2146); + builder = builder.set_resource_type(var_2147); } , s if s.matches("state") /* State com.amazonaws.ec2#TransitGatewayRouteTableAssociation$State */ => { - let var_2147 = + let var_2148 = Some( Result::::Ok( crate::model::TransitGatewayAssociationState::from( @@ -44524,7 +44538,7 @@ pub fn deser_structure_transit_gateway_route_table_association( ? ) ; - builder = builder.set_state(var_2147); + builder = builder.set_state(var_2148); } , _ => {} @@ -44541,7 +44555,7 @@ pub fn deser_structure_transit_gateway_route_table_propagation( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayRouteTablePropagation$TransitGatewayAttachmentId */ => { - let var_2148 = + let var_2149 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44550,11 +44564,11 @@ pub fn deser_structure_transit_gateway_route_table_propagation( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_2148); + builder = builder.set_transit_gateway_attachment_id(var_2149); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayRouteTablePropagation$ResourceId */ => { - let var_2149 = + let var_2150 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44563,11 +44577,11 @@ pub fn deser_structure_transit_gateway_route_table_propagation( ? ) ; - builder = builder.set_resource_id(var_2149); + builder = builder.set_resource_id(var_2150); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayRouteTablePropagation$ResourceType */ => { - let var_2150 = + let var_2151 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -44577,11 +44591,11 @@ pub fn deser_structure_transit_gateway_route_table_propagation( ? ) ; - builder = builder.set_resource_type(var_2150); + builder = builder.set_resource_type(var_2151); } , s if s.matches("state") /* State com.amazonaws.ec2#TransitGatewayRouteTablePropagation$State */ => { - let var_2151 = + let var_2152 = Some( Result::::Ok( crate::model::TransitGatewayPropagationState::from( @@ -44591,7 +44605,7 @@ pub fn deser_structure_transit_gateway_route_table_propagation( ? ) ; - builder = builder.set_state(var_2151); + builder = builder.set_state(var_2152); } , _ => {} @@ -44608,7 +44622,7 @@ pub fn deser_structure_snapshot_detail( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#SnapshotDetail$Description */ => { - let var_2152 = + let var_2153 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44617,11 +44631,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_description(var_2152); + builder = builder.set_description(var_2153); } , s if s.matches("deviceName") /* DeviceName com.amazonaws.ec2#SnapshotDetail$DeviceName */ => { - let var_2153 = + let var_2154 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44630,11 +44644,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_device_name(var_2153); + builder = builder.set_device_name(var_2154); } , s if s.matches("diskImageSize") /* DiskImageSize com.amazonaws.ec2#SnapshotDetail$DiskImageSize */ => { - let var_2154 = + let var_2155 = Some( { ::parse_smithy_primitive( @@ -44645,11 +44659,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_disk_image_size(var_2154); + builder = builder.set_disk_image_size(var_2155); } , s if s.matches("format") /* Format com.amazonaws.ec2#SnapshotDetail$Format */ => { - let var_2155 = + let var_2156 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44658,11 +44672,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_format(var_2155); + builder = builder.set_format(var_2156); } , s if s.matches("progress") /* Progress com.amazonaws.ec2#SnapshotDetail$Progress */ => { - let var_2156 = + let var_2157 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44671,11 +44685,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_progress(var_2156); + builder = builder.set_progress(var_2157); } , s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#SnapshotDetail$SnapshotId */ => { - let var_2157 = + let var_2158 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44684,11 +44698,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_snapshot_id(var_2157); + builder = builder.set_snapshot_id(var_2158); } , s if s.matches("status") /* Status com.amazonaws.ec2#SnapshotDetail$Status */ => { - let var_2158 = + let var_2159 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44697,11 +44711,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_status(var_2158); + builder = builder.set_status(var_2159); } , s if s.matches("statusMessage") /* StatusMessage com.amazonaws.ec2#SnapshotDetail$StatusMessage */ => { - let var_2159 = + let var_2160 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44710,11 +44724,11 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_status_message(var_2159); + builder = builder.set_status_message(var_2160); } , s if s.matches("url") /* Url com.amazonaws.ec2#SnapshotDetail$Url */ => { - let var_2160 = + let var_2161 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44723,17 +44737,17 @@ pub fn deser_structure_snapshot_detail( ? ) ; - builder = builder.set_url(var_2160); + builder = builder.set_url(var_2161); } , s if s.matches("userBucket") /* UserBucket com.amazonaws.ec2#SnapshotDetail$UserBucket */ => { - let var_2161 = + let var_2162 = Some( crate::xml_deser::deser_structure_user_bucket_details(&mut tag) ? ) ; - builder = builder.set_user_bucket(var_2161); + builder = builder.set_user_bucket(var_2162); } , _ => {} @@ -44750,7 +44764,7 @@ pub fn deser_structure_import_image_license_configuration_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("licenseConfigurationArn") /* LicenseConfigurationArn com.amazonaws.ec2#ImportImageLicenseConfigurationResponse$LicenseConfigurationArn */ => { - let var_2162 = + let var_2163 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44759,7 +44773,7 @@ pub fn deser_structure_import_image_license_configuration_response( ? ) ; - builder = builder.set_license_configuration_arn(var_2162); + builder = builder.set_license_configuration_arn(var_2163); } , _ => {} @@ -44776,7 +44790,7 @@ pub fn deser_structure_import_instance_task_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#ImportInstanceTaskDetails$Description */ => { - let var_2163 = + let var_2164 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44785,11 +44799,11 @@ pub fn deser_structure_import_instance_task_details( ? ) ; - builder = builder.set_description(var_2163); + builder = builder.set_description(var_2164); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#ImportInstanceTaskDetails$InstanceId */ => { - let var_2164 = + let var_2165 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44798,11 +44812,11 @@ pub fn deser_structure_import_instance_task_details( ? ) ; - builder = builder.set_instance_id(var_2164); + builder = builder.set_instance_id(var_2165); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#ImportInstanceTaskDetails$Platform */ => { - let var_2165 = + let var_2166 = Some( Result::::Ok( crate::model::PlatformValues::from( @@ -44812,17 +44826,17 @@ pub fn deser_structure_import_instance_task_details( ? ) ; - builder = builder.set_platform(var_2165); + builder = builder.set_platform(var_2166); } , s if s.matches("volumes") /* Volumes com.amazonaws.ec2#ImportInstanceTaskDetails$Volumes */ => { - let var_2166 = + let var_2167 = Some( crate::xml_deser::deser_list_import_instance_volume_detail_set(&mut tag) ? ) ; - builder = builder.set_volumes(var_2166); + builder = builder.set_volumes(var_2167); } , _ => {} @@ -44839,7 +44853,7 @@ pub fn deser_structure_import_volume_task_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ImportVolumeTaskDetails$AvailabilityZone */ => { - let var_2167 = + let var_2168 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44848,11 +44862,11 @@ pub fn deser_structure_import_volume_task_details( ? ) ; - builder = builder.set_availability_zone(var_2167); + builder = builder.set_availability_zone(var_2168); } , s if s.matches("bytesConverted") /* BytesConverted com.amazonaws.ec2#ImportVolumeTaskDetails$BytesConverted */ => { - let var_2168 = + let var_2169 = Some( { ::parse_smithy_primitive( @@ -44863,11 +44877,11 @@ pub fn deser_structure_import_volume_task_details( ? ) ; - builder = builder.set_bytes_converted(var_2168); + builder = builder.set_bytes_converted(var_2169); } , s if s.matches("description") /* Description com.amazonaws.ec2#ImportVolumeTaskDetails$Description */ => { - let var_2169 = + let var_2170 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44876,27 +44890,27 @@ pub fn deser_structure_import_volume_task_details( ? ) ; - builder = builder.set_description(var_2169); + builder = builder.set_description(var_2170); } , s if s.matches("image") /* Image com.amazonaws.ec2#ImportVolumeTaskDetails$Image */ => { - let var_2170 = + let var_2171 = Some( crate::xml_deser::deser_structure_disk_image_description(&mut tag) ? ) ; - builder = builder.set_image(var_2170); + builder = builder.set_image(var_2171); } , s if s.matches("volume") /* Volume com.amazonaws.ec2#ImportVolumeTaskDetails$Volume */ => { - let var_2171 = + let var_2172 = Some( crate::xml_deser::deser_structure_disk_image_volume_description(&mut tag) ? ) ; - builder = builder.set_volume(var_2171); + builder = builder.set_volume(var_2172); } , _ => {} @@ -44913,7 +44927,7 @@ pub fn deser_structure_user_bucket_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("s3Bucket") /* S3Bucket com.amazonaws.ec2#UserBucketDetails$S3Bucket */ => { - let var_2172 = + let var_2173 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44922,11 +44936,11 @@ pub fn deser_structure_user_bucket_details( ? ) ; - builder = builder.set_s3_bucket(var_2172); + builder = builder.set_s3_bucket(var_2173); } , s if s.matches("s3Key") /* S3Key com.amazonaws.ec2#UserBucketDetails$S3Key */ => { - let var_2173 = + let var_2174 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44935,7 +44949,7 @@ pub fn deser_structure_user_bucket_details( ? ) ; - builder = builder.set_s3_key(var_2173); + builder = builder.set_s3_key(var_2174); } , _ => {} @@ -44952,7 +44966,7 @@ pub fn deser_structure_ptr_update_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#PtrUpdateStatus$Value */ => { - let var_2174 = + let var_2175 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44961,11 +44975,11 @@ pub fn deser_structure_ptr_update_status( ? ) ; - builder = builder.set_value(var_2174); + builder = builder.set_value(var_2175); } , s if s.matches("status") /* Status com.amazonaws.ec2#PtrUpdateStatus$Status */ => { - let var_2175 = + let var_2176 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44974,11 +44988,11 @@ pub fn deser_structure_ptr_update_status( ? ) ; - builder = builder.set_status(var_2175); + builder = builder.set_status(var_2176); } , s if s.matches("reason") /* Reason com.amazonaws.ec2#PtrUpdateStatus$Reason */ => { - let var_2176 = + let var_2177 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -44987,7 +45001,7 @@ pub fn deser_structure_ptr_update_status( ? ) ; - builder = builder.set_reason(var_2176); + builder = builder.set_reason(var_2177); } , _ => {} @@ -45004,7 +45018,7 @@ pub fn deser_structure_successful_instance_credit_specification_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#SuccessfulInstanceCreditSpecificationItem$InstanceId */ => { - let var_2177 = + let var_2178 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45013,7 +45027,7 @@ pub fn deser_structure_successful_instance_credit_specification_item( ? ) ; - builder = builder.set_instance_id(var_2177); + builder = builder.set_instance_id(var_2178); } , _ => {} @@ -45031,7 +45045,7 @@ pub fn deser_structure_unsuccessful_instance_credit_specification_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem$InstanceId */ => { - let var_2178 = + let var_2179 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45040,17 +45054,17 @@ pub fn deser_structure_unsuccessful_instance_credit_specification_item( ? ) ; - builder = builder.set_instance_id(var_2178); + builder = builder.set_instance_id(var_2179); } , s if s.matches("error") /* Error com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItem$Error */ => { - let var_2179 = + let var_2180 = Some( crate::xml_deser::deser_structure_unsuccessful_instance_credit_specification_item_error(&mut tag) ? ) ; - builder = builder.set_error(var_2179); + builder = builder.set_error(var_2180); } , _ => {} @@ -45067,7 +45081,7 @@ pub fn deser_structure_instance_monitoring( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#InstanceMonitoring$InstanceId */ => { - let var_2180 = + let var_2181 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45076,17 +45090,17 @@ pub fn deser_structure_instance_monitoring( ? ) ; - builder = builder.set_instance_id(var_2180); + builder = builder.set_instance_id(var_2181); } , s if s.matches("monitoring") /* Monitoring com.amazonaws.ec2#InstanceMonitoring$Monitoring */ => { - let var_2181 = + let var_2182 = Some( crate::xml_deser::deser_structure_monitoring(&mut tag) ? ) ; - builder = builder.set_monitoring(var_2181); + builder = builder.set_monitoring(var_2182); } , _ => {} @@ -45103,7 +45117,7 @@ pub fn deser_structure_ip_permission( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("fromPort") /* FromPort com.amazonaws.ec2#IpPermission$FromPort */ => { - let var_2182 = + let var_2183 = Some( { ::parse_smithy_primitive( @@ -45114,11 +45128,11 @@ pub fn deser_structure_ip_permission( ? ) ; - builder = builder.set_from_port(var_2182); + builder = builder.set_from_port(var_2183); } , s if s.matches("ipProtocol") /* IpProtocol com.amazonaws.ec2#IpPermission$IpProtocol */ => { - let var_2183 = + let var_2184 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45127,41 +45141,41 @@ pub fn deser_structure_ip_permission( ? ) ; - builder = builder.set_ip_protocol(var_2183); + builder = builder.set_ip_protocol(var_2184); } , s if s.matches("ipRanges") /* IpRanges com.amazonaws.ec2#IpPermission$IpRanges */ => { - let var_2184 = + let var_2185 = Some( crate::xml_deser::deser_list_ip_range_list(&mut tag) ? ) ; - builder = builder.set_ip_ranges(var_2184); + builder = builder.set_ip_ranges(var_2185); } , s if s.matches("ipv6Ranges") /* Ipv6Ranges com.amazonaws.ec2#IpPermission$Ipv6Ranges */ => { - let var_2185 = + let var_2186 = Some( crate::xml_deser::deser_list_ipv6_range_list(&mut tag) ? ) ; - builder = builder.set_ipv6_ranges(var_2185); + builder = builder.set_ipv6_ranges(var_2186); } , s if s.matches("prefixListIds") /* PrefixListIds com.amazonaws.ec2#IpPermission$PrefixListIds */ => { - let var_2186 = + let var_2187 = Some( crate::xml_deser::deser_list_prefix_list_id_list(&mut tag) ? ) ; - builder = builder.set_prefix_list_ids(var_2186); + builder = builder.set_prefix_list_ids(var_2187); } , s if s.matches("toPort") /* ToPort com.amazonaws.ec2#IpPermission$ToPort */ => { - let var_2187 = + let var_2188 = Some( { ::parse_smithy_primitive( @@ -45172,17 +45186,17 @@ pub fn deser_structure_ip_permission( ? ) ; - builder = builder.set_to_port(var_2187); + builder = builder.set_to_port(var_2188); } , s if s.matches("groups") /* UserIdGroupPairs com.amazonaws.ec2#IpPermission$UserIdGroupPairs */ => { - let var_2188 = + let var_2189 = Some( crate::xml_deser::deser_list_user_id_group_pair_list(&mut tag) ? ) ; - builder = builder.set_user_id_group_pairs(var_2188); + builder = builder.set_user_id_group_pairs(var_2189); } , _ => {} @@ -45199,7 +45213,7 @@ pub fn deser_structure_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("amiLaunchIndex") /* AmiLaunchIndex com.amazonaws.ec2#Instance$AmiLaunchIndex */ => { - let var_2189 = + let var_2190 = Some( { ::parse_smithy_primitive( @@ -45210,11 +45224,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_ami_launch_index(var_2189); + builder = builder.set_ami_launch_index(var_2190); } , s if s.matches("imageId") /* ImageId com.amazonaws.ec2#Instance$ImageId */ => { - let var_2190 = + let var_2191 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45223,11 +45237,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_image_id(var_2190); + builder = builder.set_image_id(var_2191); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#Instance$InstanceId */ => { - let var_2191 = + let var_2192 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45236,11 +45250,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_instance_id(var_2191); + builder = builder.set_instance_id(var_2192); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#Instance$InstanceType */ => { - let var_2192 = + let var_2193 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -45250,11 +45264,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_instance_type(var_2192); + builder = builder.set_instance_type(var_2193); } , s if s.matches("kernelId") /* KernelId com.amazonaws.ec2#Instance$KernelId */ => { - let var_2193 = + let var_2194 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45263,11 +45277,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_kernel_id(var_2193); + builder = builder.set_kernel_id(var_2194); } , s if s.matches("keyName") /* KeyName com.amazonaws.ec2#Instance$KeyName */ => { - let var_2194 = + let var_2195 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45276,11 +45290,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_key_name(var_2194); + builder = builder.set_key_name(var_2195); } , s if s.matches("launchTime") /* LaunchTime com.amazonaws.ec2#Instance$LaunchTime */ => { - let var_2195 = + let var_2196 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45290,31 +45304,31 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_launch_time(var_2195); + builder = builder.set_launch_time(var_2196); } , s if s.matches("monitoring") /* Monitoring com.amazonaws.ec2#Instance$Monitoring */ => { - let var_2196 = + let var_2197 = Some( crate::xml_deser::deser_structure_monitoring(&mut tag) ? ) ; - builder = builder.set_monitoring(var_2196); + builder = builder.set_monitoring(var_2197); } , s if s.matches("placement") /* Placement com.amazonaws.ec2#Instance$Placement */ => { - let var_2197 = + let var_2198 = Some( crate::xml_deser::deser_structure_placement(&mut tag) ? ) ; - builder = builder.set_placement(var_2197); + builder = builder.set_placement(var_2198); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#Instance$Platform */ => { - let var_2198 = + let var_2199 = Some( Result::::Ok( crate::model::PlatformValues::from( @@ -45324,11 +45338,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_platform(var_2198); + builder = builder.set_platform(var_2199); } , s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#Instance$PrivateDnsName */ => { - let var_2199 = + let var_2200 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45337,11 +45351,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_private_dns_name(var_2199); + builder = builder.set_private_dns_name(var_2200); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#Instance$PrivateIpAddress */ => { - let var_2200 = + let var_2201 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45350,21 +45364,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_private_ip_address(var_2200); + builder = builder.set_private_ip_address(var_2201); } , s if s.matches("productCodes") /* ProductCodes com.amazonaws.ec2#Instance$ProductCodes */ => { - let var_2201 = + let var_2202 = Some( crate::xml_deser::deser_list_product_code_list(&mut tag) ? ) ; - builder = builder.set_product_codes(var_2201); + builder = builder.set_product_codes(var_2202); } , s if s.matches("dnsName") /* PublicDnsName com.amazonaws.ec2#Instance$PublicDnsName */ => { - let var_2202 = + let var_2203 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45373,11 +45387,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_public_dns_name(var_2202); + builder = builder.set_public_dns_name(var_2203); } , s if s.matches("ipAddress") /* PublicIpAddress com.amazonaws.ec2#Instance$PublicIpAddress */ => { - let var_2203 = + let var_2204 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45386,11 +45400,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_public_ip_address(var_2203); + builder = builder.set_public_ip_address(var_2204); } , s if s.matches("ramdiskId") /* RamdiskId com.amazonaws.ec2#Instance$RamdiskId */ => { - let var_2204 = + let var_2205 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45399,21 +45413,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_ramdisk_id(var_2204); + builder = builder.set_ramdisk_id(var_2205); } , s if s.matches("instanceState") /* State com.amazonaws.ec2#Instance$State */ => { - let var_2205 = + let var_2206 = Some( crate::xml_deser::deser_structure_instance_state(&mut tag) ? ) ; - builder = builder.set_state(var_2205); + builder = builder.set_state(var_2206); } , s if s.matches("reason") /* StateTransitionReason com.amazonaws.ec2#Instance$StateTransitionReason */ => { - let var_2206 = + let var_2207 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45422,11 +45436,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_state_transition_reason(var_2206); + builder = builder.set_state_transition_reason(var_2207); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#Instance$SubnetId */ => { - let var_2207 = + let var_2208 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45435,11 +45449,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_subnet_id(var_2207); + builder = builder.set_subnet_id(var_2208); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#Instance$VpcId */ => { - let var_2208 = + let var_2209 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45448,11 +45462,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_vpc_id(var_2208); + builder = builder.set_vpc_id(var_2209); } , s if s.matches("architecture") /* Architecture com.amazonaws.ec2#Instance$Architecture */ => { - let var_2209 = + let var_2210 = Some( Result::::Ok( crate::model::ArchitectureValues::from( @@ -45462,21 +45476,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_architecture(var_2209); + builder = builder.set_architecture(var_2210); } , s if s.matches("blockDeviceMapping") /* BlockDeviceMappings com.amazonaws.ec2#Instance$BlockDeviceMappings */ => { - let var_2210 = + let var_2211 = Some( crate::xml_deser::deser_list_instance_block_device_mapping_list(&mut tag) ? ) ; - builder = builder.set_block_device_mappings(var_2210); + builder = builder.set_block_device_mappings(var_2211); } , s if s.matches("clientToken") /* ClientToken com.amazonaws.ec2#Instance$ClientToken */ => { - let var_2211 = + let var_2212 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45485,11 +45499,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_client_token(var_2211); + builder = builder.set_client_token(var_2212); } , s if s.matches("ebsOptimized") /* EbsOptimized com.amazonaws.ec2#Instance$EbsOptimized */ => { - let var_2212 = + let var_2213 = Some( { ::parse_smithy_primitive( @@ -45500,11 +45514,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_ebs_optimized(var_2212); + builder = builder.set_ebs_optimized(var_2213); } , s if s.matches("enaSupport") /* EnaSupport com.amazonaws.ec2#Instance$EnaSupport */ => { - let var_2213 = + let var_2214 = Some( { ::parse_smithy_primitive( @@ -45515,11 +45529,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_ena_support(var_2213); + builder = builder.set_ena_support(var_2214); } , s if s.matches("hypervisor") /* Hypervisor com.amazonaws.ec2#Instance$Hypervisor */ => { - let var_2214 = + let var_2215 = Some( Result::::Ok( crate::model::HypervisorType::from( @@ -45529,21 +45543,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_hypervisor(var_2214); + builder = builder.set_hypervisor(var_2215); } , s if s.matches("iamInstanceProfile") /* IamInstanceProfile com.amazonaws.ec2#Instance$IamInstanceProfile */ => { - let var_2215 = + let var_2216 = Some( crate::xml_deser::deser_structure_iam_instance_profile(&mut tag) ? ) ; - builder = builder.set_iam_instance_profile(var_2215); + builder = builder.set_iam_instance_profile(var_2216); } , s if s.matches("instanceLifecycle") /* InstanceLifecycle com.amazonaws.ec2#Instance$InstanceLifecycle */ => { - let var_2216 = + let var_2217 = Some( Result::::Ok( crate::model::InstanceLifecycleType::from( @@ -45553,41 +45567,41 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_instance_lifecycle(var_2216); + builder = builder.set_instance_lifecycle(var_2217); } , s if s.matches("elasticGpuAssociationSet") /* ElasticGpuAssociations com.amazonaws.ec2#Instance$ElasticGpuAssociations */ => { - let var_2217 = + let var_2218 = Some( crate::xml_deser::deser_list_elastic_gpu_association_list(&mut tag) ? ) ; - builder = builder.set_elastic_gpu_associations(var_2217); + builder = builder.set_elastic_gpu_associations(var_2218); } , s if s.matches("elasticInferenceAcceleratorAssociationSet") /* ElasticInferenceAcceleratorAssociations com.amazonaws.ec2#Instance$ElasticInferenceAcceleratorAssociations */ => { - let var_2218 = + let var_2219 = Some( crate::xml_deser::deser_list_elastic_inference_accelerator_association_list(&mut tag) ? ) ; - builder = builder.set_elastic_inference_accelerator_associations(var_2218); + builder = builder.set_elastic_inference_accelerator_associations(var_2219); } , s if s.matches("networkInterfaceSet") /* NetworkInterfaces com.amazonaws.ec2#Instance$NetworkInterfaces */ => { - let var_2219 = + let var_2220 = Some( crate::xml_deser::deser_list_instance_network_interface_list(&mut tag) ? ) ; - builder = builder.set_network_interfaces(var_2219); + builder = builder.set_network_interfaces(var_2220); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#Instance$OutpostArn */ => { - let var_2220 = + let var_2221 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45596,11 +45610,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_outpost_arn(var_2220); + builder = builder.set_outpost_arn(var_2221); } , s if s.matches("rootDeviceName") /* RootDeviceName com.amazonaws.ec2#Instance$RootDeviceName */ => { - let var_2221 = + let var_2222 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45609,11 +45623,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_root_device_name(var_2221); + builder = builder.set_root_device_name(var_2222); } , s if s.matches("rootDeviceType") /* RootDeviceType com.amazonaws.ec2#Instance$RootDeviceType */ => { - let var_2222 = + let var_2223 = Some( Result::::Ok( crate::model::DeviceType::from( @@ -45623,21 +45637,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_root_device_type(var_2222); + builder = builder.set_root_device_type(var_2223); } , s if s.matches("groupSet") /* SecurityGroups com.amazonaws.ec2#Instance$SecurityGroups */ => { - let var_2223 = + let var_2224 = Some( crate::xml_deser::deser_list_group_identifier_list(&mut tag) ? ) ; - builder = builder.set_security_groups(var_2223); + builder = builder.set_security_groups(var_2224); } , s if s.matches("sourceDestCheck") /* SourceDestCheck com.amazonaws.ec2#Instance$SourceDestCheck */ => { - let var_2224 = + let var_2225 = Some( { ::parse_smithy_primitive( @@ -45648,11 +45662,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_source_dest_check(var_2224); + builder = builder.set_source_dest_check(var_2225); } , s if s.matches("spotInstanceRequestId") /* SpotInstanceRequestId com.amazonaws.ec2#Instance$SpotInstanceRequestId */ => { - let var_2225 = + let var_2226 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45661,11 +45675,11 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_spot_instance_request_id(var_2225); + builder = builder.set_spot_instance_request_id(var_2226); } , s if s.matches("sriovNetSupport") /* SriovNetSupport com.amazonaws.ec2#Instance$SriovNetSupport */ => { - let var_2226 = + let var_2227 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45674,31 +45688,31 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_sriov_net_support(var_2226); + builder = builder.set_sriov_net_support(var_2227); } , s if s.matches("stateReason") /* StateReason com.amazonaws.ec2#Instance$StateReason */ => { - let var_2227 = + let var_2228 = Some( crate::xml_deser::deser_structure_state_reason(&mut tag) ? ) ; - builder = builder.set_state_reason(var_2227); + builder = builder.set_state_reason(var_2228); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#Instance$Tags */ => { - let var_2228 = + let var_2229 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2228); + builder = builder.set_tags(var_2229); } , s if s.matches("virtualizationType") /* VirtualizationType com.amazonaws.ec2#Instance$VirtualizationType */ => { - let var_2229 = + let var_2230 = Some( Result::::Ok( crate::model::VirtualizationType::from( @@ -45708,21 +45722,21 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_virtualization_type(var_2229); + builder = builder.set_virtualization_type(var_2230); } , s if s.matches("cpuOptions") /* CpuOptions com.amazonaws.ec2#Instance$CpuOptions */ => { - let var_2230 = + let var_2231 = Some( crate::xml_deser::deser_structure_cpu_options(&mut tag) ? ) ; - builder = builder.set_cpu_options(var_2230); + builder = builder.set_cpu_options(var_2231); } , s if s.matches("capacityReservationId") /* CapacityReservationId com.amazonaws.ec2#Instance$CapacityReservationId */ => { - let var_2231 = + let var_2232 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45731,61 +45745,61 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_capacity_reservation_id(var_2231); + builder = builder.set_capacity_reservation_id(var_2232); } , s if s.matches("capacityReservationSpecification") /* CapacityReservationSpecification com.amazonaws.ec2#Instance$CapacityReservationSpecification */ => { - let var_2232 = + let var_2233 = Some( crate::xml_deser::deser_structure_capacity_reservation_specification_response(&mut tag) ? ) ; - builder = builder.set_capacity_reservation_specification(var_2232); + builder = builder.set_capacity_reservation_specification(var_2233); } , s if s.matches("hibernationOptions") /* HibernationOptions com.amazonaws.ec2#Instance$HibernationOptions */ => { - let var_2233 = + let var_2234 = Some( crate::xml_deser::deser_structure_hibernation_options(&mut tag) ? ) ; - builder = builder.set_hibernation_options(var_2233); + builder = builder.set_hibernation_options(var_2234); } , s if s.matches("licenseSet") /* Licenses com.amazonaws.ec2#Instance$Licenses */ => { - let var_2234 = + let var_2235 = Some( crate::xml_deser::deser_list_license_list(&mut tag) ? ) ; - builder = builder.set_licenses(var_2234); + builder = builder.set_licenses(var_2235); } , s if s.matches("metadataOptions") /* MetadataOptions com.amazonaws.ec2#Instance$MetadataOptions */ => { - let var_2235 = + let var_2236 = Some( crate::xml_deser::deser_structure_instance_metadata_options_response(&mut tag) ? ) ; - builder = builder.set_metadata_options(var_2235); + builder = builder.set_metadata_options(var_2236); } , s if s.matches("enclaveOptions") /* EnclaveOptions com.amazonaws.ec2#Instance$EnclaveOptions */ => { - let var_2236 = + let var_2237 = Some( crate::xml_deser::deser_structure_enclave_options(&mut tag) ? ) ; - builder = builder.set_enclave_options(var_2236); + builder = builder.set_enclave_options(var_2237); } , s if s.matches("bootMode") /* BootMode com.amazonaws.ec2#Instance$BootMode */ => { - let var_2237 = + let var_2238 = Some( Result::::Ok( crate::model::BootModeValues::from( @@ -45795,7 +45809,7 @@ pub fn deser_structure_instance( ? ) ; - builder = builder.set_boot_mode(var_2237); + builder = builder.set_boot_mode(var_2238); } , _ => {} @@ -45812,7 +45826,7 @@ pub fn deser_structure_transit_gateway_multicast_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupIpAddress") /* GroupIpAddress com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupIpAddress */ => { - let var_2238 = + let var_2239 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45821,11 +45835,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_group_ip_address(var_2238); + builder = builder.set_group_ip_address(var_2239); } , s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayMulticastGroup$TransitGatewayAttachmentId */ => { - let var_2239 = + let var_2240 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45834,11 +45848,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_2239); + builder = builder.set_transit_gateway_attachment_id(var_2240); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#TransitGatewayMulticastGroup$SubnetId */ => { - let var_2240 = + let var_2241 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45847,11 +45861,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_subnet_id(var_2240); + builder = builder.set_subnet_id(var_2241); } , s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceId */ => { - let var_2241 = + let var_2242 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45860,11 +45874,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_resource_id(var_2241); + builder = builder.set_resource_id(var_2242); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceType */ => { - let var_2242 = + let var_2243 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -45874,11 +45888,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_resource_type(var_2242); + builder = builder.set_resource_type(var_2243); } , s if s.matches("resourceOwnerId") /* ResourceOwnerId com.amazonaws.ec2#TransitGatewayMulticastGroup$ResourceOwnerId */ => { - let var_2243 = + let var_2244 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45887,11 +45901,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_resource_owner_id(var_2243); + builder = builder.set_resource_owner_id(var_2244); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#TransitGatewayMulticastGroup$NetworkInterfaceId */ => { - let var_2244 = + let var_2245 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45900,11 +45914,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_network_interface_id(var_2244); + builder = builder.set_network_interface_id(var_2245); } , s if s.matches("groupMember") /* GroupMember com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupMember */ => { - let var_2245 = + let var_2246 = Some( { ::parse_smithy_primitive( @@ -45915,11 +45929,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_group_member(var_2245); + builder = builder.set_group_member(var_2246); } , s if s.matches("groupSource") /* GroupSource com.amazonaws.ec2#TransitGatewayMulticastGroup$GroupSource */ => { - let var_2246 = + let var_2247 = Some( { ::parse_smithy_primitive( @@ -45930,11 +45944,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_group_source(var_2246); + builder = builder.set_group_source(var_2247); } , s if s.matches("memberType") /* MemberType com.amazonaws.ec2#TransitGatewayMulticastGroup$MemberType */ => { - let var_2247 = + let var_2248 = Some( Result::::Ok( crate::model::MembershipType::from( @@ -45944,11 +45958,11 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_member_type(var_2247); + builder = builder.set_member_type(var_2248); } , s if s.matches("sourceType") /* SourceType com.amazonaws.ec2#TransitGatewayMulticastGroup$SourceType */ => { - let var_2248 = + let var_2249 = Some( Result::::Ok( crate::model::MembershipType::from( @@ -45958,7 +45972,7 @@ pub fn deser_structure_transit_gateway_multicast_group( ? ) ; - builder = builder.set_source_type(var_2248); + builder = builder.set_source_type(var_2249); } , _ => {} @@ -45975,17 +45989,17 @@ pub fn deser_structure_instance_state_change( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("currentState") /* CurrentState com.amazonaws.ec2#InstanceStateChange$CurrentState */ => { - let var_2249 = + let var_2250 = Some( crate::xml_deser::deser_structure_instance_state(&mut tag) ? ) ; - builder = builder.set_current_state(var_2249); + builder = builder.set_current_state(var_2250); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#InstanceStateChange$InstanceId */ => { - let var_2250 = + let var_2251 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -45994,17 +46008,17 @@ pub fn deser_structure_instance_state_change( ? ) ; - builder = builder.set_instance_id(var_2250); + builder = builder.set_instance_id(var_2251); } , s if s.matches("previousState") /* PreviousState com.amazonaws.ec2#InstanceStateChange$PreviousState */ => { - let var_2251 = + let var_2252 = Some( crate::xml_deser::deser_structure_instance_state(&mut tag) ? ) ; - builder = builder.set_previous_state(var_2251); + builder = builder.set_previous_state(var_2252); } , _ => {} @@ -46100,7 +46114,7 @@ pub fn deser_structure_terminate_connection_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("connectionId") /* ConnectionId com.amazonaws.ec2#TerminateConnectionStatus$ConnectionId */ => { - let var_2252 = + let var_2253 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46109,27 +46123,27 @@ pub fn deser_structure_terminate_connection_status( ? ) ; - builder = builder.set_connection_id(var_2252); + builder = builder.set_connection_id(var_2253); } , s if s.matches("previousStatus") /* PreviousStatus com.amazonaws.ec2#TerminateConnectionStatus$PreviousStatus */ => { - let var_2253 = + let var_2254 = Some( crate::xml_deser::deser_structure_client_vpn_connection_status(&mut tag) ? ) ; - builder = builder.set_previous_status(var_2253); + builder = builder.set_previous_status(var_2254); } , s if s.matches("currentStatus") /* CurrentStatus com.amazonaws.ec2#TerminateConnectionStatus$CurrentStatus */ => { - let var_2254 = + let var_2255 = Some( crate::xml_deser::deser_structure_client_vpn_connection_status(&mut tag) ? ) ; - builder = builder.set_current_status(var_2254); + builder = builder.set_current_status(var_2255); } , _ => {} @@ -46146,7 +46160,7 @@ pub fn deser_structure_subnet_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#SubnetAssociation$SubnetId */ => { - let var_2255 = + let var_2256 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46155,11 +46169,11 @@ pub fn deser_structure_subnet_association( ? ) ; - builder = builder.set_subnet_id(var_2255); + builder = builder.set_subnet_id(var_2256); } , s if s.matches("state") /* State com.amazonaws.ec2#SubnetAssociation$State */ => { - let var_2256 = + let var_2257 = Some( Result::::Ok( crate::model::TransitGatewayMulitcastDomainAssociationState::from( @@ -46169,7 +46183,7 @@ pub fn deser_structure_subnet_association( ? ) ; - builder = builder.set_state(var_2256); + builder = builder.set_state(var_2257); } , _ => {} @@ -46186,7 +46200,7 @@ pub fn deser_structure_unsuccessful_item_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#UnsuccessfulItemError$Code */ => { - let var_2257 = + let var_2258 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46195,11 +46209,11 @@ pub fn deser_structure_unsuccessful_item_error( ? ) ; - builder = builder.set_code(var_2257); + builder = builder.set_code(var_2258); } , s if s.matches("message") /* Message com.amazonaws.ec2#UnsuccessfulItemError$Message */ => { - let var_2258 = + let var_2259 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46208,7 +46222,7 @@ pub fn deser_structure_unsuccessful_item_error( ? ) ; - builder = builder.set_message(var_2258); + builder = builder.set_message(var_2259); } , _ => {} @@ -46263,7 +46277,7 @@ pub fn deser_structure_vpc_peering_connection_options_description( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allowDnsResolutionFromRemoteVpc") /* AllowDnsResolutionFromRemoteVpc com.amazonaws.ec2#VpcPeeringConnectionOptionsDescription$AllowDnsResolutionFromRemoteVpc */ => { - let var_2259 = + let var_2260 = Some( { ::parse_smithy_primitive( @@ -46274,11 +46288,11 @@ pub fn deser_structure_vpc_peering_connection_options_description( ? ) ; - builder = builder.set_allow_dns_resolution_from_remote_vpc(var_2259); + builder = builder.set_allow_dns_resolution_from_remote_vpc(var_2260); } , s if s.matches("allowEgressFromLocalClassicLinkToRemoteVpc") /* AllowEgressFromLocalClassicLinkToRemoteVpc com.amazonaws.ec2#VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalClassicLinkToRemoteVpc */ => { - let var_2260 = + let var_2261 = Some( { ::parse_smithy_primitive( @@ -46289,11 +46303,11 @@ pub fn deser_structure_vpc_peering_connection_options_description( ? ) ; - builder = builder.set_allow_egress_from_local_classic_link_to_remote_vpc(var_2260); + builder = builder.set_allow_egress_from_local_classic_link_to_remote_vpc(var_2261); } , s if s.matches("allowEgressFromLocalVpcToRemoteClassicLink") /* AllowEgressFromLocalVpcToRemoteClassicLink com.amazonaws.ec2#VpcPeeringConnectionOptionsDescription$AllowEgressFromLocalVpcToRemoteClassicLink */ => { - let var_2261 = + let var_2262 = Some( { ::parse_smithy_primitive( @@ -46304,7 +46318,7 @@ pub fn deser_structure_vpc_peering_connection_options_description( ? ) ; - builder = builder.set_allow_egress_from_local_vpc_to_remote_classic_link(var_2261); + builder = builder.set_allow_egress_from_local_vpc_to_remote_classic_link(var_2262); } , _ => {} @@ -46321,7 +46335,7 @@ pub fn deser_structure_instance_event_window_time_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("startWeekDay") /* StartWeekDay com.amazonaws.ec2#InstanceEventWindowTimeRange$StartWeekDay */ => { - let var_2262 = + let var_2263 = Some( Result::::Ok( crate::model::WeekDay::from( @@ -46331,11 +46345,11 @@ pub fn deser_structure_instance_event_window_time_range( ? ) ; - builder = builder.set_start_week_day(var_2262); + builder = builder.set_start_week_day(var_2263); } , s if s.matches("startHour") /* StartHour com.amazonaws.ec2#InstanceEventWindowTimeRange$StartHour */ => { - let var_2263 = + let var_2264 = Some( { ::parse_smithy_primitive( @@ -46346,11 +46360,11 @@ pub fn deser_structure_instance_event_window_time_range( ? ) ; - builder = builder.set_start_hour(var_2263); + builder = builder.set_start_hour(var_2264); } , s if s.matches("endWeekDay") /* EndWeekDay com.amazonaws.ec2#InstanceEventWindowTimeRange$EndWeekDay */ => { - let var_2264 = + let var_2265 = Some( Result::::Ok( crate::model::WeekDay::from( @@ -46360,11 +46374,11 @@ pub fn deser_structure_instance_event_window_time_range( ? ) ; - builder = builder.set_end_week_day(var_2264); + builder = builder.set_end_week_day(var_2265); } , s if s.matches("endHour") /* EndHour com.amazonaws.ec2#InstanceEventWindowTimeRange$EndHour */ => { - let var_2265 = + let var_2266 = Some( { ::parse_smithy_primitive( @@ -46375,7 +46389,7 @@ pub fn deser_structure_instance_event_window_time_range( ? ) ; - builder = builder.set_end_hour(var_2265); + builder = builder.set_end_hour(var_2266); } , _ => {} @@ -46436,7 +46450,7 @@ pub fn deser_structure_referenced_security_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupId") /* GroupId com.amazonaws.ec2#ReferencedSecurityGroup$GroupId */ => { - let var_2266 = + let var_2267 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46445,11 +46459,11 @@ pub fn deser_structure_referenced_security_group( ? ) ; - builder = builder.set_group_id(var_2266); + builder = builder.set_group_id(var_2267); } , s if s.matches("peeringStatus") /* PeeringStatus com.amazonaws.ec2#ReferencedSecurityGroup$PeeringStatus */ => { - let var_2267 = + let var_2268 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46458,11 +46472,11 @@ pub fn deser_structure_referenced_security_group( ? ) ; - builder = builder.set_peering_status(var_2267); + builder = builder.set_peering_status(var_2268); } , s if s.matches("userId") /* UserId com.amazonaws.ec2#ReferencedSecurityGroup$UserId */ => { - let var_2268 = + let var_2269 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46471,11 +46485,11 @@ pub fn deser_structure_referenced_security_group( ? ) ; - builder = builder.set_user_id(var_2268); + builder = builder.set_user_id(var_2269); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#ReferencedSecurityGroup$VpcId */ => { - let var_2269 = + let var_2270 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46484,11 +46498,11 @@ pub fn deser_structure_referenced_security_group( ? ) ; - builder = builder.set_vpc_id(var_2269); + builder = builder.set_vpc_id(var_2270); } , s if s.matches("vpcPeeringConnectionId") /* VpcPeeringConnectionId com.amazonaws.ec2#ReferencedSecurityGroup$VpcPeeringConnectionId */ => { - let var_2270 = + let var_2271 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46497,7 +46511,7 @@ pub fn deser_structure_referenced_security_group( ? ) ; - builder = builder.set_vpc_peering_connection_id(var_2270); + builder = builder.set_vpc_peering_connection_id(var_2271); } , _ => {} @@ -46514,7 +46528,7 @@ pub fn deser_structure_s3_storage( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AWSAccessKeyId") /* AWSAccessKeyId com.amazonaws.ec2#S3Storage$AWSAccessKeyId */ => { - let var_2271 = + let var_2272 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46523,11 +46537,11 @@ pub fn deser_structure_s3_storage( ? ) ; - builder = builder.set_aws_access_key_id(var_2271); + builder = builder.set_aws_access_key_id(var_2272); } , s if s.matches("bucket") /* Bucket com.amazonaws.ec2#S3Storage$Bucket */ => { - let var_2272 = + let var_2273 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46536,11 +46550,11 @@ pub fn deser_structure_s3_storage( ? ) ; - builder = builder.set_bucket(var_2272); + builder = builder.set_bucket(var_2273); } , s if s.matches("prefix") /* Prefix com.amazonaws.ec2#S3Storage$Prefix */ => { - let var_2273 = + let var_2274 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46549,11 +46563,11 @@ pub fn deser_structure_s3_storage( ? ) ; - builder = builder.set_prefix(var_2273); + builder = builder.set_prefix(var_2274); } , s if s.matches("uploadPolicy") /* UploadPolicy com.amazonaws.ec2#S3Storage$UploadPolicy */ => { - let var_2274 = + let var_2275 = Some( smithy_types::base64::decode( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46562,11 +46576,11 @@ pub fn deser_structure_s3_storage( ? ) ; - builder = builder.set_upload_policy(var_2274); + builder = builder.set_upload_policy(var_2275); } , s if s.matches("uploadPolicySignature") /* UploadPolicySignature com.amazonaws.ec2#S3Storage$UploadPolicySignature */ => { - let var_2275 = + let var_2276 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46575,7 +46589,7 @@ pub fn deser_structure_s3_storage( ? ) ; - builder = builder.set_upload_policy_signature(var_2275); + builder = builder.set_upload_policy_signature(var_2276); } , _ => {} @@ -46630,7 +46644,7 @@ pub fn deser_structure_cancel_spot_fleet_requests_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#CancelSpotFleetRequestsError$Code */ => { - let var_2276 = + let var_2277 = Some( Result::::Ok( crate::model::CancelBatchErrorCode::from( @@ -46640,11 +46654,11 @@ pub fn deser_structure_cancel_spot_fleet_requests_error( ? ) ; - builder = builder.set_code(var_2276); + builder = builder.set_code(var_2277); } , s if s.matches("message") /* Message com.amazonaws.ec2#CancelSpotFleetRequestsError$Message */ => { - let var_2277 = + let var_2278 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46653,7 +46667,7 @@ pub fn deser_structure_cancel_spot_fleet_requests_error( ? ) ; - builder = builder.set_message(var_2277); + builder = builder.set_message(var_2278); } , _ => {} @@ -46670,7 +46684,7 @@ pub fn deser_structure_dhcp_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("key") /* Key com.amazonaws.ec2#DhcpConfiguration$Key */ => { - let var_2278 = + let var_2279 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46679,17 +46693,17 @@ pub fn deser_structure_dhcp_configuration( ? ) ; - builder = builder.set_key(var_2278); + builder = builder.set_key(var_2279); } , s if s.matches("valueSet") /* Values com.amazonaws.ec2#DhcpConfiguration$Values */ => { - let var_2279 = + let var_2280 = Some( crate::xml_deser::deser_list_dhcp_configuration_value_list(&mut tag) ? ) ; - builder = builder.set_values(var_2279); + builder = builder.set_values(var_2280); } , _ => {} @@ -46706,7 +46720,7 @@ pub fn deser_structure_internet_gateway_attachment( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("state") /* State com.amazonaws.ec2#InternetGatewayAttachment$State */ => { - let var_2280 = + let var_2281 = Some( Result::::Ok( crate::model::AttachmentStatus::from( @@ -46716,11 +46730,11 @@ pub fn deser_structure_internet_gateway_attachment( ? ) ; - builder = builder.set_state(var_2280); + builder = builder.set_state(var_2281); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#InternetGatewayAttachment$VpcId */ => { - let var_2281 = + let var_2282 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46729,7 +46743,7 @@ pub fn deser_structure_internet_gateway_attachment( ? ) ; - builder = builder.set_vpc_id(var_2281); + builder = builder.set_vpc_id(var_2282); } , _ => {} @@ -46746,23 +46760,23 @@ pub fn deser_structure_launch_template_and_overrides_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.ec2#LaunchTemplateAndOverridesResponse$LaunchTemplateSpecification */ => { - let var_2282 = + let var_2283 = Some( crate::xml_deser::deser_structure_fleet_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template_specification(var_2282); + builder = builder.set_launch_template_specification(var_2283); } , s if s.matches("overrides") /* Overrides com.amazonaws.ec2#LaunchTemplateAndOverridesResponse$Overrides */ => { - let var_2283 = + let var_2284 = Some( crate::xml_deser::deser_structure_fleet_launch_template_overrides(&mut tag) ? ) ; - builder = builder.set_overrides(var_2283); + builder = builder.set_overrides(var_2284); } , _ => {} @@ -46801,7 +46815,7 @@ pub fn deser_structure_validation_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#ValidationError$Code */ => { - let var_2284 = + let var_2285 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46810,11 +46824,11 @@ pub fn deser_structure_validation_error( ? ) ; - builder = builder.set_code(var_2284); + builder = builder.set_code(var_2285); } , s if s.matches("message") /* Message com.amazonaws.ec2#ValidationError$Message */ => { - let var_2285 = + let var_2286 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46823,7 +46837,7 @@ pub fn deser_structure_validation_error( ? ) ; - builder = builder.set_message(var_2285); + builder = builder.set_message(var_2286); } , _ => {} @@ -46840,7 +46854,7 @@ pub fn deser_structure_nat_gateway_address( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allocationId") /* AllocationId com.amazonaws.ec2#NatGatewayAddress$AllocationId */ => { - let var_2286 = + let var_2287 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46849,11 +46863,11 @@ pub fn deser_structure_nat_gateway_address( ? ) ; - builder = builder.set_allocation_id(var_2286); + builder = builder.set_allocation_id(var_2287); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#NatGatewayAddress$NetworkInterfaceId */ => { - let var_2287 = + let var_2288 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46862,11 +46876,11 @@ pub fn deser_structure_nat_gateway_address( ? ) ; - builder = builder.set_network_interface_id(var_2287); + builder = builder.set_network_interface_id(var_2288); } , s if s.matches("privateIp") /* PrivateIp com.amazonaws.ec2#NatGatewayAddress$PrivateIp */ => { - let var_2288 = + let var_2289 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46875,11 +46889,11 @@ pub fn deser_structure_nat_gateway_address( ? ) ; - builder = builder.set_private_ip(var_2288); + builder = builder.set_private_ip(var_2289); } , s if s.matches("publicIp") /* PublicIp com.amazonaws.ec2#NatGatewayAddress$PublicIp */ => { - let var_2289 = + let var_2290 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46888,7 +46902,7 @@ pub fn deser_structure_nat_gateway_address( ? ) ; - builder = builder.set_public_ip(var_2289); + builder = builder.set_public_ip(var_2290); } , _ => {} @@ -46905,7 +46919,7 @@ pub fn deser_structure_network_acl_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("networkAclAssociationId") /* NetworkAclAssociationId com.amazonaws.ec2#NetworkAclAssociation$NetworkAclAssociationId */ => { - let var_2290 = + let var_2291 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46914,11 +46928,11 @@ pub fn deser_structure_network_acl_association( ? ) ; - builder = builder.set_network_acl_association_id(var_2290); + builder = builder.set_network_acl_association_id(var_2291); } , s if s.matches("networkAclId") /* NetworkAclId com.amazonaws.ec2#NetworkAclAssociation$NetworkAclId */ => { - let var_2291 = + let var_2292 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46927,11 +46941,11 @@ pub fn deser_structure_network_acl_association( ? ) ; - builder = builder.set_network_acl_id(var_2291); + builder = builder.set_network_acl_id(var_2292); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#NetworkAclAssociation$SubnetId */ => { - let var_2292 = + let var_2293 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46940,7 +46954,7 @@ pub fn deser_structure_network_acl_association( ? ) ; - builder = builder.set_subnet_id(var_2292); + builder = builder.set_subnet_id(var_2293); } , _ => {} @@ -46957,7 +46971,7 @@ pub fn deser_structure_network_acl_entry( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidrBlock") /* CidrBlock com.amazonaws.ec2#NetworkAclEntry$CidrBlock */ => { - let var_2293 = + let var_2294 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -46966,11 +46980,11 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_cidr_block(var_2293); + builder = builder.set_cidr_block(var_2294); } , s if s.matches("egress") /* Egress com.amazonaws.ec2#NetworkAclEntry$Egress */ => { - let var_2294 = + let var_2295 = Some( { ::parse_smithy_primitive( @@ -46981,21 +46995,21 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_egress(var_2294); + builder = builder.set_egress(var_2295); } , s if s.matches("icmpTypeCode") /* IcmpTypeCode com.amazonaws.ec2#NetworkAclEntry$IcmpTypeCode */ => { - let var_2295 = + let var_2296 = Some( crate::xml_deser::deser_structure_icmp_type_code(&mut tag) ? ) ; - builder = builder.set_icmp_type_code(var_2295); + builder = builder.set_icmp_type_code(var_2296); } , s if s.matches("ipv6CidrBlock") /* Ipv6CidrBlock com.amazonaws.ec2#NetworkAclEntry$Ipv6CidrBlock */ => { - let var_2296 = + let var_2297 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47004,21 +47018,21 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_ipv6_cidr_block(var_2296); + builder = builder.set_ipv6_cidr_block(var_2297); } , s if s.matches("portRange") /* PortRange com.amazonaws.ec2#NetworkAclEntry$PortRange */ => { - let var_2297 = + let var_2298 = Some( crate::xml_deser::deser_structure_port_range(&mut tag) ? ) ; - builder = builder.set_port_range(var_2297); + builder = builder.set_port_range(var_2298); } , s if s.matches("protocol") /* Protocol com.amazonaws.ec2#NetworkAclEntry$Protocol */ => { - let var_2298 = + let var_2299 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47027,11 +47041,11 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_protocol(var_2298); + builder = builder.set_protocol(var_2299); } , s if s.matches("ruleAction") /* RuleAction com.amazonaws.ec2#NetworkAclEntry$RuleAction */ => { - let var_2299 = + let var_2300 = Some( Result::::Ok( crate::model::RuleAction::from( @@ -47041,11 +47055,11 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_rule_action(var_2299); + builder = builder.set_rule_action(var_2300); } , s if s.matches("ruleNumber") /* RuleNumber com.amazonaws.ec2#NetworkAclEntry$RuleNumber */ => { - let var_2300 = + let var_2301 = Some( { ::parse_smithy_primitive( @@ -47056,7 +47070,7 @@ pub fn deser_structure_network_acl_entry( ? ) ; - builder = builder.set_rule_number(var_2300); + builder = builder.set_rule_number(var_2301); } , _ => {} @@ -47073,7 +47087,7 @@ pub fn deser_structure_network_interface_ipv6_address( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Address") /* Ipv6Address com.amazonaws.ec2#NetworkInterfaceIpv6Address$Ipv6Address */ => { - let var_2301 = + let var_2302 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47082,7 +47096,7 @@ pub fn deser_structure_network_interface_ipv6_address( ? ) ; - builder = builder.set_ipv6_address(var_2301); + builder = builder.set_ipv6_address(var_2302); } , _ => {} @@ -47099,17 +47113,17 @@ pub fn deser_structure_network_interface_private_ip_address( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("association") /* Association com.amazonaws.ec2#NetworkInterfacePrivateIpAddress$Association */ => { - let var_2302 = + let var_2303 = Some( crate::xml_deser::deser_structure_network_interface_association(&mut tag) ? ) ; - builder = builder.set_association(var_2302); + builder = builder.set_association(var_2303); } , s if s.matches("primary") /* Primary com.amazonaws.ec2#NetworkInterfacePrivateIpAddress$Primary */ => { - let var_2303 = + let var_2304 = Some( { ::parse_smithy_primitive( @@ -47120,11 +47134,11 @@ pub fn deser_structure_network_interface_private_ip_address( ? ) ; - builder = builder.set_primary(var_2303); + builder = builder.set_primary(var_2304); } , s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#NetworkInterfacePrivateIpAddress$PrivateDnsName */ => { - let var_2304 = + let var_2305 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47133,11 +47147,11 @@ pub fn deser_structure_network_interface_private_ip_address( ? ) ; - builder = builder.set_private_dns_name(var_2304); + builder = builder.set_private_dns_name(var_2305); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#NetworkInterfacePrivateIpAddress$PrivateIpAddress */ => { - let var_2305 = + let var_2306 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47146,7 +47160,7 @@ pub fn deser_structure_network_interface_private_ip_address( ? ) ; - builder = builder.set_private_ip_address(var_2305); + builder = builder.set_private_ip_address(var_2306); } , _ => {} @@ -47163,7 +47177,7 @@ pub fn deser_structure_ipv6_prefix_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Prefix") /* Ipv6Prefix com.amazonaws.ec2#Ipv6PrefixSpecification$Ipv6Prefix */ => { - let var_2306 = + let var_2307 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47172,7 +47186,7 @@ pub fn deser_structure_ipv6_prefix_specification( ? ) ; - builder = builder.set_ipv6_prefix(var_2306); + builder = builder.set_ipv6_prefix(var_2307); } , _ => {} @@ -47189,7 +47203,7 @@ pub fn deser_structure_route_table_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("main") /* Main com.amazonaws.ec2#RouteTableAssociation$Main */ => { - let var_2307 = + let var_2308 = Some( { ::parse_smithy_primitive( @@ -47200,11 +47214,11 @@ pub fn deser_structure_route_table_association( ? ) ; - builder = builder.set_main(var_2307); + builder = builder.set_main(var_2308); } , s if s.matches("routeTableAssociationId") /* RouteTableAssociationId com.amazonaws.ec2#RouteTableAssociation$RouteTableAssociationId */ => { - let var_2308 = + let var_2309 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47213,11 +47227,11 @@ pub fn deser_structure_route_table_association( ? ) ; - builder = builder.set_route_table_association_id(var_2308); + builder = builder.set_route_table_association_id(var_2309); } , s if s.matches("routeTableId") /* RouteTableId com.amazonaws.ec2#RouteTableAssociation$RouteTableId */ => { - let var_2309 = + let var_2310 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47226,11 +47240,11 @@ pub fn deser_structure_route_table_association( ? ) ; - builder = builder.set_route_table_id(var_2309); + builder = builder.set_route_table_id(var_2310); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#RouteTableAssociation$SubnetId */ => { - let var_2310 = + let var_2311 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47239,11 +47253,11 @@ pub fn deser_structure_route_table_association( ? ) ; - builder = builder.set_subnet_id(var_2310); + builder = builder.set_subnet_id(var_2311); } , s if s.matches("gatewayId") /* GatewayId com.amazonaws.ec2#RouteTableAssociation$GatewayId */ => { - let var_2311 = + let var_2312 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47252,17 +47266,17 @@ pub fn deser_structure_route_table_association( ? ) ; - builder = builder.set_gateway_id(var_2311); + builder = builder.set_gateway_id(var_2312); } , s if s.matches("associationState") /* AssociationState com.amazonaws.ec2#RouteTableAssociation$AssociationState */ => { - let var_2312 = + let var_2313 = Some( crate::xml_deser::deser_structure_route_table_association_state(&mut tag) ? ) ; - builder = builder.set_association_state(var_2312); + builder = builder.set_association_state(var_2313); } , _ => {} @@ -47279,7 +47293,7 @@ pub fn deser_structure_propagating_vgw( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("gatewayId") /* GatewayId com.amazonaws.ec2#PropagatingVgw$GatewayId */ => { - let var_2313 = + let var_2314 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47288,7 +47302,7 @@ pub fn deser_structure_propagating_vgw( ? ) ; - builder = builder.set_gateway_id(var_2313); + builder = builder.set_gateway_id(var_2314); } , _ => {} @@ -47305,7 +47319,7 @@ pub fn deser_structure_route( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("destinationCidrBlock") /* DestinationCidrBlock com.amazonaws.ec2#Route$DestinationCidrBlock */ => { - let var_2314 = + let var_2315 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47314,11 +47328,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_destination_cidr_block(var_2314); + builder = builder.set_destination_cidr_block(var_2315); } , s if s.matches("destinationIpv6CidrBlock") /* DestinationIpv6CidrBlock com.amazonaws.ec2#Route$DestinationIpv6CidrBlock */ => { - let var_2315 = + let var_2316 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47327,11 +47341,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_destination_ipv6_cidr_block(var_2315); + builder = builder.set_destination_ipv6_cidr_block(var_2316); } , s if s.matches("destinationPrefixListId") /* DestinationPrefixListId com.amazonaws.ec2#Route$DestinationPrefixListId */ => { - let var_2316 = + let var_2317 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47340,11 +47354,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_destination_prefix_list_id(var_2316); + builder = builder.set_destination_prefix_list_id(var_2317); } , s if s.matches("egressOnlyInternetGatewayId") /* EgressOnlyInternetGatewayId com.amazonaws.ec2#Route$EgressOnlyInternetGatewayId */ => { - let var_2317 = + let var_2318 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47353,11 +47367,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_egress_only_internet_gateway_id(var_2317); + builder = builder.set_egress_only_internet_gateway_id(var_2318); } , s if s.matches("gatewayId") /* GatewayId com.amazonaws.ec2#Route$GatewayId */ => { - let var_2318 = + let var_2319 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47366,11 +47380,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_gateway_id(var_2318); + builder = builder.set_gateway_id(var_2319); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#Route$InstanceId */ => { - let var_2319 = + let var_2320 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47379,11 +47393,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_instance_id(var_2319); + builder = builder.set_instance_id(var_2320); } , s if s.matches("instanceOwnerId") /* InstanceOwnerId com.amazonaws.ec2#Route$InstanceOwnerId */ => { - let var_2320 = + let var_2321 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47392,11 +47406,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_instance_owner_id(var_2320); + builder = builder.set_instance_owner_id(var_2321); } , s if s.matches("natGatewayId") /* NatGatewayId com.amazonaws.ec2#Route$NatGatewayId */ => { - let var_2321 = + let var_2322 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47405,11 +47419,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_nat_gateway_id(var_2321); + builder = builder.set_nat_gateway_id(var_2322); } , s if s.matches("transitGatewayId") /* TransitGatewayId com.amazonaws.ec2#Route$TransitGatewayId */ => { - let var_2322 = + let var_2323 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47418,11 +47432,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_transit_gateway_id(var_2322); + builder = builder.set_transit_gateway_id(var_2323); } , s if s.matches("localGatewayId") /* LocalGatewayId com.amazonaws.ec2#Route$LocalGatewayId */ => { - let var_2323 = + let var_2324 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47431,11 +47445,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_local_gateway_id(var_2323); + builder = builder.set_local_gateway_id(var_2324); } , s if s.matches("carrierGatewayId") /* CarrierGatewayId com.amazonaws.ec2#Route$CarrierGatewayId */ => { - let var_2324 = + let var_2325 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47444,11 +47458,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_carrier_gateway_id(var_2324); + builder = builder.set_carrier_gateway_id(var_2325); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#Route$NetworkInterfaceId */ => { - let var_2325 = + let var_2326 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47457,11 +47471,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_network_interface_id(var_2325); + builder = builder.set_network_interface_id(var_2326); } , s if s.matches("origin") /* Origin com.amazonaws.ec2#Route$Origin */ => { - let var_2326 = + let var_2327 = Some( Result::::Ok( crate::model::RouteOrigin::from( @@ -47471,11 +47485,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_origin(var_2326); + builder = builder.set_origin(var_2327); } , s if s.matches("state") /* State com.amazonaws.ec2#Route$State */ => { - let var_2327 = + let var_2328 = Some( Result::::Ok( crate::model::RouteState::from( @@ -47485,11 +47499,11 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_state(var_2327); + builder = builder.set_state(var_2328); } , s if s.matches("vpcPeeringConnectionId") /* VpcPeeringConnectionId com.amazonaws.ec2#Route$VpcPeeringConnectionId */ => { - let var_2328 = + let var_2329 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47498,7 +47512,7 @@ pub fn deser_structure_route( ? ) ; - builder = builder.set_vpc_peering_connection_id(var_2328); + builder = builder.set_vpc_peering_connection_id(var_2329); } , _ => {} @@ -47559,7 +47573,7 @@ pub fn deser_structure_transit_gateway_route_attachment( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("resourceId") /* ResourceId com.amazonaws.ec2#TransitGatewayRouteAttachment$ResourceId */ => { - let var_2329 = + let var_2330 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47568,11 +47582,11 @@ pub fn deser_structure_transit_gateway_route_attachment( ? ) ; - builder = builder.set_resource_id(var_2329); + builder = builder.set_resource_id(var_2330); } , s if s.matches("transitGatewayAttachmentId") /* TransitGatewayAttachmentId com.amazonaws.ec2#TransitGatewayRouteAttachment$TransitGatewayAttachmentId */ => { - let var_2330 = + let var_2331 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47581,11 +47595,11 @@ pub fn deser_structure_transit_gateway_route_attachment( ? ) ; - builder = builder.set_transit_gateway_attachment_id(var_2330); + builder = builder.set_transit_gateway_attachment_id(var_2331); } , s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TransitGatewayRouteAttachment$ResourceType */ => { - let var_2331 = + let var_2332 = Some( Result::::Ok( crate::model::TransitGatewayAttachmentResourceType::from( @@ -47595,7 +47609,7 @@ pub fn deser_structure_transit_gateway_route_attachment( ? ) ; - builder = builder.set_resource_type(var_2331); + builder = builder.set_resource_type(var_2332); } , _ => {} @@ -47612,7 +47626,7 @@ pub fn deser_structure_security_group_identifier( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupId") /* GroupId com.amazonaws.ec2#SecurityGroupIdentifier$GroupId */ => { - let var_2332 = + let var_2333 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47621,11 +47635,11 @@ pub fn deser_structure_security_group_identifier( ? ) ; - builder = builder.set_group_id(var_2332); + builder = builder.set_group_id(var_2333); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#SecurityGroupIdentifier$GroupName */ => { - let var_2333 = + let var_2334 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47634,7 +47648,7 @@ pub fn deser_structure_security_group_identifier( ? ) ; - builder = builder.set_group_name(var_2333); + builder = builder.set_group_name(var_2334); } , _ => {} @@ -47651,7 +47665,7 @@ pub fn deser_structure_dns_entry( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("dnsName") /* DnsName com.amazonaws.ec2#DnsEntry$DnsName */ => { - let var_2334 = + let var_2335 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47660,11 +47674,11 @@ pub fn deser_structure_dns_entry( ? ) ; - builder = builder.set_dns_name(var_2334); + builder = builder.set_dns_name(var_2335); } , s if s.matches("hostedZoneId") /* HostedZoneId com.amazonaws.ec2#DnsEntry$HostedZoneId */ => { - let var_2335 = + let var_2336 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47673,7 +47687,7 @@ pub fn deser_structure_dns_entry( ? ) ; - builder = builder.set_hosted_zone_id(var_2335); + builder = builder.set_hosted_zone_id(var_2336); } , _ => {} @@ -47690,7 +47704,7 @@ pub fn deser_structure_service_type_detail( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("serviceType") /* ServiceType com.amazonaws.ec2#ServiceTypeDetail$ServiceType */ => { - let var_2336 = + let var_2337 = Some( Result::::Ok( crate::model::ServiceType::from( @@ -47700,7 +47714,7 @@ pub fn deser_structure_service_type_detail( ? ) ; - builder = builder.set_service_type(var_2336); + builder = builder.set_service_type(var_2337); } , _ => {} @@ -47736,7 +47750,7 @@ pub fn deser_structure_vpn_static_route( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("destinationCidrBlock") /* DestinationCidrBlock com.amazonaws.ec2#VpnStaticRoute$DestinationCidrBlock */ => { - let var_2337 = + let var_2338 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47745,11 +47759,11 @@ pub fn deser_structure_vpn_static_route( ? ) ; - builder = builder.set_destination_cidr_block(var_2337); + builder = builder.set_destination_cidr_block(var_2338); } , s if s.matches("source") /* Source com.amazonaws.ec2#VpnStaticRoute$Source */ => { - let var_2338 = + let var_2339 = Some( Result::::Ok( crate::model::VpnStaticRouteSource::from( @@ -47759,11 +47773,11 @@ pub fn deser_structure_vpn_static_route( ? ) ; - builder = builder.set_source(var_2338); + builder = builder.set_source(var_2339); } , s if s.matches("state") /* State com.amazonaws.ec2#VpnStaticRoute$State */ => { - let var_2339 = + let var_2340 = Some( Result::::Ok( crate::model::VpnState::from( @@ -47773,7 +47787,7 @@ pub fn deser_structure_vpn_static_route( ? ) ; - builder = builder.set_state(var_2339); + builder = builder.set_state(var_2340); } , _ => {} @@ -47790,7 +47804,7 @@ pub fn deser_structure_vgw_telemetry( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("acceptedRouteCount") /* AcceptedRouteCount com.amazonaws.ec2#VgwTelemetry$AcceptedRouteCount */ => { - let var_2340 = + let var_2341 = Some( { ::parse_smithy_primitive( @@ -47801,11 +47815,11 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_accepted_route_count(var_2340); + builder = builder.set_accepted_route_count(var_2341); } , s if s.matches("lastStatusChange") /* LastStatusChange com.amazonaws.ec2#VgwTelemetry$LastStatusChange */ => { - let var_2341 = + let var_2342 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47815,11 +47829,11 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_last_status_change(var_2341); + builder = builder.set_last_status_change(var_2342); } , s if s.matches("outsideIpAddress") /* OutsideIpAddress com.amazonaws.ec2#VgwTelemetry$OutsideIpAddress */ => { - let var_2342 = + let var_2343 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47828,11 +47842,11 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_outside_ip_address(var_2342); + builder = builder.set_outside_ip_address(var_2343); } , s if s.matches("status") /* Status com.amazonaws.ec2#VgwTelemetry$Status */ => { - let var_2343 = + let var_2344 = Some( Result::::Ok( crate::model::TelemetryStatus::from( @@ -47842,11 +47856,11 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_status(var_2343); + builder = builder.set_status(var_2344); } , s if s.matches("statusMessage") /* StatusMessage com.amazonaws.ec2#VgwTelemetry$StatusMessage */ => { - let var_2344 = + let var_2345 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47855,11 +47869,11 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_status_message(var_2344); + builder = builder.set_status_message(var_2345); } , s if s.matches("certificateArn") /* CertificateArn com.amazonaws.ec2#VgwTelemetry$CertificateArn */ => { - let var_2345 = + let var_2346 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47868,7 +47882,7 @@ pub fn deser_structure_vgw_telemetry( ? ) ; - builder = builder.set_certificate_arn(var_2345); + builder = builder.set_certificate_arn(var_2346); } , _ => {} @@ -47885,7 +47899,7 @@ pub fn deser_structure_delete_fleet_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#DeleteFleetError$Code */ => { - let var_2346 = + let var_2347 = Some( Result::::Ok( crate::model::DeleteFleetErrorCode::from( @@ -47895,11 +47909,11 @@ pub fn deser_structure_delete_fleet_error( ? ) ; - builder = builder.set_code(var_2346); + builder = builder.set_code(var_2347); } , s if s.matches("message") /* Message com.amazonaws.ec2#DeleteFleetError$Message */ => { - let var_2347 = + let var_2348 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47908,7 +47922,7 @@ pub fn deser_structure_delete_fleet_error( ? ) ; - builder = builder.set_message(var_2347); + builder = builder.set_message(var_2348); } , _ => {} @@ -47925,7 +47939,7 @@ pub fn deser_structure_response_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#ResponseError$Code */ => { - let var_2348 = + let var_2349 = Some( Result::::Ok( crate::model::LaunchTemplateErrorCode::from( @@ -47935,11 +47949,11 @@ pub fn deser_structure_response_error( ? ) ; - builder = builder.set_code(var_2348); + builder = builder.set_code(var_2349); } , s if s.matches("message") /* Message com.amazonaws.ec2#ResponseError$Message */ => { - let var_2349 = + let var_2350 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47948,7 +47962,7 @@ pub fn deser_structure_response_error( ? ) ; - builder = builder.set_message(var_2349); + builder = builder.set_message(var_2350); } , _ => {} @@ -47965,7 +47979,7 @@ pub fn deser_structure_delete_queued_reserved_instances_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#DeleteQueuedReservedInstancesError$Code */ => { - let var_2350 = + let var_2351 = Some( Result::::Ok( crate::model::DeleteQueuedReservedInstancesErrorCode::from( @@ -47975,11 +47989,11 @@ pub fn deser_structure_delete_queued_reserved_instances_error( ? ) ; - builder = builder.set_code(var_2350); + builder = builder.set_code(var_2351); } , s if s.matches("message") /* Message com.amazonaws.ec2#DeleteQueuedReservedInstancesError$Message */ => { - let var_2351 = + let var_2352 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -47988,7 +48002,7 @@ pub fn deser_structure_delete_queued_reserved_instances_error( ? ) ; - builder = builder.set_message(var_2351); + builder = builder.set_message(var_2352); } , _ => {} @@ -48043,7 +48057,7 @@ pub fn deser_structure_client_vpn_connection_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#ClientVpnConnectionStatus$Code */ => { - let var_2352 = + let var_2353 = Some( Result::::Ok( crate::model::ClientVpnConnectionStatusCode::from( @@ -48053,11 +48067,11 @@ pub fn deser_structure_client_vpn_connection_status( ? ) ; - builder = builder.set_code(var_2352); + builder = builder.set_code(var_2353); } , s if s.matches("message") /* Message com.amazonaws.ec2#ClientVpnConnectionStatus$Message */ => { - let var_2353 = + let var_2354 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48066,7 +48080,7 @@ pub fn deser_structure_client_vpn_connection_status( ? ) ; - builder = builder.set_message(var_2353); + builder = builder.set_message(var_2354); } , _ => {} @@ -48121,7 +48135,7 @@ pub fn deser_structure_connection_log_response_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Enabled") /* Enabled com.amazonaws.ec2#ConnectionLogResponseOptions$Enabled */ => { - let var_2354 = + let var_2355 = Some( { ::parse_smithy_primitive( @@ -48132,11 +48146,11 @@ pub fn deser_structure_connection_log_response_options( ? ) ; - builder = builder.set_enabled(var_2354); + builder = builder.set_enabled(var_2355); } , s if s.matches("CloudwatchLogGroup") /* CloudwatchLogGroup com.amazonaws.ec2#ConnectionLogResponseOptions$CloudwatchLogGroup */ => { - let var_2355 = + let var_2356 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48145,11 +48159,11 @@ pub fn deser_structure_connection_log_response_options( ? ) ; - builder = builder.set_cloudwatch_log_group(var_2355); + builder = builder.set_cloudwatch_log_group(var_2356); } , s if s.matches("CloudwatchLogStream") /* CloudwatchLogStream com.amazonaws.ec2#ConnectionLogResponseOptions$CloudwatchLogStream */ => { - let var_2356 = + let var_2357 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48158,7 +48172,7 @@ pub fn deser_structure_connection_log_response_options( ? ) ; - builder = builder.set_cloudwatch_log_stream(var_2356); + builder = builder.set_cloudwatch_log_stream(var_2357); } , _ => {} @@ -48175,7 +48189,7 @@ pub fn deser_structure_client_connect_response_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("enabled") /* Enabled com.amazonaws.ec2#ClientConnectResponseOptions$Enabled */ => { - let var_2357 = + let var_2358 = Some( { ::parse_smithy_primitive( @@ -48186,11 +48200,11 @@ pub fn deser_structure_client_connect_response_options( ? ) ; - builder = builder.set_enabled(var_2357); + builder = builder.set_enabled(var_2358); } , s if s.matches("lambdaFunctionArn") /* LambdaFunctionArn com.amazonaws.ec2#ClientConnectResponseOptions$LambdaFunctionArn */ => { - let var_2358 = + let var_2359 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48199,17 +48213,17 @@ pub fn deser_structure_client_connect_response_options( ? ) ; - builder = builder.set_lambda_function_arn(var_2358); + builder = builder.set_lambda_function_arn(var_2359); } , s if s.matches("status") /* Status com.amazonaws.ec2#ClientConnectResponseOptions$Status */ => { - let var_2359 = + let var_2360 = Some( crate::xml_deser::deser_structure_client_vpn_endpoint_attribute_status(&mut tag) ? ) ; - builder = builder.set_status(var_2359); + builder = builder.set_status(var_2360); } , _ => {} @@ -48226,7 +48240,7 @@ pub fn deser_structure_elastic_gpu_health( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("status") /* Status com.amazonaws.ec2#ElasticGpuHealth$Status */ => { - let var_2360 = + let var_2361 = Some( Result::::Ok( crate::model::ElasticGpuStatus::from( @@ -48236,7 +48250,7 @@ pub fn deser_structure_elastic_gpu_health( ? ) ; - builder = builder.set_status(var_2360); + builder = builder.set_status(var_2361); } , _ => {} @@ -48253,7 +48267,7 @@ pub fn deser_structure_event_information( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("eventDescription") /* EventDescription com.amazonaws.ec2#EventInformation$EventDescription */ => { - let var_2361 = + let var_2362 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48262,11 +48276,11 @@ pub fn deser_structure_event_information( ? ) ; - builder = builder.set_event_description(var_2361); + builder = builder.set_event_description(var_2362); } , s if s.matches("eventSubType") /* EventSubType com.amazonaws.ec2#EventInformation$EventSubType */ => { - let var_2362 = + let var_2363 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48275,11 +48289,11 @@ pub fn deser_structure_event_information( ? ) ; - builder = builder.set_event_sub_type(var_2362); + builder = builder.set_event_sub_type(var_2363); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#EventInformation$InstanceId */ => { - let var_2363 = + let var_2364 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48288,7 +48302,7 @@ pub fn deser_structure_event_information( ? ) ; - builder = builder.set_instance_id(var_2363); + builder = builder.set_instance_id(var_2364); } , _ => {} @@ -48324,7 +48338,7 @@ pub fn deser_structure_target_capacity_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("totalTargetCapacity") /* TotalTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$TotalTargetCapacity */ => { - let var_2364 = + let var_2365 = Some( { ::parse_smithy_primitive( @@ -48335,11 +48349,11 @@ pub fn deser_structure_target_capacity_specification( ? ) ; - builder = builder.set_total_target_capacity(var_2364); + builder = builder.set_total_target_capacity(var_2365); } , s if s.matches("onDemandTargetCapacity") /* OnDemandTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$OnDemandTargetCapacity */ => { - let var_2365 = + let var_2366 = Some( { ::parse_smithy_primitive( @@ -48350,11 +48364,11 @@ pub fn deser_structure_target_capacity_specification( ? ) ; - builder = builder.set_on_demand_target_capacity(var_2365); + builder = builder.set_on_demand_target_capacity(var_2366); } , s if s.matches("spotTargetCapacity") /* SpotTargetCapacity com.amazonaws.ec2#TargetCapacitySpecification$SpotTargetCapacity */ => { - let var_2366 = + let var_2367 = Some( { ::parse_smithy_primitive( @@ -48365,11 +48379,11 @@ pub fn deser_structure_target_capacity_specification( ? ) ; - builder = builder.set_spot_target_capacity(var_2366); + builder = builder.set_spot_target_capacity(var_2367); } , s if s.matches("defaultTargetCapacityType") /* DefaultTargetCapacityType com.amazonaws.ec2#TargetCapacitySpecification$DefaultTargetCapacityType */ => { - let var_2367 = + let var_2368 = Some( Result::::Ok( crate::model::DefaultTargetCapacityType::from( @@ -48379,7 +48393,7 @@ pub fn deser_structure_target_capacity_specification( ? ) ; - builder = builder.set_default_target_capacity_type(var_2367); + builder = builder.set_default_target_capacity_type(var_2368); } , _ => {} @@ -48396,7 +48410,7 @@ pub fn deser_structure_spot_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allocationStrategy") /* AllocationStrategy com.amazonaws.ec2#SpotOptions$AllocationStrategy */ => { - let var_2368 = + let var_2369 = Some( Result::::Ok( crate::model::SpotAllocationStrategy::from( @@ -48406,21 +48420,21 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_allocation_strategy(var_2368); + builder = builder.set_allocation_strategy(var_2369); } , s if s.matches("maintenanceStrategies") /* MaintenanceStrategies com.amazonaws.ec2#SpotOptions$MaintenanceStrategies */ => { - let var_2369 = + let var_2370 = Some( crate::xml_deser::deser_structure_fleet_spot_maintenance_strategies(&mut tag) ? ) ; - builder = builder.set_maintenance_strategies(var_2369); + builder = builder.set_maintenance_strategies(var_2370); } , s if s.matches("instanceInterruptionBehavior") /* InstanceInterruptionBehavior com.amazonaws.ec2#SpotOptions$InstanceInterruptionBehavior */ => { - let var_2370 = + let var_2371 = Some( Result::::Ok( crate::model::SpotInstanceInterruptionBehavior::from( @@ -48430,11 +48444,11 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_instance_interruption_behavior(var_2370); + builder = builder.set_instance_interruption_behavior(var_2371); } , s if s.matches("instancePoolsToUseCount") /* InstancePoolsToUseCount com.amazonaws.ec2#SpotOptions$InstancePoolsToUseCount */ => { - let var_2371 = + let var_2372 = Some( { ::parse_smithy_primitive( @@ -48445,11 +48459,11 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_instance_pools_to_use_count(var_2371); + builder = builder.set_instance_pools_to_use_count(var_2372); } , s if s.matches("singleInstanceType") /* SingleInstanceType com.amazonaws.ec2#SpotOptions$SingleInstanceType */ => { - let var_2372 = + let var_2373 = Some( { ::parse_smithy_primitive( @@ -48460,11 +48474,11 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_single_instance_type(var_2372); + builder = builder.set_single_instance_type(var_2373); } , s if s.matches("singleAvailabilityZone") /* SingleAvailabilityZone com.amazonaws.ec2#SpotOptions$SingleAvailabilityZone */ => { - let var_2373 = + let var_2374 = Some( { ::parse_smithy_primitive( @@ -48475,11 +48489,11 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_single_availability_zone(var_2373); + builder = builder.set_single_availability_zone(var_2374); } , s if s.matches("minTargetCapacity") /* MinTargetCapacity com.amazonaws.ec2#SpotOptions$MinTargetCapacity */ => { - let var_2374 = + let var_2375 = Some( { ::parse_smithy_primitive( @@ -48490,11 +48504,11 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_min_target_capacity(var_2374); + builder = builder.set_min_target_capacity(var_2375); } , s if s.matches("maxTotalPrice") /* MaxTotalPrice com.amazonaws.ec2#SpotOptions$MaxTotalPrice */ => { - let var_2375 = + let var_2376 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48503,7 +48517,7 @@ pub fn deser_structure_spot_options( ? ) ; - builder = builder.set_max_total_price(var_2375); + builder = builder.set_max_total_price(var_2376); } , _ => {} @@ -48520,7 +48534,7 @@ pub fn deser_structure_on_demand_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allocationStrategy") /* AllocationStrategy com.amazonaws.ec2#OnDemandOptions$AllocationStrategy */ => { - let var_2376 = + let var_2377 = Some( Result::::Ok( crate::model::FleetOnDemandAllocationStrategy::from( @@ -48530,21 +48544,21 @@ pub fn deser_structure_on_demand_options( ? ) ; - builder = builder.set_allocation_strategy(var_2376); + builder = builder.set_allocation_strategy(var_2377); } , s if s.matches("capacityReservationOptions") /* CapacityReservationOptions com.amazonaws.ec2#OnDemandOptions$CapacityReservationOptions */ => { - let var_2377 = + let var_2378 = Some( crate::xml_deser::deser_structure_capacity_reservation_options(&mut tag) ? ) ; - builder = builder.set_capacity_reservation_options(var_2377); + builder = builder.set_capacity_reservation_options(var_2378); } , s if s.matches("singleInstanceType") /* SingleInstanceType com.amazonaws.ec2#OnDemandOptions$SingleInstanceType */ => { - let var_2378 = + let var_2379 = Some( { ::parse_smithy_primitive( @@ -48555,11 +48569,11 @@ pub fn deser_structure_on_demand_options( ? ) ; - builder = builder.set_single_instance_type(var_2378); + builder = builder.set_single_instance_type(var_2379); } , s if s.matches("singleAvailabilityZone") /* SingleAvailabilityZone com.amazonaws.ec2#OnDemandOptions$SingleAvailabilityZone */ => { - let var_2379 = + let var_2380 = Some( { ::parse_smithy_primitive( @@ -48570,11 +48584,11 @@ pub fn deser_structure_on_demand_options( ? ) ; - builder = builder.set_single_availability_zone(var_2379); + builder = builder.set_single_availability_zone(var_2380); } , s if s.matches("minTargetCapacity") /* MinTargetCapacity com.amazonaws.ec2#OnDemandOptions$MinTargetCapacity */ => { - let var_2380 = + let var_2381 = Some( { ::parse_smithy_primitive( @@ -48585,11 +48599,11 @@ pub fn deser_structure_on_demand_options( ? ) ; - builder = builder.set_min_target_capacity(var_2380); + builder = builder.set_min_target_capacity(var_2381); } , s if s.matches("maxTotalPrice") /* MaxTotalPrice com.amazonaws.ec2#OnDemandOptions$MaxTotalPrice */ => { - let var_2381 = + let var_2382 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48598,7 +48612,7 @@ pub fn deser_structure_on_demand_options( ? ) ; - builder = builder.set_max_total_price(var_2381); + builder = builder.set_max_total_price(var_2382); } , _ => {} @@ -48653,7 +48667,7 @@ pub fn deser_structure_load_permission( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("userId") /* UserId com.amazonaws.ec2#LoadPermission$UserId */ => { - let var_2382 = + let var_2383 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48662,11 +48676,11 @@ pub fn deser_structure_load_permission( ? ) ; - builder = builder.set_user_id(var_2382); + builder = builder.set_user_id(var_2383); } , s if s.matches("group") /* Group com.amazonaws.ec2#LoadPermission$Group */ => { - let var_2383 = + let var_2384 = Some( Result::::Ok( crate::model::PermissionGroup::from( @@ -48676,7 +48690,7 @@ pub fn deser_structure_load_permission( ? ) ; - builder = builder.set_group(var_2383); + builder = builder.set_group(var_2384); } , _ => {} @@ -48693,7 +48707,7 @@ pub fn deser_structure_pci_id( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DeviceId") /* DeviceId com.amazonaws.ec2#PciId$DeviceId */ => { - let var_2384 = + let var_2385 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48702,11 +48716,11 @@ pub fn deser_structure_pci_id( ? ) ; - builder = builder.set_device_id(var_2384); + builder = builder.set_device_id(var_2385); } , s if s.matches("VendorId") /* VendorId com.amazonaws.ec2#PciId$VendorId */ => { - let var_2385 = + let var_2386 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48715,11 +48729,11 @@ pub fn deser_structure_pci_id( ? ) ; - builder = builder.set_vendor_id(var_2385); + builder = builder.set_vendor_id(var_2386); } , s if s.matches("SubsystemId") /* SubsystemId com.amazonaws.ec2#PciId$SubsystemId */ => { - let var_2386 = + let var_2387 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48728,11 +48742,11 @@ pub fn deser_structure_pci_id( ? ) ; - builder = builder.set_subsystem_id(var_2386); + builder = builder.set_subsystem_id(var_2387); } , s if s.matches("SubsystemVendorId") /* SubsystemVendorId com.amazonaws.ec2#PciId$SubsystemVendorId */ => { - let var_2387 = + let var_2388 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48741,7 +48755,7 @@ pub fn deser_structure_pci_id( ? ) ; - builder = builder.set_subsystem_vendor_id(var_2387); + builder = builder.set_subsystem_vendor_id(var_2388); } , _ => {} @@ -48758,7 +48772,7 @@ pub fn deser_structure_fpga_image_state( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#FpgaImageState$Code */ => { - let var_2388 = + let var_2389 = Some( Result::::Ok( crate::model::FpgaImageStateCode::from( @@ -48768,11 +48782,11 @@ pub fn deser_structure_fpga_image_state( ? ) ; - builder = builder.set_code(var_2388); + builder = builder.set_code(var_2389); } , s if s.matches("message") /* Message com.amazonaws.ec2#FpgaImageState$Message */ => { - let var_2389 = + let var_2390 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48781,7 +48795,7 @@ pub fn deser_structure_fpga_image_state( ? ) ; - builder = builder.set_message(var_2389); + builder = builder.set_message(var_2390); } , _ => {} @@ -48820,17 +48834,17 @@ pub fn deser_structure_available_capacity( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availableInstanceCapacity") /* AvailableInstanceCapacity com.amazonaws.ec2#AvailableCapacity$AvailableInstanceCapacity */ => { - let var_2390 = + let var_2391 = Some( crate::xml_deser::deser_list_available_instance_capacity_list(&mut tag) ? ) ; - builder = builder.set_available_instance_capacity(var_2390); + builder = builder.set_available_instance_capacity(var_2391); } , s if s.matches("availableVCpus") /* AvailableVCpus com.amazonaws.ec2#AvailableCapacity$AvailableVCpus */ => { - let var_2391 = + let var_2392 = Some( { ::parse_smithy_primitive( @@ -48841,7 +48855,7 @@ pub fn deser_structure_available_capacity( ? ) ; - builder = builder.set_available_v_cpus(var_2391); + builder = builder.set_available_v_cpus(var_2392); } , _ => {} @@ -48858,7 +48872,7 @@ pub fn deser_structure_host_properties( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cores") /* Cores com.amazonaws.ec2#HostProperties$Cores */ => { - let var_2392 = + let var_2393 = Some( { ::parse_smithy_primitive( @@ -48869,11 +48883,11 @@ pub fn deser_structure_host_properties( ? ) ; - builder = builder.set_cores(var_2392); + builder = builder.set_cores(var_2393); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#HostProperties$InstanceType */ => { - let var_2393 = + let var_2394 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48882,11 +48896,11 @@ pub fn deser_structure_host_properties( ? ) ; - builder = builder.set_instance_type(var_2393); + builder = builder.set_instance_type(var_2394); } , s if s.matches("instanceFamily") /* InstanceFamily com.amazonaws.ec2#HostProperties$InstanceFamily */ => { - let var_2394 = + let var_2395 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -48895,11 +48909,11 @@ pub fn deser_structure_host_properties( ? ) ; - builder = builder.set_instance_family(var_2394); + builder = builder.set_instance_family(var_2395); } , s if s.matches("sockets") /* Sockets com.amazonaws.ec2#HostProperties$Sockets */ => { - let var_2395 = + let var_2396 = Some( { ::parse_smithy_primitive( @@ -48910,11 +48924,11 @@ pub fn deser_structure_host_properties( ? ) ; - builder = builder.set_sockets(var_2395); + builder = builder.set_sockets(var_2396); } , s if s.matches("totalVCpus") /* TotalVCpus com.amazonaws.ec2#HostProperties$TotalVCpus */ => { - let var_2396 = + let var_2397 = Some( { ::parse_smithy_primitive( @@ -48925,7 +48939,7 @@ pub fn deser_structure_host_properties( ? ) ; - builder = builder.set_total_v_cpus(var_2396); + builder = builder.set_total_v_cpus(var_2397); } , _ => {} @@ -48961,7 +48975,7 @@ pub fn deser_structure_ebs_block_device( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#EbsBlockDevice$DeleteOnTermination */ => { - let var_2397 = + let var_2398 = Some( { ::parse_smithy_primitive( @@ -48972,11 +48986,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_delete_on_termination(var_2397); + builder = builder.set_delete_on_termination(var_2398); } , s if s.matches("iops") /* Iops com.amazonaws.ec2#EbsBlockDevice$Iops */ => { - let var_2398 = + let var_2399 = Some( { ::parse_smithy_primitive( @@ -48987,11 +49001,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_iops(var_2398); + builder = builder.set_iops(var_2399); } , s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#EbsBlockDevice$SnapshotId */ => { - let var_2399 = + let var_2400 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49000,11 +49014,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_snapshot_id(var_2399); + builder = builder.set_snapshot_id(var_2400); } , s if s.matches("volumeSize") /* VolumeSize com.amazonaws.ec2#EbsBlockDevice$VolumeSize */ => { - let var_2400 = + let var_2401 = Some( { ::parse_smithy_primitive( @@ -49015,11 +49029,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_volume_size(var_2400); + builder = builder.set_volume_size(var_2401); } , s if s.matches("volumeType") /* VolumeType com.amazonaws.ec2#EbsBlockDevice$VolumeType */ => { - let var_2401 = + let var_2402 = Some( Result::::Ok( crate::model::VolumeType::from( @@ -49029,11 +49043,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_volume_type(var_2401); + builder = builder.set_volume_type(var_2402); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.ec2#EbsBlockDevice$KmsKeyId */ => { - let var_2402 = + let var_2403 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49042,11 +49056,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_kms_key_id(var_2402); + builder = builder.set_kms_key_id(var_2403); } , s if s.matches("throughput") /* Throughput com.amazonaws.ec2#EbsBlockDevice$Throughput */ => { - let var_2403 = + let var_2404 = Some( { ::parse_smithy_primitive( @@ -49057,11 +49071,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_throughput(var_2403); + builder = builder.set_throughput(var_2404); } , s if s.matches("outpostArn") /* OutpostArn com.amazonaws.ec2#EbsBlockDevice$OutpostArn */ => { - let var_2404 = + let var_2405 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49070,11 +49084,11 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_outpost_arn(var_2404); + builder = builder.set_outpost_arn(var_2405); } , s if s.matches("encrypted") /* Encrypted com.amazonaws.ec2#EbsBlockDevice$Encrypted */ => { - let var_2405 = + let var_2406 = Some( { ::parse_smithy_primitive( @@ -49085,7 +49099,7 @@ pub fn deser_structure_ebs_block_device( ? ) ; - builder = builder.set_encrypted(var_2405); + builder = builder.set_encrypted(var_2406); } , _ => {} @@ -49102,7 +49116,7 @@ pub fn deser_structure_state_reason( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#StateReason$Code */ => { - let var_2406 = + let var_2407 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49111,11 +49125,11 @@ pub fn deser_structure_state_reason( ? ) ; - builder = builder.set_code(var_2406); + builder = builder.set_code(var_2407); } , s if s.matches("message") /* Message com.amazonaws.ec2#StateReason$Message */ => { - let var_2407 = + let var_2408 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49124,7 +49138,7 @@ pub fn deser_structure_state_reason( ? ) ; - builder = builder.set_message(var_2407); + builder = builder.set_message(var_2408); } , _ => {} @@ -49141,7 +49155,7 @@ pub fn deser_structure_ebs_instance_block_device( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("attachTime") /* AttachTime com.amazonaws.ec2#EbsInstanceBlockDevice$AttachTime */ => { - let var_2408 = + let var_2409 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49151,11 +49165,11 @@ pub fn deser_structure_ebs_instance_block_device( ? ) ; - builder = builder.set_attach_time(var_2408); + builder = builder.set_attach_time(var_2409); } , s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#EbsInstanceBlockDevice$DeleteOnTermination */ => { - let var_2409 = + let var_2410 = Some( { ::parse_smithy_primitive( @@ -49166,11 +49180,11 @@ pub fn deser_structure_ebs_instance_block_device( ? ) ; - builder = builder.set_delete_on_termination(var_2409); + builder = builder.set_delete_on_termination(var_2410); } , s if s.matches("status") /* Status com.amazonaws.ec2#EbsInstanceBlockDevice$Status */ => { - let var_2410 = + let var_2411 = Some( Result::::Ok( crate::model::AttachmentStatus::from( @@ -49180,11 +49194,11 @@ pub fn deser_structure_ebs_instance_block_device( ? ) ; - builder = builder.set_status(var_2410); + builder = builder.set_status(var_2411); } , s if s.matches("volumeId") /* VolumeId com.amazonaws.ec2#EbsInstanceBlockDevice$VolumeId */ => { - let var_2411 = + let var_2412 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49193,7 +49207,7 @@ pub fn deser_structure_ebs_instance_block_device( ? ) ; - builder = builder.set_volume_id(var_2411); + builder = builder.set_volume_id(var_2412); } , _ => {} @@ -49229,7 +49243,7 @@ pub fn deser_structure_instance_state( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#InstanceState$Code */ => { - let var_2412 = + let var_2413 = Some( { ::parse_smithy_primitive( @@ -49240,11 +49254,11 @@ pub fn deser_structure_instance_state( ? ) ; - builder = builder.set_code(var_2412); + builder = builder.set_code(var_2413); } , s if s.matches("name") /* Name com.amazonaws.ec2#InstanceState$Name */ => { - let var_2413 = + let var_2414 = Some( Result::::Ok( crate::model::InstanceStateName::from( @@ -49254,7 +49268,7 @@ pub fn deser_structure_instance_state( ? ) ; - builder = builder.set_name(var_2413); + builder = builder.set_name(var_2414); } , _ => {} @@ -49271,17 +49285,17 @@ pub fn deser_structure_instance_status_summary( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("details") /* Details com.amazonaws.ec2#InstanceStatusSummary$Details */ => { - let var_2414 = + let var_2415 = Some( crate::xml_deser::deser_list_instance_status_details_list(&mut tag) ? ) ; - builder = builder.set_details(var_2414); + builder = builder.set_details(var_2415); } , s if s.matches("status") /* Status com.amazonaws.ec2#InstanceStatusSummary$Status */ => { - let var_2415 = + let var_2416 = Some( Result::::Ok( crate::model::SummaryStatus::from( @@ -49291,7 +49305,7 @@ pub fn deser_structure_instance_status_summary( ? ) ; - builder = builder.set_status(var_2415); + builder = builder.set_status(var_2416); } , _ => {} @@ -49377,17 +49391,17 @@ pub fn deser_structure_processor_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("supportedArchitectures") /* SupportedArchitectures com.amazonaws.ec2#ProcessorInfo$SupportedArchitectures */ => { - let var_2416 = + let var_2417 = Some( crate::xml_deser::deser_list_architecture_type_list(&mut tag) ? ) ; - builder = builder.set_supported_architectures(var_2416); + builder = builder.set_supported_architectures(var_2417); } , s if s.matches("sustainedClockSpeedInGhz") /* SustainedClockSpeedInGhz com.amazonaws.ec2#ProcessorInfo$SustainedClockSpeedInGhz */ => { - let var_2417 = + let var_2418 = Some( { ::parse_smithy_primitive( @@ -49398,7 +49412,7 @@ pub fn deser_structure_processor_info( ? ) ; - builder = builder.set_sustained_clock_speed_in_ghz(var_2417); + builder = builder.set_sustained_clock_speed_in_ghz(var_2418); } , _ => {} @@ -49415,7 +49429,7 @@ pub fn deser_structure_v_cpu_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("defaultVCpus") /* DefaultVCpus com.amazonaws.ec2#VCpuInfo$DefaultVCpus */ => { - let var_2418 = + let var_2419 = Some( { ::parse_smithy_primitive( @@ -49426,11 +49440,11 @@ pub fn deser_structure_v_cpu_info( ? ) ; - builder = builder.set_default_v_cpus(var_2418); + builder = builder.set_default_v_cpus(var_2419); } , s if s.matches("defaultCores") /* DefaultCores com.amazonaws.ec2#VCpuInfo$DefaultCores */ => { - let var_2419 = + let var_2420 = Some( { ::parse_smithy_primitive( @@ -49441,11 +49455,11 @@ pub fn deser_structure_v_cpu_info( ? ) ; - builder = builder.set_default_cores(var_2419); + builder = builder.set_default_cores(var_2420); } , s if s.matches("defaultThreadsPerCore") /* DefaultThreadsPerCore com.amazonaws.ec2#VCpuInfo$DefaultThreadsPerCore */ => { - let var_2420 = + let var_2421 = Some( { ::parse_smithy_primitive( @@ -49456,27 +49470,27 @@ pub fn deser_structure_v_cpu_info( ? ) ; - builder = builder.set_default_threads_per_core(var_2420); + builder = builder.set_default_threads_per_core(var_2421); } , s if s.matches("validCores") /* ValidCores com.amazonaws.ec2#VCpuInfo$ValidCores */ => { - let var_2421 = + let var_2422 = Some( crate::xml_deser::deser_list_core_count_list(&mut tag) ? ) ; - builder = builder.set_valid_cores(var_2421); + builder = builder.set_valid_cores(var_2422); } , s if s.matches("validThreadsPerCore") /* ValidThreadsPerCore com.amazonaws.ec2#VCpuInfo$ValidThreadsPerCore */ => { - let var_2422 = + let var_2423 = Some( crate::xml_deser::deser_list_threads_per_core_list(&mut tag) ? ) ; - builder = builder.set_valid_threads_per_core(var_2422); + builder = builder.set_valid_threads_per_core(var_2423); } , _ => {} @@ -49493,7 +49507,7 @@ pub fn deser_structure_memory_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("sizeInMiB") /* SizeInMiB com.amazonaws.ec2#MemoryInfo$SizeInMiB */ => { - let var_2423 = + let var_2424 = Some( { ::parse_smithy_primitive( @@ -49504,7 +49518,7 @@ pub fn deser_structure_memory_info( ? ) ; - builder = builder.set_size_in_mi_b(var_2423); + builder = builder.set_size_in_mi_b(var_2424); } , _ => {} @@ -49521,7 +49535,7 @@ pub fn deser_structure_instance_storage_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("totalSizeInGB") /* TotalSizeInGB com.amazonaws.ec2#InstanceStorageInfo$TotalSizeInGB */ => { - let var_2424 = + let var_2425 = Some( { ::parse_smithy_primitive( @@ -49532,21 +49546,21 @@ pub fn deser_structure_instance_storage_info( ? ) ; - builder = builder.set_total_size_in_gb(var_2424); + builder = builder.set_total_size_in_gb(var_2425); } , s if s.matches("disks") /* Disks com.amazonaws.ec2#InstanceStorageInfo$Disks */ => { - let var_2425 = + let var_2426 = Some( crate::xml_deser::deser_list_disk_info_list(&mut tag) ? ) ; - builder = builder.set_disks(var_2425); + builder = builder.set_disks(var_2426); } , s if s.matches("nvmeSupport") /* NvmeSupport com.amazonaws.ec2#InstanceStorageInfo$NvmeSupport */ => { - let var_2426 = + let var_2427 = Some( Result::::Ok( crate::model::EphemeralNvmeSupport::from( @@ -49556,7 +49570,7 @@ pub fn deser_structure_instance_storage_info( ? ) ; - builder = builder.set_nvme_support(var_2426); + builder = builder.set_nvme_support(var_2427); } , _ => {} @@ -49573,7 +49587,7 @@ pub fn deser_structure_ebs_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ebsOptimizedSupport") /* EbsOptimizedSupport com.amazonaws.ec2#EbsInfo$EbsOptimizedSupport */ => { - let var_2427 = + let var_2428 = Some( Result::::Ok( crate::model::EbsOptimizedSupport::from( @@ -49583,11 +49597,11 @@ pub fn deser_structure_ebs_info( ? ) ; - builder = builder.set_ebs_optimized_support(var_2427); + builder = builder.set_ebs_optimized_support(var_2428); } , s if s.matches("encryptionSupport") /* EncryptionSupport com.amazonaws.ec2#EbsInfo$EncryptionSupport */ => { - let var_2428 = + let var_2429 = Some( Result::::Ok( crate::model::EbsEncryptionSupport::from( @@ -49597,21 +49611,21 @@ pub fn deser_structure_ebs_info( ? ) ; - builder = builder.set_encryption_support(var_2428); + builder = builder.set_encryption_support(var_2429); } , s if s.matches("ebsOptimizedInfo") /* EbsOptimizedInfo com.amazonaws.ec2#EbsInfo$EbsOptimizedInfo */ => { - let var_2429 = + let var_2430 = Some( crate::xml_deser::deser_structure_ebs_optimized_info(&mut tag) ? ) ; - builder = builder.set_ebs_optimized_info(var_2429); + builder = builder.set_ebs_optimized_info(var_2430); } , s if s.matches("nvmeSupport") /* NvmeSupport com.amazonaws.ec2#EbsInfo$NvmeSupport */ => { - let var_2430 = + let var_2431 = Some( Result::::Ok( crate::model::EbsNvmeSupport::from( @@ -49621,7 +49635,7 @@ pub fn deser_structure_ebs_info( ? ) ; - builder = builder.set_nvme_support(var_2430); + builder = builder.set_nvme_support(var_2431); } , _ => {} @@ -49638,7 +49652,7 @@ pub fn deser_structure_network_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("networkPerformance") /* NetworkPerformance com.amazonaws.ec2#NetworkInfo$NetworkPerformance */ => { - let var_2431 = + let var_2432 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -49647,11 +49661,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_network_performance(var_2431); + builder = builder.set_network_performance(var_2432); } , s if s.matches("maximumNetworkInterfaces") /* MaximumNetworkInterfaces com.amazonaws.ec2#NetworkInfo$MaximumNetworkInterfaces */ => { - let var_2432 = + let var_2433 = Some( { ::parse_smithy_primitive( @@ -49662,11 +49676,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_maximum_network_interfaces(var_2432); + builder = builder.set_maximum_network_interfaces(var_2433); } , s if s.matches("maximumNetworkCards") /* MaximumNetworkCards com.amazonaws.ec2#NetworkInfo$MaximumNetworkCards */ => { - let var_2433 = + let var_2434 = Some( { ::parse_smithy_primitive( @@ -49677,11 +49691,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_maximum_network_cards(var_2433); + builder = builder.set_maximum_network_cards(var_2434); } , s if s.matches("defaultNetworkCardIndex") /* DefaultNetworkCardIndex com.amazonaws.ec2#NetworkInfo$DefaultNetworkCardIndex */ => { - let var_2434 = + let var_2435 = Some( { ::parse_smithy_primitive( @@ -49692,21 +49706,21 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_default_network_card_index(var_2434); + builder = builder.set_default_network_card_index(var_2435); } , s if s.matches("networkCards") /* NetworkCards com.amazonaws.ec2#NetworkInfo$NetworkCards */ => { - let var_2435 = + let var_2436 = Some( crate::xml_deser::deser_list_network_card_info_list(&mut tag) ? ) ; - builder = builder.set_network_cards(var_2435); + builder = builder.set_network_cards(var_2436); } , s if s.matches("ipv4AddressesPerInterface") /* Ipv4AddressesPerInterface com.amazonaws.ec2#NetworkInfo$Ipv4AddressesPerInterface */ => { - let var_2436 = + let var_2437 = Some( { ::parse_smithy_primitive( @@ -49717,11 +49731,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_ipv4_addresses_per_interface(var_2436); + builder = builder.set_ipv4_addresses_per_interface(var_2437); } , s if s.matches("ipv6AddressesPerInterface") /* Ipv6AddressesPerInterface com.amazonaws.ec2#NetworkInfo$Ipv6AddressesPerInterface */ => { - let var_2437 = + let var_2438 = Some( { ::parse_smithy_primitive( @@ -49732,11 +49746,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_ipv6_addresses_per_interface(var_2437); + builder = builder.set_ipv6_addresses_per_interface(var_2438); } , s if s.matches("ipv6Supported") /* Ipv6Supported com.amazonaws.ec2#NetworkInfo$Ipv6Supported */ => { - let var_2438 = + let var_2439 = Some( { ::parse_smithy_primitive( @@ -49747,11 +49761,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_ipv6_supported(var_2438); + builder = builder.set_ipv6_supported(var_2439); } , s if s.matches("enaSupport") /* EnaSupport com.amazonaws.ec2#NetworkInfo$EnaSupport */ => { - let var_2439 = + let var_2440 = Some( Result::::Ok( crate::model::EnaSupport::from( @@ -49761,11 +49775,11 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_ena_support(var_2439); + builder = builder.set_ena_support(var_2440); } , s if s.matches("efaSupported") /* EfaSupported com.amazonaws.ec2#NetworkInfo$EfaSupported */ => { - let var_2440 = + let var_2441 = Some( { ::parse_smithy_primitive( @@ -49776,17 +49790,17 @@ pub fn deser_structure_network_info( ? ) ; - builder = builder.set_efa_supported(var_2440); + builder = builder.set_efa_supported(var_2441); } , s if s.matches("efaInfo") /* EfaInfo com.amazonaws.ec2#NetworkInfo$EfaInfo */ => { - let var_2441 = + let var_2442 = Some( crate::xml_deser::deser_structure_efa_info(&mut tag) ? ) ; - builder = builder.set_efa_info(var_2441); + builder = builder.set_efa_info(var_2442); } , _ => {} @@ -49803,17 +49817,17 @@ pub fn deser_structure_gpu_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("gpus") /* Gpus com.amazonaws.ec2#GpuInfo$Gpus */ => { - let var_2442 = + let var_2443 = Some( crate::xml_deser::deser_list_gpu_device_info_list(&mut tag) ? ) ; - builder = builder.set_gpus(var_2442); + builder = builder.set_gpus(var_2443); } , s if s.matches("totalGpuMemoryInMiB") /* TotalGpuMemoryInMiB com.amazonaws.ec2#GpuInfo$TotalGpuMemoryInMiB */ => { - let var_2443 = + let var_2444 = Some( { ::parse_smithy_primitive( @@ -49824,7 +49838,7 @@ pub fn deser_structure_gpu_info( ? ) ; - builder = builder.set_total_gpu_memory_in_mi_b(var_2443); + builder = builder.set_total_gpu_memory_in_mi_b(var_2444); } , _ => {} @@ -49841,17 +49855,17 @@ pub fn deser_structure_fpga_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("fpgas") /* Fpgas com.amazonaws.ec2#FpgaInfo$Fpgas */ => { - let var_2444 = + let var_2445 = Some( crate::xml_deser::deser_list_fpga_device_info_list(&mut tag) ? ) ; - builder = builder.set_fpgas(var_2444); + builder = builder.set_fpgas(var_2445); } , s if s.matches("totalFpgaMemoryInMiB") /* TotalFpgaMemoryInMiB com.amazonaws.ec2#FpgaInfo$TotalFpgaMemoryInMiB */ => { - let var_2445 = + let var_2446 = Some( { ::parse_smithy_primitive( @@ -49862,7 +49876,7 @@ pub fn deser_structure_fpga_info( ? ) ; - builder = builder.set_total_fpga_memory_in_mi_b(var_2445); + builder = builder.set_total_fpga_memory_in_mi_b(var_2446); } , _ => {} @@ -49879,13 +49893,13 @@ pub fn deser_structure_placement_group_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("supportedStrategies") /* SupportedStrategies com.amazonaws.ec2#PlacementGroupInfo$SupportedStrategies */ => { - let var_2446 = + let var_2447 = Some( crate::xml_deser::deser_list_placement_group_strategy_list(&mut tag) ? ) ; - builder = builder.set_supported_strategies(var_2446); + builder = builder.set_supported_strategies(var_2447); } , _ => {} @@ -49902,13 +49916,13 @@ pub fn deser_structure_inference_accelerator_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("accelerators") /* Accelerators com.amazonaws.ec2#InferenceAcceleratorInfo$Accelerators */ => { - let var_2447 = + let var_2448 = Some( crate::xml_deser::deser_list_inference_device_info_list(&mut tag) ? ) ; - builder = builder.set_accelerators(var_2447); + builder = builder.set_accelerators(var_2448); } , _ => {} @@ -50087,7 +50101,7 @@ pub fn deser_structure_scheduled_instance_recurrence( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("frequency") /* Frequency com.amazonaws.ec2#ScheduledInstanceRecurrence$Frequency */ => { - let var_2448 = + let var_2449 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50096,11 +50110,11 @@ pub fn deser_structure_scheduled_instance_recurrence( ? ) ; - builder = builder.set_frequency(var_2448); + builder = builder.set_frequency(var_2449); } , s if s.matches("interval") /* Interval com.amazonaws.ec2#ScheduledInstanceRecurrence$Interval */ => { - let var_2449 = + let var_2450 = Some( { ::parse_smithy_primitive( @@ -50111,21 +50125,21 @@ pub fn deser_structure_scheduled_instance_recurrence( ? ) ; - builder = builder.set_interval(var_2449); + builder = builder.set_interval(var_2450); } , s if s.matches("occurrenceDaySet") /* OccurrenceDaySet com.amazonaws.ec2#ScheduledInstanceRecurrence$OccurrenceDaySet */ => { - let var_2450 = + let var_2451 = Some( crate::xml_deser::deser_list_occurrence_day_set(&mut tag) ? ) ; - builder = builder.set_occurrence_day_set(var_2450); + builder = builder.set_occurrence_day_set(var_2451); } , s if s.matches("occurrenceRelativeToEnd") /* OccurrenceRelativeToEnd com.amazonaws.ec2#ScheduledInstanceRecurrence$OccurrenceRelativeToEnd */ => { - let var_2451 = + let var_2452 = Some( { ::parse_smithy_primitive( @@ -50136,11 +50150,11 @@ pub fn deser_structure_scheduled_instance_recurrence( ? ) ; - builder = builder.set_occurrence_relative_to_end(var_2451); + builder = builder.set_occurrence_relative_to_end(var_2452); } , s if s.matches("occurrenceUnit") /* OccurrenceUnit com.amazonaws.ec2#ScheduledInstanceRecurrence$OccurrenceUnit */ => { - let var_2452 = + let var_2453 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50149,7 +50163,7 @@ pub fn deser_structure_scheduled_instance_recurrence( ? ) ; - builder = builder.set_occurrence_unit(var_2452); + builder = builder.set_occurrence_unit(var_2453); } , _ => {} @@ -50166,7 +50180,7 @@ pub fn deser_structure_spot_fleet_request_config_data( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("allocationStrategy") /* AllocationStrategy com.amazonaws.ec2#SpotFleetRequestConfigData$AllocationStrategy */ => { - let var_2453 = + let var_2454 = Some( Result::::Ok( crate::model::AllocationStrategy::from( @@ -50176,11 +50190,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_allocation_strategy(var_2453); + builder = builder.set_allocation_strategy(var_2454); } , s if s.matches("onDemandAllocationStrategy") /* OnDemandAllocationStrategy com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandAllocationStrategy */ => { - let var_2454 = + let var_2455 = Some( Result::::Ok( crate::model::OnDemandAllocationStrategy::from( @@ -50190,21 +50204,21 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_on_demand_allocation_strategy(var_2454); + builder = builder.set_on_demand_allocation_strategy(var_2455); } , s if s.matches("spotMaintenanceStrategies") /* SpotMaintenanceStrategies com.amazonaws.ec2#SpotFleetRequestConfigData$SpotMaintenanceStrategies */ => { - let var_2455 = + let var_2456 = Some( crate::xml_deser::deser_structure_spot_maintenance_strategies(&mut tag) ? ) ; - builder = builder.set_spot_maintenance_strategies(var_2455); + builder = builder.set_spot_maintenance_strategies(var_2456); } , s if s.matches("clientToken") /* ClientToken com.amazonaws.ec2#SpotFleetRequestConfigData$ClientToken */ => { - let var_2456 = + let var_2457 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50213,11 +50227,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_client_token(var_2456); + builder = builder.set_client_token(var_2457); } , s if s.matches("excessCapacityTerminationPolicy") /* ExcessCapacityTerminationPolicy com.amazonaws.ec2#SpotFleetRequestConfigData$ExcessCapacityTerminationPolicy */ => { - let var_2457 = + let var_2458 = Some( Result::::Ok( crate::model::ExcessCapacityTerminationPolicy::from( @@ -50227,11 +50241,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_excess_capacity_termination_policy(var_2457); + builder = builder.set_excess_capacity_termination_policy(var_2458); } , s if s.matches("fulfilledCapacity") /* FulfilledCapacity com.amazonaws.ec2#SpotFleetRequestConfigData$FulfilledCapacity */ => { - let var_2458 = + let var_2459 = Some( { ::parse_smithy_primitive( @@ -50242,11 +50256,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_fulfilled_capacity(var_2458); + builder = builder.set_fulfilled_capacity(var_2459); } , s if s.matches("onDemandFulfilledCapacity") /* OnDemandFulfilledCapacity com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandFulfilledCapacity */ => { - let var_2459 = + let var_2460 = Some( { ::parse_smithy_primitive( @@ -50257,11 +50271,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_on_demand_fulfilled_capacity(var_2459); + builder = builder.set_on_demand_fulfilled_capacity(var_2460); } , s if s.matches("iamFleetRole") /* IamFleetRole com.amazonaws.ec2#SpotFleetRequestConfigData$IamFleetRole */ => { - let var_2460 = + let var_2461 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50270,31 +50284,31 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_iam_fleet_role(var_2460); + builder = builder.set_iam_fleet_role(var_2461); } , s if s.matches("launchSpecifications") /* LaunchSpecifications com.amazonaws.ec2#SpotFleetRequestConfigData$LaunchSpecifications */ => { - let var_2461 = + let var_2462 = Some( crate::xml_deser::deser_list_launch_specs_list(&mut tag) ? ) ; - builder = builder.set_launch_specifications(var_2461); + builder = builder.set_launch_specifications(var_2462); } , s if s.matches("launchTemplateConfigs") /* LaunchTemplateConfigs com.amazonaws.ec2#SpotFleetRequestConfigData$LaunchTemplateConfigs */ => { - let var_2462 = + let var_2463 = Some( crate::xml_deser::deser_list_launch_template_config_list(&mut tag) ? ) ; - builder = builder.set_launch_template_configs(var_2462); + builder = builder.set_launch_template_configs(var_2463); } , s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#SpotFleetRequestConfigData$SpotPrice */ => { - let var_2463 = + let var_2464 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50303,11 +50317,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_spot_price(var_2463); + builder = builder.set_spot_price(var_2464); } , s if s.matches("targetCapacity") /* TargetCapacity com.amazonaws.ec2#SpotFleetRequestConfigData$TargetCapacity */ => { - let var_2464 = + let var_2465 = Some( { ::parse_smithy_primitive( @@ -50318,11 +50332,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_target_capacity(var_2464); + builder = builder.set_target_capacity(var_2465); } , s if s.matches("onDemandTargetCapacity") /* OnDemandTargetCapacity com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandTargetCapacity */ => { - let var_2465 = + let var_2466 = Some( { ::parse_smithy_primitive( @@ -50333,11 +50347,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_on_demand_target_capacity(var_2465); + builder = builder.set_on_demand_target_capacity(var_2466); } , s if s.matches("onDemandMaxTotalPrice") /* OnDemandMaxTotalPrice com.amazonaws.ec2#SpotFleetRequestConfigData$OnDemandMaxTotalPrice */ => { - let var_2466 = + let var_2467 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50346,11 +50360,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_on_demand_max_total_price(var_2466); + builder = builder.set_on_demand_max_total_price(var_2467); } , s if s.matches("spotMaxTotalPrice") /* SpotMaxTotalPrice com.amazonaws.ec2#SpotFleetRequestConfigData$SpotMaxTotalPrice */ => { - let var_2467 = + let var_2468 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50359,11 +50373,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_spot_max_total_price(var_2467); + builder = builder.set_spot_max_total_price(var_2468); } , s if s.matches("terminateInstancesWithExpiration") /* TerminateInstancesWithExpiration com.amazonaws.ec2#SpotFleetRequestConfigData$TerminateInstancesWithExpiration */ => { - let var_2468 = + let var_2469 = Some( { ::parse_smithy_primitive( @@ -50374,11 +50388,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_terminate_instances_with_expiration(var_2468); + builder = builder.set_terminate_instances_with_expiration(var_2469); } , s if s.matches("type") /* Type com.amazonaws.ec2#SpotFleetRequestConfigData$Type */ => { - let var_2469 = + let var_2470 = Some( Result::::Ok( crate::model::FleetType::from( @@ -50388,11 +50402,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_type(var_2469); + builder = builder.set_type(var_2470); } , s if s.matches("validFrom") /* ValidFrom com.amazonaws.ec2#SpotFleetRequestConfigData$ValidFrom */ => { - let var_2470 = + let var_2471 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50402,11 +50416,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_valid_from(var_2470); + builder = builder.set_valid_from(var_2471); } , s if s.matches("validUntil") /* ValidUntil com.amazonaws.ec2#SpotFleetRequestConfigData$ValidUntil */ => { - let var_2471 = + let var_2472 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50416,11 +50430,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_valid_until(var_2471); + builder = builder.set_valid_until(var_2472); } , s if s.matches("replaceUnhealthyInstances") /* ReplaceUnhealthyInstances com.amazonaws.ec2#SpotFleetRequestConfigData$ReplaceUnhealthyInstances */ => { - let var_2472 = + let var_2473 = Some( { ::parse_smithy_primitive( @@ -50431,11 +50445,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_replace_unhealthy_instances(var_2472); + builder = builder.set_replace_unhealthy_instances(var_2473); } , s if s.matches("instanceInterruptionBehavior") /* InstanceInterruptionBehavior com.amazonaws.ec2#SpotFleetRequestConfigData$InstanceInterruptionBehavior */ => { - let var_2473 = + let var_2474 = Some( Result::::Ok( crate::model::InstanceInterruptionBehavior::from( @@ -50445,21 +50459,21 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_instance_interruption_behavior(var_2473); + builder = builder.set_instance_interruption_behavior(var_2474); } , s if s.matches("loadBalancersConfig") /* LoadBalancersConfig com.amazonaws.ec2#SpotFleetRequestConfigData$LoadBalancersConfig */ => { - let var_2474 = + let var_2475 = Some( crate::xml_deser::deser_structure_load_balancers_config(&mut tag) ? ) ; - builder = builder.set_load_balancers_config(var_2474); + builder = builder.set_load_balancers_config(var_2475); } , s if s.matches("instancePoolsToUseCount") /* InstancePoolsToUseCount com.amazonaws.ec2#SpotFleetRequestConfigData$InstancePoolsToUseCount */ => { - let var_2475 = + let var_2476 = Some( { ::parse_smithy_primitive( @@ -50470,11 +50484,11 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_instance_pools_to_use_count(var_2475); + builder = builder.set_instance_pools_to_use_count(var_2476); } , s if s.matches("context") /* Context com.amazonaws.ec2#SpotFleetRequestConfigData$Context */ => { - let var_2476 = + let var_2477 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50483,17 +50497,17 @@ pub fn deser_structure_spot_fleet_request_config_data( ? ) ; - builder = builder.set_context(var_2476); + builder = builder.set_context(var_2477); } , s if s.matches("TagSpecification") /* TagSpecifications com.amazonaws.ec2#SpotFleetRequestConfigData$TagSpecifications */ => { - let var_2477 = + let var_2478 = Some( crate::xml_deser::deser_list_tag_specification_list(&mut tag) ? ) ; - builder = builder.set_tag_specifications(var_2477); + builder = builder.set_tag_specifications(var_2478); } , _ => {} @@ -50510,7 +50524,7 @@ pub fn deser_structure_launch_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("userData") /* UserData com.amazonaws.ec2#LaunchSpecification$UserData */ => { - let var_2478 = + let var_2479 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50519,21 +50533,21 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_user_data(var_2478); + builder = builder.set_user_data(var_2479); } , s if s.matches("groupSet") /* SecurityGroups com.amazonaws.ec2#LaunchSpecification$SecurityGroups */ => { - let var_2479 = + let var_2480 = Some( crate::xml_deser::deser_list_group_identifier_list(&mut tag) ? ) ; - builder = builder.set_security_groups(var_2479); + builder = builder.set_security_groups(var_2480); } , s if s.matches("addressingType") /* AddressingType com.amazonaws.ec2#LaunchSpecification$AddressingType */ => { - let var_2480 = + let var_2481 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50542,21 +50556,21 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_addressing_type(var_2480); + builder = builder.set_addressing_type(var_2481); } , s if s.matches("blockDeviceMapping") /* BlockDeviceMappings com.amazonaws.ec2#LaunchSpecification$BlockDeviceMappings */ => { - let var_2481 = + let var_2482 = Some( crate::xml_deser::deser_list_block_device_mapping_list(&mut tag) ? ) ; - builder = builder.set_block_device_mappings(var_2481); + builder = builder.set_block_device_mappings(var_2482); } , s if s.matches("ebsOptimized") /* EbsOptimized com.amazonaws.ec2#LaunchSpecification$EbsOptimized */ => { - let var_2482 = + let var_2483 = Some( { ::parse_smithy_primitive( @@ -50567,21 +50581,21 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_ebs_optimized(var_2482); + builder = builder.set_ebs_optimized(var_2483); } , s if s.matches("iamInstanceProfile") /* IamInstanceProfile com.amazonaws.ec2#LaunchSpecification$IamInstanceProfile */ => { - let var_2483 = + let var_2484 = Some( crate::xml_deser::deser_structure_iam_instance_profile_specification(&mut tag) ? ) ; - builder = builder.set_iam_instance_profile(var_2483); + builder = builder.set_iam_instance_profile(var_2484); } , s if s.matches("imageId") /* ImageId com.amazonaws.ec2#LaunchSpecification$ImageId */ => { - let var_2484 = + let var_2485 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50590,11 +50604,11 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_image_id(var_2484); + builder = builder.set_image_id(var_2485); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#LaunchSpecification$InstanceType */ => { - let var_2485 = + let var_2486 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -50604,11 +50618,11 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_instance_type(var_2485); + builder = builder.set_instance_type(var_2486); } , s if s.matches("kernelId") /* KernelId com.amazonaws.ec2#LaunchSpecification$KernelId */ => { - let var_2486 = + let var_2487 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50617,11 +50631,11 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_kernel_id(var_2486); + builder = builder.set_kernel_id(var_2487); } , s if s.matches("keyName") /* KeyName com.amazonaws.ec2#LaunchSpecification$KeyName */ => { - let var_2487 = + let var_2488 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50630,31 +50644,31 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_key_name(var_2487); + builder = builder.set_key_name(var_2488); } , s if s.matches("networkInterfaceSet") /* NetworkInterfaces com.amazonaws.ec2#LaunchSpecification$NetworkInterfaces */ => { - let var_2488 = + let var_2489 = Some( crate::xml_deser::deser_list_instance_network_interface_specification_list(&mut tag) ? ) ; - builder = builder.set_network_interfaces(var_2488); + builder = builder.set_network_interfaces(var_2489); } , s if s.matches("placement") /* Placement com.amazonaws.ec2#LaunchSpecification$Placement */ => { - let var_2489 = + let var_2490 = Some( crate::xml_deser::deser_structure_spot_placement(&mut tag) ? ) ; - builder = builder.set_placement(var_2489); + builder = builder.set_placement(var_2490); } , s if s.matches("ramdiskId") /* RamdiskId com.amazonaws.ec2#LaunchSpecification$RamdiskId */ => { - let var_2490 = + let var_2491 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50663,11 +50677,11 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_ramdisk_id(var_2490); + builder = builder.set_ramdisk_id(var_2491); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#LaunchSpecification$SubnetId */ => { - let var_2491 = + let var_2492 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50676,17 +50690,17 @@ pub fn deser_structure_launch_specification( ? ) ; - builder = builder.set_subnet_id(var_2491); + builder = builder.set_subnet_id(var_2492); } , s if s.matches("monitoring") /* Monitoring com.amazonaws.ec2#LaunchSpecification$Monitoring */ => { - let var_2492 = + let var_2493 = Some( crate::xml_deser::deser_structure_run_instances_monitoring_enabled(&mut tag) ? ) ; - builder = builder.set_monitoring(var_2492); + builder = builder.set_monitoring(var_2493); } , _ => {} @@ -50703,7 +50717,7 @@ pub fn deser_structure_spot_instance_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#SpotInstanceStatus$Code */ => { - let var_2493 = + let var_2494 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50712,11 +50726,11 @@ pub fn deser_structure_spot_instance_status( ? ) ; - builder = builder.set_code(var_2493); + builder = builder.set_code(var_2494); } , s if s.matches("message") /* Message com.amazonaws.ec2#SpotInstanceStatus$Message */ => { - let var_2494 = + let var_2495 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50725,11 +50739,11 @@ pub fn deser_structure_spot_instance_status( ? ) ; - builder = builder.set_message(var_2494); + builder = builder.set_message(var_2495); } , s if s.matches("updateTime") /* UpdateTime com.amazonaws.ec2#SpotInstanceStatus$UpdateTime */ => { - let var_2495 = + let var_2496 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50739,7 +50753,7 @@ pub fn deser_structure_spot_instance_status( ? ) ; - builder = builder.set_update_time(var_2495); + builder = builder.set_update_time(var_2496); } , _ => {} @@ -50775,7 +50789,7 @@ pub fn deser_structure_transit_gateway_attachment_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayRouteTableId") /* TransitGatewayRouteTableId com.amazonaws.ec2#TransitGatewayAttachmentAssociation$TransitGatewayRouteTableId */ => { - let var_2496 = + let var_2497 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50784,11 +50798,11 @@ pub fn deser_structure_transit_gateway_attachment_association( ? ) ; - builder = builder.set_transit_gateway_route_table_id(var_2496); + builder = builder.set_transit_gateway_route_table_id(var_2497); } , s if s.matches("state") /* State com.amazonaws.ec2#TransitGatewayAttachmentAssociation$State */ => { - let var_2497 = + let var_2498 = Some( Result::::Ok( crate::model::TransitGatewayAssociationState::from( @@ -50798,7 +50812,7 @@ pub fn deser_structure_transit_gateway_attachment_association( ? ) ; - builder = builder.set_state(var_2497); + builder = builder.set_state(var_2498); } , _ => {} @@ -50853,17 +50867,17 @@ pub fn deser_structure_volume_status_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("details") /* Details com.amazonaws.ec2#VolumeStatusInfo$Details */ => { - let var_2498 = + let var_2499 = Some( crate::xml_deser::deser_list_volume_status_details_list(&mut tag) ? ) ; - builder = builder.set_details(var_2498); + builder = builder.set_details(var_2499); } , s if s.matches("status") /* Status com.amazonaws.ec2#VolumeStatusInfo$Status */ => { - let var_2499 = + let var_2500 = Some( Result::::Ok( crate::model::VolumeStatusInfoStatus::from( @@ -50873,7 +50887,7 @@ pub fn deser_structure_volume_status_info( ? ) ; - builder = builder.set_status(var_2499); + builder = builder.set_status(var_2500); } , _ => {} @@ -50973,7 +50987,7 @@ pub fn deser_structure_launch_template_block_device_mapping( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("deviceName") /* DeviceName com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping$DeviceName */ => { - let var_2500 = + let var_2501 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50982,11 +50996,11 @@ pub fn deser_structure_launch_template_block_device_mapping( ? ) ; - builder = builder.set_device_name(var_2500); + builder = builder.set_device_name(var_2501); } , s if s.matches("virtualName") /* VirtualName com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping$VirtualName */ => { - let var_2501 = + let var_2502 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -50995,21 +51009,21 @@ pub fn deser_structure_launch_template_block_device_mapping( ? ) ; - builder = builder.set_virtual_name(var_2501); + builder = builder.set_virtual_name(var_2502); } , s if s.matches("ebs") /* Ebs com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping$Ebs */ => { - let var_2502 = + let var_2503 = Some( crate::xml_deser::deser_structure_launch_template_ebs_block_device(&mut tag) ? ) ; - builder = builder.set_ebs(var_2502); + builder = builder.set_ebs(var_2503); } , s if s.matches("noDevice") /* NoDevice com.amazonaws.ec2#LaunchTemplateBlockDeviceMapping$NoDevice */ => { - let var_2503 = + let var_2504 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51018,7 +51032,7 @@ pub fn deser_structure_launch_template_block_device_mapping( ? ) ; - builder = builder.set_no_device(var_2503); + builder = builder.set_no_device(var_2504); } , _ => {} @@ -51038,7 +51052,7 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("associateCarrierIpAddress") /* AssociateCarrierIpAddress com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$AssociateCarrierIpAddress */ => { - let var_2504 = + let var_2505 = Some( { ::parse_smithy_primitive( @@ -51049,11 +51063,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_associate_carrier_ip_address(var_2504); + builder = builder.set_associate_carrier_ip_address(var_2505); } , s if s.matches("associatePublicIpAddress") /* AssociatePublicIpAddress com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$AssociatePublicIpAddress */ => { - let var_2505 = + let var_2506 = Some( { ::parse_smithy_primitive( @@ -51064,11 +51078,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_associate_public_ip_address(var_2505); + builder = builder.set_associate_public_ip_address(var_2506); } , s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$DeleteOnTermination */ => { - let var_2506 = + let var_2507 = Some( { ::parse_smithy_primitive( @@ -51079,11 +51093,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_delete_on_termination(var_2506); + builder = builder.set_delete_on_termination(var_2507); } , s if s.matches("description") /* Description com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Description */ => { - let var_2507 = + let var_2508 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51092,11 +51106,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_description(var_2507); + builder = builder.set_description(var_2508); } , s if s.matches("deviceIndex") /* DeviceIndex com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$DeviceIndex */ => { - let var_2508 = + let var_2509 = Some( { ::parse_smithy_primitive( @@ -51107,21 +51121,21 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_device_index(var_2508); + builder = builder.set_device_index(var_2509); } , s if s.matches("groupSet") /* Groups com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Groups */ => { - let var_2509 = + let var_2510 = Some( crate::xml_deser::deser_list_group_id_string_list(&mut tag) ? ) ; - builder = builder.set_groups(var_2509); + builder = builder.set_groups(var_2510); } , s if s.matches("interfaceType") /* InterfaceType com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$InterfaceType */ => { - let var_2510 = + let var_2511 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51130,11 +51144,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_interface_type(var_2510); + builder = builder.set_interface_type(var_2511); } , s if s.matches("ipv6AddressCount") /* Ipv6AddressCount com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv6AddressCount */ => { - let var_2511 = + let var_2512 = Some( { ::parse_smithy_primitive( @@ -51145,21 +51159,21 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv6_address_count(var_2511); + builder = builder.set_ipv6_address_count(var_2512); } , s if s.matches("ipv6AddressesSet") /* Ipv6Addresses com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv6Addresses */ => { - let var_2512 = + let var_2513 = Some( crate::xml_deser::deser_list_instance_ipv6_address_list(&mut tag) ? ) ; - builder = builder.set_ipv6_addresses(var_2512); + builder = builder.set_ipv6_addresses(var_2513); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$NetworkInterfaceId */ => { - let var_2513 = + let var_2514 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51168,11 +51182,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_network_interface_id(var_2513); + builder = builder.set_network_interface_id(var_2514); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$PrivateIpAddress */ => { - let var_2514 = + let var_2515 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51181,21 +51195,21 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_private_ip_address(var_2514); + builder = builder.set_private_ip_address(var_2515); } , s if s.matches("privateIpAddressesSet") /* PrivateIpAddresses com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$PrivateIpAddresses */ => { - let var_2515 = + let var_2516 = Some( crate::xml_deser::deser_list_private_ip_address_specification_list(&mut tag) ? ) ; - builder = builder.set_private_ip_addresses(var_2515); + builder = builder.set_private_ip_addresses(var_2516); } , s if s.matches("secondaryPrivateIpAddressCount") /* SecondaryPrivateIpAddressCount com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount */ => { - let var_2516 = + let var_2517 = Some( { ::parse_smithy_primitive( @@ -51206,11 +51220,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_secondary_private_ip_address_count(var_2516); + builder = builder.set_secondary_private_ip_address_count(var_2517); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$SubnetId */ => { - let var_2517 = + let var_2518 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51219,11 +51233,11 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_subnet_id(var_2517); + builder = builder.set_subnet_id(var_2518); } , s if s.matches("networkCardIndex") /* NetworkCardIndex com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$NetworkCardIndex */ => { - let var_2518 = + let var_2519 = Some( { ::parse_smithy_primitive( @@ -51234,21 +51248,21 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_network_card_index(var_2518); + builder = builder.set_network_card_index(var_2519); } , s if s.matches("ipv4PrefixSet") /* Ipv4Prefixes com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv4Prefixes */ => { - let var_2519 = + let var_2520 = Some( crate::xml_deser::deser_list_ipv4_prefix_list_response(&mut tag) ? ) ; - builder = builder.set_ipv4_prefixes(var_2519); + builder = builder.set_ipv4_prefixes(var_2520); } , s if s.matches("ipv4PrefixCount") /* Ipv4PrefixCount com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv4PrefixCount */ => { - let var_2520 = + let var_2521 = Some( { ::parse_smithy_primitive( @@ -51259,21 +51273,21 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv4_prefix_count(var_2520); + builder = builder.set_ipv4_prefix_count(var_2521); } , s if s.matches("ipv6PrefixSet") /* Ipv6Prefixes com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv6Prefixes */ => { - let var_2521 = + let var_2522 = Some( crate::xml_deser::deser_list_ipv6_prefix_list_response(&mut tag) ? ) ; - builder = builder.set_ipv6_prefixes(var_2521); + builder = builder.set_ipv6_prefixes(var_2522); } , s if s.matches("ipv6PrefixCount") /* Ipv6PrefixCount com.amazonaws.ec2#LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv6PrefixCount */ => { - let var_2522 = + let var_2523 = Some( { ::parse_smithy_primitive( @@ -51284,7 +51298,7 @@ pub fn deser_structure_launch_template_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv6_prefix_count(var_2522); + builder = builder.set_ipv6_prefix_count(var_2523); } , _ => {} @@ -51301,7 +51315,7 @@ pub fn deser_structure_launch_template_tag_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#LaunchTemplateTagSpecification$ResourceType */ => { - let var_2523 = + let var_2524 = Some( Result::::Ok( crate::model::ResourceType::from( @@ -51311,17 +51325,17 @@ pub fn deser_structure_launch_template_tag_specification( ? ) ; - builder = builder.set_resource_type(var_2523); + builder = builder.set_resource_type(var_2524); } , s if s.matches("tagSet") /* Tags com.amazonaws.ec2#LaunchTemplateTagSpecification$Tags */ => { - let var_2524 = + let var_2525 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2524); + builder = builder.set_tags(var_2525); } , _ => {} @@ -51338,7 +51352,7 @@ pub fn deser_structure_elastic_gpu_specification_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("type") /* Type com.amazonaws.ec2#ElasticGpuSpecificationResponse$Type */ => { - let var_2525 = + let var_2526 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51347,7 +51361,7 @@ pub fn deser_structure_elastic_gpu_specification_response( ? ) ; - builder = builder.set_type(var_2525); + builder = builder.set_type(var_2526); } , _ => {} @@ -51367,7 +51381,7 @@ pub fn deser_structure_launch_template_elastic_inference_accelerator_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("type") /* Type com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse$Type */ => { - let var_2526 = + let var_2527 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51376,11 +51390,11 @@ pub fn deser_structure_launch_template_elastic_inference_accelerator_response( ? ) ; - builder = builder.set_type(var_2526); + builder = builder.set_type(var_2527); } , s if s.matches("count") /* Count com.amazonaws.ec2#LaunchTemplateElasticInferenceAcceleratorResponse$Count */ => { - let var_2527 = + let var_2528 = Some( { ::parse_smithy_primitive( @@ -51391,7 +51405,7 @@ pub fn deser_structure_launch_template_elastic_inference_accelerator_response( ? ) ; - builder = builder.set_count(var_2527); + builder = builder.set_count(var_2528); } , _ => {} @@ -51408,7 +51422,7 @@ pub fn deser_structure_launch_template_spot_market_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("maxPrice") /* MaxPrice com.amazonaws.ec2#LaunchTemplateSpotMarketOptions$MaxPrice */ => { - let var_2528 = + let var_2529 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51417,11 +51431,11 @@ pub fn deser_structure_launch_template_spot_market_options( ? ) ; - builder = builder.set_max_price(var_2528); + builder = builder.set_max_price(var_2529); } , s if s.matches("spotInstanceType") /* SpotInstanceType com.amazonaws.ec2#LaunchTemplateSpotMarketOptions$SpotInstanceType */ => { - let var_2529 = + let var_2530 = Some( Result::::Ok( crate::model::SpotInstanceType::from( @@ -51431,11 +51445,11 @@ pub fn deser_structure_launch_template_spot_market_options( ? ) ; - builder = builder.set_spot_instance_type(var_2529); + builder = builder.set_spot_instance_type(var_2530); } , s if s.matches("blockDurationMinutes") /* BlockDurationMinutes com.amazonaws.ec2#LaunchTemplateSpotMarketOptions$BlockDurationMinutes */ => { - let var_2530 = + let var_2531 = Some( { ::parse_smithy_primitive( @@ -51446,11 +51460,11 @@ pub fn deser_structure_launch_template_spot_market_options( ? ) ; - builder = builder.set_block_duration_minutes(var_2530); + builder = builder.set_block_duration_minutes(var_2531); } , s if s.matches("validUntil") /* ValidUntil com.amazonaws.ec2#LaunchTemplateSpotMarketOptions$ValidUntil */ => { - let var_2531 = + let var_2532 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51460,11 +51474,11 @@ pub fn deser_structure_launch_template_spot_market_options( ? ) ; - builder = builder.set_valid_until(var_2531); + builder = builder.set_valid_until(var_2532); } , s if s.matches("instanceInterruptionBehavior") /* InstanceInterruptionBehavior com.amazonaws.ec2#LaunchTemplateSpotMarketOptions$InstanceInterruptionBehavior */ => { - let var_2532 = + let var_2533 = Some( Result::::Ok( crate::model::InstanceInterruptionBehavior::from( @@ -51474,7 +51488,7 @@ pub fn deser_structure_launch_template_spot_market_options( ? ) ; - builder = builder.set_instance_interruption_behavior(var_2532); + builder = builder.set_instance_interruption_behavior(var_2533); } , _ => {} @@ -51491,7 +51505,7 @@ pub fn deser_structure_capacity_reservation_target_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("capacityReservationId") /* CapacityReservationId com.amazonaws.ec2#CapacityReservationTargetResponse$CapacityReservationId */ => { - let var_2533 = + let var_2534 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51500,11 +51514,11 @@ pub fn deser_structure_capacity_reservation_target_response( ? ) ; - builder = builder.set_capacity_reservation_id(var_2533); + builder = builder.set_capacity_reservation_id(var_2534); } , s if s.matches("capacityReservationResourceGroupArn") /* CapacityReservationResourceGroupArn com.amazonaws.ec2#CapacityReservationTargetResponse$CapacityReservationResourceGroupArn */ => { - let var_2534 = + let var_2535 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51513,7 +51527,7 @@ pub fn deser_structure_capacity_reservation_target_response( ? ) ; - builder = builder.set_capacity_reservation_resource_group_arn(var_2534); + builder = builder.set_capacity_reservation_resource_group_arn(var_2535); } , _ => {} @@ -51530,7 +51544,7 @@ pub fn deser_structure_launch_template_license_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("licenseConfigurationArn") /* LicenseConfigurationArn com.amazonaws.ec2#LaunchTemplateLicenseConfiguration$LicenseConfigurationArn */ => { - let var_2535 = + let var_2536 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51539,7 +51553,7 @@ pub fn deser_structure_launch_template_license_configuration( ? ) ; - builder = builder.set_license_configuration_arn(var_2535); + builder = builder.set_license_configuration_arn(var_2536); } , _ => {} @@ -51556,7 +51570,7 @@ pub fn deser_structure_target_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceCount") /* InstanceCount com.amazonaws.ec2#TargetConfiguration$InstanceCount */ => { - let var_2536 = + let var_2537 = Some( { ::parse_smithy_primitive( @@ -51567,11 +51581,11 @@ pub fn deser_structure_target_configuration( ? ) ; - builder = builder.set_instance_count(var_2536); + builder = builder.set_instance_count(var_2537); } , s if s.matches("offeringId") /* OfferingId com.amazonaws.ec2#TargetConfiguration$OfferingId */ => { - let var_2537 = + let var_2538 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51580,7 +51594,7 @@ pub fn deser_structure_target_configuration( ? ) ; - builder = builder.set_offering_id(var_2537); + builder = builder.set_offering_id(var_2538); } , _ => {} @@ -51617,7 +51631,7 @@ pub fn deser_structure_disk_image_description( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("checksum") /* Checksum com.amazonaws.ec2#DiskImageDescription$Checksum */ => { - let var_2538 = + let var_2539 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51626,11 +51640,11 @@ pub fn deser_structure_disk_image_description( ? ) ; - builder = builder.set_checksum(var_2538); + builder = builder.set_checksum(var_2539); } , s if s.matches("format") /* Format com.amazonaws.ec2#DiskImageDescription$Format */ => { - let var_2539 = + let var_2540 = Some( Result::::Ok( crate::model::DiskImageFormat::from( @@ -51640,11 +51654,11 @@ pub fn deser_structure_disk_image_description( ? ) ; - builder = builder.set_format(var_2539); + builder = builder.set_format(var_2540); } , s if s.matches("importManifestUrl") /* ImportManifestUrl com.amazonaws.ec2#DiskImageDescription$ImportManifestUrl */ => { - let var_2540 = + let var_2541 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51653,11 +51667,11 @@ pub fn deser_structure_disk_image_description( ? ) ; - builder = builder.set_import_manifest_url(var_2540); + builder = builder.set_import_manifest_url(var_2541); } , s if s.matches("size") /* Size com.amazonaws.ec2#DiskImageDescription$Size */ => { - let var_2541 = + let var_2542 = Some( { ::parse_smithy_primitive( @@ -51668,7 +51682,7 @@ pub fn deser_structure_disk_image_description( ? ) ; - builder = builder.set_size(var_2541); + builder = builder.set_size(var_2542); } , _ => {} @@ -51685,7 +51699,7 @@ pub fn deser_structure_disk_image_volume_description( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("id") /* Id com.amazonaws.ec2#DiskImageVolumeDescription$Id */ => { - let var_2542 = + let var_2543 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51694,11 +51708,11 @@ pub fn deser_structure_disk_image_volume_description( ? ) ; - builder = builder.set_id(var_2542); + builder = builder.set_id(var_2543); } , s if s.matches("size") /* Size com.amazonaws.ec2#DiskImageVolumeDescription$Size */ => { - let var_2543 = + let var_2544 = Some( { ::parse_smithy_primitive( @@ -51709,7 +51723,7 @@ pub fn deser_structure_disk_image_volume_description( ? ) ; - builder = builder.set_size(var_2543); + builder = builder.set_size(var_2544); } , _ => {} @@ -51729,7 +51743,7 @@ pub fn deser_structure_unsuccessful_instance_credit_specification_item_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError$Code */ => { - let var_2544 = + let var_2545 = Some( Result::::Ok( crate::model::UnsuccessfulInstanceCreditSpecificationErrorCode::from( @@ -51739,11 +51753,11 @@ pub fn deser_structure_unsuccessful_instance_credit_specification_item_error( ? ) ; - builder = builder.set_code(var_2544); + builder = builder.set_code(var_2545); } , s if s.matches("message") /* Message com.amazonaws.ec2#UnsuccessfulInstanceCreditSpecificationItemError$Message */ => { - let var_2545 = + let var_2546 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51752,7 +51766,7 @@ pub fn deser_structure_unsuccessful_instance_credit_specification_item_error( ? ) ; - builder = builder.set_message(var_2545); + builder = builder.set_message(var_2546); } , _ => {} @@ -51769,7 +51783,7 @@ pub fn deser_structure_monitoring( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("state") /* State com.amazonaws.ec2#Monitoring$State */ => { - let var_2546 = + let var_2547 = Some( Result::::Ok( crate::model::MonitoringState::from( @@ -51779,7 +51793,7 @@ pub fn deser_structure_monitoring( ? ) ; - builder = builder.set_state(var_2546); + builder = builder.set_state(var_2547); } , _ => {} @@ -51872,7 +51886,7 @@ pub fn deser_structure_placement( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#Placement$AvailabilityZone */ => { - let var_2547 = + let var_2548 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51881,11 +51895,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_availability_zone(var_2547); + builder = builder.set_availability_zone(var_2548); } , s if s.matches("affinity") /* Affinity com.amazonaws.ec2#Placement$Affinity */ => { - let var_2548 = + let var_2549 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51894,11 +51908,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_affinity(var_2548); + builder = builder.set_affinity(var_2549); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#Placement$GroupName */ => { - let var_2549 = + let var_2550 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51907,11 +51921,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_group_name(var_2549); + builder = builder.set_group_name(var_2550); } , s if s.matches("partitionNumber") /* PartitionNumber com.amazonaws.ec2#Placement$PartitionNumber */ => { - let var_2550 = + let var_2551 = Some( { ::parse_smithy_primitive( @@ -51922,11 +51936,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_partition_number(var_2550); + builder = builder.set_partition_number(var_2551); } , s if s.matches("hostId") /* HostId com.amazonaws.ec2#Placement$HostId */ => { - let var_2551 = + let var_2552 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51935,11 +51949,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_host_id(var_2551); + builder = builder.set_host_id(var_2552); } , s if s.matches("tenancy") /* Tenancy com.amazonaws.ec2#Placement$Tenancy */ => { - let var_2552 = + let var_2553 = Some( Result::::Ok( crate::model::Tenancy::from( @@ -51949,11 +51963,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_tenancy(var_2552); + builder = builder.set_tenancy(var_2553); } , s if s.matches("spreadDomain") /* SpreadDomain com.amazonaws.ec2#Placement$SpreadDomain */ => { - let var_2553 = + let var_2554 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51962,11 +51976,11 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_spread_domain(var_2553); + builder = builder.set_spread_domain(var_2554); } , s if s.matches("hostResourceGroupArn") /* HostResourceGroupArn com.amazonaws.ec2#Placement$HostResourceGroupArn */ => { - let var_2554 = + let var_2555 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -51975,7 +51989,7 @@ pub fn deser_structure_placement( ? ) ; - builder = builder.set_host_resource_group_arn(var_2554); + builder = builder.set_host_resource_group_arn(var_2555); } , _ => {} @@ -52052,7 +52066,7 @@ pub fn deser_structure_cpu_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("coreCount") /* CoreCount com.amazonaws.ec2#CpuOptions$CoreCount */ => { - let var_2555 = + let var_2556 = Some( { ::parse_smithy_primitive( @@ -52063,11 +52077,11 @@ pub fn deser_structure_cpu_options( ? ) ; - builder = builder.set_core_count(var_2555); + builder = builder.set_core_count(var_2556); } , s if s.matches("threadsPerCore") /* ThreadsPerCore com.amazonaws.ec2#CpuOptions$ThreadsPerCore */ => { - let var_2556 = + let var_2557 = Some( { ::parse_smithy_primitive( @@ -52078,7 +52092,7 @@ pub fn deser_structure_cpu_options( ? ) ; - builder = builder.set_threads_per_core(var_2556); + builder = builder.set_threads_per_core(var_2557); } , _ => {} @@ -52095,7 +52109,7 @@ pub fn deser_structure_capacity_reservation_specification_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("capacityReservationPreference") /* CapacityReservationPreference com.amazonaws.ec2#CapacityReservationSpecificationResponse$CapacityReservationPreference */ => { - let var_2557 = + let var_2558 = Some( Result::::Ok( crate::model::CapacityReservationPreference::from( @@ -52105,17 +52119,17 @@ pub fn deser_structure_capacity_reservation_specification_response( ? ) ; - builder = builder.set_capacity_reservation_preference(var_2557); + builder = builder.set_capacity_reservation_preference(var_2558); } , s if s.matches("capacityReservationTarget") /* CapacityReservationTarget com.amazonaws.ec2#CapacityReservationSpecificationResponse$CapacityReservationTarget */ => { - let var_2558 = + let var_2559 = Some( crate::xml_deser::deser_structure_capacity_reservation_target_response(&mut tag) ? ) ; - builder = builder.set_capacity_reservation_target(var_2558); + builder = builder.set_capacity_reservation_target(var_2559); } , _ => {} @@ -52132,7 +52146,7 @@ pub fn deser_structure_hibernation_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("configured") /* Configured com.amazonaws.ec2#HibernationOptions$Configured */ => { - let var_2559 = + let var_2560 = Some( { ::parse_smithy_primitive( @@ -52143,7 +52157,7 @@ pub fn deser_structure_hibernation_options( ? ) ; - builder = builder.set_configured(var_2559); + builder = builder.set_configured(var_2560); } , _ => {} @@ -52179,7 +52193,7 @@ pub fn deser_structure_path_component( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("sequenceNumber") /* SequenceNumber com.amazonaws.ec2#PathComponent$SequenceNumber */ => { - let var_2560 = + let var_2561 = Some( { ::parse_smithy_primitive( @@ -52190,107 +52204,107 @@ pub fn deser_structure_path_component( ? ) ; - builder = builder.set_sequence_number(var_2560); + builder = builder.set_sequence_number(var_2561); } , s if s.matches("aclRule") /* AclRule com.amazonaws.ec2#PathComponent$AclRule */ => { - let var_2561 = + let var_2562 = Some( crate::xml_deser::deser_structure_analysis_acl_rule(&mut tag) ? ) ; - builder = builder.set_acl_rule(var_2561); + builder = builder.set_acl_rule(var_2562); } , s if s.matches("component") /* Component com.amazonaws.ec2#PathComponent$Component */ => { - let var_2562 = + let var_2563 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_component(var_2562); + builder = builder.set_component(var_2563); } , s if s.matches("destinationVpc") /* DestinationVpc com.amazonaws.ec2#PathComponent$DestinationVpc */ => { - let var_2563 = + let var_2564 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_destination_vpc(var_2563); + builder = builder.set_destination_vpc(var_2564); } , s if s.matches("outboundHeader") /* OutboundHeader com.amazonaws.ec2#PathComponent$OutboundHeader */ => { - let var_2564 = + let var_2565 = Some( crate::xml_deser::deser_structure_analysis_packet_header(&mut tag) ? ) ; - builder = builder.set_outbound_header(var_2564); + builder = builder.set_outbound_header(var_2565); } , s if s.matches("inboundHeader") /* InboundHeader com.amazonaws.ec2#PathComponent$InboundHeader */ => { - let var_2565 = + let var_2566 = Some( crate::xml_deser::deser_structure_analysis_packet_header(&mut tag) ? ) ; - builder = builder.set_inbound_header(var_2565); + builder = builder.set_inbound_header(var_2566); } , s if s.matches("routeTableRoute") /* RouteTableRoute com.amazonaws.ec2#PathComponent$RouteTableRoute */ => { - let var_2566 = + let var_2567 = Some( crate::xml_deser::deser_structure_analysis_route_table_route(&mut tag) ? ) ; - builder = builder.set_route_table_route(var_2566); + builder = builder.set_route_table_route(var_2567); } , s if s.matches("securityGroupRule") /* SecurityGroupRule com.amazonaws.ec2#PathComponent$SecurityGroupRule */ => { - let var_2567 = + let var_2568 = Some( crate::xml_deser::deser_structure_analysis_security_group_rule(&mut tag) ? ) ; - builder = builder.set_security_group_rule(var_2567); + builder = builder.set_security_group_rule(var_2568); } , s if s.matches("sourceVpc") /* SourceVpc com.amazonaws.ec2#PathComponent$SourceVpc */ => { - let var_2568 = + let var_2569 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_source_vpc(var_2568); + builder = builder.set_source_vpc(var_2569); } , s if s.matches("subnet") /* Subnet com.amazonaws.ec2#PathComponent$Subnet */ => { - let var_2569 = + let var_2570 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_subnet(var_2569); + builder = builder.set_subnet(var_2570); } , s if s.matches("vpc") /* Vpc com.amazonaws.ec2#PathComponent$Vpc */ => { - let var_2570 = + let var_2571 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpc(var_2570); + builder = builder.set_vpc(var_2571); } , _ => {} @@ -52307,27 +52321,27 @@ pub fn deser_structure_explanation( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("acl") /* Acl com.amazonaws.ec2#Explanation$Acl */ => { - let var_2571 = + let var_2572 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_acl(var_2571); + builder = builder.set_acl(var_2572); } , s if s.matches("aclRule") /* AclRule com.amazonaws.ec2#Explanation$AclRule */ => { - let var_2572 = + let var_2573 = Some( crate::xml_deser::deser_structure_analysis_acl_rule(&mut tag) ? ) ; - builder = builder.set_acl_rule(var_2572); + builder = builder.set_acl_rule(var_2573); } , s if s.matches("address") /* Address com.amazonaws.ec2#Explanation$Address */ => { - let var_2573 = + let var_2574 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52336,91 +52350,91 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_address(var_2573); + builder = builder.set_address(var_2574); } , s if s.matches("addressSet") /* Addresses com.amazonaws.ec2#Explanation$Addresses */ => { - let var_2574 = + let var_2575 = Some( crate::xml_deser::deser_list_ip_address_list(&mut tag) ? ) ; - builder = builder.set_addresses(var_2574); + builder = builder.set_addresses(var_2575); } , s if s.matches("attachedTo") /* AttachedTo com.amazonaws.ec2#Explanation$AttachedTo */ => { - let var_2575 = + let var_2576 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_attached_to(var_2575); + builder = builder.set_attached_to(var_2576); } , s if s.matches("availabilityZoneSet") /* AvailabilityZones com.amazonaws.ec2#Explanation$AvailabilityZones */ => { - let var_2576 = + let var_2577 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_availability_zones(var_2576); + builder = builder.set_availability_zones(var_2577); } , s if s.matches("cidrSet") /* Cidrs com.amazonaws.ec2#Explanation$Cidrs */ => { - let var_2577 = + let var_2578 = Some( crate::xml_deser::deser_list_value_string_list(&mut tag) ? ) ; - builder = builder.set_cidrs(var_2577); + builder = builder.set_cidrs(var_2578); } , s if s.matches("component") /* Component com.amazonaws.ec2#Explanation$Component */ => { - let var_2578 = + let var_2579 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_component(var_2578); + builder = builder.set_component(var_2579); } , s if s.matches("customerGateway") /* CustomerGateway com.amazonaws.ec2#Explanation$CustomerGateway */ => { - let var_2579 = + let var_2580 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_customer_gateway(var_2579); + builder = builder.set_customer_gateway(var_2580); } , s if s.matches("destination") /* Destination com.amazonaws.ec2#Explanation$Destination */ => { - let var_2580 = + let var_2581 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_destination(var_2580); + builder = builder.set_destination(var_2581); } , s if s.matches("destinationVpc") /* DestinationVpc com.amazonaws.ec2#Explanation$DestinationVpc */ => { - let var_2581 = + let var_2582 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_destination_vpc(var_2581); + builder = builder.set_destination_vpc(var_2582); } , s if s.matches("direction") /* Direction com.amazonaws.ec2#Explanation$Direction */ => { - let var_2582 = + let var_2583 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52429,11 +52443,11 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_direction(var_2582); + builder = builder.set_direction(var_2583); } , s if s.matches("explanationCode") /* ExplanationCode com.amazonaws.ec2#Explanation$ExplanationCode */ => { - let var_2583 = + let var_2584 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52442,31 +52456,31 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_explanation_code(var_2583); + builder = builder.set_explanation_code(var_2584); } , s if s.matches("ingressRouteTable") /* IngressRouteTable com.amazonaws.ec2#Explanation$IngressRouteTable */ => { - let var_2584 = + let var_2585 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_ingress_route_table(var_2584); + builder = builder.set_ingress_route_table(var_2585); } , s if s.matches("internetGateway") /* InternetGateway com.amazonaws.ec2#Explanation$InternetGateway */ => { - let var_2585 = + let var_2586 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_internet_gateway(var_2585); + builder = builder.set_internet_gateway(var_2586); } , s if s.matches("loadBalancerArn") /* LoadBalancerArn com.amazonaws.ec2#Explanation$LoadBalancerArn */ => { - let var_2586 = + let var_2587 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52475,21 +52489,21 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_load_balancer_arn(var_2586); + builder = builder.set_load_balancer_arn(var_2587); } , s if s.matches("classicLoadBalancerListener") /* ClassicLoadBalancerListener com.amazonaws.ec2#Explanation$ClassicLoadBalancerListener */ => { - let var_2587 = + let var_2588 = Some( crate::xml_deser::deser_structure_analysis_load_balancer_listener(&mut tag) ? ) ; - builder = builder.set_classic_load_balancer_listener(var_2587); + builder = builder.set_classic_load_balancer_listener(var_2588); } , s if s.matches("loadBalancerListenerPort") /* LoadBalancerListenerPort com.amazonaws.ec2#Explanation$LoadBalancerListenerPort */ => { - let var_2588 = + let var_2589 = Some( { ::parse_smithy_primitive( @@ -52500,41 +52514,41 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_load_balancer_listener_port(var_2588); + builder = builder.set_load_balancer_listener_port(var_2589); } , s if s.matches("loadBalancerTarget") /* LoadBalancerTarget com.amazonaws.ec2#Explanation$LoadBalancerTarget */ => { - let var_2589 = + let var_2590 = Some( crate::xml_deser::deser_structure_analysis_load_balancer_target(&mut tag) ? ) ; - builder = builder.set_load_balancer_target(var_2589); + builder = builder.set_load_balancer_target(var_2590); } , s if s.matches("loadBalancerTargetGroup") /* LoadBalancerTargetGroup com.amazonaws.ec2#Explanation$LoadBalancerTargetGroup */ => { - let var_2590 = + let var_2591 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_load_balancer_target_group(var_2590); + builder = builder.set_load_balancer_target_group(var_2591); } , s if s.matches("loadBalancerTargetGroupSet") /* LoadBalancerTargetGroups com.amazonaws.ec2#Explanation$LoadBalancerTargetGroups */ => { - let var_2591 = + let var_2592 = Some( crate::xml_deser::deser_list_analysis_component_list(&mut tag) ? ) ; - builder = builder.set_load_balancer_target_groups(var_2591); + builder = builder.set_load_balancer_target_groups(var_2592); } , s if s.matches("loadBalancerTargetPort") /* LoadBalancerTargetPort com.amazonaws.ec2#Explanation$LoadBalancerTargetPort */ => { - let var_2592 = + let var_2593 = Some( { ::parse_smithy_primitive( @@ -52545,21 +52559,21 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_load_balancer_target_port(var_2592); + builder = builder.set_load_balancer_target_port(var_2593); } , s if s.matches("elasticLoadBalancerListener") /* ElasticLoadBalancerListener com.amazonaws.ec2#Explanation$ElasticLoadBalancerListener */ => { - let var_2593 = + let var_2594 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_elastic_load_balancer_listener(var_2593); + builder = builder.set_elastic_load_balancer_listener(var_2594); } , s if s.matches("missingComponent") /* MissingComponent com.amazonaws.ec2#Explanation$MissingComponent */ => { - let var_2594 = + let var_2595 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52568,31 +52582,31 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_missing_component(var_2594); + builder = builder.set_missing_component(var_2595); } , s if s.matches("natGateway") /* NatGateway com.amazonaws.ec2#Explanation$NatGateway */ => { - let var_2595 = + let var_2596 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_nat_gateway(var_2595); + builder = builder.set_nat_gateway(var_2596); } , s if s.matches("networkInterface") /* NetworkInterface com.amazonaws.ec2#Explanation$NetworkInterface */ => { - let var_2596 = + let var_2597 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_network_interface(var_2596); + builder = builder.set_network_interface(var_2597); } , s if s.matches("packetField") /* PacketField com.amazonaws.ec2#Explanation$PacketField */ => { - let var_2597 = + let var_2598 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52601,21 +52615,21 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_packet_field(var_2597); + builder = builder.set_packet_field(var_2598); } , s if s.matches("vpcPeeringConnection") /* VpcPeeringConnection com.amazonaws.ec2#Explanation$VpcPeeringConnection */ => { - let var_2598 = + let var_2599 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpc_peering_connection(var_2598); + builder = builder.set_vpc_peering_connection(var_2599); } , s if s.matches("port") /* Port com.amazonaws.ec2#Explanation$Port */ => { - let var_2599 = + let var_2600 = Some( { ::parse_smithy_primitive( @@ -52626,101 +52640,101 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_port(var_2599); + builder = builder.set_port(var_2600); } , s if s.matches("portRangeSet") /* PortRanges com.amazonaws.ec2#Explanation$PortRanges */ => { - let var_2600 = + let var_2601 = Some( crate::xml_deser::deser_list_port_range_list(&mut tag) ? ) ; - builder = builder.set_port_ranges(var_2600); + builder = builder.set_port_ranges(var_2601); } , s if s.matches("prefixList") /* PrefixList com.amazonaws.ec2#Explanation$PrefixList */ => { - let var_2601 = + let var_2602 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_prefix_list(var_2601); + builder = builder.set_prefix_list(var_2602); } , s if s.matches("protocolSet") /* Protocols com.amazonaws.ec2#Explanation$Protocols */ => { - let var_2602 = + let var_2603 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_protocols(var_2602); + builder = builder.set_protocols(var_2603); } , s if s.matches("routeTableRoute") /* RouteTableRoute com.amazonaws.ec2#Explanation$RouteTableRoute */ => { - let var_2603 = + let var_2604 = Some( crate::xml_deser::deser_structure_analysis_route_table_route(&mut tag) ? ) ; - builder = builder.set_route_table_route(var_2603); + builder = builder.set_route_table_route(var_2604); } , s if s.matches("routeTable") /* RouteTable com.amazonaws.ec2#Explanation$RouteTable */ => { - let var_2604 = + let var_2605 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_route_table(var_2604); + builder = builder.set_route_table(var_2605); } , s if s.matches("securityGroup") /* SecurityGroup com.amazonaws.ec2#Explanation$SecurityGroup */ => { - let var_2605 = + let var_2606 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_security_group(var_2605); + builder = builder.set_security_group(var_2606); } , s if s.matches("securityGroupRule") /* SecurityGroupRule com.amazonaws.ec2#Explanation$SecurityGroupRule */ => { - let var_2606 = + let var_2607 = Some( crate::xml_deser::deser_structure_analysis_security_group_rule(&mut tag) ? ) ; - builder = builder.set_security_group_rule(var_2606); + builder = builder.set_security_group_rule(var_2607); } , s if s.matches("securityGroupSet") /* SecurityGroups com.amazonaws.ec2#Explanation$SecurityGroups */ => { - let var_2607 = + let var_2608 = Some( crate::xml_deser::deser_list_analysis_component_list(&mut tag) ? ) ; - builder = builder.set_security_groups(var_2607); + builder = builder.set_security_groups(var_2608); } , s if s.matches("sourceVpc") /* SourceVpc com.amazonaws.ec2#Explanation$SourceVpc */ => { - let var_2608 = + let var_2609 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_source_vpc(var_2608); + builder = builder.set_source_vpc(var_2609); } , s if s.matches("state") /* State com.amazonaws.ec2#Explanation$State */ => { - let var_2609 = + let var_2610 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52729,67 +52743,67 @@ pub fn deser_structure_explanation( ? ) ; - builder = builder.set_state(var_2609); + builder = builder.set_state(var_2610); } , s if s.matches("subnet") /* Subnet com.amazonaws.ec2#Explanation$Subnet */ => { - let var_2610 = + let var_2611 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_subnet(var_2610); + builder = builder.set_subnet(var_2611); } , s if s.matches("subnetRouteTable") /* SubnetRouteTable com.amazonaws.ec2#Explanation$SubnetRouteTable */ => { - let var_2611 = + let var_2612 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_subnet_route_table(var_2611); + builder = builder.set_subnet_route_table(var_2612); } , s if s.matches("vpc") /* Vpc com.amazonaws.ec2#Explanation$Vpc */ => { - let var_2612 = + let var_2613 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpc(var_2612); + builder = builder.set_vpc(var_2613); } , s if s.matches("vpcEndpoint") /* VpcEndpoint com.amazonaws.ec2#Explanation$VpcEndpoint */ => { - let var_2613 = + let var_2614 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpc_endpoint(var_2613); + builder = builder.set_vpc_endpoint(var_2614); } , s if s.matches("vpnConnection") /* VpnConnection com.amazonaws.ec2#Explanation$VpnConnection */ => { - let var_2614 = + let var_2615 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpn_connection(var_2614); + builder = builder.set_vpn_connection(var_2615); } , s if s.matches("vpnGateway") /* VpnGateway com.amazonaws.ec2#Explanation$VpnGateway */ => { - let var_2615 = + let var_2616 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_vpn_gateway(var_2615); + builder = builder.set_vpn_gateway(var_2616); } , _ => {} @@ -52806,7 +52820,7 @@ pub fn deser_structure_alternate_path_hint( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("componentId") /* ComponentId com.amazonaws.ec2#AlternatePathHint$ComponentId */ => { - let var_2616 = + let var_2617 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52815,11 +52829,11 @@ pub fn deser_structure_alternate_path_hint( ? ) ; - builder = builder.set_component_id(var_2616); + builder = builder.set_component_id(var_2617); } , s if s.matches("componentArn") /* ComponentArn com.amazonaws.ec2#AlternatePathHint$ComponentArn */ => { - let var_2617 = + let var_2618 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52828,7 +52842,7 @@ pub fn deser_structure_alternate_path_hint( ? ) ; - builder = builder.set_component_arn(var_2617); + builder = builder.set_component_arn(var_2618); } , _ => {} @@ -52845,7 +52859,7 @@ pub fn deser_structure_ipv6_cidr_block( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6CidrBlock") /* Ipv6CidrBlock com.amazonaws.ec2#Ipv6CidrBlock$Ipv6CidrBlock */ => { - let var_2618 = + let var_2619 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52854,7 +52868,7 @@ pub fn deser_structure_ipv6_cidr_block( ? ) ; - builder = builder.set_ipv6_cidr_block(var_2618); + builder = builder.set_ipv6_cidr_block(var_2619); } , _ => {} @@ -52871,7 +52885,7 @@ pub fn deser_structure_cidr_block( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidrBlock") /* CidrBlock com.amazonaws.ec2#CidrBlock$CidrBlock */ => { - let var_2619 = + let var_2620 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -52880,7 +52894,7 @@ pub fn deser_structure_cidr_block( ? ) ; - builder = builder.set_cidr_block(var_2619); + builder = builder.set_cidr_block(var_2620); } , _ => {} @@ -52897,7 +52911,7 @@ pub fn deser_structure_instance_count( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceCount") /* InstanceCount com.amazonaws.ec2#InstanceCount$InstanceCount */ => { - let var_2620 = + let var_2621 = Some( { ::parse_smithy_primitive( @@ -52908,11 +52922,11 @@ pub fn deser_structure_instance_count( ? ) ; - builder = builder.set_instance_count(var_2620); + builder = builder.set_instance_count(var_2621); } , s if s.matches("state") /* State com.amazonaws.ec2#InstanceCount$State */ => { - let var_2621 = + let var_2622 = Some( Result::::Ok( crate::model::ListingState::from( @@ -52922,7 +52936,7 @@ pub fn deser_structure_instance_count( ? ) ; - builder = builder.set_state(var_2621); + builder = builder.set_state(var_2622); } , _ => {} @@ -52939,7 +52953,7 @@ pub fn deser_structure_price_schedule( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("active") /* Active com.amazonaws.ec2#PriceSchedule$Active */ => { - let var_2622 = + let var_2623 = Some( { ::parse_smithy_primitive( @@ -52950,11 +52964,11 @@ pub fn deser_structure_price_schedule( ? ) ; - builder = builder.set_active(var_2622); + builder = builder.set_active(var_2623); } , s if s.matches("currencyCode") /* CurrencyCode com.amazonaws.ec2#PriceSchedule$CurrencyCode */ => { - let var_2623 = + let var_2624 = Some( Result::::Ok( crate::model::CurrencyCodeValues::from( @@ -52964,11 +52978,11 @@ pub fn deser_structure_price_schedule( ? ) ; - builder = builder.set_currency_code(var_2623); + builder = builder.set_currency_code(var_2624); } , s if s.matches("price") /* Price com.amazonaws.ec2#PriceSchedule$Price */ => { - let var_2624 = + let var_2625 = Some( { ::parse_smithy_primitive( @@ -52979,11 +52993,11 @@ pub fn deser_structure_price_schedule( ? ) ; - builder = builder.set_price(var_2624); + builder = builder.set_price(var_2625); } , s if s.matches("term") /* Term com.amazonaws.ec2#PriceSchedule$Term */ => { - let var_2625 = + let var_2626 = Some( { ::parse_smithy_primitive( @@ -52994,7 +53008,7 @@ pub fn deser_structure_price_schedule( ? ) ; - builder = builder.set_term(var_2625); + builder = builder.set_term(var_2626); } , _ => {} @@ -53030,7 +53044,7 @@ pub fn deser_structure_fleet_launch_template_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateId") /* LaunchTemplateId com.amazonaws.ec2#FleetLaunchTemplateSpecification$LaunchTemplateId */ => { - let var_2626 = + let var_2627 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53039,11 +53053,11 @@ pub fn deser_structure_fleet_launch_template_specification( ? ) ; - builder = builder.set_launch_template_id(var_2626); + builder = builder.set_launch_template_id(var_2627); } , s if s.matches("launchTemplateName") /* LaunchTemplateName com.amazonaws.ec2#FleetLaunchTemplateSpecification$LaunchTemplateName */ => { - let var_2627 = + let var_2628 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53052,11 +53066,11 @@ pub fn deser_structure_fleet_launch_template_specification( ? ) ; - builder = builder.set_launch_template_name(var_2627); + builder = builder.set_launch_template_name(var_2628); } , s if s.matches("version") /* Version com.amazonaws.ec2#FleetLaunchTemplateSpecification$Version */ => { - let var_2628 = + let var_2629 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53065,7 +53079,7 @@ pub fn deser_structure_fleet_launch_template_specification( ? ) ; - builder = builder.set_version(var_2628); + builder = builder.set_version(var_2629); } , _ => {} @@ -53082,7 +53096,7 @@ pub fn deser_structure_fleet_launch_template_overrides( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#FleetLaunchTemplateOverrides$InstanceType */ => { - let var_2629 = + let var_2630 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -53092,11 +53106,11 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_instance_type(var_2629); + builder = builder.set_instance_type(var_2630); } , s if s.matches("maxPrice") /* MaxPrice com.amazonaws.ec2#FleetLaunchTemplateOverrides$MaxPrice */ => { - let var_2630 = + let var_2631 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53105,11 +53119,11 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_max_price(var_2630); + builder = builder.set_max_price(var_2631); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#FleetLaunchTemplateOverrides$SubnetId */ => { - let var_2631 = + let var_2632 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53118,11 +53132,11 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_subnet_id(var_2631); + builder = builder.set_subnet_id(var_2632); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#FleetLaunchTemplateOverrides$AvailabilityZone */ => { - let var_2632 = + let var_2633 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53131,11 +53145,11 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_availability_zone(var_2632); + builder = builder.set_availability_zone(var_2633); } , s if s.matches("weightedCapacity") /* WeightedCapacity com.amazonaws.ec2#FleetLaunchTemplateOverrides$WeightedCapacity */ => { - let var_2633 = + let var_2634 = Some( { ::parse_smithy_primitive( @@ -53146,11 +53160,11 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_weighted_capacity(var_2633); + builder = builder.set_weighted_capacity(var_2634); } , s if s.matches("priority") /* Priority com.amazonaws.ec2#FleetLaunchTemplateOverrides$Priority */ => { - let var_2634 = + let var_2635 = Some( { ::parse_smithy_primitive( @@ -53161,17 +53175,17 @@ pub fn deser_structure_fleet_launch_template_overrides( ? ) ; - builder = builder.set_priority(var_2634); + builder = builder.set_priority(var_2635); } , s if s.matches("placement") /* Placement com.amazonaws.ec2#FleetLaunchTemplateOverrides$Placement */ => { - let var_2635 = + let var_2636 = Some( crate::xml_deser::deser_structure_placement_response(&mut tag) ? ) ; - builder = builder.set_placement(var_2635); + builder = builder.set_placement(var_2636); } , _ => {} @@ -53188,7 +53202,7 @@ pub fn deser_structure_icmp_type_code( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#IcmpTypeCode$Code */ => { - let var_2636 = + let var_2637 = Some( { ::parse_smithy_primitive( @@ -53199,11 +53213,11 @@ pub fn deser_structure_icmp_type_code( ? ) ; - builder = builder.set_code(var_2636); + builder = builder.set_code(var_2637); } , s if s.matches("type") /* Type com.amazonaws.ec2#IcmpTypeCode$Type */ => { - let var_2637 = + let var_2638 = Some( { ::parse_smithy_primitive( @@ -53214,7 +53228,7 @@ pub fn deser_structure_icmp_type_code( ? ) ; - builder = builder.set_type(var_2637); + builder = builder.set_type(var_2638); } , _ => {} @@ -53231,7 +53245,7 @@ pub fn deser_structure_port_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("from") /* From com.amazonaws.ec2#PortRange$From */ => { - let var_2638 = + let var_2639 = Some( { ::parse_smithy_primitive( @@ -53242,11 +53256,11 @@ pub fn deser_structure_port_range( ? ) ; - builder = builder.set_from(var_2638); + builder = builder.set_from(var_2639); } , s if s.matches("to") /* To com.amazonaws.ec2#PortRange$To */ => { - let var_2639 = + let var_2640 = Some( { ::parse_smithy_primitive( @@ -53257,7 +53271,7 @@ pub fn deser_structure_port_range( ? ) ; - builder = builder.set_to(var_2639); + builder = builder.set_to(var_2640); } , _ => {} @@ -53274,7 +53288,7 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("transitGatewayAsn") /* TransitGatewayAsn com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration$TransitGatewayAsn */ => { - let var_2640 = + let var_2641 = Some( { ::parse_smithy_primitive( @@ -53285,11 +53299,11 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( ? ) ; - builder = builder.set_transit_gateway_asn(var_2640); + builder = builder.set_transit_gateway_asn(var_2641); } , s if s.matches("peerAsn") /* PeerAsn com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration$PeerAsn */ => { - let var_2641 = + let var_2642 = Some( { ::parse_smithy_primitive( @@ -53300,11 +53314,11 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( ? ) ; - builder = builder.set_peer_asn(var_2641); + builder = builder.set_peer_asn(var_2642); } , s if s.matches("transitGatewayAddress") /* TransitGatewayAddress com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration$TransitGatewayAddress */ => { - let var_2642 = + let var_2643 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53313,11 +53327,11 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( ? ) ; - builder = builder.set_transit_gateway_address(var_2642); + builder = builder.set_transit_gateway_address(var_2643); } , s if s.matches("peerAddress") /* PeerAddress com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration$PeerAddress */ => { - let var_2643 = + let var_2644 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53326,11 +53340,11 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( ? ) ; - builder = builder.set_peer_address(var_2643); + builder = builder.set_peer_address(var_2644); } , s if s.matches("bgpStatus") /* BgpStatus com.amazonaws.ec2#TransitGatewayAttachmentBgpConfiguration$BgpStatus */ => { - let var_2644 = + let var_2645 = Some( Result::::Ok( crate::model::BgpStatus::from( @@ -53340,7 +53354,7 @@ pub fn deser_structure_transit_gateway_attachment_bgp_configuration( ? ) ; - builder = builder.set_bgp_status(var_2644); + builder = builder.set_bgp_status(var_2645); } , _ => {} @@ -53357,7 +53371,7 @@ pub fn deser_structure_tunnel_option( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("outsideIpAddress") /* OutsideIpAddress com.amazonaws.ec2#TunnelOption$OutsideIpAddress */ => { - let var_2645 = + let var_2646 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53366,11 +53380,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_outside_ip_address(var_2645); + builder = builder.set_outside_ip_address(var_2646); } , s if s.matches("tunnelInsideCidr") /* TunnelInsideCidr com.amazonaws.ec2#TunnelOption$TunnelInsideCidr */ => { - let var_2646 = + let var_2647 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53379,11 +53393,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_tunnel_inside_cidr(var_2646); + builder = builder.set_tunnel_inside_cidr(var_2647); } , s if s.matches("tunnelInsideIpv6Cidr") /* TunnelInsideIpv6Cidr com.amazonaws.ec2#TunnelOption$TunnelInsideIpv6Cidr */ => { - let var_2647 = + let var_2648 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53392,11 +53406,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_tunnel_inside_ipv6_cidr(var_2647); + builder = builder.set_tunnel_inside_ipv6_cidr(var_2648); } , s if s.matches("preSharedKey") /* PreSharedKey com.amazonaws.ec2#TunnelOption$PreSharedKey */ => { - let var_2648 = + let var_2649 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53405,11 +53419,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_pre_shared_key(var_2648); + builder = builder.set_pre_shared_key(var_2649); } , s if s.matches("phase1LifetimeSeconds") /* Phase1LifetimeSeconds com.amazonaws.ec2#TunnelOption$Phase1LifetimeSeconds */ => { - let var_2649 = + let var_2650 = Some( { ::parse_smithy_primitive( @@ -53420,11 +53434,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_phase1_lifetime_seconds(var_2649); + builder = builder.set_phase1_lifetime_seconds(var_2650); } , s if s.matches("phase2LifetimeSeconds") /* Phase2LifetimeSeconds com.amazonaws.ec2#TunnelOption$Phase2LifetimeSeconds */ => { - let var_2650 = + let var_2651 = Some( { ::parse_smithy_primitive( @@ -53435,11 +53449,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_phase2_lifetime_seconds(var_2650); + builder = builder.set_phase2_lifetime_seconds(var_2651); } , s if s.matches("rekeyMarginTimeSeconds") /* RekeyMarginTimeSeconds com.amazonaws.ec2#TunnelOption$RekeyMarginTimeSeconds */ => { - let var_2651 = + let var_2652 = Some( { ::parse_smithy_primitive( @@ -53450,11 +53464,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_rekey_margin_time_seconds(var_2651); + builder = builder.set_rekey_margin_time_seconds(var_2652); } , s if s.matches("rekeyFuzzPercentage") /* RekeyFuzzPercentage com.amazonaws.ec2#TunnelOption$RekeyFuzzPercentage */ => { - let var_2652 = + let var_2653 = Some( { ::parse_smithy_primitive( @@ -53465,11 +53479,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_rekey_fuzz_percentage(var_2652); + builder = builder.set_rekey_fuzz_percentage(var_2653); } , s if s.matches("replayWindowSize") /* ReplayWindowSize com.amazonaws.ec2#TunnelOption$ReplayWindowSize */ => { - let var_2653 = + let var_2654 = Some( { ::parse_smithy_primitive( @@ -53480,11 +53494,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_replay_window_size(var_2653); + builder = builder.set_replay_window_size(var_2654); } , s if s.matches("dpdTimeoutSeconds") /* DpdTimeoutSeconds com.amazonaws.ec2#TunnelOption$DpdTimeoutSeconds */ => { - let var_2654 = + let var_2655 = Some( { ::parse_smithy_primitive( @@ -53495,11 +53509,11 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_dpd_timeout_seconds(var_2654); + builder = builder.set_dpd_timeout_seconds(var_2655); } , s if s.matches("dpdTimeoutAction") /* DpdTimeoutAction com.amazonaws.ec2#TunnelOption$DpdTimeoutAction */ => { - let var_2655 = + let var_2656 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53508,81 +53522,81 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_dpd_timeout_action(var_2655); + builder = builder.set_dpd_timeout_action(var_2656); } , s if s.matches("phase1EncryptionAlgorithmSet") /* Phase1EncryptionAlgorithms com.amazonaws.ec2#TunnelOption$Phase1EncryptionAlgorithms */ => { - let var_2656 = + let var_2657 = Some( crate::xml_deser::deser_list_phase1_encryption_algorithms_list(&mut tag) ? ) ; - builder = builder.set_phase1_encryption_algorithms(var_2656); + builder = builder.set_phase1_encryption_algorithms(var_2657); } , s if s.matches("phase2EncryptionAlgorithmSet") /* Phase2EncryptionAlgorithms com.amazonaws.ec2#TunnelOption$Phase2EncryptionAlgorithms */ => { - let var_2657 = + let var_2658 = Some( crate::xml_deser::deser_list_phase2_encryption_algorithms_list(&mut tag) ? ) ; - builder = builder.set_phase2_encryption_algorithms(var_2657); + builder = builder.set_phase2_encryption_algorithms(var_2658); } , s if s.matches("phase1IntegrityAlgorithmSet") /* Phase1IntegrityAlgorithms com.amazonaws.ec2#TunnelOption$Phase1IntegrityAlgorithms */ => { - let var_2658 = + let var_2659 = Some( crate::xml_deser::deser_list_phase1_integrity_algorithms_list(&mut tag) ? ) ; - builder = builder.set_phase1_integrity_algorithms(var_2658); + builder = builder.set_phase1_integrity_algorithms(var_2659); } , s if s.matches("phase2IntegrityAlgorithmSet") /* Phase2IntegrityAlgorithms com.amazonaws.ec2#TunnelOption$Phase2IntegrityAlgorithms */ => { - let var_2659 = + let var_2660 = Some( crate::xml_deser::deser_list_phase2_integrity_algorithms_list(&mut tag) ? ) ; - builder = builder.set_phase2_integrity_algorithms(var_2659); + builder = builder.set_phase2_integrity_algorithms(var_2660); } , s if s.matches("phase1DHGroupNumberSet") /* Phase1DHGroupNumbers com.amazonaws.ec2#TunnelOption$Phase1DHGroupNumbers */ => { - let var_2660 = + let var_2661 = Some( crate::xml_deser::deser_list_phase1_dh_group_numbers_list(&mut tag) ? ) ; - builder = builder.set_phase1_dh_group_numbers(var_2660); + builder = builder.set_phase1_dh_group_numbers(var_2661); } , s if s.matches("phase2DHGroupNumberSet") /* Phase2DHGroupNumbers com.amazonaws.ec2#TunnelOption$Phase2DHGroupNumbers */ => { - let var_2661 = + let var_2662 = Some( crate::xml_deser::deser_list_phase2_dh_group_numbers_list(&mut tag) ? ) ; - builder = builder.set_phase2_dh_group_numbers(var_2661); + builder = builder.set_phase2_dh_group_numbers(var_2662); } , s if s.matches("ikeVersionSet") /* IkeVersions com.amazonaws.ec2#TunnelOption$IkeVersions */ => { - let var_2662 = + let var_2663 = Some( crate::xml_deser::deser_list_ike_versions_list(&mut tag) ? ) ; - builder = builder.set_ike_versions(var_2662); + builder = builder.set_ike_versions(var_2663); } , s if s.matches("startupAction") /* StartupAction com.amazonaws.ec2#TunnelOption$StartupAction */ => { - let var_2663 = + let var_2664 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53591,7 +53605,7 @@ pub fn deser_structure_tunnel_option( ? ) ; - builder = builder.set_startup_action(var_2663); + builder = builder.set_startup_action(var_2664); } , _ => {} @@ -53608,7 +53622,7 @@ pub fn deser_structure_account_attribute_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("attributeValue") /* AttributeValue com.amazonaws.ec2#AccountAttributeValue$AttributeValue */ => { - let var_2664 = + let var_2665 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53617,7 +53631,7 @@ pub fn deser_structure_account_attribute_value( ? ) ; - builder = builder.set_attribute_value(var_2664); + builder = builder.set_attribute_value(var_2665); } , _ => {} @@ -53634,7 +53648,7 @@ pub fn deser_structure_availability_zone_message( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("message") /* Message com.amazonaws.ec2#AvailabilityZoneMessage$Message */ => { - let var_2665 = + let var_2666 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53643,7 +53657,7 @@ pub fn deser_structure_availability_zone_message( ? ) ; - builder = builder.set_message(var_2665); + builder = builder.set_message(var_2666); } , _ => {} @@ -53660,7 +53674,7 @@ pub fn deser_structure_associated_target_network( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("networkId") /* NetworkId com.amazonaws.ec2#AssociatedTargetNetwork$NetworkId */ => { - let var_2666 = + let var_2667 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53669,11 +53683,11 @@ pub fn deser_structure_associated_target_network( ? ) ; - builder = builder.set_network_id(var_2666); + builder = builder.set_network_id(var_2667); } , s if s.matches("networkType") /* NetworkType com.amazonaws.ec2#AssociatedTargetNetwork$NetworkType */ => { - let var_2667 = + let var_2668 = Some( Result::::Ok( crate::model::AssociatedNetworkType::from( @@ -53683,7 +53697,7 @@ pub fn deser_structure_associated_target_network( ? ) ; - builder = builder.set_network_type(var_2667); + builder = builder.set_network_type(var_2668); } , _ => {} @@ -53700,7 +53714,7 @@ pub fn deser_structure_client_vpn_authentication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("type") /* Type com.amazonaws.ec2#ClientVpnAuthentication$Type */ => { - let var_2668 = + let var_2669 = Some( Result::::Ok( crate::model::ClientVpnAuthenticationType::from( @@ -53710,37 +53724,37 @@ pub fn deser_structure_client_vpn_authentication( ? ) ; - builder = builder.set_type(var_2668); + builder = builder.set_type(var_2669); } , s if s.matches("activeDirectory") /* ActiveDirectory com.amazonaws.ec2#ClientVpnAuthentication$ActiveDirectory */ => { - let var_2669 = + let var_2670 = Some( crate::xml_deser::deser_structure_directory_service_authentication(&mut tag) ? ) ; - builder = builder.set_active_directory(var_2669); + builder = builder.set_active_directory(var_2670); } , s if s.matches("mutualAuthentication") /* MutualAuthentication com.amazonaws.ec2#ClientVpnAuthentication$MutualAuthentication */ => { - let var_2670 = + let var_2671 = Some( crate::xml_deser::deser_structure_certificate_authentication(&mut tag) ? ) ; - builder = builder.set_mutual_authentication(var_2670); + builder = builder.set_mutual_authentication(var_2671); } , s if s.matches("federatedAuthentication") /* FederatedAuthentication com.amazonaws.ec2#ClientVpnAuthentication$FederatedAuthentication */ => { - let var_2671 = + let var_2672 = Some( crate::xml_deser::deser_structure_federated_authentication(&mut tag) ? ) ; - builder = builder.set_federated_authentication(var_2671); + builder = builder.set_federated_authentication(var_2672); } , _ => {} @@ -53757,7 +53771,7 @@ pub fn deser_structure_client_vpn_endpoint_attribute_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#ClientVpnEndpointAttributeStatus$Code */ => { - let var_2672 = + let var_2673 = Some( Result::::Ok( crate::model::ClientVpnEndpointAttributeStatusCode::from( @@ -53767,11 +53781,11 @@ pub fn deser_structure_client_vpn_endpoint_attribute_status( ? ) ; - builder = builder.set_code(var_2672); + builder = builder.set_code(var_2673); } , s if s.matches("message") /* Message com.amazonaws.ec2#ClientVpnEndpointAttributeStatus$Message */ => { - let var_2673 = + let var_2674 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53780,7 +53794,7 @@ pub fn deser_structure_client_vpn_endpoint_attribute_status( ? ) ; - builder = builder.set_message(var_2673); + builder = builder.set_message(var_2674); } , _ => {} @@ -53797,23 +53811,23 @@ pub fn deser_structure_fleet_launch_template_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.ec2#FleetLaunchTemplateConfig$LaunchTemplateSpecification */ => { - let var_2674 = + let var_2675 = Some( crate::xml_deser::deser_structure_fleet_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template_specification(var_2674); + builder = builder.set_launch_template_specification(var_2675); } , s if s.matches("overrides") /* Overrides com.amazonaws.ec2#FleetLaunchTemplateConfig$Overrides */ => { - let var_2675 = + let var_2676 = Some( crate::xml_deser::deser_list_fleet_launch_template_overrides_list(&mut tag) ? ) ; - builder = builder.set_overrides(var_2675); + builder = builder.set_overrides(var_2676); } , _ => {} @@ -53830,13 +53844,13 @@ pub fn deser_structure_fleet_spot_maintenance_strategies( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("capacityRebalance") /* CapacityRebalance com.amazonaws.ec2#FleetSpotMaintenanceStrategies$CapacityRebalance */ => { - let var_2676 = + let var_2677 = Some( crate::xml_deser::deser_structure_fleet_spot_capacity_rebalance(&mut tag) ? ) ; - builder = builder.set_capacity_rebalance(var_2676); + builder = builder.set_capacity_rebalance(var_2677); } , _ => {} @@ -53853,7 +53867,7 @@ pub fn deser_structure_capacity_reservation_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("usageStrategy") /* UsageStrategy com.amazonaws.ec2#CapacityReservationOptions$UsageStrategy */ => { - let var_2677 = + let var_2678 = Some( Result::::Ok( crate::model::FleetCapacityReservationUsageStrategy::from( @@ -53863,7 +53877,7 @@ pub fn deser_structure_capacity_reservation_options( ? ) ; - builder = builder.set_usage_strategy(var_2677); + builder = builder.set_usage_strategy(var_2678); } , _ => {} @@ -53880,17 +53894,17 @@ pub fn deser_structure_describe_fleet_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateAndOverrides") /* LaunchTemplateAndOverrides com.amazonaws.ec2#DescribeFleetError$LaunchTemplateAndOverrides */ => { - let var_2678 = + let var_2679 = Some( crate::xml_deser::deser_structure_launch_template_and_overrides_response(&mut tag) ? ) ; - builder = builder.set_launch_template_and_overrides(var_2678); + builder = builder.set_launch_template_and_overrides(var_2679); } , s if s.matches("lifecycle") /* Lifecycle com.amazonaws.ec2#DescribeFleetError$Lifecycle */ => { - let var_2679 = + let var_2680 = Some( Result::::Ok( crate::model::InstanceLifecycle::from( @@ -53900,11 +53914,11 @@ pub fn deser_structure_describe_fleet_error( ? ) ; - builder = builder.set_lifecycle(var_2679); + builder = builder.set_lifecycle(var_2680); } , s if s.matches("errorCode") /* ErrorCode com.amazonaws.ec2#DescribeFleetError$ErrorCode */ => { - let var_2680 = + let var_2681 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53913,11 +53927,11 @@ pub fn deser_structure_describe_fleet_error( ? ) ; - builder = builder.set_error_code(var_2680); + builder = builder.set_error_code(var_2681); } , s if s.matches("errorMessage") /* ErrorMessage com.amazonaws.ec2#DescribeFleetError$ErrorMessage */ => { - let var_2681 = + let var_2682 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -53926,7 +53940,7 @@ pub fn deser_structure_describe_fleet_error( ? ) ; - builder = builder.set_error_message(var_2681); + builder = builder.set_error_message(var_2682); } , _ => {} @@ -53943,17 +53957,17 @@ pub fn deser_structure_describe_fleets_instances( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateAndOverrides") /* LaunchTemplateAndOverrides com.amazonaws.ec2#DescribeFleetsInstances$LaunchTemplateAndOverrides */ => { - let var_2682 = + let var_2683 = Some( crate::xml_deser::deser_structure_launch_template_and_overrides_response(&mut tag) ? ) ; - builder = builder.set_launch_template_and_overrides(var_2682); + builder = builder.set_launch_template_and_overrides(var_2683); } , s if s.matches("lifecycle") /* Lifecycle com.amazonaws.ec2#DescribeFleetsInstances$Lifecycle */ => { - let var_2683 = + let var_2684 = Some( Result::::Ok( crate::model::InstanceLifecycle::from( @@ -53963,21 +53977,21 @@ pub fn deser_structure_describe_fleets_instances( ? ) ; - builder = builder.set_lifecycle(var_2683); + builder = builder.set_lifecycle(var_2684); } , s if s.matches("instanceIds") /* InstanceIds com.amazonaws.ec2#DescribeFleetsInstances$InstanceIds */ => { - let var_2684 = + let var_2685 = Some( crate::xml_deser::deser_list_instance_ids_set(&mut tag) ? ) ; - builder = builder.set_instance_ids(var_2684); + builder = builder.set_instance_ids(var_2685); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#DescribeFleetsInstances$InstanceType */ => { - let var_2685 = + let var_2686 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -53987,11 +54001,11 @@ pub fn deser_structure_describe_fleets_instances( ? ) ; - builder = builder.set_instance_type(var_2685); + builder = builder.set_instance_type(var_2686); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#DescribeFleetsInstances$Platform */ => { - let var_2686 = + let var_2687 = Some( Result::::Ok( crate::model::PlatformValues::from( @@ -54001,7 +54015,7 @@ pub fn deser_structure_describe_fleets_instances( ? ) ; - builder = builder.set_platform(var_2686); + builder = builder.set_platform(var_2687); } , _ => {} @@ -54037,7 +54051,7 @@ pub fn deser_structure_host_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#HostInstance$InstanceId */ => { - let var_2687 = + let var_2688 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54046,11 +54060,11 @@ pub fn deser_structure_host_instance( ? ) ; - builder = builder.set_instance_id(var_2687); + builder = builder.set_instance_id(var_2688); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#HostInstance$InstanceType */ => { - let var_2688 = + let var_2689 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54059,11 +54073,11 @@ pub fn deser_structure_host_instance( ? ) ; - builder = builder.set_instance_type(var_2688); + builder = builder.set_instance_type(var_2689); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#HostInstance$OwnerId */ => { - let var_2689 = + let var_2690 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54072,7 +54086,7 @@ pub fn deser_structure_host_instance( ? ) ; - builder = builder.set_owner_id(var_2689); + builder = builder.set_owner_id(var_2690); } , _ => {} @@ -54198,7 +54212,7 @@ pub fn deser_structure_ebs_optimized_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("baselineBandwidthInMbps") /* BaselineBandwidthInMbps com.amazonaws.ec2#EbsOptimizedInfo$BaselineBandwidthInMbps */ => { - let var_2690 = + let var_2691 = Some( { ::parse_smithy_primitive( @@ -54209,11 +54223,11 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_baseline_bandwidth_in_mbps(var_2690); + builder = builder.set_baseline_bandwidth_in_mbps(var_2691); } , s if s.matches("baselineThroughputInMBps") /* BaselineThroughputInMBps com.amazonaws.ec2#EbsOptimizedInfo$BaselineThroughputInMBps */ => { - let var_2691 = + let var_2692 = Some( { ::parse_smithy_primitive( @@ -54224,11 +54238,11 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_baseline_throughput_in_m_bps(var_2691); + builder = builder.set_baseline_throughput_in_m_bps(var_2692); } , s if s.matches("baselineIops") /* BaselineIops com.amazonaws.ec2#EbsOptimizedInfo$BaselineIops */ => { - let var_2692 = + let var_2693 = Some( { ::parse_smithy_primitive( @@ -54239,11 +54253,11 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_baseline_iops(var_2692); + builder = builder.set_baseline_iops(var_2693); } , s if s.matches("maximumBandwidthInMbps") /* MaximumBandwidthInMbps com.amazonaws.ec2#EbsOptimizedInfo$MaximumBandwidthInMbps */ => { - let var_2693 = + let var_2694 = Some( { ::parse_smithy_primitive( @@ -54254,11 +54268,11 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_maximum_bandwidth_in_mbps(var_2693); + builder = builder.set_maximum_bandwidth_in_mbps(var_2694); } , s if s.matches("maximumThroughputInMBps") /* MaximumThroughputInMBps com.amazonaws.ec2#EbsOptimizedInfo$MaximumThroughputInMBps */ => { - let var_2694 = + let var_2695 = Some( { ::parse_smithy_primitive( @@ -54269,11 +54283,11 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_maximum_throughput_in_m_bps(var_2694); + builder = builder.set_maximum_throughput_in_m_bps(var_2695); } , s if s.matches("maximumIops") /* MaximumIops com.amazonaws.ec2#EbsOptimizedInfo$MaximumIops */ => { - let var_2695 = + let var_2696 = Some( { ::parse_smithy_primitive( @@ -54284,7 +54298,7 @@ pub fn deser_structure_ebs_optimized_info( ? ) ; - builder = builder.set_maximum_iops(var_2695); + builder = builder.set_maximum_iops(var_2696); } , _ => {} @@ -54320,7 +54334,7 @@ pub fn deser_structure_efa_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("maximumEfaInterfaces") /* MaximumEfaInterfaces com.amazonaws.ec2#EfaInfo$MaximumEfaInterfaces */ => { - let var_2696 = + let var_2697 = Some( { ::parse_smithy_primitive( @@ -54331,7 +54345,7 @@ pub fn deser_structure_efa_info( ? ) ; - builder = builder.set_maximum_efa_interfaces(var_2696); + builder = builder.set_maximum_efa_interfaces(var_2697); } , _ => {} @@ -54428,7 +54442,7 @@ pub fn deser_structure_pool_cidr_block( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("poolCidrBlock") /* Cidr com.amazonaws.ec2#PoolCidrBlock$Cidr */ => { - let var_2697 = + let var_2698 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54437,7 +54451,7 @@ pub fn deser_structure_pool_cidr_block( ? ) ; - builder = builder.set_cidr(var_2697); + builder = builder.set_cidr(var_2698); } , _ => {} @@ -54454,7 +54468,7 @@ pub fn deser_structure_public_ipv4_pool_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("firstAddress") /* FirstAddress com.amazonaws.ec2#PublicIpv4PoolRange$FirstAddress */ => { - let var_2698 = + let var_2699 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54463,11 +54477,11 @@ pub fn deser_structure_public_ipv4_pool_range( ? ) ; - builder = builder.set_first_address(var_2698); + builder = builder.set_first_address(var_2699); } , s if s.matches("lastAddress") /* LastAddress com.amazonaws.ec2#PublicIpv4PoolRange$LastAddress */ => { - let var_2699 = + let var_2700 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54476,11 +54490,11 @@ pub fn deser_structure_public_ipv4_pool_range( ? ) ; - builder = builder.set_last_address(var_2699); + builder = builder.set_last_address(var_2700); } , s if s.matches("addressCount") /* AddressCount com.amazonaws.ec2#PublicIpv4PoolRange$AddressCount */ => { - let var_2700 = + let var_2701 = Some( { ::parse_smithy_primitive( @@ -54491,11 +54505,11 @@ pub fn deser_structure_public_ipv4_pool_range( ? ) ; - builder = builder.set_address_count(var_2700); + builder = builder.set_address_count(var_2701); } , s if s.matches("availableAddressCount") /* AvailableAddressCount com.amazonaws.ec2#PublicIpv4PoolRange$AvailableAddressCount */ => { - let var_2701 = + let var_2702 = Some( { ::parse_smithy_primitive( @@ -54506,7 +54520,7 @@ pub fn deser_structure_public_ipv4_pool_range( ? ) ; - builder = builder.set_available_address_count(var_2701); + builder = builder.set_available_address_count(var_2702); } , _ => {} @@ -54523,7 +54537,7 @@ pub fn deser_structure_recurring_charge( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("amount") /* Amount com.amazonaws.ec2#RecurringCharge$Amount */ => { - let var_2702 = + let var_2703 = Some( { ::parse_smithy_primitive( @@ -54534,11 +54548,11 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_amount(var_2702); + builder = builder.set_amount(var_2703); } , s if s.matches("frequency") /* Frequency com.amazonaws.ec2#RecurringCharge$Frequency */ => { - let var_2703 = + let var_2704 = Some( Result::::Ok( crate::model::RecurringChargeFrequency::from( @@ -54548,7 +54562,7 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_frequency(var_2703); + builder = builder.set_frequency(var_2704); } , _ => {} @@ -54565,7 +54579,7 @@ pub fn deser_structure_reserved_instances_modification_result( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("reservedInstancesId") /* ReservedInstancesId com.amazonaws.ec2#ReservedInstancesModificationResult$ReservedInstancesId */ => { - let var_2704 = + let var_2705 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54574,17 +54588,17 @@ pub fn deser_structure_reserved_instances_modification_result( ? ) ; - builder = builder.set_reserved_instances_id(var_2704); + builder = builder.set_reserved_instances_id(var_2705); } , s if s.matches("targetConfiguration") /* TargetConfiguration com.amazonaws.ec2#ReservedInstancesModificationResult$TargetConfiguration */ => { - let var_2705 = + let var_2706 = Some( crate::xml_deser::deser_structure_reserved_instances_configuration(&mut tag) ? ) ; - builder = builder.set_target_configuration(var_2705); + builder = builder.set_target_configuration(var_2706); } , _ => {} @@ -54601,7 +54615,7 @@ pub fn deser_structure_reserved_instances_id( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("reservedInstancesId") /* ReservedInstancesId com.amazonaws.ec2#ReservedInstancesId$ReservedInstancesId */ => { - let var_2706 = + let var_2707 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54610,7 +54624,7 @@ pub fn deser_structure_reserved_instances_id( ? ) ; - builder = builder.set_reserved_instances_id(var_2706); + builder = builder.set_reserved_instances_id(var_2707); } , _ => {} @@ -54627,7 +54641,7 @@ pub fn deser_structure_pricing_detail( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("count") /* Count com.amazonaws.ec2#PricingDetail$Count */ => { - let var_2707 = + let var_2708 = Some( { ::parse_smithy_primitive( @@ -54638,11 +54652,11 @@ pub fn deser_structure_pricing_detail( ? ) ; - builder = builder.set_count(var_2707); + builder = builder.set_count(var_2708); } , s if s.matches("price") /* Price com.amazonaws.ec2#PricingDetail$Price */ => { - let var_2708 = + let var_2709 = Some( { ::parse_smithy_primitive( @@ -54653,7 +54667,7 @@ pub fn deser_structure_pricing_detail( ? ) ; - builder = builder.set_price(var_2708); + builder = builder.set_price(var_2709); } , _ => {} @@ -54694,13 +54708,13 @@ pub fn deser_structure_spot_maintenance_strategies( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("capacityRebalance") /* CapacityRebalance com.amazonaws.ec2#SpotMaintenanceStrategies$CapacityRebalance */ => { - let var_2709 = + let var_2710 = Some( crate::xml_deser::deser_structure_spot_capacity_rebalance(&mut tag) ? ) ; - builder = builder.set_capacity_rebalance(var_2709); + builder = builder.set_capacity_rebalance(var_2710); } , _ => {} @@ -54756,23 +54770,23 @@ pub fn deser_structure_load_balancers_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("classicLoadBalancersConfig") /* ClassicLoadBalancersConfig com.amazonaws.ec2#LoadBalancersConfig$ClassicLoadBalancersConfig */ => { - let var_2710 = + let var_2711 = Some( crate::xml_deser::deser_structure_classic_load_balancers_config(&mut tag) ? ) ; - builder = builder.set_classic_load_balancers_config(var_2710); + builder = builder.set_classic_load_balancers_config(var_2711); } , s if s.matches("targetGroupsConfig") /* TargetGroupsConfig com.amazonaws.ec2#LoadBalancersConfig$TargetGroupsConfig */ => { - let var_2711 = + let var_2712 = Some( crate::xml_deser::deser_structure_target_groups_config(&mut tag) ? ) ; - builder = builder.set_target_groups_config(var_2711); + builder = builder.set_target_groups_config(var_2712); } , _ => {} @@ -54808,7 +54822,7 @@ pub fn deser_structure_iam_instance_profile_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("arn") /* Arn com.amazonaws.ec2#IamInstanceProfileSpecification$Arn */ => { - let var_2712 = + let var_2713 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54817,11 +54831,11 @@ pub fn deser_structure_iam_instance_profile_specification( ? ) ; - builder = builder.set_arn(var_2712); + builder = builder.set_arn(var_2713); } , s if s.matches("name") /* Name com.amazonaws.ec2#IamInstanceProfileSpecification$Name */ => { - let var_2713 = + let var_2714 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54830,7 +54844,7 @@ pub fn deser_structure_iam_instance_profile_specification( ? ) ; - builder = builder.set_name(var_2713); + builder = builder.set_name(var_2714); } , _ => {} @@ -54869,7 +54883,7 @@ pub fn deser_structure_spot_placement( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#SpotPlacement$AvailabilityZone */ => { - let var_2714 = + let var_2715 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54878,11 +54892,11 @@ pub fn deser_structure_spot_placement( ? ) ; - builder = builder.set_availability_zone(var_2714); + builder = builder.set_availability_zone(var_2715); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#SpotPlacement$GroupName */ => { - let var_2715 = + let var_2716 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54891,11 +54905,11 @@ pub fn deser_structure_spot_placement( ? ) ; - builder = builder.set_group_name(var_2715); + builder = builder.set_group_name(var_2716); } , s if s.matches("tenancy") /* Tenancy com.amazonaws.ec2#SpotPlacement$Tenancy */ => { - let var_2716 = + let var_2717 = Some( Result::::Ok( crate::model::Tenancy::from( @@ -54905,7 +54919,7 @@ pub fn deser_structure_spot_placement( ? ) ; - builder = builder.set_tenancy(var_2716); + builder = builder.set_tenancy(var_2717); } , _ => {} @@ -54922,7 +54936,7 @@ pub fn deser_structure_run_instances_monitoring_enabled( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("enabled") /* Enabled com.amazonaws.ec2#RunInstancesMonitoringEnabled$Enabled */ => { - let var_2717 = + let var_2718 = Some( { ::parse_smithy_primitive( @@ -54933,7 +54947,7 @@ pub fn deser_structure_run_instances_monitoring_enabled( ? ) ; - builder = builder.set_enabled(var_2717); + builder = builder.set_enabled(var_2718); } , _ => {} @@ -54950,7 +54964,7 @@ pub fn deser_structure_stale_ip_permission( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("fromPort") /* FromPort com.amazonaws.ec2#StaleIpPermission$FromPort */ => { - let var_2718 = + let var_2719 = Some( { ::parse_smithy_primitive( @@ -54961,11 +54975,11 @@ pub fn deser_structure_stale_ip_permission( ? ) ; - builder = builder.set_from_port(var_2718); + builder = builder.set_from_port(var_2719); } , s if s.matches("ipProtocol") /* IpProtocol com.amazonaws.ec2#StaleIpPermission$IpProtocol */ => { - let var_2719 = + let var_2720 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -54974,31 +54988,31 @@ pub fn deser_structure_stale_ip_permission( ? ) ; - builder = builder.set_ip_protocol(var_2719); + builder = builder.set_ip_protocol(var_2720); } , s if s.matches("ipRanges") /* IpRanges com.amazonaws.ec2#StaleIpPermission$IpRanges */ => { - let var_2720 = + let var_2721 = Some( crate::xml_deser::deser_list_ip_ranges(&mut tag) ? ) ; - builder = builder.set_ip_ranges(var_2720); + builder = builder.set_ip_ranges(var_2721); } , s if s.matches("prefixListIds") /* PrefixListIds com.amazonaws.ec2#StaleIpPermission$PrefixListIds */ => { - let var_2721 = + let var_2722 = Some( crate::xml_deser::deser_list_prefix_list_id_set(&mut tag) ? ) ; - builder = builder.set_prefix_list_ids(var_2721); + builder = builder.set_prefix_list_ids(var_2722); } , s if s.matches("toPort") /* ToPort com.amazonaws.ec2#StaleIpPermission$ToPort */ => { - let var_2722 = + let var_2723 = Some( { ::parse_smithy_primitive( @@ -55009,17 +55023,17 @@ pub fn deser_structure_stale_ip_permission( ? ) ; - builder = builder.set_to_port(var_2722); + builder = builder.set_to_port(var_2723); } , s if s.matches("groups") /* UserIdGroupPairs com.amazonaws.ec2#StaleIpPermission$UserIdGroupPairs */ => { - let var_2723 = + let var_2724 = Some( crate::xml_deser::deser_list_user_id_group_pair_set(&mut tag) ? ) ; - builder = builder.set_user_id_group_pairs(var_2723); + builder = builder.set_user_id_group_pairs(var_2724); } , _ => {} @@ -55036,7 +55050,7 @@ pub fn deser_structure_volume_status_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#VolumeStatusAction$Code */ => { - let var_2724 = + let var_2725 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55045,11 +55059,11 @@ pub fn deser_structure_volume_status_action( ? ) ; - builder = builder.set_code(var_2724); + builder = builder.set_code(var_2725); } , s if s.matches("description") /* Description com.amazonaws.ec2#VolumeStatusAction$Description */ => { - let var_2725 = + let var_2726 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55058,11 +55072,11 @@ pub fn deser_structure_volume_status_action( ? ) ; - builder = builder.set_description(var_2725); + builder = builder.set_description(var_2726); } , s if s.matches("eventId") /* EventId com.amazonaws.ec2#VolumeStatusAction$EventId */ => { - let var_2726 = + let var_2727 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55071,11 +55085,11 @@ pub fn deser_structure_volume_status_action( ? ) ; - builder = builder.set_event_id(var_2726); + builder = builder.set_event_id(var_2727); } , s if s.matches("eventType") /* EventType com.amazonaws.ec2#VolumeStatusAction$EventType */ => { - let var_2727 = + let var_2728 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55084,7 +55098,7 @@ pub fn deser_structure_volume_status_action( ? ) ; - builder = builder.set_event_type(var_2727); + builder = builder.set_event_type(var_2728); } , _ => {} @@ -55101,7 +55115,7 @@ pub fn deser_structure_volume_status_event( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#VolumeStatusEvent$Description */ => { - let var_2728 = + let var_2729 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55110,11 +55124,11 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_description(var_2728); + builder = builder.set_description(var_2729); } , s if s.matches("eventId") /* EventId com.amazonaws.ec2#VolumeStatusEvent$EventId */ => { - let var_2729 = + let var_2730 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55123,11 +55137,11 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_event_id(var_2729); + builder = builder.set_event_id(var_2730); } , s if s.matches("eventType") /* EventType com.amazonaws.ec2#VolumeStatusEvent$EventType */ => { - let var_2730 = + let var_2731 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55136,11 +55150,11 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_event_type(var_2730); + builder = builder.set_event_type(var_2731); } , s if s.matches("notAfter") /* NotAfter com.amazonaws.ec2#VolumeStatusEvent$NotAfter */ => { - let var_2731 = + let var_2732 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55150,11 +55164,11 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_not_after(var_2731); + builder = builder.set_not_after(var_2732); } , s if s.matches("notBefore") /* NotBefore com.amazonaws.ec2#VolumeStatusEvent$NotBefore */ => { - let var_2732 = + let var_2733 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55164,11 +55178,11 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_not_before(var_2732); + builder = builder.set_not_before(var_2733); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#VolumeStatusEvent$InstanceId */ => { - let var_2733 = + let var_2734 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55177,7 +55191,7 @@ pub fn deser_structure_volume_status_event( ? ) ; - builder = builder.set_instance_id(var_2733); + builder = builder.set_instance_id(var_2734); } , _ => {} @@ -55213,7 +55227,7 @@ pub fn deser_structure_volume_status_attachment_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ioPerformance") /* IoPerformance com.amazonaws.ec2#VolumeStatusAttachmentStatus$IoPerformance */ => { - let var_2734 = + let var_2735 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55222,11 +55236,11 @@ pub fn deser_structure_volume_status_attachment_status( ? ) ; - builder = builder.set_io_performance(var_2734); + builder = builder.set_io_performance(var_2735); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#VolumeStatusAttachmentStatus$InstanceId */ => { - let var_2735 = + let var_2736 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55235,7 +55249,7 @@ pub fn deser_structure_volume_status_attachment_status( ? ) ; - builder = builder.set_instance_id(var_2735); + builder = builder.set_instance_id(var_2736); } , _ => {} @@ -55252,7 +55266,7 @@ pub fn deser_structure_private_dns_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#PrivateDnsDetails$PrivateDnsName */ => { - let var_2736 = + let var_2737 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55261,7 +55275,7 @@ pub fn deser_structure_private_dns_details( ? ) ; - builder = builder.set_private_dns_name(var_2736); + builder = builder.set_private_dns_name(var_2737); } , _ => {} @@ -55278,7 +55292,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_state_error_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem$AvailabilityZone */ => { - let var_2737 = + let var_2738 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55287,17 +55301,17 @@ pub fn deser_structure_disable_fast_snapshot_restore_state_error_item( ? ) ; - builder = builder.set_availability_zone(var_2737); + builder = builder.set_availability_zone(var_2738); } , s if s.matches("error") /* Error com.amazonaws.ec2#DisableFastSnapshotRestoreStateErrorItem$Error */ => { - let var_2738 = + let var_2739 = Some( crate::xml_deser::deser_structure_disable_fast_snapshot_restore_state_error(&mut tag) ? ) ; - builder = builder.set_error(var_2738); + builder = builder.set_error(var_2739); } , _ => {} @@ -55314,7 +55328,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_state_error_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem$AvailabilityZone */ => { - let var_2739 = + let var_2740 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55323,17 +55337,17 @@ pub fn deser_structure_enable_fast_snapshot_restore_state_error_item( ? ) ; - builder = builder.set_availability_zone(var_2739); + builder = builder.set_availability_zone(var_2740); } , s if s.matches("error") /* Error com.amazonaws.ec2#EnableFastSnapshotRestoreStateErrorItem$Error */ => { - let var_2740 = + let var_2741 = Some( crate::xml_deser::deser_structure_enable_fast_snapshot_restore_state_error(&mut tag) ? ) ; - builder = builder.set_error(var_2740); + builder = builder.set_error(var_2741); } , _ => {} @@ -55350,7 +55364,7 @@ pub fn deser_structure_launch_template_ebs_block_device( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("encrypted") /* Encrypted com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$Encrypted */ => { - let var_2741 = + let var_2742 = Some( { ::parse_smithy_primitive( @@ -55361,11 +55375,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_encrypted(var_2741); + builder = builder.set_encrypted(var_2742); } , s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$DeleteOnTermination */ => { - let var_2742 = + let var_2743 = Some( { ::parse_smithy_primitive( @@ -55376,11 +55390,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_delete_on_termination(var_2742); + builder = builder.set_delete_on_termination(var_2743); } , s if s.matches("iops") /* Iops com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$Iops */ => { - let var_2743 = + let var_2744 = Some( { ::parse_smithy_primitive( @@ -55391,11 +55405,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_iops(var_2743); + builder = builder.set_iops(var_2744); } , s if s.matches("kmsKeyId") /* KmsKeyId com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$KmsKeyId */ => { - let var_2744 = + let var_2745 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55404,11 +55418,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_kms_key_id(var_2744); + builder = builder.set_kms_key_id(var_2745); } , s if s.matches("snapshotId") /* SnapshotId com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$SnapshotId */ => { - let var_2745 = + let var_2746 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55417,11 +55431,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_snapshot_id(var_2745); + builder = builder.set_snapshot_id(var_2746); } , s if s.matches("volumeSize") /* VolumeSize com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$VolumeSize */ => { - let var_2746 = + let var_2747 = Some( { ::parse_smithy_primitive( @@ -55432,11 +55446,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_volume_size(var_2746); + builder = builder.set_volume_size(var_2747); } , s if s.matches("volumeType") /* VolumeType com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$VolumeType */ => { - let var_2747 = + let var_2748 = Some( Result::::Ok( crate::model::VolumeType::from( @@ -55446,11 +55460,11 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_volume_type(var_2747); + builder = builder.set_volume_type(var_2748); } , s if s.matches("throughput") /* Throughput com.amazonaws.ec2#LaunchTemplateEbsBlockDevice$Throughput */ => { - let var_2748 = + let var_2749 = Some( { ::parse_smithy_primitive( @@ -55461,7 +55475,7 @@ pub fn deser_structure_launch_template_ebs_block_device( ? ) ; - builder = builder.set_throughput(var_2748); + builder = builder.set_throughput(var_2749); } , _ => {} @@ -55583,7 +55597,7 @@ pub fn deser_structure_import_instance_volume_detail_item( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ImportInstanceVolumeDetailItem$AvailabilityZone */ => { - let var_2749 = + let var_2750 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55592,11 +55606,11 @@ pub fn deser_structure_import_instance_volume_detail_item( ? ) ; - builder = builder.set_availability_zone(var_2749); + builder = builder.set_availability_zone(var_2750); } , s if s.matches("bytesConverted") /* BytesConverted com.amazonaws.ec2#ImportInstanceVolumeDetailItem$BytesConverted */ => { - let var_2750 = + let var_2751 = Some( { ::parse_smithy_primitive( @@ -55607,11 +55621,11 @@ pub fn deser_structure_import_instance_volume_detail_item( ? ) ; - builder = builder.set_bytes_converted(var_2750); + builder = builder.set_bytes_converted(var_2751); } , s if s.matches("description") /* Description com.amazonaws.ec2#ImportInstanceVolumeDetailItem$Description */ => { - let var_2751 = + let var_2752 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55620,21 +55634,21 @@ pub fn deser_structure_import_instance_volume_detail_item( ? ) ; - builder = builder.set_description(var_2751); + builder = builder.set_description(var_2752); } , s if s.matches("image") /* Image com.amazonaws.ec2#ImportInstanceVolumeDetailItem$Image */ => { - let var_2752 = + let var_2753 = Some( crate::xml_deser::deser_structure_disk_image_description(&mut tag) ? ) ; - builder = builder.set_image(var_2752); + builder = builder.set_image(var_2753); } , s if s.matches("status") /* Status com.amazonaws.ec2#ImportInstanceVolumeDetailItem$Status */ => { - let var_2753 = + let var_2754 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55643,11 +55657,11 @@ pub fn deser_structure_import_instance_volume_detail_item( ? ) ; - builder = builder.set_status(var_2753); + builder = builder.set_status(var_2754); } , s if s.matches("statusMessage") /* StatusMessage com.amazonaws.ec2#ImportInstanceVolumeDetailItem$StatusMessage */ => { - let var_2754 = + let var_2755 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55656,17 +55670,17 @@ pub fn deser_structure_import_instance_volume_detail_item( ? ) ; - builder = builder.set_status_message(var_2754); + builder = builder.set_status_message(var_2755); } , s if s.matches("volume") /* Volume com.amazonaws.ec2#ImportInstanceVolumeDetailItem$Volume */ => { - let var_2755 = + let var_2756 = Some( crate::xml_deser::deser_structure_disk_image_volume_description(&mut tag) ? ) ; - builder = builder.set_volume(var_2755); + builder = builder.set_volume(var_2756); } , _ => {} @@ -55683,7 +55697,7 @@ pub fn deser_structure_ip_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidrIp") /* CidrIp com.amazonaws.ec2#IpRange$CidrIp */ => { - let var_2756 = + let var_2757 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55692,11 +55706,11 @@ pub fn deser_structure_ip_range( ? ) ; - builder = builder.set_cidr_ip(var_2756); + builder = builder.set_cidr_ip(var_2757); } , s if s.matches("description") /* Description com.amazonaws.ec2#IpRange$Description */ => { - let var_2757 = + let var_2758 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55705,7 +55719,7 @@ pub fn deser_structure_ip_range( ? ) ; - builder = builder.set_description(var_2757); + builder = builder.set_description(var_2758); } , _ => {} @@ -55722,7 +55736,7 @@ pub fn deser_structure_ipv6_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidrIpv6") /* CidrIpv6 com.amazonaws.ec2#Ipv6Range$CidrIpv6 */ => { - let var_2758 = + let var_2759 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55731,11 +55745,11 @@ pub fn deser_structure_ipv6_range( ? ) ; - builder = builder.set_cidr_ipv6(var_2758); + builder = builder.set_cidr_ipv6(var_2759); } , s if s.matches("description") /* Description com.amazonaws.ec2#Ipv6Range$Description */ => { - let var_2759 = + let var_2760 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55744,7 +55758,7 @@ pub fn deser_structure_ipv6_range( ? ) ; - builder = builder.set_description(var_2759); + builder = builder.set_description(var_2760); } , _ => {} @@ -55761,7 +55775,7 @@ pub fn deser_structure_prefix_list_id( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#PrefixListId$Description */ => { - let var_2760 = + let var_2761 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55770,11 +55784,11 @@ pub fn deser_structure_prefix_list_id( ? ) ; - builder = builder.set_description(var_2760); + builder = builder.set_description(var_2761); } , s if s.matches("prefixListId") /* PrefixListId com.amazonaws.ec2#PrefixListId$PrefixListId */ => { - let var_2761 = + let var_2762 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55783,7 +55797,7 @@ pub fn deser_structure_prefix_list_id( ? ) ; - builder = builder.set_prefix_list_id(var_2761); + builder = builder.set_prefix_list_id(var_2762); } , _ => {} @@ -55800,7 +55814,7 @@ pub fn deser_structure_user_id_group_pair( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("description") /* Description com.amazonaws.ec2#UserIdGroupPair$Description */ => { - let var_2762 = + let var_2763 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55809,11 +55823,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_description(var_2762); + builder = builder.set_description(var_2763); } , s if s.matches("groupId") /* GroupId com.amazonaws.ec2#UserIdGroupPair$GroupId */ => { - let var_2763 = + let var_2764 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55822,11 +55836,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_group_id(var_2763); + builder = builder.set_group_id(var_2764); } , s if s.matches("groupName") /* GroupName com.amazonaws.ec2#UserIdGroupPair$GroupName */ => { - let var_2764 = + let var_2765 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55835,11 +55849,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_group_name(var_2764); + builder = builder.set_group_name(var_2765); } , s if s.matches("peeringStatus") /* PeeringStatus com.amazonaws.ec2#UserIdGroupPair$PeeringStatus */ => { - let var_2765 = + let var_2766 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55848,11 +55862,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_peering_status(var_2765); + builder = builder.set_peering_status(var_2766); } , s if s.matches("userId") /* UserId com.amazonaws.ec2#UserIdGroupPair$UserId */ => { - let var_2766 = + let var_2767 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55861,11 +55875,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_user_id(var_2766); + builder = builder.set_user_id(var_2767); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#UserIdGroupPair$VpcId */ => { - let var_2767 = + let var_2768 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55874,11 +55888,11 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_vpc_id(var_2767); + builder = builder.set_vpc_id(var_2768); } , s if s.matches("vpcPeeringConnectionId") /* VpcPeeringConnectionId com.amazonaws.ec2#UserIdGroupPair$VpcPeeringConnectionId */ => { - let var_2768 = + let var_2769 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55887,7 +55901,7 @@ pub fn deser_structure_user_id_group_pair( ? ) ; - builder = builder.set_vpc_peering_connection_id(var_2768); + builder = builder.set_vpc_peering_connection_id(var_2769); } , _ => {} @@ -55904,7 +55918,7 @@ pub fn deser_structure_elastic_gpu_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("elasticGpuId") /* ElasticGpuId com.amazonaws.ec2#ElasticGpuAssociation$ElasticGpuId */ => { - let var_2769 = + let var_2770 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55913,11 +55927,11 @@ pub fn deser_structure_elastic_gpu_association( ? ) ; - builder = builder.set_elastic_gpu_id(var_2769); + builder = builder.set_elastic_gpu_id(var_2770); } , s if s.matches("elasticGpuAssociationId") /* ElasticGpuAssociationId com.amazonaws.ec2#ElasticGpuAssociation$ElasticGpuAssociationId */ => { - let var_2770 = + let var_2771 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55926,11 +55940,11 @@ pub fn deser_structure_elastic_gpu_association( ? ) ; - builder = builder.set_elastic_gpu_association_id(var_2770); + builder = builder.set_elastic_gpu_association_id(var_2771); } , s if s.matches("elasticGpuAssociationState") /* ElasticGpuAssociationState com.amazonaws.ec2#ElasticGpuAssociation$ElasticGpuAssociationState */ => { - let var_2771 = + let var_2772 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55939,11 +55953,11 @@ pub fn deser_structure_elastic_gpu_association( ? ) ; - builder = builder.set_elastic_gpu_association_state(var_2771); + builder = builder.set_elastic_gpu_association_state(var_2772); } , s if s.matches("elasticGpuAssociationTime") /* ElasticGpuAssociationTime com.amazonaws.ec2#ElasticGpuAssociation$ElasticGpuAssociationTime */ => { - let var_2772 = + let var_2773 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55952,7 +55966,7 @@ pub fn deser_structure_elastic_gpu_association( ? ) ; - builder = builder.set_elastic_gpu_association_time(var_2772); + builder = builder.set_elastic_gpu_association_time(var_2773); } , _ => {} @@ -55969,7 +55983,7 @@ pub fn deser_structure_elastic_inference_accelerator_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("elasticInferenceAcceleratorArn") /* ElasticInferenceAcceleratorArn com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation$ElasticInferenceAcceleratorArn */ => { - let var_2773 = + let var_2774 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55978,11 +55992,11 @@ pub fn deser_structure_elastic_inference_accelerator_association( ? ) ; - builder = builder.set_elastic_inference_accelerator_arn(var_2773); + builder = builder.set_elastic_inference_accelerator_arn(var_2774); } , s if s.matches("elasticInferenceAcceleratorAssociationId") /* ElasticInferenceAcceleratorAssociationId com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation$ElasticInferenceAcceleratorAssociationId */ => { - let var_2774 = + let var_2775 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -55991,11 +56005,11 @@ pub fn deser_structure_elastic_inference_accelerator_association( ? ) ; - builder = builder.set_elastic_inference_accelerator_association_id(var_2774); + builder = builder.set_elastic_inference_accelerator_association_id(var_2775); } , s if s.matches("elasticInferenceAcceleratorAssociationState") /* ElasticInferenceAcceleratorAssociationState com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation$ElasticInferenceAcceleratorAssociationState */ => { - let var_2775 = + let var_2776 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56004,11 +56018,11 @@ pub fn deser_structure_elastic_inference_accelerator_association( ? ) ; - builder = builder.set_elastic_inference_accelerator_association_state(var_2775); + builder = builder.set_elastic_inference_accelerator_association_state(var_2776); } , s if s.matches("elasticInferenceAcceleratorAssociationTime") /* ElasticInferenceAcceleratorAssociationTime com.amazonaws.ec2#ElasticInferenceAcceleratorAssociation$ElasticInferenceAcceleratorAssociationTime */ => { - let var_2776 = + let var_2777 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56018,7 +56032,7 @@ pub fn deser_structure_elastic_inference_accelerator_association( ? ) ; - builder = builder.set_elastic_inference_accelerator_association_time(var_2776); + builder = builder.set_elastic_inference_accelerator_association_time(var_2777); } , _ => {} @@ -56035,27 +56049,27 @@ pub fn deser_structure_instance_network_interface( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("association") /* Association com.amazonaws.ec2#InstanceNetworkInterface$Association */ => { - let var_2777 = + let var_2778 = Some( crate::xml_deser::deser_structure_instance_network_interface_association(&mut tag) ? ) ; - builder = builder.set_association(var_2777); + builder = builder.set_association(var_2778); } , s if s.matches("attachment") /* Attachment com.amazonaws.ec2#InstanceNetworkInterface$Attachment */ => { - let var_2778 = + let var_2779 = Some( crate::xml_deser::deser_structure_instance_network_interface_attachment(&mut tag) ? ) ; - builder = builder.set_attachment(var_2778); + builder = builder.set_attachment(var_2779); } , s if s.matches("description") /* Description com.amazonaws.ec2#InstanceNetworkInterface$Description */ => { - let var_2779 = + let var_2780 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56064,31 +56078,31 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_description(var_2779); + builder = builder.set_description(var_2780); } , s if s.matches("groupSet") /* Groups com.amazonaws.ec2#InstanceNetworkInterface$Groups */ => { - let var_2780 = + let var_2781 = Some( crate::xml_deser::deser_list_group_identifier_list(&mut tag) ? ) ; - builder = builder.set_groups(var_2780); + builder = builder.set_groups(var_2781); } , s if s.matches("ipv6AddressesSet") /* Ipv6Addresses com.amazonaws.ec2#InstanceNetworkInterface$Ipv6Addresses */ => { - let var_2781 = + let var_2782 = Some( crate::xml_deser::deser_list_instance_ipv6_address_list(&mut tag) ? ) ; - builder = builder.set_ipv6_addresses(var_2781); + builder = builder.set_ipv6_addresses(var_2782); } , s if s.matches("macAddress") /* MacAddress com.amazonaws.ec2#InstanceNetworkInterface$MacAddress */ => { - let var_2782 = + let var_2783 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56097,11 +56111,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_mac_address(var_2782); + builder = builder.set_mac_address(var_2783); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#InstanceNetworkInterface$NetworkInterfaceId */ => { - let var_2783 = + let var_2784 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56110,11 +56124,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_network_interface_id(var_2783); + builder = builder.set_network_interface_id(var_2784); } , s if s.matches("ownerId") /* OwnerId com.amazonaws.ec2#InstanceNetworkInterface$OwnerId */ => { - let var_2784 = + let var_2785 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56123,11 +56137,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_owner_id(var_2784); + builder = builder.set_owner_id(var_2785); } , s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#InstanceNetworkInterface$PrivateDnsName */ => { - let var_2785 = + let var_2786 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56136,11 +56150,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_private_dns_name(var_2785); + builder = builder.set_private_dns_name(var_2786); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#InstanceNetworkInterface$PrivateIpAddress */ => { - let var_2786 = + let var_2787 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56149,21 +56163,21 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_private_ip_address(var_2786); + builder = builder.set_private_ip_address(var_2787); } , s if s.matches("privateIpAddressesSet") /* PrivateIpAddresses com.amazonaws.ec2#InstanceNetworkInterface$PrivateIpAddresses */ => { - let var_2787 = + let var_2788 = Some( crate::xml_deser::deser_list_instance_private_ip_address_list(&mut tag) ? ) ; - builder = builder.set_private_ip_addresses(var_2787); + builder = builder.set_private_ip_addresses(var_2788); } , s if s.matches("sourceDestCheck") /* SourceDestCheck com.amazonaws.ec2#InstanceNetworkInterface$SourceDestCheck */ => { - let var_2788 = + let var_2789 = Some( { ::parse_smithy_primitive( @@ -56174,11 +56188,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_source_dest_check(var_2788); + builder = builder.set_source_dest_check(var_2789); } , s if s.matches("status") /* Status com.amazonaws.ec2#InstanceNetworkInterface$Status */ => { - let var_2789 = + let var_2790 = Some( Result::::Ok( crate::model::NetworkInterfaceStatus::from( @@ -56188,11 +56202,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_status(var_2789); + builder = builder.set_status(var_2790); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#InstanceNetworkInterface$SubnetId */ => { - let var_2790 = + let var_2791 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56201,11 +56215,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_subnet_id(var_2790); + builder = builder.set_subnet_id(var_2791); } , s if s.matches("vpcId") /* VpcId com.amazonaws.ec2#InstanceNetworkInterface$VpcId */ => { - let var_2791 = + let var_2792 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56214,11 +56228,11 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_vpc_id(var_2791); + builder = builder.set_vpc_id(var_2792); } , s if s.matches("interfaceType") /* InterfaceType com.amazonaws.ec2#InstanceNetworkInterface$InterfaceType */ => { - let var_2792 = + let var_2793 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56227,27 +56241,27 @@ pub fn deser_structure_instance_network_interface( ? ) ; - builder = builder.set_interface_type(var_2792); + builder = builder.set_interface_type(var_2793); } , s if s.matches("ipv4PrefixSet") /* Ipv4Prefixes com.amazonaws.ec2#InstanceNetworkInterface$Ipv4Prefixes */ => { - let var_2793 = + let var_2794 = Some( crate::xml_deser::deser_list_instance_ipv4_prefix_list(&mut tag) ? ) ; - builder = builder.set_ipv4_prefixes(var_2793); + builder = builder.set_ipv4_prefixes(var_2794); } , s if s.matches("ipv6PrefixSet") /* Ipv6Prefixes com.amazonaws.ec2#InstanceNetworkInterface$Ipv6Prefixes */ => { - let var_2794 = + let var_2795 = Some( crate::xml_deser::deser_list_instance_ipv6_prefix_list(&mut tag) ? ) ; - builder = builder.set_ipv6_prefixes(var_2794); + builder = builder.set_ipv6_prefixes(var_2795); } , _ => {} @@ -56264,7 +56278,7 @@ pub fn deser_structure_license_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("licenseConfigurationArn") /* LicenseConfigurationArn com.amazonaws.ec2#LicenseConfiguration$LicenseConfigurationArn */ => { - let var_2795 = + let var_2796 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56273,7 +56287,7 @@ pub fn deser_structure_license_configuration( ? ) ; - builder = builder.set_license_configuration_arn(var_2795); + builder = builder.set_license_configuration_arn(var_2796); } , _ => {} @@ -56290,7 +56304,7 @@ pub fn deser_structure_analysis_acl_rule( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidr") /* Cidr com.amazonaws.ec2#AnalysisAclRule$Cidr */ => { - let var_2796 = + let var_2797 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56299,11 +56313,11 @@ pub fn deser_structure_analysis_acl_rule( ? ) ; - builder = builder.set_cidr(var_2796); + builder = builder.set_cidr(var_2797); } , s if s.matches("egress") /* Egress com.amazonaws.ec2#AnalysisAclRule$Egress */ => { - let var_2797 = + let var_2798 = Some( { ::parse_smithy_primitive( @@ -56314,21 +56328,21 @@ pub fn deser_structure_analysis_acl_rule( ? ) ; - builder = builder.set_egress(var_2797); + builder = builder.set_egress(var_2798); } , s if s.matches("portRange") /* PortRange com.amazonaws.ec2#AnalysisAclRule$PortRange */ => { - let var_2798 = + let var_2799 = Some( crate::xml_deser::deser_structure_port_range(&mut tag) ? ) ; - builder = builder.set_port_range(var_2798); + builder = builder.set_port_range(var_2799); } , s if s.matches("protocol") /* Protocol com.amazonaws.ec2#AnalysisAclRule$Protocol */ => { - let var_2799 = + let var_2800 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56337,11 +56351,11 @@ pub fn deser_structure_analysis_acl_rule( ? ) ; - builder = builder.set_protocol(var_2799); + builder = builder.set_protocol(var_2800); } , s if s.matches("ruleAction") /* RuleAction com.amazonaws.ec2#AnalysisAclRule$RuleAction */ => { - let var_2800 = + let var_2801 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56350,11 +56364,11 @@ pub fn deser_structure_analysis_acl_rule( ? ) ; - builder = builder.set_rule_action(var_2800); + builder = builder.set_rule_action(var_2801); } , s if s.matches("ruleNumber") /* RuleNumber com.amazonaws.ec2#AnalysisAclRule$RuleNumber */ => { - let var_2801 = + let var_2802 = Some( { ::parse_smithy_primitive( @@ -56365,7 +56379,7 @@ pub fn deser_structure_analysis_acl_rule( ? ) ; - builder = builder.set_rule_number(var_2801); + builder = builder.set_rule_number(var_2802); } , _ => {} @@ -56382,7 +56396,7 @@ pub fn deser_structure_analysis_component( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("id") /* Id com.amazonaws.ec2#AnalysisComponent$Id */ => { - let var_2802 = + let var_2803 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56391,11 +56405,11 @@ pub fn deser_structure_analysis_component( ? ) ; - builder = builder.set_id(var_2802); + builder = builder.set_id(var_2803); } , s if s.matches("arn") /* Arn com.amazonaws.ec2#AnalysisComponent$Arn */ => { - let var_2803 = + let var_2804 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56404,7 +56418,7 @@ pub fn deser_structure_analysis_component( ? ) ; - builder = builder.set_arn(var_2803); + builder = builder.set_arn(var_2804); } , _ => {} @@ -56421,27 +56435,27 @@ pub fn deser_structure_analysis_packet_header( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("destinationAddressSet") /* DestinationAddresses com.amazonaws.ec2#AnalysisPacketHeader$DestinationAddresses */ => { - let var_2804 = + let var_2805 = Some( crate::xml_deser::deser_list_ip_address_list(&mut tag) ? ) ; - builder = builder.set_destination_addresses(var_2804); + builder = builder.set_destination_addresses(var_2805); } , s if s.matches("destinationPortRangeSet") /* DestinationPortRanges com.amazonaws.ec2#AnalysisPacketHeader$DestinationPortRanges */ => { - let var_2805 = + let var_2806 = Some( crate::xml_deser::deser_list_port_range_list(&mut tag) ? ) ; - builder = builder.set_destination_port_ranges(var_2805); + builder = builder.set_destination_port_ranges(var_2806); } , s if s.matches("protocol") /* Protocol com.amazonaws.ec2#AnalysisPacketHeader$Protocol */ => { - let var_2806 = + let var_2807 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56450,27 +56464,27 @@ pub fn deser_structure_analysis_packet_header( ? ) ; - builder = builder.set_protocol(var_2806); + builder = builder.set_protocol(var_2807); } , s if s.matches("sourceAddressSet") /* SourceAddresses com.amazonaws.ec2#AnalysisPacketHeader$SourceAddresses */ => { - let var_2807 = + let var_2808 = Some( crate::xml_deser::deser_list_ip_address_list(&mut tag) ? ) ; - builder = builder.set_source_addresses(var_2807); + builder = builder.set_source_addresses(var_2808); } , s if s.matches("sourcePortRangeSet") /* SourcePortRanges com.amazonaws.ec2#AnalysisPacketHeader$SourcePortRanges */ => { - let var_2808 = + let var_2809 = Some( crate::xml_deser::deser_list_port_range_list(&mut tag) ? ) ; - builder = builder.set_source_port_ranges(var_2808); + builder = builder.set_source_port_ranges(var_2809); } , _ => {} @@ -56487,7 +56501,7 @@ pub fn deser_structure_analysis_route_table_route( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("destinationCidr") /* DestinationCidr com.amazonaws.ec2#AnalysisRouteTableRoute$DestinationCidr */ => { - let var_2809 = + let var_2810 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56496,11 +56510,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_destination_cidr(var_2809); + builder = builder.set_destination_cidr(var_2810); } , s if s.matches("destinationPrefixListId") /* DestinationPrefixListId com.amazonaws.ec2#AnalysisRouteTableRoute$DestinationPrefixListId */ => { - let var_2810 = + let var_2811 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56509,11 +56523,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_destination_prefix_list_id(var_2810); + builder = builder.set_destination_prefix_list_id(var_2811); } , s if s.matches("egressOnlyInternetGatewayId") /* EgressOnlyInternetGatewayId com.amazonaws.ec2#AnalysisRouteTableRoute$EgressOnlyInternetGatewayId */ => { - let var_2811 = + let var_2812 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56522,11 +56536,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_egress_only_internet_gateway_id(var_2811); + builder = builder.set_egress_only_internet_gateway_id(var_2812); } , s if s.matches("gatewayId") /* GatewayId com.amazonaws.ec2#AnalysisRouteTableRoute$GatewayId */ => { - let var_2812 = + let var_2813 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56535,11 +56549,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_gateway_id(var_2812); + builder = builder.set_gateway_id(var_2813); } , s if s.matches("instanceId") /* InstanceId com.amazonaws.ec2#AnalysisRouteTableRoute$InstanceId */ => { - let var_2813 = + let var_2814 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56548,11 +56562,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_instance_id(var_2813); + builder = builder.set_instance_id(var_2814); } , s if s.matches("natGatewayId") /* NatGatewayId com.amazonaws.ec2#AnalysisRouteTableRoute$NatGatewayId */ => { - let var_2814 = + let var_2815 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56561,11 +56575,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_nat_gateway_id(var_2814); + builder = builder.set_nat_gateway_id(var_2815); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#AnalysisRouteTableRoute$NetworkInterfaceId */ => { - let var_2815 = + let var_2816 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56574,11 +56588,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_network_interface_id(var_2815); + builder = builder.set_network_interface_id(var_2816); } , s if s.matches("origin") /* Origin com.amazonaws.ec2#AnalysisRouteTableRoute$Origin */ => { - let var_2816 = + let var_2817 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56587,11 +56601,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_origin(var_2816); + builder = builder.set_origin(var_2817); } , s if s.matches("transitGatewayId") /* TransitGatewayId com.amazonaws.ec2#AnalysisRouteTableRoute$TransitGatewayId */ => { - let var_2817 = + let var_2818 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56600,11 +56614,11 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_transit_gateway_id(var_2817); + builder = builder.set_transit_gateway_id(var_2818); } , s if s.matches("vpcPeeringConnectionId") /* VpcPeeringConnectionId com.amazonaws.ec2#AnalysisRouteTableRoute$VpcPeeringConnectionId */ => { - let var_2818 = + let var_2819 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56613,7 +56627,7 @@ pub fn deser_structure_analysis_route_table_route( ? ) ; - builder = builder.set_vpc_peering_connection_id(var_2818); + builder = builder.set_vpc_peering_connection_id(var_2819); } , _ => {} @@ -56630,7 +56644,7 @@ pub fn deser_structure_analysis_security_group_rule( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("cidr") /* Cidr com.amazonaws.ec2#AnalysisSecurityGroupRule$Cidr */ => { - let var_2819 = + let var_2820 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56639,11 +56653,11 @@ pub fn deser_structure_analysis_security_group_rule( ? ) ; - builder = builder.set_cidr(var_2819); + builder = builder.set_cidr(var_2820); } , s if s.matches("direction") /* Direction com.amazonaws.ec2#AnalysisSecurityGroupRule$Direction */ => { - let var_2820 = + let var_2821 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56652,11 +56666,11 @@ pub fn deser_structure_analysis_security_group_rule( ? ) ; - builder = builder.set_direction(var_2820); + builder = builder.set_direction(var_2821); } , s if s.matches("securityGroupId") /* SecurityGroupId com.amazonaws.ec2#AnalysisSecurityGroupRule$SecurityGroupId */ => { - let var_2821 = + let var_2822 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56665,21 +56679,21 @@ pub fn deser_structure_analysis_security_group_rule( ? ) ; - builder = builder.set_security_group_id(var_2821); + builder = builder.set_security_group_id(var_2822); } , s if s.matches("portRange") /* PortRange com.amazonaws.ec2#AnalysisSecurityGroupRule$PortRange */ => { - let var_2822 = + let var_2823 = Some( crate::xml_deser::deser_structure_port_range(&mut tag) ? ) ; - builder = builder.set_port_range(var_2822); + builder = builder.set_port_range(var_2823); } , s if s.matches("prefixListId") /* PrefixListId com.amazonaws.ec2#AnalysisSecurityGroupRule$PrefixListId */ => { - let var_2823 = + let var_2824 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56688,11 +56702,11 @@ pub fn deser_structure_analysis_security_group_rule( ? ) ; - builder = builder.set_prefix_list_id(var_2823); + builder = builder.set_prefix_list_id(var_2824); } , s if s.matches("protocol") /* Protocol com.amazonaws.ec2#AnalysisSecurityGroupRule$Protocol */ => { - let var_2824 = + let var_2825 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56701,7 +56715,7 @@ pub fn deser_structure_analysis_security_group_rule( ? ) ; - builder = builder.set_protocol(var_2824); + builder = builder.set_protocol(var_2825); } , _ => {} @@ -56740,7 +56754,7 @@ pub fn deser_structure_analysis_load_balancer_listener( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("loadBalancerPort") /* LoadBalancerPort com.amazonaws.ec2#AnalysisLoadBalancerListener$LoadBalancerPort */ => { - let var_2825 = + let var_2826 = Some( { ::parse_smithy_primitive( @@ -56751,11 +56765,11 @@ pub fn deser_structure_analysis_load_balancer_listener( ? ) ; - builder = builder.set_load_balancer_port(var_2825); + builder = builder.set_load_balancer_port(var_2826); } , s if s.matches("instancePort") /* InstancePort com.amazonaws.ec2#AnalysisLoadBalancerListener$InstancePort */ => { - let var_2826 = + let var_2827 = Some( { ::parse_smithy_primitive( @@ -56766,7 +56780,7 @@ pub fn deser_structure_analysis_load_balancer_listener( ? ) ; - builder = builder.set_instance_port(var_2826); + builder = builder.set_instance_port(var_2827); } , _ => {} @@ -56783,7 +56797,7 @@ pub fn deser_structure_analysis_load_balancer_target( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("address") /* Address com.amazonaws.ec2#AnalysisLoadBalancerTarget$Address */ => { - let var_2827 = + let var_2828 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56792,11 +56806,11 @@ pub fn deser_structure_analysis_load_balancer_target( ? ) ; - builder = builder.set_address(var_2827); + builder = builder.set_address(var_2828); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#AnalysisLoadBalancerTarget$AvailabilityZone */ => { - let var_2828 = + let var_2829 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56805,21 +56819,21 @@ pub fn deser_structure_analysis_load_balancer_target( ? ) ; - builder = builder.set_availability_zone(var_2828); + builder = builder.set_availability_zone(var_2829); } , s if s.matches("instance") /* Instance com.amazonaws.ec2#AnalysisLoadBalancerTarget$Instance */ => { - let var_2829 = + let var_2830 = Some( crate::xml_deser::deser_structure_analysis_component(&mut tag) ? ) ; - builder = builder.set_instance(var_2829); + builder = builder.set_instance(var_2830); } , s if s.matches("port") /* Port com.amazonaws.ec2#AnalysisLoadBalancerTarget$Port */ => { - let var_2830 = + let var_2831 = Some( { ::parse_smithy_primitive( @@ -56830,7 +56844,7 @@ pub fn deser_structure_analysis_load_balancer_target( ? ) ; - builder = builder.set_port(var_2830); + builder = builder.set_port(var_2831); } , _ => {} @@ -56907,7 +56921,7 @@ pub fn deser_structure_placement_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupName") /* GroupName com.amazonaws.ec2#PlacementResponse$GroupName */ => { - let var_2831 = + let var_2832 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -56916,7 +56930,7 @@ pub fn deser_structure_placement_response( ? ) ; - builder = builder.set_group_name(var_2831); + builder = builder.set_group_name(var_2832); } , _ => {} @@ -57080,7 +57094,7 @@ pub fn deser_structure_directory_service_authentication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("directoryId") /* DirectoryId com.amazonaws.ec2#DirectoryServiceAuthentication$DirectoryId */ => { - let var_2832 = + let var_2833 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57089,7 +57103,7 @@ pub fn deser_structure_directory_service_authentication( ? ) ; - builder = builder.set_directory_id(var_2832); + builder = builder.set_directory_id(var_2833); } , _ => {} @@ -57106,7 +57120,7 @@ pub fn deser_structure_certificate_authentication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("clientRootCertificateChain") /* ClientRootCertificateChain com.amazonaws.ec2#CertificateAuthentication$ClientRootCertificateChain */ => { - let var_2833 = + let var_2834 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57115,7 +57129,7 @@ pub fn deser_structure_certificate_authentication( ? ) ; - builder = builder.set_client_root_certificate_chain(var_2833); + builder = builder.set_client_root_certificate_chain(var_2834); } , _ => {} @@ -57132,7 +57146,7 @@ pub fn deser_structure_federated_authentication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("samlProviderArn") /* SamlProviderArn com.amazonaws.ec2#FederatedAuthentication$SamlProviderArn */ => { - let var_2834 = + let var_2835 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57141,11 +57155,11 @@ pub fn deser_structure_federated_authentication( ? ) ; - builder = builder.set_saml_provider_arn(var_2834); + builder = builder.set_saml_provider_arn(var_2835); } , s if s.matches("selfServiceSamlProviderArn") /* SelfServiceSamlProviderArn com.amazonaws.ec2#FederatedAuthentication$SelfServiceSamlProviderArn */ => { - let var_2835 = + let var_2836 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57154,7 +57168,7 @@ pub fn deser_structure_federated_authentication( ? ) ; - builder = builder.set_self_service_saml_provider_arn(var_2835); + builder = builder.set_self_service_saml_provider_arn(var_2836); } , _ => {} @@ -57191,7 +57205,7 @@ pub fn deser_structure_fleet_spot_capacity_rebalance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("replacementStrategy") /* ReplacementStrategy com.amazonaws.ec2#FleetSpotCapacityRebalance$ReplacementStrategy */ => { - let var_2836 = + let var_2837 = Some( Result::::Ok( crate::model::FleetReplacementStrategy::from( @@ -57201,7 +57215,7 @@ pub fn deser_structure_fleet_spot_capacity_rebalance( ? ) ; - builder = builder.set_replacement_strategy(var_2836); + builder = builder.set_replacement_strategy(var_2837); } , _ => {} @@ -57218,7 +57232,7 @@ pub fn deser_structure_instance_capacity( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availableCapacity") /* AvailableCapacity com.amazonaws.ec2#InstanceCapacity$AvailableCapacity */ => { - let var_2837 = + let var_2838 = Some( { ::parse_smithy_primitive( @@ -57229,11 +57243,11 @@ pub fn deser_structure_instance_capacity( ? ) ; - builder = builder.set_available_capacity(var_2837); + builder = builder.set_available_capacity(var_2838); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#InstanceCapacity$InstanceType */ => { - let var_2838 = + let var_2839 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57242,11 +57256,11 @@ pub fn deser_structure_instance_capacity( ? ) ; - builder = builder.set_instance_type(var_2838); + builder = builder.set_instance_type(var_2839); } , s if s.matches("totalCapacity") /* TotalCapacity com.amazonaws.ec2#InstanceCapacity$TotalCapacity */ => { - let var_2839 = + let var_2840 = Some( { ::parse_smithy_primitive( @@ -57257,7 +57271,7 @@ pub fn deser_structure_instance_capacity( ? ) ; - builder = builder.set_total_capacity(var_2839); + builder = builder.set_total_capacity(var_2840); } , _ => {} @@ -57274,7 +57288,7 @@ pub fn deser_structure_instance_status_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("impairedSince") /* ImpairedSince com.amazonaws.ec2#InstanceStatusDetails$ImpairedSince */ => { - let var_2840 = + let var_2841 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57284,11 +57298,11 @@ pub fn deser_structure_instance_status_details( ? ) ; - builder = builder.set_impaired_since(var_2840); + builder = builder.set_impaired_since(var_2841); } , s if s.matches("name") /* Name com.amazonaws.ec2#InstanceStatusDetails$Name */ => { - let var_2841 = + let var_2842 = Some( Result::::Ok( crate::model::StatusName::from( @@ -57298,11 +57312,11 @@ pub fn deser_structure_instance_status_details( ? ) ; - builder = builder.set_name(var_2841); + builder = builder.set_name(var_2842); } , s if s.matches("status") /* Status com.amazonaws.ec2#InstanceStatusDetails$Status */ => { - let var_2842 = + let var_2843 = Some( Result::::Ok( crate::model::StatusType::from( @@ -57312,7 +57326,7 @@ pub fn deser_structure_instance_status_details( ? ) ; - builder = builder.set_status(var_2842); + builder = builder.set_status(var_2843); } , _ => {} @@ -57329,7 +57343,7 @@ pub fn deser_structure_disk_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("sizeInGB") /* SizeInGB com.amazonaws.ec2#DiskInfo$SizeInGB */ => { - let var_2843 = + let var_2844 = Some( { ::parse_smithy_primitive( @@ -57340,11 +57354,11 @@ pub fn deser_structure_disk_info( ? ) ; - builder = builder.set_size_in_gb(var_2843); + builder = builder.set_size_in_gb(var_2844); } , s if s.matches("count") /* Count com.amazonaws.ec2#DiskInfo$Count */ => { - let var_2844 = + let var_2845 = Some( { ::parse_smithy_primitive( @@ -57355,11 +57369,11 @@ pub fn deser_structure_disk_info( ? ) ; - builder = builder.set_count(var_2844); + builder = builder.set_count(var_2845); } , s if s.matches("type") /* Type com.amazonaws.ec2#DiskInfo$Type */ => { - let var_2845 = + let var_2846 = Some( Result::::Ok( crate::model::DiskType::from( @@ -57369,7 +57383,7 @@ pub fn deser_structure_disk_info( ? ) ; - builder = builder.set_type(var_2845); + builder = builder.set_type(var_2846); } , _ => {} @@ -57386,7 +57400,7 @@ pub fn deser_structure_network_card_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("networkCardIndex") /* NetworkCardIndex com.amazonaws.ec2#NetworkCardInfo$NetworkCardIndex */ => { - let var_2846 = + let var_2847 = Some( { ::parse_smithy_primitive( @@ -57397,11 +57411,11 @@ pub fn deser_structure_network_card_info( ? ) ; - builder = builder.set_network_card_index(var_2846); + builder = builder.set_network_card_index(var_2847); } , s if s.matches("networkPerformance") /* NetworkPerformance com.amazonaws.ec2#NetworkCardInfo$NetworkPerformance */ => { - let var_2847 = + let var_2848 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57410,11 +57424,11 @@ pub fn deser_structure_network_card_info( ? ) ; - builder = builder.set_network_performance(var_2847); + builder = builder.set_network_performance(var_2848); } , s if s.matches("maximumNetworkInterfaces") /* MaximumNetworkInterfaces com.amazonaws.ec2#NetworkCardInfo$MaximumNetworkInterfaces */ => { - let var_2848 = + let var_2849 = Some( { ::parse_smithy_primitive( @@ -57425,7 +57439,7 @@ pub fn deser_structure_network_card_info( ? ) ; - builder = builder.set_maximum_network_interfaces(var_2848); + builder = builder.set_maximum_network_interfaces(var_2849); } , _ => {} @@ -57442,7 +57456,7 @@ pub fn deser_structure_gpu_device_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("name") /* Name com.amazonaws.ec2#GpuDeviceInfo$Name */ => { - let var_2849 = + let var_2850 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57451,11 +57465,11 @@ pub fn deser_structure_gpu_device_info( ? ) ; - builder = builder.set_name(var_2849); + builder = builder.set_name(var_2850); } , s if s.matches("manufacturer") /* Manufacturer com.amazonaws.ec2#GpuDeviceInfo$Manufacturer */ => { - let var_2850 = + let var_2851 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57464,11 +57478,11 @@ pub fn deser_structure_gpu_device_info( ? ) ; - builder = builder.set_manufacturer(var_2850); + builder = builder.set_manufacturer(var_2851); } , s if s.matches("count") /* Count com.amazonaws.ec2#GpuDeviceInfo$Count */ => { - let var_2851 = + let var_2852 = Some( { ::parse_smithy_primitive( @@ -57479,17 +57493,17 @@ pub fn deser_structure_gpu_device_info( ? ) ; - builder = builder.set_count(var_2851); + builder = builder.set_count(var_2852); } , s if s.matches("memoryInfo") /* MemoryInfo com.amazonaws.ec2#GpuDeviceInfo$MemoryInfo */ => { - let var_2852 = + let var_2853 = Some( crate::xml_deser::deser_structure_gpu_device_memory_info(&mut tag) ? ) ; - builder = builder.set_memory_info(var_2852); + builder = builder.set_memory_info(var_2853); } , _ => {} @@ -57506,7 +57520,7 @@ pub fn deser_structure_fpga_device_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("name") /* Name com.amazonaws.ec2#FpgaDeviceInfo$Name */ => { - let var_2853 = + let var_2854 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57515,11 +57529,11 @@ pub fn deser_structure_fpga_device_info( ? ) ; - builder = builder.set_name(var_2853); + builder = builder.set_name(var_2854); } , s if s.matches("manufacturer") /* Manufacturer com.amazonaws.ec2#FpgaDeviceInfo$Manufacturer */ => { - let var_2854 = + let var_2855 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57528,11 +57542,11 @@ pub fn deser_structure_fpga_device_info( ? ) ; - builder = builder.set_manufacturer(var_2854); + builder = builder.set_manufacturer(var_2855); } , s if s.matches("count") /* Count com.amazonaws.ec2#FpgaDeviceInfo$Count */ => { - let var_2855 = + let var_2856 = Some( { ::parse_smithy_primitive( @@ -57543,17 +57557,17 @@ pub fn deser_structure_fpga_device_info( ? ) ; - builder = builder.set_count(var_2855); + builder = builder.set_count(var_2856); } , s if s.matches("memoryInfo") /* MemoryInfo com.amazonaws.ec2#FpgaDeviceInfo$MemoryInfo */ => { - let var_2856 = + let var_2857 = Some( crate::xml_deser::deser_structure_fpga_device_memory_info(&mut tag) ? ) ; - builder = builder.set_memory_info(var_2856); + builder = builder.set_memory_info(var_2857); } , _ => {} @@ -57570,7 +57584,7 @@ pub fn deser_structure_inference_device_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("count") /* Count com.amazonaws.ec2#InferenceDeviceInfo$Count */ => { - let var_2857 = + let var_2858 = Some( { ::parse_smithy_primitive( @@ -57581,11 +57595,11 @@ pub fn deser_structure_inference_device_info( ? ) ; - builder = builder.set_count(var_2857); + builder = builder.set_count(var_2858); } , s if s.matches("name") /* Name com.amazonaws.ec2#InferenceDeviceInfo$Name */ => { - let var_2858 = + let var_2859 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57594,11 +57608,11 @@ pub fn deser_structure_inference_device_info( ? ) ; - builder = builder.set_name(var_2858); + builder = builder.set_name(var_2859); } , s if s.matches("manufacturer") /* Manufacturer com.amazonaws.ec2#InferenceDeviceInfo$Manufacturer */ => { - let var_2859 = + let var_2860 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57607,7 +57621,7 @@ pub fn deser_structure_inference_device_info( ? ) ; - builder = builder.set_manufacturer(var_2859); + builder = builder.set_manufacturer(var_2860); } , _ => {} @@ -57624,7 +57638,7 @@ pub fn deser_structure_reserved_instances_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#ReservedInstancesConfiguration$AvailabilityZone */ => { - let var_2860 = + let var_2861 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57633,11 +57647,11 @@ pub fn deser_structure_reserved_instances_configuration( ? ) ; - builder = builder.set_availability_zone(var_2860); + builder = builder.set_availability_zone(var_2861); } , s if s.matches("instanceCount") /* InstanceCount com.amazonaws.ec2#ReservedInstancesConfiguration$InstanceCount */ => { - let var_2861 = + let var_2862 = Some( { ::parse_smithy_primitive( @@ -57648,11 +57662,11 @@ pub fn deser_structure_reserved_instances_configuration( ? ) ; - builder = builder.set_instance_count(var_2861); + builder = builder.set_instance_count(var_2862); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#ReservedInstancesConfiguration$InstanceType */ => { - let var_2862 = + let var_2863 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -57662,11 +57676,11 @@ pub fn deser_structure_reserved_instances_configuration( ? ) ; - builder = builder.set_instance_type(var_2862); + builder = builder.set_instance_type(var_2863); } , s if s.matches("platform") /* Platform com.amazonaws.ec2#ReservedInstancesConfiguration$Platform */ => { - let var_2863 = + let var_2864 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57675,11 +57689,11 @@ pub fn deser_structure_reserved_instances_configuration( ? ) ; - builder = builder.set_platform(var_2863); + builder = builder.set_platform(var_2864); } , s if s.matches("scope") /* Scope com.amazonaws.ec2#ReservedInstancesConfiguration$Scope */ => { - let var_2864 = + let var_2865 = Some( Result::::Ok( crate::model::Scope::from( @@ -57689,7 +57703,7 @@ pub fn deser_structure_reserved_instances_configuration( ? ) ; - builder = builder.set_scope(var_2864); + builder = builder.set_scope(var_2865); } , _ => {} @@ -57706,7 +57720,7 @@ pub fn deser_structure_spot_capacity_rebalance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("replacementStrategy") /* ReplacementStrategy com.amazonaws.ec2#SpotCapacityRebalance$ReplacementStrategy */ => { - let var_2865 = + let var_2866 = Some( Result::::Ok( crate::model::ReplacementStrategy::from( @@ -57716,7 +57730,7 @@ pub fn deser_structure_spot_capacity_rebalance( ? ) ; - builder = builder.set_replacement_strategy(var_2865); + builder = builder.set_replacement_strategy(var_2866); } , _ => {} @@ -57733,17 +57747,17 @@ pub fn deser_structure_spot_fleet_launch_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("groupSet") /* SecurityGroups com.amazonaws.ec2#SpotFleetLaunchSpecification$SecurityGroups */ => { - let var_2866 = + let var_2867 = Some( crate::xml_deser::deser_list_group_identifier_list(&mut tag) ? ) ; - builder = builder.set_security_groups(var_2866); + builder = builder.set_security_groups(var_2867); } , s if s.matches("addressingType") /* AddressingType com.amazonaws.ec2#SpotFleetLaunchSpecification$AddressingType */ => { - let var_2867 = + let var_2868 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57752,21 +57766,21 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_addressing_type(var_2867); + builder = builder.set_addressing_type(var_2868); } , s if s.matches("blockDeviceMapping") /* BlockDeviceMappings com.amazonaws.ec2#SpotFleetLaunchSpecification$BlockDeviceMappings */ => { - let var_2868 = + let var_2869 = Some( crate::xml_deser::deser_list_block_device_mapping_list(&mut tag) ? ) ; - builder = builder.set_block_device_mappings(var_2868); + builder = builder.set_block_device_mappings(var_2869); } , s if s.matches("ebsOptimized") /* EbsOptimized com.amazonaws.ec2#SpotFleetLaunchSpecification$EbsOptimized */ => { - let var_2869 = + let var_2870 = Some( { ::parse_smithy_primitive( @@ -57777,21 +57791,21 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_ebs_optimized(var_2869); + builder = builder.set_ebs_optimized(var_2870); } , s if s.matches("iamInstanceProfile") /* IamInstanceProfile com.amazonaws.ec2#SpotFleetLaunchSpecification$IamInstanceProfile */ => { - let var_2870 = + let var_2871 = Some( crate::xml_deser::deser_structure_iam_instance_profile_specification(&mut tag) ? ) ; - builder = builder.set_iam_instance_profile(var_2870); + builder = builder.set_iam_instance_profile(var_2871); } , s if s.matches("imageId") /* ImageId com.amazonaws.ec2#SpotFleetLaunchSpecification$ImageId */ => { - let var_2871 = + let var_2872 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57800,11 +57814,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_image_id(var_2871); + builder = builder.set_image_id(var_2872); } , s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#SpotFleetLaunchSpecification$InstanceType */ => { - let var_2872 = + let var_2873 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -57814,11 +57828,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_instance_type(var_2872); + builder = builder.set_instance_type(var_2873); } , s if s.matches("kernelId") /* KernelId com.amazonaws.ec2#SpotFleetLaunchSpecification$KernelId */ => { - let var_2873 = + let var_2874 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57827,11 +57841,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_kernel_id(var_2873); + builder = builder.set_kernel_id(var_2874); } , s if s.matches("keyName") /* KeyName com.amazonaws.ec2#SpotFleetLaunchSpecification$KeyName */ => { - let var_2874 = + let var_2875 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57840,41 +57854,41 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_key_name(var_2874); + builder = builder.set_key_name(var_2875); } , s if s.matches("monitoring") /* Monitoring com.amazonaws.ec2#SpotFleetLaunchSpecification$Monitoring */ => { - let var_2875 = + let var_2876 = Some( crate::xml_deser::deser_structure_spot_fleet_monitoring(&mut tag) ? ) ; - builder = builder.set_monitoring(var_2875); + builder = builder.set_monitoring(var_2876); } , s if s.matches("networkInterfaceSet") /* NetworkInterfaces com.amazonaws.ec2#SpotFleetLaunchSpecification$NetworkInterfaces */ => { - let var_2876 = + let var_2877 = Some( crate::xml_deser::deser_list_instance_network_interface_specification_list(&mut tag) ? ) ; - builder = builder.set_network_interfaces(var_2876); + builder = builder.set_network_interfaces(var_2877); } , s if s.matches("placement") /* Placement com.amazonaws.ec2#SpotFleetLaunchSpecification$Placement */ => { - let var_2877 = + let var_2878 = Some( crate::xml_deser::deser_structure_spot_placement(&mut tag) ? ) ; - builder = builder.set_placement(var_2877); + builder = builder.set_placement(var_2878); } , s if s.matches("ramdiskId") /* RamdiskId com.amazonaws.ec2#SpotFleetLaunchSpecification$RamdiskId */ => { - let var_2878 = + let var_2879 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57883,11 +57897,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_ramdisk_id(var_2878); + builder = builder.set_ramdisk_id(var_2879); } , s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#SpotFleetLaunchSpecification$SpotPrice */ => { - let var_2879 = + let var_2880 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57896,11 +57910,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_spot_price(var_2879); + builder = builder.set_spot_price(var_2880); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#SpotFleetLaunchSpecification$SubnetId */ => { - let var_2880 = + let var_2881 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57909,11 +57923,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_subnet_id(var_2880); + builder = builder.set_subnet_id(var_2881); } , s if s.matches("userData") /* UserData com.amazonaws.ec2#SpotFleetLaunchSpecification$UserData */ => { - let var_2881 = + let var_2882 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -57922,11 +57936,11 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_user_data(var_2881); + builder = builder.set_user_data(var_2882); } , s if s.matches("weightedCapacity") /* WeightedCapacity com.amazonaws.ec2#SpotFleetLaunchSpecification$WeightedCapacity */ => { - let var_2882 = + let var_2883 = Some( { ::parse_smithy_primitive( @@ -57937,17 +57951,17 @@ pub fn deser_structure_spot_fleet_launch_specification( ? ) ; - builder = builder.set_weighted_capacity(var_2882); + builder = builder.set_weighted_capacity(var_2883); } , s if s.matches("tagSpecificationSet") /* TagSpecifications com.amazonaws.ec2#SpotFleetLaunchSpecification$TagSpecifications */ => { - let var_2883 = + let var_2884 = Some( crate::xml_deser::deser_list_spot_fleet_tag_specification_list(&mut tag) ? ) ; - builder = builder.set_tag_specifications(var_2883); + builder = builder.set_tag_specifications(var_2884); } , _ => {} @@ -57964,23 +57978,23 @@ pub fn deser_structure_launch_template_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("launchTemplateSpecification") /* LaunchTemplateSpecification com.amazonaws.ec2#LaunchTemplateConfig$LaunchTemplateSpecification */ => { - let var_2884 = + let var_2885 = Some( crate::xml_deser::deser_structure_fleet_launch_template_specification(&mut tag) ? ) ; - builder = builder.set_launch_template_specification(var_2884); + builder = builder.set_launch_template_specification(var_2885); } , s if s.matches("overrides") /* Overrides com.amazonaws.ec2#LaunchTemplateConfig$Overrides */ => { - let var_2885 = + let var_2886 = Some( crate::xml_deser::deser_list_launch_template_overrides_list(&mut tag) ? ) ; - builder = builder.set_overrides(var_2885); + builder = builder.set_overrides(var_2886); } , _ => {} @@ -57997,13 +58011,13 @@ pub fn deser_structure_classic_load_balancers_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("classicLoadBalancers") /* ClassicLoadBalancers com.amazonaws.ec2#ClassicLoadBalancersConfig$ClassicLoadBalancers */ => { - let var_2886 = + let var_2887 = Some( crate::xml_deser::deser_list_classic_load_balancers(&mut tag) ? ) ; - builder = builder.set_classic_load_balancers(var_2886); + builder = builder.set_classic_load_balancers(var_2887); } , _ => {} @@ -58020,13 +58034,13 @@ pub fn deser_structure_target_groups_config( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("targetGroups") /* TargetGroups com.amazonaws.ec2#TargetGroupsConfig$TargetGroups */ => { - let var_2887 = + let var_2888 = Some( crate::xml_deser::deser_list_target_groups(&mut tag) ? ) ; - builder = builder.set_target_groups(var_2887); + builder = builder.set_target_groups(var_2888); } , _ => {} @@ -58043,7 +58057,7 @@ pub fn deser_structure_tag_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#TagSpecification$ResourceType */ => { - let var_2888 = + let var_2889 = Some( Result::::Ok( crate::model::ResourceType::from( @@ -58053,17 +58067,17 @@ pub fn deser_structure_tag_specification( ? ) ; - builder = builder.set_resource_type(var_2888); + builder = builder.set_resource_type(var_2889); } , s if s.matches("Tag") /* Tags com.amazonaws.ec2#TagSpecification$Tags */ => { - let var_2889 = + let var_2890 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2889); + builder = builder.set_tags(var_2890); } , _ => {} @@ -58080,7 +58094,7 @@ pub fn deser_structure_instance_network_interface_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("associatePublicIpAddress") /* AssociatePublicIpAddress com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$AssociatePublicIpAddress */ => { - let var_2890 = + let var_2891 = Some( { ::parse_smithy_primitive( @@ -58091,11 +58105,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_associate_public_ip_address(var_2890); + builder = builder.set_associate_public_ip_address(var_2891); } , s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$DeleteOnTermination */ => { - let var_2891 = + let var_2892 = Some( { ::parse_smithy_primitive( @@ -58106,11 +58120,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_delete_on_termination(var_2891); + builder = builder.set_delete_on_termination(var_2892); } , s if s.matches("description") /* Description com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Description */ => { - let var_2892 = + let var_2893 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58119,11 +58133,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_description(var_2892); + builder = builder.set_description(var_2893); } , s if s.matches("deviceIndex") /* DeviceIndex com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$DeviceIndex */ => { - let var_2893 = + let var_2894 = Some( { ::parse_smithy_primitive( @@ -58134,21 +58148,21 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_device_index(var_2893); + builder = builder.set_device_index(var_2894); } , s if s.matches("SecurityGroupId") /* Groups com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Groups */ => { - let var_2894 = + let var_2895 = Some( crate::xml_deser::deser_list_security_group_id_string_list(&mut tag) ? ) ; - builder = builder.set_groups(var_2894); + builder = builder.set_groups(var_2895); } , s if s.matches("ipv6AddressCount") /* Ipv6AddressCount com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv6AddressCount */ => { - let var_2895 = + let var_2896 = Some( { ::parse_smithy_primitive( @@ -58159,21 +58173,21 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv6_address_count(var_2895); + builder = builder.set_ipv6_address_count(var_2896); } , s if s.matches("ipv6AddressesSet") /* Ipv6Addresses com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv6Addresses */ => { - let var_2896 = + let var_2897 = Some( crate::xml_deser::deser_list_instance_ipv6_address_list(&mut tag) ? ) ; - builder = builder.set_ipv6_addresses(var_2896); + builder = builder.set_ipv6_addresses(var_2897); } , s if s.matches("networkInterfaceId") /* NetworkInterfaceId com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$NetworkInterfaceId */ => { - let var_2897 = + let var_2898 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58182,11 +58196,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_network_interface_id(var_2897); + builder = builder.set_network_interface_id(var_2898); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$PrivateIpAddress */ => { - let var_2898 = + let var_2899 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58195,21 +58209,21 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_private_ip_address(var_2898); + builder = builder.set_private_ip_address(var_2899); } , s if s.matches("privateIpAddressesSet") /* PrivateIpAddresses com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$PrivateIpAddresses */ => { - let var_2899 = + let var_2900 = Some( crate::xml_deser::deser_list_private_ip_address_specification_list(&mut tag) ? ) ; - builder = builder.set_private_ip_addresses(var_2899); + builder = builder.set_private_ip_addresses(var_2900); } , s if s.matches("secondaryPrivateIpAddressCount") /* SecondaryPrivateIpAddressCount com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount */ => { - let var_2900 = + let var_2901 = Some( { ::parse_smithy_primitive( @@ -58220,11 +58234,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_secondary_private_ip_address_count(var_2900); + builder = builder.set_secondary_private_ip_address_count(var_2901); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$SubnetId */ => { - let var_2901 = + let var_2902 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58233,11 +58247,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_subnet_id(var_2901); + builder = builder.set_subnet_id(var_2902); } , s if s.matches("AssociateCarrierIpAddress") /* AssociateCarrierIpAddress com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$AssociateCarrierIpAddress */ => { - let var_2902 = + let var_2903 = Some( { ::parse_smithy_primitive( @@ -58248,11 +58262,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_associate_carrier_ip_address(var_2902); + builder = builder.set_associate_carrier_ip_address(var_2903); } , s if s.matches("InterfaceType") /* InterfaceType com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$InterfaceType */ => { - let var_2903 = + let var_2904 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58261,11 +58275,11 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_interface_type(var_2903); + builder = builder.set_interface_type(var_2904); } , s if s.matches("NetworkCardIndex") /* NetworkCardIndex com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$NetworkCardIndex */ => { - let var_2904 = + let var_2905 = Some( { ::parse_smithy_primitive( @@ -58276,21 +58290,21 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_network_card_index(var_2904); + builder = builder.set_network_card_index(var_2905); } , s if s.matches("Ipv4Prefix") /* Ipv4Prefixes com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv4Prefixes */ => { - let var_2905 = + let var_2906 = Some( crate::xml_deser::deser_list_ipv4_prefix_list(&mut tag) ? ) ; - builder = builder.set_ipv4_prefixes(var_2905); + builder = builder.set_ipv4_prefixes(var_2906); } , s if s.matches("Ipv4PrefixCount") /* Ipv4PrefixCount com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv4PrefixCount */ => { - let var_2906 = + let var_2907 = Some( { ::parse_smithy_primitive( @@ -58301,21 +58315,21 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv4_prefix_count(var_2906); + builder = builder.set_ipv4_prefix_count(var_2907); } , s if s.matches("Ipv6Prefix") /* Ipv6Prefixes com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv6Prefixes */ => { - let var_2907 = + let var_2908 = Some( crate::xml_deser::deser_list_ipv6_prefix_list(&mut tag) ? ) ; - builder = builder.set_ipv6_prefixes(var_2907); + builder = builder.set_ipv6_prefixes(var_2908); } , s if s.matches("Ipv6PrefixCount") /* Ipv6PrefixCount com.amazonaws.ec2#InstanceNetworkInterfaceSpecification$Ipv6PrefixCount */ => { - let var_2908 = + let var_2909 = Some( { ::parse_smithy_primitive( @@ -58326,7 +58340,7 @@ pub fn deser_structure_instance_network_interface_specification( ? ) ; - builder = builder.set_ipv6_prefix_count(var_2908); + builder = builder.set_ipv6_prefix_count(var_2909); } , _ => {} @@ -58406,7 +58420,7 @@ pub fn deser_structure_volume_status_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("name") /* Name com.amazonaws.ec2#VolumeStatusDetails$Name */ => { - let var_2909 = + let var_2910 = Some( Result::::Ok( crate::model::VolumeStatusName::from( @@ -58416,11 +58430,11 @@ pub fn deser_structure_volume_status_details( ? ) ; - builder = builder.set_name(var_2909); + builder = builder.set_name(var_2910); } , s if s.matches("status") /* Status com.amazonaws.ec2#VolumeStatusDetails$Status */ => { - let var_2910 = + let var_2911 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58429,7 +58443,7 @@ pub fn deser_structure_volume_status_details( ? ) ; - builder = builder.set_status(var_2910); + builder = builder.set_status(var_2911); } , _ => {} @@ -58446,7 +58460,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_state_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#DisableFastSnapshotRestoreStateError$Code */ => { - let var_2911 = + let var_2912 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58455,11 +58469,11 @@ pub fn deser_structure_disable_fast_snapshot_restore_state_error( ? ) ; - builder = builder.set_code(var_2911); + builder = builder.set_code(var_2912); } , s if s.matches("message") /* Message com.amazonaws.ec2#DisableFastSnapshotRestoreStateError$Message */ => { - let var_2912 = + let var_2913 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58468,7 +58482,7 @@ pub fn deser_structure_disable_fast_snapshot_restore_state_error( ? ) ; - builder = builder.set_message(var_2912); + builder = builder.set_message(var_2913); } , _ => {} @@ -58485,7 +58499,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_state_error( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("code") /* Code com.amazonaws.ec2#EnableFastSnapshotRestoreStateError$Code */ => { - let var_2913 = + let var_2914 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58494,11 +58508,11 @@ pub fn deser_structure_enable_fast_snapshot_restore_state_error( ? ) ; - builder = builder.set_code(var_2913); + builder = builder.set_code(var_2914); } , s if s.matches("message") /* Message com.amazonaws.ec2#EnableFastSnapshotRestoreStateError$Message */ => { - let var_2914 = + let var_2915 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58507,7 +58521,7 @@ pub fn deser_structure_enable_fast_snapshot_restore_state_error( ? ) ; - builder = builder.set_message(var_2914); + builder = builder.set_message(var_2915); } , _ => {} @@ -58524,7 +58538,7 @@ pub fn deser_structure_instance_ipv6_address( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Address") /* Ipv6Address com.amazonaws.ec2#InstanceIpv6Address$Ipv6Address */ => { - let var_2915 = + let var_2916 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58533,7 +58547,7 @@ pub fn deser_structure_instance_ipv6_address( ? ) ; - builder = builder.set_ipv6_address(var_2915); + builder = builder.set_ipv6_address(var_2916); } , _ => {} @@ -58550,7 +58564,7 @@ pub fn deser_structure_private_ip_address_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("primary") /* Primary com.amazonaws.ec2#PrivateIpAddressSpecification$Primary */ => { - let var_2916 = + let var_2917 = Some( { ::parse_smithy_primitive( @@ -58561,11 +58575,11 @@ pub fn deser_structure_private_ip_address_specification( ? ) ; - builder = builder.set_primary(var_2916); + builder = builder.set_primary(var_2917); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#PrivateIpAddressSpecification$PrivateIpAddress */ => { - let var_2917 = + let var_2918 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58574,7 +58588,7 @@ pub fn deser_structure_private_ip_address_specification( ? ) ; - builder = builder.set_private_ip_address(var_2917); + builder = builder.set_private_ip_address(var_2918); } , _ => {} @@ -58591,7 +58605,7 @@ pub fn deser_structure_ipv4_prefix_specification_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv4Prefix") /* Ipv4Prefix com.amazonaws.ec2#Ipv4PrefixSpecificationResponse$Ipv4Prefix */ => { - let var_2918 = + let var_2919 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58600,7 +58614,7 @@ pub fn deser_structure_ipv4_prefix_specification_response( ? ) ; - builder = builder.set_ipv4_prefix(var_2918); + builder = builder.set_ipv4_prefix(var_2919); } , _ => {} @@ -58617,7 +58631,7 @@ pub fn deser_structure_ipv6_prefix_specification_response( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Prefix") /* Ipv6Prefix com.amazonaws.ec2#Ipv6PrefixSpecificationResponse$Ipv6Prefix */ => { - let var_2919 = + let var_2920 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58626,7 +58640,7 @@ pub fn deser_structure_ipv6_prefix_specification_response( ? ) ; - builder = builder.set_ipv6_prefix(var_2919); + builder = builder.set_ipv6_prefix(var_2920); } , _ => {} @@ -58643,7 +58657,7 @@ pub fn deser_structure_instance_network_interface_association( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("carrierIp") /* CarrierIp com.amazonaws.ec2#InstanceNetworkInterfaceAssociation$CarrierIp */ => { - let var_2920 = + let var_2921 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58652,11 +58666,11 @@ pub fn deser_structure_instance_network_interface_association( ? ) ; - builder = builder.set_carrier_ip(var_2920); + builder = builder.set_carrier_ip(var_2921); } , s if s.matches("ipOwnerId") /* IpOwnerId com.amazonaws.ec2#InstanceNetworkInterfaceAssociation$IpOwnerId */ => { - let var_2921 = + let var_2922 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58665,11 +58679,11 @@ pub fn deser_structure_instance_network_interface_association( ? ) ; - builder = builder.set_ip_owner_id(var_2921); + builder = builder.set_ip_owner_id(var_2922); } , s if s.matches("publicDnsName") /* PublicDnsName com.amazonaws.ec2#InstanceNetworkInterfaceAssociation$PublicDnsName */ => { - let var_2922 = + let var_2923 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58678,11 +58692,11 @@ pub fn deser_structure_instance_network_interface_association( ? ) ; - builder = builder.set_public_dns_name(var_2922); + builder = builder.set_public_dns_name(var_2923); } , s if s.matches("publicIp") /* PublicIp com.amazonaws.ec2#InstanceNetworkInterfaceAssociation$PublicIp */ => { - let var_2923 = + let var_2924 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58691,7 +58705,7 @@ pub fn deser_structure_instance_network_interface_association( ? ) ; - builder = builder.set_public_ip(var_2923); + builder = builder.set_public_ip(var_2924); } , _ => {} @@ -58708,7 +58722,7 @@ pub fn deser_structure_instance_network_interface_attachment( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("attachTime") /* AttachTime com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$AttachTime */ => { - let var_2924 = + let var_2925 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58718,11 +58732,11 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_attach_time(var_2924); + builder = builder.set_attach_time(var_2925); } , s if s.matches("attachmentId") /* AttachmentId com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$AttachmentId */ => { - let var_2925 = + let var_2926 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58731,11 +58745,11 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_attachment_id(var_2925); + builder = builder.set_attachment_id(var_2926); } , s if s.matches("deleteOnTermination") /* DeleteOnTermination com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$DeleteOnTermination */ => { - let var_2926 = + let var_2927 = Some( { ::parse_smithy_primitive( @@ -58746,11 +58760,11 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_delete_on_termination(var_2926); + builder = builder.set_delete_on_termination(var_2927); } , s if s.matches("deviceIndex") /* DeviceIndex com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$DeviceIndex */ => { - let var_2927 = + let var_2928 = Some( { ::parse_smithy_primitive( @@ -58761,11 +58775,11 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_device_index(var_2927); + builder = builder.set_device_index(var_2928); } , s if s.matches("status") /* Status com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$Status */ => { - let var_2928 = + let var_2929 = Some( Result::::Ok( crate::model::AttachmentStatus::from( @@ -58775,11 +58789,11 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_status(var_2928); + builder = builder.set_status(var_2929); } , s if s.matches("networkCardIndex") /* NetworkCardIndex com.amazonaws.ec2#InstanceNetworkInterfaceAttachment$NetworkCardIndex */ => { - let var_2929 = + let var_2930 = Some( { ::parse_smithy_primitive( @@ -58790,7 +58804,7 @@ pub fn deser_structure_instance_network_interface_attachment( ? ) ; - builder = builder.set_network_card_index(var_2929); + builder = builder.set_network_card_index(var_2930); } , _ => {} @@ -58864,7 +58878,7 @@ pub fn deser_structure_phase1_encryption_algorithms_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase1EncryptionAlgorithmsListValue$Value */ => { - let var_2930 = + let var_2931 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58873,7 +58887,7 @@ pub fn deser_structure_phase1_encryption_algorithms_list_value( ? ) ; - builder = builder.set_value(var_2930); + builder = builder.set_value(var_2931); } , _ => {} @@ -58890,7 +58904,7 @@ pub fn deser_structure_phase2_encryption_algorithms_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase2EncryptionAlgorithmsListValue$Value */ => { - let var_2931 = + let var_2932 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58899,7 +58913,7 @@ pub fn deser_structure_phase2_encryption_algorithms_list_value( ? ) ; - builder = builder.set_value(var_2931); + builder = builder.set_value(var_2932); } , _ => {} @@ -58916,7 +58930,7 @@ pub fn deser_structure_phase1_integrity_algorithms_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase1IntegrityAlgorithmsListValue$Value */ => { - let var_2932 = + let var_2933 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58925,7 +58939,7 @@ pub fn deser_structure_phase1_integrity_algorithms_list_value( ? ) ; - builder = builder.set_value(var_2932); + builder = builder.set_value(var_2933); } , _ => {} @@ -58942,7 +58956,7 @@ pub fn deser_structure_phase2_integrity_algorithms_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase2IntegrityAlgorithmsListValue$Value */ => { - let var_2933 = + let var_2934 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -58951,7 +58965,7 @@ pub fn deser_structure_phase2_integrity_algorithms_list_value( ? ) ; - builder = builder.set_value(var_2933); + builder = builder.set_value(var_2934); } , _ => {} @@ -58968,7 +58982,7 @@ pub fn deser_structure_phase1_dh_group_numbers_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase1DHGroupNumbersListValue$Value */ => { - let var_2934 = + let var_2935 = Some( { ::parse_smithy_primitive( @@ -58979,7 +58993,7 @@ pub fn deser_structure_phase1_dh_group_numbers_list_value( ? ) ; - builder = builder.set_value(var_2934); + builder = builder.set_value(var_2935); } , _ => {} @@ -58996,7 +59010,7 @@ pub fn deser_structure_phase2_dh_group_numbers_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#Phase2DHGroupNumbersListValue$Value */ => { - let var_2935 = + let var_2936 = Some( { ::parse_smithy_primitive( @@ -59007,7 +59021,7 @@ pub fn deser_structure_phase2_dh_group_numbers_list_value( ? ) ; - builder = builder.set_value(var_2935); + builder = builder.set_value(var_2936); } , _ => {} @@ -59024,7 +59038,7 @@ pub fn deser_structure_ike_versions_list_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("value") /* Value com.amazonaws.ec2#IKEVersionsListValue$Value */ => { - let var_2936 = + let var_2937 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59033,7 +59047,7 @@ pub fn deser_structure_ike_versions_list_value( ? ) ; - builder = builder.set_value(var_2936); + builder = builder.set_value(var_2937); } , _ => {} @@ -59050,7 +59064,7 @@ pub fn deser_structure_gpu_device_memory_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("sizeInMiB") /* SizeInMiB com.amazonaws.ec2#GpuDeviceMemoryInfo$SizeInMiB */ => { - let var_2937 = + let var_2938 = Some( { ::parse_smithy_primitive( @@ -59061,7 +59075,7 @@ pub fn deser_structure_gpu_device_memory_info( ? ) ; - builder = builder.set_size_in_mi_b(var_2937); + builder = builder.set_size_in_mi_b(var_2938); } , _ => {} @@ -59078,7 +59092,7 @@ pub fn deser_structure_fpga_device_memory_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("sizeInMiB") /* SizeInMiB com.amazonaws.ec2#FpgaDeviceMemoryInfo$SizeInMiB */ => { - let var_2938 = + let var_2939 = Some( { ::parse_smithy_primitive( @@ -59089,7 +59103,7 @@ pub fn deser_structure_fpga_device_memory_info( ? ) ; - builder = builder.set_size_in_mi_b(var_2938); + builder = builder.set_size_in_mi_b(var_2939); } , _ => {} @@ -59106,7 +59120,7 @@ pub fn deser_structure_spot_fleet_monitoring( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("enabled") /* Enabled com.amazonaws.ec2#SpotFleetMonitoring$Enabled */ => { - let var_2939 = + let var_2940 = Some( { ::parse_smithy_primitive( @@ -59117,7 +59131,7 @@ pub fn deser_structure_spot_fleet_monitoring( ? ) ; - builder = builder.set_enabled(var_2939); + builder = builder.set_enabled(var_2940); } , _ => {} @@ -59272,17 +59286,17 @@ pub fn deser_structure_instance_private_ip_address( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("association") /* Association com.amazonaws.ec2#InstancePrivateIpAddress$Association */ => { - let var_2940 = + let var_2941 = Some( crate::xml_deser::deser_structure_instance_network_interface_association(&mut tag) ? ) ; - builder = builder.set_association(var_2940); + builder = builder.set_association(var_2941); } , s if s.matches("primary") /* Primary com.amazonaws.ec2#InstancePrivateIpAddress$Primary */ => { - let var_2941 = + let var_2942 = Some( { ::parse_smithy_primitive( @@ -59293,11 +59307,11 @@ pub fn deser_structure_instance_private_ip_address( ? ) ; - builder = builder.set_primary(var_2941); + builder = builder.set_primary(var_2942); } , s if s.matches("privateDnsName") /* PrivateDnsName com.amazonaws.ec2#InstancePrivateIpAddress$PrivateDnsName */ => { - let var_2942 = + let var_2943 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59306,11 +59320,11 @@ pub fn deser_structure_instance_private_ip_address( ? ) ; - builder = builder.set_private_dns_name(var_2942); + builder = builder.set_private_dns_name(var_2943); } , s if s.matches("privateIpAddress") /* PrivateIpAddress com.amazonaws.ec2#InstancePrivateIpAddress$PrivateIpAddress */ => { - let var_2943 = + let var_2944 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59319,7 +59333,7 @@ pub fn deser_structure_instance_private_ip_address( ? ) ; - builder = builder.set_private_ip_address(var_2943); + builder = builder.set_private_ip_address(var_2944); } , _ => {} @@ -59336,7 +59350,7 @@ pub fn deser_structure_instance_ipv4_prefix( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv4Prefix") /* Ipv4Prefix com.amazonaws.ec2#InstanceIpv4Prefix$Ipv4Prefix */ => { - let var_2944 = + let var_2945 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59345,7 +59359,7 @@ pub fn deser_structure_instance_ipv4_prefix( ? ) ; - builder = builder.set_ipv4_prefix(var_2944); + builder = builder.set_ipv4_prefix(var_2945); } , _ => {} @@ -59362,7 +59376,7 @@ pub fn deser_structure_instance_ipv6_prefix( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ipv6Prefix") /* Ipv6Prefix com.amazonaws.ec2#InstanceIpv6Prefix$Ipv6Prefix */ => { - let var_2945 = + let var_2946 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59371,7 +59385,7 @@ pub fn deser_structure_instance_ipv6_prefix( ? ) ; - builder = builder.set_ipv6_prefix(var_2945); + builder = builder.set_ipv6_prefix(var_2946); } , _ => {} @@ -59388,7 +59402,7 @@ pub fn deser_structure_spot_fleet_tag_specification( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("resourceType") /* ResourceType com.amazonaws.ec2#SpotFleetTagSpecification$ResourceType */ => { - let var_2946 = + let var_2947 = Some( Result::::Ok( crate::model::ResourceType::from( @@ -59398,17 +59412,17 @@ pub fn deser_structure_spot_fleet_tag_specification( ? ) ; - builder = builder.set_resource_type(var_2946); + builder = builder.set_resource_type(var_2947); } , s if s.matches("tag") /* Tags com.amazonaws.ec2#SpotFleetTagSpecification$Tags */ => { - let var_2947 = + let var_2948 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tags(var_2947); + builder = builder.set_tags(var_2948); } , _ => {} @@ -59425,7 +59439,7 @@ pub fn deser_structure_launch_template_overrides( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("instanceType") /* InstanceType com.amazonaws.ec2#LaunchTemplateOverrides$InstanceType */ => { - let var_2948 = + let var_2949 = Some( Result::::Ok( crate::model::InstanceType::from( @@ -59435,11 +59449,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_instance_type(var_2948); + builder = builder.set_instance_type(var_2949); } , s if s.matches("spotPrice") /* SpotPrice com.amazonaws.ec2#LaunchTemplateOverrides$SpotPrice */ => { - let var_2949 = + let var_2950 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59448,11 +59462,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_spot_price(var_2949); + builder = builder.set_spot_price(var_2950); } , s if s.matches("subnetId") /* SubnetId com.amazonaws.ec2#LaunchTemplateOverrides$SubnetId */ => { - let var_2950 = + let var_2951 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59461,11 +59475,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_subnet_id(var_2950); + builder = builder.set_subnet_id(var_2951); } , s if s.matches("availabilityZone") /* AvailabilityZone com.amazonaws.ec2#LaunchTemplateOverrides$AvailabilityZone */ => { - let var_2951 = + let var_2952 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59474,11 +59488,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_availability_zone(var_2951); + builder = builder.set_availability_zone(var_2952); } , s if s.matches("weightedCapacity") /* WeightedCapacity com.amazonaws.ec2#LaunchTemplateOverrides$WeightedCapacity */ => { - let var_2952 = + let var_2953 = Some( { ::parse_smithy_primitive( @@ -59489,11 +59503,11 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_weighted_capacity(var_2952); + builder = builder.set_weighted_capacity(var_2953); } , s if s.matches("priority") /* Priority com.amazonaws.ec2#LaunchTemplateOverrides$Priority */ => { - let var_2953 = + let var_2954 = Some( { ::parse_smithy_primitive( @@ -59504,7 +59518,7 @@ pub fn deser_structure_launch_template_overrides( ? ) ; - builder = builder.set_priority(var_2953); + builder = builder.set_priority(var_2954); } , _ => {} @@ -59521,7 +59535,7 @@ pub fn deser_structure_classic_load_balancer( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("name") /* Name com.amazonaws.ec2#ClassicLoadBalancer$Name */ => { - let var_2954 = + let var_2955 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59530,7 +59544,7 @@ pub fn deser_structure_classic_load_balancer( ? ) ; - builder = builder.set_name(var_2954); + builder = builder.set_name(var_2955); } , _ => {} @@ -59547,7 +59561,7 @@ pub fn deser_structure_target_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("arn") /* Arn com.amazonaws.ec2#TargetGroup$Arn */ => { - let var_2955 = + let var_2956 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59556,7 +59570,7 @@ pub fn deser_structure_target_group( ? ) ; - builder = builder.set_arn(var_2955); + builder = builder.set_arn(var_2956); } , _ => {} @@ -59573,7 +59587,7 @@ pub fn deser_structure_ipv4_prefix_specification_request( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Ipv4Prefix") /* Ipv4Prefix com.amazonaws.ec2#Ipv4PrefixSpecificationRequest$Ipv4Prefix */ => { - let var_2956 = + let var_2957 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59582,7 +59596,7 @@ pub fn deser_structure_ipv4_prefix_specification_request( ? ) ; - builder = builder.set_ipv4_prefix(var_2956); + builder = builder.set_ipv4_prefix(var_2957); } , _ => {} @@ -59599,7 +59613,7 @@ pub fn deser_structure_ipv6_prefix_specification_request( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Ipv6Prefix") /* Ipv6Prefix com.amazonaws.ec2#Ipv6PrefixSpecificationRequest$Ipv6Prefix */ => { - let var_2957 = + let var_2958 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -59608,7 +59622,7 @@ pub fn deser_structure_ipv6_prefix_specification_request( ? ) ; - builder = builder.set_ipv6_prefix(var_2957); + builder = builder.set_ipv6_prefix(var_2958); } , _ => {} diff --git a/sdk/ec2instanceconnect/Cargo.toml b/sdk/ec2instanceconnect/Cargo.toml index 2af71e264d2e..e980dd8dd114 100644 --- a/sdk/ec2instanceconnect/Cargo.toml +++ b/sdk/ec2instanceconnect/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ec2instanceconnect" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

            Amazon EC2 Instance Connect enables system administrators to publish one-time use SSH\n public keys to EC2, providing users a simple and secure way to connect to their\n instances.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ecr/Cargo.toml b/sdk/ecr/Cargo.toml index 2e5fe5479c87..bb9dc613890c 100644 --- a/sdk/ecr/Cargo.toml +++ b/sdk/ecr/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ecr" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elastic Container Registry\n

            Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the\n familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR\n provides a secure, scalable, and reliable registry for your Docker or Open Container\n Initiative (OCI) images. Amazon ECR supports private repositories with resource-based\n permissions using IAM so that specific users or Amazon EC2 instances can access\n repositories and images.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ecrpublic/Cargo.toml b/sdk/ecrpublic/Cargo.toml index b01d2e3d326a..3ea82fe7d794 100644 --- a/sdk/ecrpublic/Cargo.toml +++ b/sdk/ecrpublic/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ecrpublic" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elastic Container Registry Public\n

            Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Amazon ECR provides both\n public and private registries to host your container images. You can use the familiar\n Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR provides a\n secure, scalable, and reliable registry for your Docker or Open Container Initiative (OCI)\n images. Amazon ECR supports public repositories with this API. For information about the Amazon ECR\n API for private repositories, see Amazon Elastic Container Registry API Reference.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ecs/Cargo.toml b/sdk/ecs/Cargo.toml index cf1a92de9989..11298d5a366d 100644 --- a/sdk/ecs/Cargo.toml +++ b/sdk/ecs/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ecs" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elastic Container Service\n\t\t

            Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes\n\t\t\tit easy to run, stop, and manage Docker containers on a cluster. You can host your\n\t\t\tcluster on a serverless infrastructure that is managed by Amazon ECS by launching your\n\t\t\tservices or tasks on Fargate. For more control, you can host your tasks on a cluster\n\t\t\tof Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

            \n\t\t

            Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls, allows you to get the state of your cluster from a centralized service, and gives\n\t\t\tyou access to many familiar Amazon EC2 features.

            \n\t\t

            You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. Amazon ECS eliminates\n\t\t\tthe need for you to operate your own cluster management and configuration management\n\t\t\tsystems or worry about scaling your management infrastructure.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ecs/src/client.rs b/sdk/ecs/src/client.rs index fe5cf014de15..552aef48dfac 100644 --- a/sdk/ecs/src/client.rs +++ b/sdk/ecs/src/client.rs @@ -446,7 +446,7 @@ pub mod fluent_builders { self } ///

            The capacity provider strategy to set as the default for the cluster. When a default - /// capacity provider strategy is set for a cluster, when calling the RunTask or CreateService APIs wtih no capacity + /// capacity provider strategy is set for a cluster, when calling the RunTask or CreateService APIs with no capacity /// provider strategy or launch type specified, the default capacity provider strategy for /// the cluster is used.

            ///

            If a default capacity provider strategy is not defined for a cluster during creation, @@ -656,6 +656,7 @@ pub mod fluent_builders { /// parameter must be omitted. If no capacityProviderStrategy or /// launchType is specified, the /// defaultCapacityProviderStrategy for the cluster is used.

            + ///

            A capacity provider strategy may contain a maximum of 6 capacity providers.

            pub fn capacity_provider_strategy( mut self, inp: impl Into, @@ -732,7 +733,7 @@ pub mod fluent_builders { } ///

            An array of placement constraint objects to use for tasks in your service. You can /// specify a maximum of 10 constraints per task (this limit includes constraints in the - /// task definition and those specified at runtime).

            + /// task definition and those specified at runtime).

            pub fn placement_constraints( mut self, inp: impl Into, @@ -748,7 +749,7 @@ pub mod fluent_builders { self } ///

            The placement strategy objects to use for tasks in your service. You can specify a - /// maximum of five strategy rules per service.

            + /// maximum of 5 strategy rules per service.

            pub fn placement_strategy( mut self, inp: impl Into, @@ -1558,7 +1559,7 @@ pub mod fluent_builders { self } ///

            The container instance ID or full ARN of the container instance to deregister. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub fn container_instance(mut self, input: impl Into) -> Self { self.inner = self.inner.container_instance(input); self @@ -1779,6 +1780,8 @@ pub mod fluent_builders { /// or tasks within the cluster are included.

            ///

            If SETTINGS is specified, the settings for the cluster are /// included.

            + ///

            If CONFIGURATIONS is specified, the configuration for the cluster is + /// included.

            ///

            If STATISTICS is specified, the task and service count is included, /// separated by launch type.

            ///

            If TAGS is specified, the metadata tags associated with the cluster are @@ -2175,7 +2178,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

            The container instance ID or full ARN of the container instance. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub fn container_instance(mut self, input: impl Into) -> Self { self.inner = self.inner.container_instance(input); self @@ -4099,6 +4102,7 @@ pub mod fluent_builders { /// launchType is specified, the /// defaultCapacityProviderStrategy for the cluster is used.

            ///

            When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType.

            + ///

            A capacity provider strategy may contain a maximum of 6 capacity providers.

            pub fn capacity_provider_strategy( mut self, inp: impl Into, @@ -4156,7 +4160,7 @@ pub mod fluent_builders { self } ///

            The name of the task group to associate with the task. The default value is the family - /// name of the task definition (for example, family:my-family-name).

            + /// name of the task definition (for example, family:my-family-name).

            pub fn group(mut self, input: impl Into) -> Self { self.inner = self.inner.group(input); self @@ -4196,7 +4200,7 @@ pub mod fluent_builders { ///

            The network configuration for the task. This parameter is required for task /// definitions that use the awsvpc network mode to receive their own elastic /// network interface, and it is not supported for other network modes. For more - /// information, see Task Networking + /// information, see Task networking /// in the Amazon Elastic Container Service Developer Guide.

            pub fn network_configuration(mut self, input: crate::model::NetworkConfiguration) -> Self { self.inner = self.inner.network_configuration(input); @@ -4215,10 +4219,8 @@ pub mod fluent_builders { /// image) with a command override. You can also override existing environment /// variables (that are specified in the task definition or Docker image) on a container or /// add new environment variables to it with an environment override.

            - /// ///

            A total of 8192 characters are allowed for overrides. This limit includes the JSON /// formatting characters of the override structure.

            - ///
            pub fn overrides(mut self, input: crate::model::TaskOverride) -> Self { self.inner = self.inner.overrides(input); self @@ -4247,7 +4249,7 @@ pub mod fluent_builders { self.inner = self.inner.set_placement_constraints(input); self } - ///

            The placement strategy objects to use for the task. You can specify a maximum of five + ///

            The placement strategy objects to use for the task. You can specify a maximum of 5 /// strategy rules per task.

            pub fn placement_strategy( mut self, @@ -4263,11 +4265,10 @@ pub mod fluent_builders { self.inner = self.inner.set_placement_strategy(input); self } - ///

            The platform version the task should run. A platform version is only specified for - /// tasks using the Fargate launch type. If one is not specified, the - /// LATEST platform version is used by default. For more information, see - /// Fargate Platform - /// Versions in the Amazon Elastic Container Service Developer Guide.

            + ///

            The platform version the task should use. A platform version is only specified for + /// tasks hosted on Fargate. If one is not specified, the LATEST + /// platform version is used by default. For more information, see Fargate platform versions in the + /// Amazon Elastic Container Service Developer Guide.

            pub fn platform_version(mut self, input: impl Into) -> Self { self.inner = self.inner.platform_version(input); self @@ -4297,7 +4298,8 @@ pub mod fluent_builders { self.inner = self.inner.set_propagate_tags(input); self } - ///

            The reference ID to use for the task.

            + ///

            The reference ID to use for the task. The reference ID can have a maximum length of + /// 1024 characters.

            pub fn reference_id(mut self, input: impl Into) -> Self { self.inner = self.inner.reference_id(input); self diff --git a/sdk/ecs/src/input.rs b/sdk/ecs/src/input.rs index b639a1daf86b..3e4fb8893d2d 100644 --- a/sdk/ecs/src/input.rs +++ b/sdk/ecs/src/input.rs @@ -2197,7 +2197,7 @@ pub mod deregister_container_instance_input { self } ///

            The container instance ID or full ARN of the container instance to deregister. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub fn container_instance(mut self, input: impl Into) -> Self { self.container_instance = Some(input.into()); self @@ -3718,7 +3718,7 @@ pub mod discover_poll_endpoint_input { } impl Builder { ///

            The container instance ID or full ARN of the container instance. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub fn container_instance(mut self, input: impl Into) -> Self { self.container_instance = Some(input.into()); self @@ -7424,7 +7424,7 @@ pub mod run_task_input { self } ///

            The name of the task group to associate with the task. The default value is the family - /// name of the task definition (for example, family:my-family-name).

            + /// name of the task definition (for example, family:my-family-name).

            pub fn group(mut self, input: impl Into) -> Self { self.group = Some(input.into()); self @@ -7464,7 +7464,7 @@ pub mod run_task_input { ///

            The network configuration for the task. This parameter is required for task /// definitions that use the awsvpc network mode to receive their own elastic /// network interface, and it is not supported for other network modes. For more - /// information, see Task Networking + /// information, see Task networking /// in the Amazon Elastic Container Service Developer Guide.

            pub fn network_configuration(mut self, input: crate::model::NetworkConfiguration) -> Self { self.network_configuration = Some(input); @@ -7483,10 +7483,8 @@ pub mod run_task_input { /// image) with a command override. You can also override existing environment /// variables (that are specified in the task definition or Docker image) on a container or /// add new environment variables to it with an environment override.

            - /// ///

            A total of 8192 characters are allowed for overrides. This limit includes the JSON /// formatting characters of the override structure.

            - ///
            pub fn overrides(mut self, input: crate::model::TaskOverride) -> Self { self.overrides = Some(input); self @@ -7530,11 +7528,10 @@ pub mod run_task_input { self.placement_strategy = input; self } - ///

            The platform version the task should run. A platform version is only specified for - /// tasks using the Fargate launch type. If one is not specified, the - /// LATEST platform version is used by default. For more information, see - /// Fargate Platform - /// Versions in the Amazon Elastic Container Service Developer Guide.

            + ///

            The platform version the task should use. A platform version is only specified for + /// tasks hosted on Fargate. If one is not specified, the LATEST + /// platform version is used by default. For more information, see Fargate platform versions in the + /// Amazon Elastic Container Service Developer Guide.

            pub fn platform_version(mut self, input: impl Into) -> Self { self.platform_version = Some(input.into()); self @@ -7564,7 +7561,8 @@ pub mod run_task_input { self.propagate_tags = input; self } - ///

            The reference ID to use for the task.

            + ///

            The reference ID to use for the task. The reference ID can have a maximum length of + /// 1024 characters.

            pub fn reference_id(mut self, input: impl Into) -> Self { self.reference_id = Some(input.into()); self @@ -11216,6 +11214,7 @@ pub struct RunTaskInput { /// launchType is specified, the /// defaultCapacityProviderStrategy for the cluster is used.

            ///

            When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType.

            + ///

            A capacity provider strategy may contain a maximum of 6 capacity providers.

            pub capacity_provider_strategy: std::option::Option>, ///

            The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. @@ -11233,7 +11232,7 @@ pub struct RunTaskInput { /// in the task.

            pub enable_execute_command: bool, ///

            The name of the task group to associate with the task. The default value is the family - /// name of the task definition (for example, family:my-family-name).

            + /// name of the task definition (for example, family:my-family-name).

            pub group: std::option::Option, ///

            The infrastructure on which to run your standalone task. For more information, see /// Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

            @@ -11256,7 +11255,7 @@ pub struct RunTaskInput { ///

            The network configuration for the task. This parameter is required for task /// definitions that use the awsvpc network mode to receive their own elastic /// network interface, and it is not supported for other network modes. For more - /// information, see Task Networking + /// information, see Task networking /// in the Amazon Elastic Container Service Developer Guide.

            pub network_configuration: std::option::Option, ///

            A list of container overrides in JSON format that specify the name of a container in @@ -11265,24 +11264,21 @@ pub struct RunTaskInput { /// image) with a command override. You can also override existing environment /// variables (that are specified in the task definition or Docker image) on a container or /// add new environment variables to it with an environment override.

            - /// ///

            A total of 8192 characters are allowed for overrides. This limit includes the JSON /// formatting characters of the override structure.

            - ///
            pub overrides: std::option::Option, ///

            An array of placement constraint objects to use for the task. You can specify up to 10 /// constraints per task (including constraints in the task definition and those specified /// at runtime).

            pub placement_constraints: std::option::Option>, - ///

            The placement strategy objects to use for the task. You can specify a maximum of five + ///

            The placement strategy objects to use for the task. You can specify a maximum of 5 /// strategy rules per task.

            pub placement_strategy: std::option::Option>, - ///

            The platform version the task should run. A platform version is only specified for - /// tasks using the Fargate launch type. If one is not specified, the - /// LATEST platform version is used by default. For more information, see - /// Fargate Platform - /// Versions in the Amazon Elastic Container Service Developer Guide.

            + ///

            The platform version the task should use. A platform version is only specified for + /// tasks hosted on Fargate. If one is not specified, the LATEST + /// platform version is used by default. For more information, see Fargate platform versions in the + /// Amazon Elastic Container Service Developer Guide.

            pub platform_version: std::option::Option, ///

            Specifies whether to propagate the tags from the task definition to the task. If no /// value is specified, the tags are not propagated. Tags can only be propagated to the task @@ -11292,7 +11288,8 @@ pub struct RunTaskInput { /// running a task.

            /// pub propagate_tags: std::option::Option, - ///

            The reference ID to use for the task.

            + ///

            The reference ID to use for the task. The reference ID can have a maximum length of + /// 1024 characters.

            pub reference_id: std::option::Option, ///

            An optional tag specified when a task is started. For example, if you automatically /// trigger a task to run a batch process job, you could apply a unique identifier for that @@ -12285,7 +12282,7 @@ impl std::fmt::Debug for ExecuteCommandInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DiscoverPollEndpointInput { ///

            The container instance ID or full ARN of the container instance. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub container_instance: std::option::Option, ///

            The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance /// belongs.

            @@ -12435,6 +12432,8 @@ pub struct DescribeClustersInput { /// or tasks within the cluster are included.

            ///

            If SETTINGS is specified, the settings for the cluster are /// included.

            + ///

            If CONFIGURATIONS is specified, the configuration for the cluster is + /// included.

            ///

            If STATISTICS is specified, the task and service count is included, /// separated by launch type.

            ///

            If TAGS is specified, the metadata tags associated with the cluster are @@ -12516,7 +12515,7 @@ pub struct DeregisterContainerInstanceInput { /// deregister. If you do not specify a cluster, the default cluster is assumed.

            pub cluster: std::option::Option, ///

            The container instance ID or full ARN of the container instance to deregister. - /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + /// The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub container_instance: std::option::Option, ///

            Forces the deregistration of the container instance. If you have tasks running on the /// container instance when you deregister it with the force option, these @@ -12877,6 +12876,7 @@ pub struct CreateServiceInput { /// parameter must be omitted. If no capacityProviderStrategy or /// launchType is specified, the /// defaultCapacityProviderStrategy for the cluster is used.

            + ///

            A capacity provider strategy may contain a maximum of 6 capacity providers.

            pub capacity_provider_strategy: std::option::Option>, ///

            The platform version that your tasks in the service are running on. A platform version @@ -12911,11 +12911,11 @@ pub struct CreateServiceInput { pub deployment_configuration: std::option::Option, ///

            An array of placement constraint objects to use for tasks in your service. You can /// specify a maximum of 10 constraints per task (this limit includes constraints in the - /// task definition and those specified at runtime).

            + /// task definition and those specified at runtime).

            pub placement_constraints: std::option::Option>, ///

            The placement strategy objects to use for tasks in your service. You can specify a - /// maximum of five strategy rules per service.

            + /// maximum of 5 strategy rules per service.

            pub placement_strategy: std::option::Option>, ///

            The network configuration for the service. This parameter is required for task /// definitions that use the awsvpc network mode to receive their own elastic @@ -13115,7 +13115,7 @@ pub struct CreateClusterInput { /// list of available capacity providers for a cluster after the cluster is created.

            pub capacity_providers: std::option::Option>, ///

            The capacity provider strategy to set as the default for the cluster. When a default - /// capacity provider strategy is set for a cluster, when calling the RunTask or CreateService APIs wtih no capacity + /// capacity provider strategy is set for a cluster, when calling the RunTask or CreateService APIs with no capacity /// provider strategy or launch type specified, the default capacity provider strategy for /// the cluster is used.

            ///

            If a default capacity provider strategy is not defined for a cluster during creation, diff --git a/sdk/ecs/src/model.rs b/sdk/ecs/src/model.rs index 4b357452484b..80fe39b5711f 100644 --- a/sdk/ecs/src/model.rs +++ b/sdk/ecs/src/model.rs @@ -1302,6 +1302,7 @@ impl AsRef for AssignPublicIp { /// FARGATE_SPOT capacity providers. The Fargate capacity providers are /// available to all accounts and only need to be associated with a cluster to be used in a /// capacity provider strategy.

            +///

            A capacity provider strategy may contain a maximum of 6 capacity providers.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CapacityProviderStrategyItem { @@ -1478,7 +1479,7 @@ impl AsRef for LaunchType { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Service { - ///

            The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

            + ///

            The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the Amazon Web Services account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

            pub service_arn: std::option::Option, ///

            The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within /// a cluster, but you can have similarly named services in multiple clusters within a @@ -1711,7 +1712,7 @@ pub mod service { pub(crate) enable_execute_command: std::option::Option, } impl Builder { - ///

            The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

            + ///

            The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the Amazon Web Services account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

            pub fn service_arn(mut self, input: impl Into) -> Self { self.service_arn = Some(input.into()); self @@ -2554,9 +2555,9 @@ pub struct PlacementConstraint { /// memberOf to restrict the selection to a group of valid /// candidates.

            pub r#type: std::option::Option, - ///

            A cluster query language expression to apply to the constraint. You cannot specify an - /// expression if the constraint type is distinctInstance. For more - /// information, see Cluster Query Language in the + ///

            A cluster query language expression to apply to the constraint. The expression can + /// have a maximum length of 2000 characters. You can't specify an expression if the + /// constraint type is distinctInstance. For more information, see Cluster query language in the /// Amazon Elastic Container Service Developer Guide.

            pub expression: std::option::Option, } @@ -2593,9 +2594,9 @@ pub mod placement_constraint { self.r#type = input; self } - ///

            A cluster query language expression to apply to the constraint. You cannot specify an - /// expression if the constraint type is distinctInstance. For more - /// information, see Cluster Query Language in the + ///

            A cluster query language expression to apply to the constraint. The expression can + /// have a maximum length of 2000 characters. You can't specify an expression if the + /// constraint type is distinctInstance. For more information, see Cluster query language in the /// Amazon Elastic Container Service Developer Guide.

            pub fn expression(mut self, input: impl Into) -> Self { self.expression = Some(input.into()); @@ -3492,7 +3493,7 @@ impl Failure { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ContainerInstance { - ///

            The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + ///

            The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub container_instance_arn: std::option::Option, ///

            The ID of the container instance. For Amazon EC2 instances, this value is the Amazon EC2 /// instance ID. For external instances, this value is the Amazon Web Services Systems Manager managed instance ID.

            @@ -3652,7 +3653,7 @@ pub mod container_instance { pub(crate) tags: std::option::Option>, } impl Builder { - ///

            The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            + ///

            The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

            pub fn container_instance_arn(mut self, input: impl Into) -> Self { self.container_instance_arn = Some(input.into()); self @@ -4577,7 +4578,7 @@ impl AsRef for ContainerInstanceStatus { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Cluster { - ///

            The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

            + ///

            The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon Web Services account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

            pub cluster_arn: std::option::Option, ///

            A user-generated string that you use to identify your cluster.

            pub cluster_name: std::option::Option, @@ -4771,7 +4772,7 @@ pub mod cluster { pub(crate) attachments_status: std::option::Option, } impl Builder { - ///

            The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

            + ///

            The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon Web Services account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

            pub fn cluster_arn(mut self, input: impl Into) -> Self { self.cluster_arn = Some(input.into()); self @@ -13087,10 +13088,15 @@ pub struct HealthCheck { ///

            A string array representing the command that the container runs to determine if it is /// healthy. The string array must start with CMD to execute the command /// arguments directly, or CMD-SHELL to run the command with the container's - /// default shell. For example:

            + /// default shell.

            + ///

            When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, you should enclose the list of commands in brackets, as shown below.

            ///

            /// [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] ///

            + ///

            You do not need to include the brackets when you use the Amazon Web Services Management Consoleas shown below.

            + ///

            + /// "CMD-SHELL", "curl -f http://localhost/ || exit 1" + ///

            ///

            An exit code of 0 indicates success, and non-zero exit code indicates failure. For /// more information, see HealthCheck in the Create a container /// section of the Docker Remote API.

            diff --git a/sdk/efs/Cargo.toml b/sdk/efs/Cargo.toml index fcc836504645..86a9d9a3cc72 100644 --- a/sdk/efs/Cargo.toml +++ b/sdk/efs/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-efs" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elastic File System\n

            Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use\n with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic,\n growing and shrinking automatically as you add and remove files, so your applications have the\n storage they need, when they need it. For more information, see the Amazon Elastic File System API Reference and the Amazon Elastic File System User Guide.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/eks/Cargo.toml b/sdk/eks/Cargo.toml index ec8d974ce82f..04771acea3b0 100644 --- a/sdk/eks/Cargo.toml +++ b/sdk/eks/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-eks" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

            Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on\n Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane.\n Kubernetes is an open-source system for automating the deployment, scaling, and\n management of containerized applications.

            \n

            Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use\n all the existing plugins and tooling from the Kubernetes community. Applications running\n on Amazon EKS are fully compatible with applications running on any standard Kubernetes\n environment, whether running in on-premises data centers or public clouds. This means\n that you can easily migrate any standard Kubernetes application to Amazon EKS without any\n code modification required.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticache/Cargo.toml b/sdk/elasticache/Cargo.toml index 206a55404673..dac2314870c4 100644 --- a/sdk/elasticache/Cargo.toml +++ b/sdk/elasticache/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticache" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon ElastiCache\n

            Amazon ElastiCache is a web service that makes it easier to set up, operate, \n and scale a distributed cache in the cloud.

            \n

            With ElastiCache, customers get all of the benefits of a high-performance, \n in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. \n The service makes setup, scaling, \n and cluster failure handling much simpler than in a self-managed cache deployment.

            \n

            In addition, through integration with Amazon CloudWatch, \n customers get enhanced visibility into the key performance statistics \n associated with their cache and can receive alarms if a part of their cache runs hot.

            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticache/src/client.rs b/sdk/elasticache/src/client.rs index dba94274ef1c..75f222ab7e83 100644 --- a/sdk/elasticache/src/client.rs +++ b/sdk/elasticache/src/client.rs @@ -309,7 +309,7 @@ pub mod fluent_builders { /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. /// ElastiCache resources are cluster and snapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_name(input); self @@ -390,9 +390,9 @@ pub mod fluent_builders { self.inner = self.inner.set_ec2_security_group_name(input); self } - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - - /// you must provide a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - + /// you must provide a valid Amazon account number for this parameter.

            pub fn ec2_security_group_owner_id( mut self, input: impl Into, @@ -1584,8 +1584,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

            The suffix name of a Global datastore. Amazon ElastiCache automatically applies a prefix - /// to the Global datastore ID when it is created. Each AWS Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            - ///

            For a full list of AWS Regions and their respective Global datastore iD prefixes, see Using the AWS CLI with Global datastores .

            + /// to the Global datastore ID when it is created. Each Amazon Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            + ///

            For a full list of Amazon Regions and their respective Global datastore iD prefixes, see Using the Amazon CLI with Global datastores .

            pub fn global_replication_group_id_suffix( mut self, input: impl Into, @@ -5322,7 +5322,7 @@ pub mod fluent_builders { self.inner = self.inner.set_replication_group_id(input); self } - ///

            The AWS region of secondary cluster you wish to remove from the Global datastore

            + ///

            The Amazon region of secondary cluster you wish to remove from the Global datastore

            pub fn replication_group_region(mut self, input: impl Into) -> Self { self.inner = self.inner.replication_group_region(input); self @@ -5381,7 +5381,7 @@ pub mod fluent_builders { self.inner = self.inner.set_global_replication_group_id(input); self } - ///

            The AWS region of the primary cluster of the Global datastore

            + ///

            The Amazon region of the primary cluster of the Global datastore

            pub fn primary_region(mut self, input: impl Into) -> Self { self.inner = self.inner.primary_region(input); self @@ -5466,7 +5466,7 @@ pub mod fluent_builders { self.inner = self.inner.set_node_group_count(input); self } - ///

            Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global datastore

            + ///

            Describes the replication group IDs, the Amazon regions where they are stored and the shard configuration for each that comprise the Global datastore

            pub fn regional_configurations( mut self, inp: impl Into, @@ -5675,7 +5675,7 @@ pub mod fluent_builders { ///

            The Amazon Resource Name (ARN) of the resource for which you want the list of tags, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_name(input); self @@ -6546,7 +6546,7 @@ pub mod fluent_builders { self.inner = self.inner.set_automatic_failover_enabled(input); self } - ///

            A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

            + ///

            A flag to indicate MultiAZ is enabled.

            pub fn multi_az_enabled(mut self, input: bool) -> Self { self.inner = self.inner.multi_az_enabled(input); self @@ -7400,7 +7400,7 @@ pub mod fluent_builders { ///

            The Amazon Resource Name (ARN) of the resource from which you want the tags removed, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_name(input); self @@ -7557,9 +7557,9 @@ pub mod fluent_builders { self.inner = self.inner.set_ec2_security_group_name(input); self } - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - you must provide - /// a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - you must provide + /// a valid Amazon account number for this parameter.

            pub fn ec2_security_group_owner_id( mut self, input: impl Into, diff --git a/sdk/elasticache/src/input.rs b/sdk/elasticache/src/input.rs index d7aa7fe22ee0..1fcf8d0d04a2 100644 --- a/sdk/elasticache/src/input.rs +++ b/sdk/elasticache/src/input.rs @@ -14,7 +14,7 @@ pub mod add_tags_to_resource_input { /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. /// ElastiCache resources are cluster and snapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.resource_name = Some(input.into()); self @@ -191,9 +191,9 @@ pub mod authorize_cache_security_group_ingress_input { self.ec2_security_group_name = input; self } - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - - /// you must provide a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - + /// you must provide a valid Amazon account number for this parameter.

            pub fn ec2_security_group_owner_id( mut self, input: impl Into, @@ -2321,8 +2321,8 @@ pub mod create_global_replication_group_input { } impl Builder { ///

            The suffix name of a Global datastore. Amazon ElastiCache automatically applies a prefix - /// to the Global datastore ID when it is created. Each AWS Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            - ///

            For a full list of AWS Regions and their respective Global datastore iD prefixes, see Using the AWS CLI with Global datastores .

            + /// to the Global datastore ID when it is created. Each Amazon Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            + ///

            For a full list of Amazon Regions and their respective Global datastore iD prefixes, see Using the Amazon CLI with Global datastores .

            pub fn global_replication_group_id_suffix( mut self, input: impl Into, @@ -9407,7 +9407,7 @@ pub mod disassociate_global_replication_group_input { self.replication_group_id = input; self } - ///

            The AWS region of secondary cluster you wish to remove from the Global datastore

            + ///

            The Amazon region of secondary cluster you wish to remove from the Global datastore

            pub fn replication_group_region(mut self, input: impl Into) -> Self { self.replication_group_region = Some(input.into()); self @@ -9567,7 +9567,7 @@ pub mod failover_global_replication_group_input { self.global_replication_group_id = input; self } - ///

            The AWS region of the primary cluster of the Global datastore

            + ///

            The Amazon region of the primary cluster of the Global datastore

            pub fn primary_region(mut self, input: impl Into) -> Self { self.primary_region = Some(input.into()); self @@ -10259,7 +10259,7 @@ pub mod list_tags_for_resource_input { ///

            The Amazon Resource Name (ARN) of the resource for which you want the list of tags, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.resource_name = Some(input.into()); self @@ -11583,7 +11583,7 @@ pub mod modify_replication_group_input { self.automatic_failover_enabled = input; self } - ///

            A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

            + ///

            A flag to indicate MultiAZ is enabled.

            pub fn multi_az_enabled(mut self, input: bool) -> Self { self.multi_az_enabled = Some(input); self @@ -13139,7 +13139,7 @@ pub mod remove_tags_from_resource_input { ///

            The Amazon Resource Name (ARN) of the resource from which you want the tags removed, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub fn resource_name(mut self, input: impl Into) -> Self { self.resource_name = Some(input.into()); self @@ -13489,9 +13489,9 @@ pub mod revoke_cache_security_group_ingress_input { self.ec2_security_group_name = input; self } - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - you must provide - /// a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - you must provide + /// a valid Amazon account number for this parameter.

            pub fn ec2_security_group_owner_id( mut self, input: impl Into, @@ -13984,9 +13984,9 @@ pub struct RevokeCacheSecurityGroupIngressInput { pub cache_security_group_name: std::option::Option, ///

            The name of the Amazon EC2 security group to revoke access from.

            pub ec2_security_group_name: std::option::Option, - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - you must provide - /// a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - you must provide + /// a valid Amazon account number for this parameter.

            pub ec2_security_group_owner_id: std::option::Option, } impl std::fmt::Debug for RevokeCacheSecurityGroupIngressInput { @@ -14042,7 +14042,7 @@ pub struct RemoveTagsFromResourceInput { ///

            The Amazon Resource Name (ARN) of the resource from which you want the tags removed, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub resource_name: std::option::Option, ///

            A list of TagKeys identifying the tags you want removed from the named resource.

            pub tag_keys: std::option::Option>, @@ -14249,7 +14249,7 @@ pub struct ModifyReplicationGroupInput { ///

            Valid values: true | false ///

            pub automatic_failover_enabled: std::option::Option, - ///

            A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

            + ///

            A flag to indicate MultiAZ is enabled.

            pub multi_az_enabled: std::option::Option, ///

            Deprecated. This parameter is not used.

            pub node_group_id: std::option::Option, @@ -14888,7 +14888,7 @@ pub struct ListTagsForResourceInput { ///

            The Amazon Resource Name (ARN) of the resource for which you want the list of tags, /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

            pub resource_name: std::option::Option, } impl std::fmt::Debug for ListTagsForResourceInput { @@ -14964,7 +14964,7 @@ pub struct IncreaseNodeGroupsInGlobalReplicationGroupInput { pub global_replication_group_id: std::option::Option, ///

            The number of node groups you wish to add

            pub node_group_count: i32, - ///

            Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global datastore

            + ///

            Describes the replication group IDs, the Amazon regions where they are stored and the shard configuration for each that comprise the Global datastore

            pub regional_configurations: std::option::Option>, ///

            Indicates that the process begins immediately. At present, the only permitted value for this parameter is true.

            @@ -14989,7 +14989,7 @@ impl std::fmt::Debug for IncreaseNodeGroupsInGlobalReplicationGroupInput { pub struct FailoverGlobalReplicationGroupInput { ///

            The name of the Global datastore

            pub global_replication_group_id: std::option::Option, - ///

            The AWS region of the primary cluster of the Global datastore

            + ///

            The Amazon region of the primary cluster of the Global datastore

            pub primary_region: std::option::Option, ///

            The name of the primary replication group

            pub primary_replication_group_id: std::option::Option, @@ -15017,7 +15017,7 @@ pub struct DisassociateGlobalReplicationGroupInput { pub global_replication_group_id: std::option::Option, ///

            The name of the secondary cluster you wish to remove from the Global datastore

            pub replication_group_id: std::option::Option, - ///

            The AWS region of secondary cluster you wish to remove from the Global datastore

            + ///

            The Amazon region of secondary cluster you wish to remove from the Global datastore

            pub replication_group_region: std::option::Option, } impl std::fmt::Debug for DisassociateGlobalReplicationGroupInput { @@ -16850,8 +16850,8 @@ impl std::fmt::Debug for CreateReplicationGroupInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateGlobalReplicationGroupInput { ///

            The suffix name of a Global datastore. Amazon ElastiCache automatically applies a prefix - /// to the Global datastore ID when it is created. Each AWS Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            - ///

            For a full list of AWS Regions and their respective Global datastore iD prefixes, see Using the AWS CLI with Global datastores .

            + /// to the Global datastore ID when it is created. Each Amazon Region has its own prefix. For instance, a Global datastore ID created in the US-West-1 region will begin with "dsdfu" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global datastore name across multiple regions.

            + ///

            For a full list of Amazon Regions and their respective Global datastore iD prefixes, see Using the Amazon CLI with Global datastores .

            pub global_replication_group_id_suffix: std::option::Option, ///

            Provides details of the Global datastore

            pub global_replication_group_description: std::option::Option, @@ -17454,9 +17454,9 @@ pub struct AuthorizeCacheSecurityGroupIngressInput { pub cache_security_group_name: std::option::Option, ///

            The Amazon EC2 security group to be authorized for ingress to the cache security group.

            pub ec2_security_group_name: std::option::Option, - ///

            The AWS account number of the Amazon EC2 security group owner. - /// Note that this is not the same thing as an AWS access key ID - - /// you must provide a valid AWS account number for this parameter.

            + ///

            The Amazon account number of the Amazon EC2 security group owner. + /// Note that this is not the same thing as an Amazon access key ID - + /// you must provide a valid Amazon account number for this parameter.

            pub ec2_security_group_owner_id: std::option::Option, } impl std::fmt::Debug for AuthorizeCacheSecurityGroupIngressInput { @@ -17480,7 +17480,7 @@ pub struct AddTagsToResourceInput { /// for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster /// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. /// ElastiCache resources are cluster and snapshot.

            - ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

            + ///

            For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Service Namespaces.

            pub resource_name: std::option::Option, ///

            A list of tags to be added to this resource. A tag is a key-value pair. /// A tag key must be accompanied by a tag value, although null is accepted.

            diff --git a/sdk/elasticache/src/model.rs b/sdk/elasticache/src/model.rs index 845bf79dc831..5cba8cce7b5f 100644 --- a/sdk/elasticache/src/model.rs +++ b/sdk/elasticache/src/model.rs @@ -102,6 +102,8 @@ pub struct ReplicationGroup { ///

            Returns the destination, format and type of the logs.

            pub log_delivery_configurations: std::option::Option>, + ///

            The date and time when the cluster was created.

            + pub replication_group_create_time: std::option::Option, } impl std::fmt::Debug for ReplicationGroup { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -148,6 +150,10 @@ impl std::fmt::Debug for ReplicationGroup { "log_delivery_configurations", &self.log_delivery_configurations, ); + formatter.field( + "replication_group_create_time", + &self.replication_group_create_time, + ); formatter.finish() } } @@ -185,6 +191,7 @@ pub mod replication_group { pub(crate) user_group_ids: std::option::Option>, pub(crate) log_delivery_configurations: std::option::Option>, + pub(crate) replication_group_create_time: std::option::Option, } impl Builder { ///

            The identifier for the replication group.

            @@ -510,6 +517,18 @@ pub mod replication_group { self.log_delivery_configurations = input; self } + ///

            The date and time when the cluster was created.

            + pub fn replication_group_create_time(mut self, input: smithy_types::Instant) -> Self { + self.replication_group_create_time = Some(input); + self + } + pub fn set_replication_group_create_time( + mut self, + input: std::option::Option, + ) -> Self { + self.replication_group_create_time = input; + self + } /// Consumes the builder and constructs a [`ReplicationGroup`](crate::model::ReplicationGroup) pub fn build(self) -> crate::model::ReplicationGroup { crate::model::ReplicationGroup { @@ -537,6 +556,7 @@ pub mod replication_group { arn: self.arn, user_group_ids: self.user_group_ids, log_delivery_configurations: self.log_delivery_configurations, + replication_group_create_time: self.replication_group_create_time, } } } @@ -2192,7 +2212,7 @@ impl CustomerNodeEndpoint { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CacheSecurityGroup { - ///

            The AWS account ID of the cache security group owner.

            + ///

            The Amazon account ID of the cache security group owner.

            pub owner_id: std::option::Option, ///

            The name of the cache security group.

            pub cache_security_group_name: std::option::Option, @@ -2228,7 +2248,7 @@ pub mod cache_security_group { pub(crate) arn: std::option::Option, } impl Builder { - ///

            The AWS account ID of the cache security group owner.

            + ///

            The Amazon account ID of the cache security group owner.

            pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); self @@ -2310,7 +2330,7 @@ pub struct Ec2SecurityGroup { pub status: std::option::Option, ///

            The name of the Amazon EC2 security group.

            pub ec2_security_group_name: std::option::Option, - ///

            The AWS account ID of the Amazon EC2 security group owner.

            + ///

            The Amazon account ID of the Amazon EC2 security group owner.

            pub ec2_security_group_owner_id: std::option::Option, } impl std::fmt::Debug for Ec2SecurityGroup { @@ -2357,7 +2377,7 @@ pub mod ec2_security_group { self.ec2_security_group_name = input; self } - ///

            The AWS account ID of the Amazon EC2 security group owner.

            + ///

            The Amazon account ID of the Amazon EC2 security group owner.

            pub fn ec2_security_group_owner_id( mut self, input: impl Into, @@ -3866,7 +3886,7 @@ impl SecurityGroupMembership { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CacheNode { - ///

            The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

            + ///

            The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's Amazon account.

            pub cache_node_id: std::option::Option, ///

            The current state of this cache node, one of the following values: available, creating, rebooting, or deleting.

            pub cache_node_status: std::option::Option, @@ -3917,7 +3937,7 @@ pub mod cache_node { pub(crate) customer_outpost_arn: std::option::Option, } impl Builder { - ///

            The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

            + ///

            The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's Amazon account.

            pub fn cache_node_id(mut self, input: impl Into) -> Self { self.cache_node_id = Some(input.into()); self @@ -4401,7 +4421,7 @@ impl PendingModifiedValues { } } -///

            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary +///

            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

            ///
              ///
            • @@ -4761,13 +4781,13 @@ impl GlobalNodeGroup { } } -///

              A member of a Global datastore. It contains the Replication Group Id, the AWS region and the role of the replication group.

              +///

              A member of a Global datastore. It contains the Replication Group Id, the Amazon region and the role of the replication group.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GlobalReplicationGroupMember { ///

              The replication group id of the Global datastore member.

              pub replication_group_id: std::option::Option, - ///

              The AWS region of the Global datastore member.

              + ///

              The Amazon region of the Global datastore member.

              pub replication_group_region: std::option::Option, ///

              Indicates the role of the replication group, primary or secondary.

              pub role: std::option::Option, @@ -4812,7 +4832,7 @@ pub mod global_replication_group_member { self.replication_group_id = input; self } - ///

              The AWS region of the Global datastore member.

              + ///

              The Amazon region of the Global datastore member.

              pub fn replication_group_region(mut self, input: impl Into) -> Self { self.replication_group_region = Some(input.into()); self @@ -6471,7 +6491,7 @@ impl ConfigureShard { pub struct RegionalConfiguration { ///

              The name of the secondary cluster

              pub replication_group_id: std::option::Option, - ///

              The AWS region where the cluster is stored

              + ///

              The Amazon region where the cluster is stored

              pub replication_group_region: std::option::Option, ///

              A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

              pub resharding_configuration: @@ -6510,7 +6530,7 @@ pub mod regional_configuration { self.replication_group_id = input; self } - ///

              The AWS region where the cluster is stored

              + ///

              The Amazon region where the cluster is stored

              pub fn replication_group_region(mut self, input: impl Into) -> Self { self.replication_group_region = Some(input.into()); self diff --git a/sdk/elasticache/src/operation.rs b/sdk/elasticache/src/operation.rs index cd23536c686f..c18f1f4c3ac6 100644 --- a/sdk/elasticache/src/operation.rs +++ b/sdk/elasticache/src/operation.rs @@ -4,7 +4,7 @@ /// For more information, see Resource-level permissions.

              ///

              /// For example, you can use cost-allocation tags to your ElastiCache resources, -/// AWS generates a cost allocation report as a comma-separated value (CSV) file +/// Amazon generates a cost allocation report as a comma-separated value (CSV) file /// with your usage and costs aggregated by your tags. /// You can apply tags that represent business categories (such as cost centers, application names, or owners) /// to organize your costs across multiple services.

              @@ -463,7 +463,7 @@ impl smithy_http::response::ParseStrictResponse for CreateGlobalReplicationGroup /// Creating a Subnet Group. For versions below 5.0.6, /// the limit is 250 per cluster.

              ///

              To request a limit increase, see -/// AWS Service Limits +/// Amazon Service Limits /// and choose the limit type Nodes per cluster per instance type.

              ///

              When a Redis (cluster mode disabled) replication group has been successfully created, /// you can add one or more read replicas to it, up to a total of 5 read replicas. @@ -1474,7 +1474,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeUsers { } } -///

              Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that AWS region.

              +///

              Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that Amazon region.

              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisassociateGlobalReplicationGroup { _private: (), @@ -2130,7 +2130,7 @@ impl smithy_http::response::ParseStrictResponse for StartMigration { ///

              ///
                ///
              • -///

                A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) +///

                A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and Amazon CLI) /// in any rolling 24-hour period.

                ///
              • ///
              • @@ -2143,7 +2143,7 @@ impl smithy_http::response::ParseStrictResponse for StartMigration { ///
              • ///
              • ///

                To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, -/// the AWS CLI, or the ElastiCache API. +/// the Amazon CLI, or the ElastiCache API. /// Look for the following automatic failover related events, listed here in order of occurrance:

                ///
                  ///
                1. diff --git a/sdk/elasticache/src/output.rs b/sdk/elasticache/src/output.rs index 88d63619f372..00878e576121 100644 --- a/sdk/elasticache/src/output.rs +++ b/sdk/elasticache/src/output.rs @@ -349,7 +349,7 @@ impl RebootCacheClusterOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RebalanceSlotsInGlobalReplicationGroupOutput { - ///

                  Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                  Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                  ///
                    ///
                  • @@ -376,7 +376,7 @@ pub mod rebalance_slots_in_global_replication_group_output { std::option::Option, } impl Builder { - ///

                    Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                    Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                    ///
                      ///
                    • @@ -862,7 +862,7 @@ impl ModifyReplicationGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ModifyGlobalReplicationGroupOutput { - ///

                      Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                      Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                      ///
                        ///
                      • @@ -889,7 +889,7 @@ pub mod modify_global_replication_group_output { std::option::Option, } impl Builder { - ///

                        Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                        Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                        ///
                          ///
                        • @@ -1292,7 +1292,7 @@ impl IncreaseReplicaCountOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IncreaseNodeGroupsInGlobalReplicationGroupOutput { - ///

                          Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                          Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                          ///
                            ///
                          • @@ -1319,7 +1319,7 @@ pub mod increase_node_groups_in_global_replication_group_output { std::option::Option, } impl Builder { - ///

                            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                            ///
                              ///
                            • @@ -1360,7 +1360,7 @@ impl IncreaseNodeGroupsInGlobalReplicationGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct FailoverGlobalReplicationGroupOutput { - ///

                              Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                              Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                              ///
                                ///
                              • @@ -1387,7 +1387,7 @@ pub mod failover_global_replication_group_output { std::option::Option, } impl Builder { - ///

                                Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                ///
                                  ///
                                • @@ -1427,7 +1427,7 @@ impl FailoverGlobalReplicationGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DisassociateGlobalReplicationGroupOutput { - ///

                                  Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                  Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                  ///
                                    ///
                                  • @@ -1454,7 +1454,7 @@ pub mod disassociate_global_replication_group_output { std::option::Option, } impl Builder { - ///

                                    Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                    Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                    ///
                                      ///
                                    • @@ -3056,7 +3056,7 @@ impl DeleteReplicationGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteGlobalReplicationGroupOutput { - ///

                                      Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                      Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                      ///
                                        ///
                                      • @@ -3083,7 +3083,7 @@ pub mod delete_global_replication_group_output { std::option::Option, } impl Builder { - ///

                                        Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                        Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                        ///
                                          ///
                                        • @@ -3308,7 +3308,7 @@ impl DecreaseReplicaCountOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DecreaseNodeGroupsInGlobalReplicationGroupOutput { - ///

                                          Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                          Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                          ///
                                            ///
                                          • @@ -3335,7 +3335,7 @@ pub mod decrease_node_groups_in_global_replication_group_output { std::option::Option, } impl Builder { - ///

                                            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                            Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                            ///
                                              ///
                                            • @@ -3769,7 +3769,7 @@ impl CreateReplicationGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateGlobalReplicationGroupOutput { - ///

                                              Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                              Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                              ///
                                                ///
                                              • @@ -3796,7 +3796,7 @@ pub mod create_global_replication_group_output { std::option::Option, } impl Builder { - ///

                                                Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary + ///

                                                Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different Amazon region. The secondary cluster accepts only reads. The primary /// cluster automatically replicates updates to the secondary cluster.

                                                ///
                                                  ///
                                                • diff --git a/sdk/elasticache/src/xml_deser.rs b/sdk/elasticache/src/xml_deser.rs index 153e668e8437..a01cf4ffcbaf 100644 --- a/sdk/elasticache/src/xml_deser.rs +++ b/sdk/elasticache/src/xml_deser.rs @@ -6524,6 +6524,20 @@ pub fn deser_structure_replication_group( builder = builder.set_log_delivery_configurations(var_217); } , + s if s.matches("ReplicationGroupCreateTime") /* ReplicationGroupCreateTime com.amazonaws.elasticache#ReplicationGroup$ReplicationGroupCreateTime */ => { + let var_218 = + Some( + smithy_types::Instant::from_str( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + , smithy_types::instant::Format::DateTime + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (timestamp: `com.amazonaws.elasticache#TStamp`)")) + ? + ) + ; + builder = builder.set_replication_group_create_time(var_218); + } + , _ => {} } } @@ -6538,7 +6552,7 @@ pub fn deser_structure_snapshot( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SnapshotName") /* SnapshotName com.amazonaws.elasticache#Snapshot$SnapshotName */ => { - let var_218 = + let var_219 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6547,11 +6561,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_name(var_218); + builder = builder.set_snapshot_name(var_219); } , s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#Snapshot$ReplicationGroupId */ => { - let var_219 = + let var_220 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6560,11 +6574,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_replication_group_id(var_219); + builder = builder.set_replication_group_id(var_220); } , s if s.matches("ReplicationGroupDescription") /* ReplicationGroupDescription com.amazonaws.elasticache#Snapshot$ReplicationGroupDescription */ => { - let var_220 = + let var_221 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6573,11 +6587,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_replication_group_description(var_220); + builder = builder.set_replication_group_description(var_221); } , s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#Snapshot$CacheClusterId */ => { - let var_221 = + let var_222 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6586,11 +6600,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_cache_cluster_id(var_221); + builder = builder.set_cache_cluster_id(var_222); } , s if s.matches("SnapshotStatus") /* SnapshotStatus com.amazonaws.elasticache#Snapshot$SnapshotStatus */ => { - let var_222 = + let var_223 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6599,11 +6613,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_status(var_222); + builder = builder.set_snapshot_status(var_223); } , s if s.matches("SnapshotSource") /* SnapshotSource com.amazonaws.elasticache#Snapshot$SnapshotSource */ => { - let var_223 = + let var_224 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6612,11 +6626,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_source(var_223); + builder = builder.set_snapshot_source(var_224); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#Snapshot$CacheNodeType */ => { - let var_224 = + let var_225 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6625,11 +6639,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_cache_node_type(var_224); + builder = builder.set_cache_node_type(var_225); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#Snapshot$Engine */ => { - let var_225 = + let var_226 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6638,11 +6652,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_engine(var_225); + builder = builder.set_engine(var_226); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#Snapshot$EngineVersion */ => { - let var_226 = + let var_227 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6651,11 +6665,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_engine_version(var_226); + builder = builder.set_engine_version(var_227); } , s if s.matches("NumCacheNodes") /* NumCacheNodes com.amazonaws.elasticache#Snapshot$NumCacheNodes */ => { - let var_227 = + let var_228 = Some( { ::parse_smithy_primitive( @@ -6666,11 +6680,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_num_cache_nodes(var_227); + builder = builder.set_num_cache_nodes(var_228); } , s if s.matches("PreferredAvailabilityZone") /* PreferredAvailabilityZone com.amazonaws.elasticache#Snapshot$PreferredAvailabilityZone */ => { - let var_228 = + let var_229 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6679,11 +6693,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_preferred_availability_zone(var_228); + builder = builder.set_preferred_availability_zone(var_229); } , s if s.matches("PreferredOutpostArn") /* PreferredOutpostArn com.amazonaws.elasticache#Snapshot$PreferredOutpostArn */ => { - let var_229 = + let var_230 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6692,11 +6706,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_preferred_outpost_arn(var_229); + builder = builder.set_preferred_outpost_arn(var_230); } , s if s.matches("CacheClusterCreateTime") /* CacheClusterCreateTime com.amazonaws.elasticache#Snapshot$CacheClusterCreateTime */ => { - let var_230 = + let var_231 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6706,11 +6720,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_cache_cluster_create_time(var_230); + builder = builder.set_cache_cluster_create_time(var_231); } , s if s.matches("PreferredMaintenanceWindow") /* PreferredMaintenanceWindow com.amazonaws.elasticache#Snapshot$PreferredMaintenanceWindow */ => { - let var_231 = + let var_232 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6719,11 +6733,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_preferred_maintenance_window(var_231); + builder = builder.set_preferred_maintenance_window(var_232); } , s if s.matches("TopicArn") /* TopicArn com.amazonaws.elasticache#Snapshot$TopicArn */ => { - let var_232 = + let var_233 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6732,11 +6746,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_topic_arn(var_232); + builder = builder.set_topic_arn(var_233); } , s if s.matches("Port") /* Port com.amazonaws.elasticache#Snapshot$Port */ => { - let var_233 = + let var_234 = Some( { ::parse_smithy_primitive( @@ -6747,11 +6761,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_port(var_233); + builder = builder.set_port(var_234); } , s if s.matches("CacheParameterGroupName") /* CacheParameterGroupName com.amazonaws.elasticache#Snapshot$CacheParameterGroupName */ => { - let var_234 = + let var_235 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6760,11 +6774,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_cache_parameter_group_name(var_234); + builder = builder.set_cache_parameter_group_name(var_235); } , s if s.matches("CacheSubnetGroupName") /* CacheSubnetGroupName com.amazonaws.elasticache#Snapshot$CacheSubnetGroupName */ => { - let var_235 = + let var_236 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6773,11 +6787,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_cache_subnet_group_name(var_235); + builder = builder.set_cache_subnet_group_name(var_236); } , s if s.matches("VpcId") /* VpcId com.amazonaws.elasticache#Snapshot$VpcId */ => { - let var_236 = + let var_237 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6786,11 +6800,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_vpc_id(var_236); + builder = builder.set_vpc_id(var_237); } , s if s.matches("AutoMinorVersionUpgrade") /* AutoMinorVersionUpgrade com.amazonaws.elasticache#Snapshot$AutoMinorVersionUpgrade */ => { - let var_237 = + let var_238 = Some( { ::parse_smithy_primitive( @@ -6801,11 +6815,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_auto_minor_version_upgrade(var_237); + builder = builder.set_auto_minor_version_upgrade(var_238); } , s if s.matches("SnapshotRetentionLimit") /* SnapshotRetentionLimit com.amazonaws.elasticache#Snapshot$SnapshotRetentionLimit */ => { - let var_238 = + let var_239 = Some( { ::parse_smithy_primitive( @@ -6816,11 +6830,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_retention_limit(var_238); + builder = builder.set_snapshot_retention_limit(var_239); } , s if s.matches("SnapshotWindow") /* SnapshotWindow com.amazonaws.elasticache#Snapshot$SnapshotWindow */ => { - let var_239 = + let var_240 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6829,11 +6843,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_snapshot_window(var_239); + builder = builder.set_snapshot_window(var_240); } , s if s.matches("NumNodeGroups") /* NumNodeGroups com.amazonaws.elasticache#Snapshot$NumNodeGroups */ => { - let var_240 = + let var_241 = Some( { ::parse_smithy_primitive( @@ -6844,11 +6858,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_num_node_groups(var_240); + builder = builder.set_num_node_groups(var_241); } , s if s.matches("AutomaticFailover") /* AutomaticFailover com.amazonaws.elasticache#Snapshot$AutomaticFailover */ => { - let var_241 = + let var_242 = Some( Result::::Ok( crate::model::AutomaticFailoverStatus::from( @@ -6858,21 +6872,21 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_automatic_failover(var_241); + builder = builder.set_automatic_failover(var_242); } , s if s.matches("NodeSnapshots") /* NodeSnapshots com.amazonaws.elasticache#Snapshot$NodeSnapshots */ => { - let var_242 = + let var_243 = Some( crate::xml_deser::deser_list_node_snapshot_list(&mut tag) ? ) ; - builder = builder.set_node_snapshots(var_242); + builder = builder.set_node_snapshots(var_243); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.elasticache#Snapshot$KmsKeyId */ => { - let var_243 = + let var_244 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6881,11 +6895,11 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_kms_key_id(var_243); + builder = builder.set_kms_key_id(var_244); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#Snapshot$ARN */ => { - let var_244 = + let var_245 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6894,7 +6908,7 @@ pub fn deser_structure_snapshot( ? ) ; - builder = builder.set_arn(var_244); + builder = builder.set_arn(var_245); } , _ => {} @@ -6911,7 +6925,7 @@ pub fn deser_structure_cache_cluster( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#CacheCluster$CacheClusterId */ => { - let var_245 = + let var_246 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6920,21 +6934,21 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_cache_cluster_id(var_245); + builder = builder.set_cache_cluster_id(var_246); } , s if s.matches("ConfigurationEndpoint") /* ConfigurationEndpoint com.amazonaws.elasticache#CacheCluster$ConfigurationEndpoint */ => { - let var_246 = + let var_247 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_configuration_endpoint(var_246); + builder = builder.set_configuration_endpoint(var_247); } , s if s.matches("ClientDownloadLandingPage") /* ClientDownloadLandingPage com.amazonaws.elasticache#CacheCluster$ClientDownloadLandingPage */ => { - let var_247 = + let var_248 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6943,11 +6957,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_client_download_landing_page(var_247); + builder = builder.set_client_download_landing_page(var_248); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#CacheCluster$CacheNodeType */ => { - let var_248 = + let var_249 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6956,11 +6970,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_cache_node_type(var_248); + builder = builder.set_cache_node_type(var_249); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#CacheCluster$Engine */ => { - let var_249 = + let var_250 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6969,11 +6983,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_engine(var_249); + builder = builder.set_engine(var_250); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#CacheCluster$EngineVersion */ => { - let var_250 = + let var_251 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6982,11 +6996,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_engine_version(var_250); + builder = builder.set_engine_version(var_251); } , s if s.matches("CacheClusterStatus") /* CacheClusterStatus com.amazonaws.elasticache#CacheCluster$CacheClusterStatus */ => { - let var_251 = + let var_252 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -6995,11 +7009,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_cache_cluster_status(var_251); + builder = builder.set_cache_cluster_status(var_252); } , s if s.matches("NumCacheNodes") /* NumCacheNodes com.amazonaws.elasticache#CacheCluster$NumCacheNodes */ => { - let var_252 = + let var_253 = Some( { ::parse_smithy_primitive( @@ -7010,11 +7024,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_num_cache_nodes(var_252); + builder = builder.set_num_cache_nodes(var_253); } , s if s.matches("PreferredAvailabilityZone") /* PreferredAvailabilityZone com.amazonaws.elasticache#CacheCluster$PreferredAvailabilityZone */ => { - let var_253 = + let var_254 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7023,11 +7037,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_preferred_availability_zone(var_253); + builder = builder.set_preferred_availability_zone(var_254); } , s if s.matches("PreferredOutpostArn") /* PreferredOutpostArn com.amazonaws.elasticache#CacheCluster$PreferredOutpostArn */ => { - let var_254 = + let var_255 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7036,11 +7050,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_preferred_outpost_arn(var_254); + builder = builder.set_preferred_outpost_arn(var_255); } , s if s.matches("CacheClusterCreateTime") /* CacheClusterCreateTime com.amazonaws.elasticache#CacheCluster$CacheClusterCreateTime */ => { - let var_255 = + let var_256 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7050,11 +7064,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_cache_cluster_create_time(var_255); + builder = builder.set_cache_cluster_create_time(var_256); } , s if s.matches("PreferredMaintenanceWindow") /* PreferredMaintenanceWindow com.amazonaws.elasticache#CacheCluster$PreferredMaintenanceWindow */ => { - let var_256 = + let var_257 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7063,51 +7077,51 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_preferred_maintenance_window(var_256); + builder = builder.set_preferred_maintenance_window(var_257); } , s if s.matches("PendingModifiedValues") /* PendingModifiedValues com.amazonaws.elasticache#CacheCluster$PendingModifiedValues */ => { - let var_257 = + let var_258 = Some( crate::xml_deser::deser_structure_pending_modified_values(&mut tag) ? ) ; - builder = builder.set_pending_modified_values(var_257); + builder = builder.set_pending_modified_values(var_258); } , s if s.matches("NotificationConfiguration") /* NotificationConfiguration com.amazonaws.elasticache#CacheCluster$NotificationConfiguration */ => { - let var_258 = + let var_259 = Some( crate::xml_deser::deser_structure_notification_configuration(&mut tag) ? ) ; - builder = builder.set_notification_configuration(var_258); + builder = builder.set_notification_configuration(var_259); } , s if s.matches("CacheSecurityGroups") /* CacheSecurityGroups com.amazonaws.elasticache#CacheCluster$CacheSecurityGroups */ => { - let var_259 = + let var_260 = Some( crate::xml_deser::deser_list_cache_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_cache_security_groups(var_259); + builder = builder.set_cache_security_groups(var_260); } , s if s.matches("CacheParameterGroup") /* CacheParameterGroup com.amazonaws.elasticache#CacheCluster$CacheParameterGroup */ => { - let var_260 = + let var_261 = Some( crate::xml_deser::deser_structure_cache_parameter_group_status(&mut tag) ? ) ; - builder = builder.set_cache_parameter_group(var_260); + builder = builder.set_cache_parameter_group(var_261); } , s if s.matches("CacheSubnetGroupName") /* CacheSubnetGroupName com.amazonaws.elasticache#CacheCluster$CacheSubnetGroupName */ => { - let var_261 = + let var_262 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7116,21 +7130,21 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_cache_subnet_group_name(var_261); + builder = builder.set_cache_subnet_group_name(var_262); } , s if s.matches("CacheNodes") /* CacheNodes com.amazonaws.elasticache#CacheCluster$CacheNodes */ => { - let var_262 = + let var_263 = Some( crate::xml_deser::deser_list_cache_node_list(&mut tag) ? ) ; - builder = builder.set_cache_nodes(var_262); + builder = builder.set_cache_nodes(var_263); } , s if s.matches("AutoMinorVersionUpgrade") /* AutoMinorVersionUpgrade com.amazonaws.elasticache#CacheCluster$AutoMinorVersionUpgrade */ => { - let var_263 = + let var_264 = Some( { ::parse_smithy_primitive( @@ -7141,21 +7155,21 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_auto_minor_version_upgrade(var_263); + builder = builder.set_auto_minor_version_upgrade(var_264); } , s if s.matches("SecurityGroups") /* SecurityGroups com.amazonaws.elasticache#CacheCluster$SecurityGroups */ => { - let var_264 = + let var_265 = Some( crate::xml_deser::deser_list_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_security_groups(var_264); + builder = builder.set_security_groups(var_265); } , s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#CacheCluster$ReplicationGroupId */ => { - let var_265 = + let var_266 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7164,11 +7178,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_replication_group_id(var_265); + builder = builder.set_replication_group_id(var_266); } , s if s.matches("SnapshotRetentionLimit") /* SnapshotRetentionLimit com.amazonaws.elasticache#CacheCluster$SnapshotRetentionLimit */ => { - let var_266 = + let var_267 = Some( { ::parse_smithy_primitive( @@ -7179,11 +7193,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_snapshot_retention_limit(var_266); + builder = builder.set_snapshot_retention_limit(var_267); } , s if s.matches("SnapshotWindow") /* SnapshotWindow com.amazonaws.elasticache#CacheCluster$SnapshotWindow */ => { - let var_267 = + let var_268 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7192,11 +7206,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_snapshot_window(var_267); + builder = builder.set_snapshot_window(var_268); } , s if s.matches("AuthTokenEnabled") /* AuthTokenEnabled com.amazonaws.elasticache#CacheCluster$AuthTokenEnabled */ => { - let var_268 = + let var_269 = Some( { ::parse_smithy_primitive( @@ -7207,11 +7221,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_auth_token_enabled(var_268); + builder = builder.set_auth_token_enabled(var_269); } , s if s.matches("AuthTokenLastModifiedDate") /* AuthTokenLastModifiedDate com.amazonaws.elasticache#CacheCluster$AuthTokenLastModifiedDate */ => { - let var_269 = + let var_270 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7221,11 +7235,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_auth_token_last_modified_date(var_269); + builder = builder.set_auth_token_last_modified_date(var_270); } , s if s.matches("TransitEncryptionEnabled") /* TransitEncryptionEnabled com.amazonaws.elasticache#CacheCluster$TransitEncryptionEnabled */ => { - let var_270 = + let var_271 = Some( { ::parse_smithy_primitive( @@ -7236,11 +7250,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_transit_encryption_enabled(var_270); + builder = builder.set_transit_encryption_enabled(var_271); } , s if s.matches("AtRestEncryptionEnabled") /* AtRestEncryptionEnabled com.amazonaws.elasticache#CacheCluster$AtRestEncryptionEnabled */ => { - let var_271 = + let var_272 = Some( { ::parse_smithy_primitive( @@ -7251,11 +7265,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_at_rest_encryption_enabled(var_271); + builder = builder.set_at_rest_encryption_enabled(var_272); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#CacheCluster$ARN */ => { - let var_272 = + let var_273 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7264,11 +7278,11 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_arn(var_272); + builder = builder.set_arn(var_273); } , s if s.matches("ReplicationGroupLogDeliveryEnabled") /* ReplicationGroupLogDeliveryEnabled com.amazonaws.elasticache#CacheCluster$ReplicationGroupLogDeliveryEnabled */ => { - let var_273 = + let var_274 = Some( { ::parse_smithy_primitive( @@ -7279,17 +7293,17 @@ pub fn deser_structure_cache_cluster( ? ) ; - builder = builder.set_replication_group_log_delivery_enabled(var_273); + builder = builder.set_replication_group_log_delivery_enabled(var_274); } , s if s.matches("LogDeliveryConfigurations") /* LogDeliveryConfigurations com.amazonaws.elasticache#CacheCluster$LogDeliveryConfigurations */ => { - let var_274 = + let var_275 = Some( crate::xml_deser::deser_list_log_delivery_configuration_list(&mut tag) ? ) ; - builder = builder.set_log_delivery_configurations(var_274); + builder = builder.set_log_delivery_configurations(var_275); } , _ => {} @@ -7306,7 +7320,7 @@ pub fn deser_structure_cache_parameter_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheParameterGroupName") /* CacheParameterGroupName com.amazonaws.elasticache#CacheParameterGroup$CacheParameterGroupName */ => { - let var_275 = + let var_276 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7315,11 +7329,11 @@ pub fn deser_structure_cache_parameter_group( ? ) ; - builder = builder.set_cache_parameter_group_name(var_275); + builder = builder.set_cache_parameter_group_name(var_276); } , s if s.matches("CacheParameterGroupFamily") /* CacheParameterGroupFamily com.amazonaws.elasticache#CacheParameterGroup$CacheParameterGroupFamily */ => { - let var_276 = + let var_277 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7328,11 +7342,11 @@ pub fn deser_structure_cache_parameter_group( ? ) ; - builder = builder.set_cache_parameter_group_family(var_276); + builder = builder.set_cache_parameter_group_family(var_277); } , s if s.matches("Description") /* Description com.amazonaws.elasticache#CacheParameterGroup$Description */ => { - let var_277 = + let var_278 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7341,11 +7355,11 @@ pub fn deser_structure_cache_parameter_group( ? ) ; - builder = builder.set_description(var_277); + builder = builder.set_description(var_278); } , s if s.matches("IsGlobal") /* IsGlobal com.amazonaws.elasticache#CacheParameterGroup$IsGlobal */ => { - let var_278 = + let var_279 = Some( { ::parse_smithy_primitive( @@ -7356,11 +7370,11 @@ pub fn deser_structure_cache_parameter_group( ? ) ; - builder = builder.set_is_global(var_278); + builder = builder.set_is_global(var_279); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#CacheParameterGroup$ARN */ => { - let var_279 = + let var_280 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7369,7 +7383,7 @@ pub fn deser_structure_cache_parameter_group( ? ) ; - builder = builder.set_arn(var_279); + builder = builder.set_arn(var_280); } , _ => {} @@ -7386,7 +7400,7 @@ pub fn deser_structure_cache_subnet_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheSubnetGroupName") /* CacheSubnetGroupName com.amazonaws.elasticache#CacheSubnetGroup$CacheSubnetGroupName */ => { - let var_280 = + let var_281 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7395,11 +7409,11 @@ pub fn deser_structure_cache_subnet_group( ? ) ; - builder = builder.set_cache_subnet_group_name(var_280); + builder = builder.set_cache_subnet_group_name(var_281); } , s if s.matches("CacheSubnetGroupDescription") /* CacheSubnetGroupDescription com.amazonaws.elasticache#CacheSubnetGroup$CacheSubnetGroupDescription */ => { - let var_281 = + let var_282 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7408,11 +7422,11 @@ pub fn deser_structure_cache_subnet_group( ? ) ; - builder = builder.set_cache_subnet_group_description(var_281); + builder = builder.set_cache_subnet_group_description(var_282); } , s if s.matches("VpcId") /* VpcId com.amazonaws.elasticache#CacheSubnetGroup$VpcId */ => { - let var_282 = + let var_283 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7421,21 +7435,21 @@ pub fn deser_structure_cache_subnet_group( ? ) ; - builder = builder.set_vpc_id(var_282); + builder = builder.set_vpc_id(var_283); } , s if s.matches("Subnets") /* Subnets com.amazonaws.elasticache#CacheSubnetGroup$Subnets */ => { - let var_283 = + let var_284 = Some( crate::xml_deser::deser_list_subnet_list(&mut tag) ? ) ; - builder = builder.set_subnets(var_283); + builder = builder.set_subnets(var_284); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#CacheSubnetGroup$ARN */ => { - let var_284 = + let var_285 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7444,7 +7458,7 @@ pub fn deser_structure_cache_subnet_group( ? ) ; - builder = builder.set_arn(var_284); + builder = builder.set_arn(var_285); } , _ => {} @@ -7461,7 +7475,7 @@ pub fn deser_structure_global_replication_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("GlobalReplicationGroupId") /* GlobalReplicationGroupId com.amazonaws.elasticache#GlobalReplicationGroup$GlobalReplicationGroupId */ => { - let var_285 = + let var_286 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7470,11 +7484,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_global_replication_group_id(var_285); + builder = builder.set_global_replication_group_id(var_286); } , s if s.matches("GlobalReplicationGroupDescription") /* GlobalReplicationGroupDescription com.amazonaws.elasticache#GlobalReplicationGroup$GlobalReplicationGroupDescription */ => { - let var_286 = + let var_287 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7483,11 +7497,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_global_replication_group_description(var_286); + builder = builder.set_global_replication_group_description(var_287); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#GlobalReplicationGroup$Status */ => { - let var_287 = + let var_288 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7496,11 +7510,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_status(var_287); + builder = builder.set_status(var_288); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#GlobalReplicationGroup$CacheNodeType */ => { - let var_288 = + let var_289 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7509,11 +7523,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_cache_node_type(var_288); + builder = builder.set_cache_node_type(var_289); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#GlobalReplicationGroup$Engine */ => { - let var_289 = + let var_290 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7522,11 +7536,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_engine(var_289); + builder = builder.set_engine(var_290); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#GlobalReplicationGroup$EngineVersion */ => { - let var_290 = + let var_291 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7535,21 +7549,21 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_engine_version(var_290); + builder = builder.set_engine_version(var_291); } , s if s.matches("Members") /* Members com.amazonaws.elasticache#GlobalReplicationGroup$Members */ => { - let var_291 = + let var_292 = Some( crate::xml_deser::deser_list_global_replication_group_member_list(&mut tag) ? ) ; - builder = builder.set_members(var_291); + builder = builder.set_members(var_292); } , s if s.matches("ClusterEnabled") /* ClusterEnabled com.amazonaws.elasticache#GlobalReplicationGroup$ClusterEnabled */ => { - let var_292 = + let var_293 = Some( { ::parse_smithy_primitive( @@ -7560,21 +7574,21 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_cluster_enabled(var_292); + builder = builder.set_cluster_enabled(var_293); } , s if s.matches("GlobalNodeGroups") /* GlobalNodeGroups com.amazonaws.elasticache#GlobalReplicationGroup$GlobalNodeGroups */ => { - let var_293 = + let var_294 = Some( crate::xml_deser::deser_list_global_node_group_list(&mut tag) ? ) ; - builder = builder.set_global_node_groups(var_293); + builder = builder.set_global_node_groups(var_294); } , s if s.matches("AuthTokenEnabled") /* AuthTokenEnabled com.amazonaws.elasticache#GlobalReplicationGroup$AuthTokenEnabled */ => { - let var_294 = + let var_295 = Some( { ::parse_smithy_primitive( @@ -7585,11 +7599,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_auth_token_enabled(var_294); + builder = builder.set_auth_token_enabled(var_295); } , s if s.matches("TransitEncryptionEnabled") /* TransitEncryptionEnabled com.amazonaws.elasticache#GlobalReplicationGroup$TransitEncryptionEnabled */ => { - let var_295 = + let var_296 = Some( { ::parse_smithy_primitive( @@ -7600,11 +7614,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_transit_encryption_enabled(var_295); + builder = builder.set_transit_encryption_enabled(var_296); } , s if s.matches("AtRestEncryptionEnabled") /* AtRestEncryptionEnabled com.amazonaws.elasticache#GlobalReplicationGroup$AtRestEncryptionEnabled */ => { - let var_296 = + let var_297 = Some( { ::parse_smithy_primitive( @@ -7615,11 +7629,11 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_at_rest_encryption_enabled(var_296); + builder = builder.set_at_rest_encryption_enabled(var_297); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#GlobalReplicationGroup$ARN */ => { - let var_297 = + let var_298 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7628,7 +7642,7 @@ pub fn deser_structure_global_replication_group( ? ) ; - builder = builder.set_arn(var_297); + builder = builder.set_arn(var_298); } , _ => {} @@ -7667,7 +7681,7 @@ pub fn deser_structure_authentication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Type") /* Type com.amazonaws.elasticache#Authentication$Type */ => { - let var_298 = + let var_299 = Some( Result::::Ok( crate::model::AuthenticationType::from( @@ -7677,11 +7691,11 @@ pub fn deser_structure_authentication( ? ) ; - builder = builder.set_type(var_298); + builder = builder.set_type(var_299); } , s if s.matches("PasswordCount") /* PasswordCount com.amazonaws.elasticache#Authentication$PasswordCount */ => { - let var_299 = + let var_300 = Some( { ::parse_smithy_primitive( @@ -7692,7 +7706,7 @@ pub fn deser_structure_authentication( ? ) ; - builder = builder.set_password_count(var_299); + builder = builder.set_password_count(var_300); } , _ => {} @@ -7731,23 +7745,23 @@ pub fn deser_structure_user_group_pending_changes( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("UserIdsToRemove") /* UserIdsToRemove com.amazonaws.elasticache#UserGroupPendingChanges$UserIdsToRemove */ => { - let var_300 = + let var_301 = Some( crate::xml_deser::deser_list_user_id_list(&mut tag) ? ) ; - builder = builder.set_user_ids_to_remove(var_300); + builder = builder.set_user_ids_to_remove(var_301); } , s if s.matches("UserIdsToAdd") /* UserIdsToAdd com.amazonaws.elasticache#UserGroupPendingChanges$UserIdsToAdd */ => { - let var_301 = + let var_302 = Some( crate::xml_deser::deser_list_user_id_list(&mut tag) ? ) ; - builder = builder.set_user_ids_to_add(var_301); + builder = builder.set_user_ids_to_add(var_302); } , _ => {} @@ -7920,7 +7934,7 @@ pub fn deser_structure_engine_defaults( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheParameterGroupFamily") /* CacheParameterGroupFamily com.amazonaws.elasticache#EngineDefaults$CacheParameterGroupFamily */ => { - let var_302 = + let var_303 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7929,11 +7943,11 @@ pub fn deser_structure_engine_defaults( ? ) ; - builder = builder.set_cache_parameter_group_family(var_302); + builder = builder.set_cache_parameter_group_family(var_303); } , s if s.matches("Marker") /* Marker com.amazonaws.elasticache#EngineDefaults$Marker */ => { - let var_303 = + let var_304 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -7942,27 +7956,27 @@ pub fn deser_structure_engine_defaults( ? ) ; - builder = builder.set_marker(var_303); + builder = builder.set_marker(var_304); } , s if s.matches("Parameters") /* Parameters com.amazonaws.elasticache#EngineDefaults$Parameters */ => { - let var_304 = + let var_305 = Some( crate::xml_deser::deser_list_parameters_list(&mut tag) ? ) ; - builder = builder.set_parameters(var_304); + builder = builder.set_parameters(var_305); } , s if s.matches("CacheNodeTypeSpecificParameters") /* CacheNodeTypeSpecificParameters com.amazonaws.elasticache#EngineDefaults$CacheNodeTypeSpecificParameters */ => { - let var_305 = + let var_306 = Some( crate::xml_deser::deser_list_cache_node_type_specific_parameters_list(&mut tag) ? ) ; - builder = builder.set_cache_node_type_specific_parameters(var_305); + builder = builder.set_cache_node_type_specific_parameters(var_306); } , _ => {} @@ -8191,7 +8205,7 @@ pub fn deser_structure_reserved_cache_node( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReservedCacheNodeId") /* ReservedCacheNodeId com.amazonaws.elasticache#ReservedCacheNode$ReservedCacheNodeId */ => { - let var_306 = + let var_307 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8200,11 +8214,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_reserved_cache_node_id(var_306); + builder = builder.set_reserved_cache_node_id(var_307); } , s if s.matches("ReservedCacheNodesOfferingId") /* ReservedCacheNodesOfferingId com.amazonaws.elasticache#ReservedCacheNode$ReservedCacheNodesOfferingId */ => { - let var_307 = + let var_308 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8213,11 +8227,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_reserved_cache_nodes_offering_id(var_307); + builder = builder.set_reserved_cache_nodes_offering_id(var_308); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#ReservedCacheNode$CacheNodeType */ => { - let var_308 = + let var_309 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8226,11 +8240,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_cache_node_type(var_308); + builder = builder.set_cache_node_type(var_309); } , s if s.matches("StartTime") /* StartTime com.amazonaws.elasticache#ReservedCacheNode$StartTime */ => { - let var_309 = + let var_310 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8240,11 +8254,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_start_time(var_309); + builder = builder.set_start_time(var_310); } , s if s.matches("Duration") /* Duration com.amazonaws.elasticache#ReservedCacheNode$Duration */ => { - let var_310 = + let var_311 = Some( { ::parse_smithy_primitive( @@ -8255,11 +8269,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_duration(var_310); + builder = builder.set_duration(var_311); } , s if s.matches("FixedPrice") /* FixedPrice com.amazonaws.elasticache#ReservedCacheNode$FixedPrice */ => { - let var_311 = + let var_312 = Some( { ::parse_smithy_primitive( @@ -8270,11 +8284,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_fixed_price(var_311); + builder = builder.set_fixed_price(var_312); } , s if s.matches("UsagePrice") /* UsagePrice com.amazonaws.elasticache#ReservedCacheNode$UsagePrice */ => { - let var_312 = + let var_313 = Some( { ::parse_smithy_primitive( @@ -8285,11 +8299,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_usage_price(var_312); + builder = builder.set_usage_price(var_313); } , s if s.matches("CacheNodeCount") /* CacheNodeCount com.amazonaws.elasticache#ReservedCacheNode$CacheNodeCount */ => { - let var_313 = + let var_314 = Some( { ::parse_smithy_primitive( @@ -8300,11 +8314,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_cache_node_count(var_313); + builder = builder.set_cache_node_count(var_314); } , s if s.matches("ProductDescription") /* ProductDescription com.amazonaws.elasticache#ReservedCacheNode$ProductDescription */ => { - let var_314 = + let var_315 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8313,11 +8327,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_product_description(var_314); + builder = builder.set_product_description(var_315); } , s if s.matches("OfferingType") /* OfferingType com.amazonaws.elasticache#ReservedCacheNode$OfferingType */ => { - let var_315 = + let var_316 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8326,11 +8340,11 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_offering_type(var_315); + builder = builder.set_offering_type(var_316); } , s if s.matches("State") /* State com.amazonaws.elasticache#ReservedCacheNode$State */ => { - let var_316 = + let var_317 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8339,21 +8353,21 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_state(var_316); + builder = builder.set_state(var_317); } , s if s.matches("RecurringCharges") /* RecurringCharges com.amazonaws.elasticache#ReservedCacheNode$RecurringCharges */ => { - let var_317 = + let var_318 = Some( crate::xml_deser::deser_list_recurring_charge_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_317); + builder = builder.set_recurring_charges(var_318); } , s if s.matches("ReservationARN") /* ReservationARN com.amazonaws.elasticache#ReservedCacheNode$ReservationARN */ => { - let var_318 = + let var_319 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8362,7 +8376,7 @@ pub fn deser_structure_reserved_cache_node( ? ) ; - builder = builder.set_reservation_arn(var_318); + builder = builder.set_reservation_arn(var_319); } , _ => {} @@ -8379,7 +8393,7 @@ pub fn deser_structure_tag( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.elasticache#Tag$Key */ => { - let var_319 = + let var_320 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8388,11 +8402,11 @@ pub fn deser_structure_tag( ? ) ; - builder = builder.set_key(var_319); + builder = builder.set_key(var_320); } , s if s.matches("Value") /* Value com.amazonaws.elasticache#Tag$Value */ => { - let var_320 = + let var_321 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8401,7 +8415,7 @@ pub fn deser_structure_tag( ? ) ; - builder = builder.set_value(var_320); + builder = builder.set_value(var_321); } , _ => {} @@ -8437,7 +8451,7 @@ pub fn deser_structure_processed_update_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#ProcessedUpdateAction$ReplicationGroupId */ => { - let var_321 = + let var_322 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8446,11 +8460,11 @@ pub fn deser_structure_processed_update_action( ? ) ; - builder = builder.set_replication_group_id(var_321); + builder = builder.set_replication_group_id(var_322); } , s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#ProcessedUpdateAction$CacheClusterId */ => { - let var_322 = + let var_323 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8459,11 +8473,11 @@ pub fn deser_structure_processed_update_action( ? ) ; - builder = builder.set_cache_cluster_id(var_322); + builder = builder.set_cache_cluster_id(var_323); } , s if s.matches("ServiceUpdateName") /* ServiceUpdateName com.amazonaws.elasticache#ProcessedUpdateAction$ServiceUpdateName */ => { - let var_323 = + let var_324 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8472,11 +8486,11 @@ pub fn deser_structure_processed_update_action( ? ) ; - builder = builder.set_service_update_name(var_323); + builder = builder.set_service_update_name(var_324); } , s if s.matches("UpdateActionStatus") /* UpdateActionStatus com.amazonaws.elasticache#ProcessedUpdateAction$UpdateActionStatus */ => { - let var_324 = + let var_325 = Some( Result::::Ok( crate::model::UpdateActionStatus::from( @@ -8486,7 +8500,7 @@ pub fn deser_structure_processed_update_action( ? ) ; - builder = builder.set_update_action_status(var_324); + builder = builder.set_update_action_status(var_325); } , _ => {} @@ -8503,7 +8517,7 @@ pub fn deser_structure_unprocessed_update_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#UnprocessedUpdateAction$ReplicationGroupId */ => { - let var_325 = + let var_326 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8512,11 +8526,11 @@ pub fn deser_structure_unprocessed_update_action( ? ) ; - builder = builder.set_replication_group_id(var_325); + builder = builder.set_replication_group_id(var_326); } , s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#UnprocessedUpdateAction$CacheClusterId */ => { - let var_326 = + let var_327 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8525,11 +8539,11 @@ pub fn deser_structure_unprocessed_update_action( ? ) ; - builder = builder.set_cache_cluster_id(var_326); + builder = builder.set_cache_cluster_id(var_327); } , s if s.matches("ServiceUpdateName") /* ServiceUpdateName com.amazonaws.elasticache#UnprocessedUpdateAction$ServiceUpdateName */ => { - let var_327 = + let var_328 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8538,11 +8552,11 @@ pub fn deser_structure_unprocessed_update_action( ? ) ; - builder = builder.set_service_update_name(var_327); + builder = builder.set_service_update_name(var_328); } , s if s.matches("ErrorType") /* ErrorType com.amazonaws.elasticache#UnprocessedUpdateAction$ErrorType */ => { - let var_328 = + let var_329 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8551,11 +8565,11 @@ pub fn deser_structure_unprocessed_update_action( ? ) ; - builder = builder.set_error_type(var_328); + builder = builder.set_error_type(var_329); } , s if s.matches("ErrorMessage") /* ErrorMessage com.amazonaws.elasticache#UnprocessedUpdateAction$ErrorMessage */ => { - let var_329 = + let var_330 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8564,7 +8578,7 @@ pub fn deser_structure_unprocessed_update_action( ? ) ; - builder = builder.set_error_message(var_329); + builder = builder.set_error_message(var_330); } , _ => {} @@ -8581,7 +8595,7 @@ pub fn deser_structure_global_replication_group_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("GlobalReplicationGroupId") /* GlobalReplicationGroupId com.amazonaws.elasticache#GlobalReplicationGroupInfo$GlobalReplicationGroupId */ => { - let var_330 = + let var_331 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8590,11 +8604,11 @@ pub fn deser_structure_global_replication_group_info( ? ) ; - builder = builder.set_global_replication_group_id(var_330); + builder = builder.set_global_replication_group_id(var_331); } , s if s.matches("GlobalReplicationGroupMemberRole") /* GlobalReplicationGroupMemberRole com.amazonaws.elasticache#GlobalReplicationGroupInfo$GlobalReplicationGroupMemberRole */ => { - let var_331 = + let var_332 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8603,7 +8617,7 @@ pub fn deser_structure_global_replication_group_info( ? ) ; - builder = builder.set_global_replication_group_member_role(var_331); + builder = builder.set_global_replication_group_member_role(var_332); } , _ => {} @@ -8620,7 +8634,7 @@ pub fn deser_structure_replication_group_pending_modified_values( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PrimaryClusterId") /* PrimaryClusterId com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$PrimaryClusterId */ => { - let var_332 = + let var_333 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8629,11 +8643,11 @@ pub fn deser_structure_replication_group_pending_modified_values( ? ) ; - builder = builder.set_primary_cluster_id(var_332); + builder = builder.set_primary_cluster_id(var_333); } , s if s.matches("AutomaticFailoverStatus") /* AutomaticFailoverStatus com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$AutomaticFailoverStatus */ => { - let var_333 = + let var_334 = Some( Result::::Ok( crate::model::PendingAutomaticFailoverStatus::from( @@ -8643,21 +8657,21 @@ pub fn deser_structure_replication_group_pending_modified_values( ? ) ; - builder = builder.set_automatic_failover_status(var_333); + builder = builder.set_automatic_failover_status(var_334); } , s if s.matches("Resharding") /* Resharding com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$Resharding */ => { - let var_334 = + let var_335 = Some( crate::xml_deser::deser_structure_resharding_status(&mut tag) ? ) ; - builder = builder.set_resharding(var_334); + builder = builder.set_resharding(var_335); } , s if s.matches("AuthTokenStatus") /* AuthTokenStatus com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$AuthTokenStatus */ => { - let var_335 = + let var_336 = Some( Result::::Ok( crate::model::AuthTokenUpdateStatus::from( @@ -8667,27 +8681,27 @@ pub fn deser_structure_replication_group_pending_modified_values( ? ) ; - builder = builder.set_auth_token_status(var_335); + builder = builder.set_auth_token_status(var_336); } , s if s.matches("UserGroups") /* UserGroups com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$UserGroups */ => { - let var_336 = + let var_337 = Some( crate::xml_deser::deser_structure_user_groups_update_status(&mut tag) ? ) ; - builder = builder.set_user_groups(var_336); + builder = builder.set_user_groups(var_337); } , s if s.matches("LogDeliveryConfigurations") /* LogDeliveryConfigurations com.amazonaws.elasticache#ReplicationGroupPendingModifiedValues$LogDeliveryConfigurations */ => { - let var_337 = + let var_338 = Some( crate::xml_deser::deser_list_pending_log_delivery_configuration_list(&mut tag) ? ) ; - builder = builder.set_log_delivery_configurations(var_337); + builder = builder.set_log_delivery_configurations(var_338); } , _ => {} @@ -8745,7 +8759,7 @@ pub fn deser_structure_endpoint( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Address") /* Address com.amazonaws.elasticache#Endpoint$Address */ => { - let var_338 = + let var_339 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8754,11 +8768,11 @@ pub fn deser_structure_endpoint( ? ) ; - builder = builder.set_address(var_338); + builder = builder.set_address(var_339); } , s if s.matches("Port") /* Port com.amazonaws.elasticache#Endpoint$Port */ => { - let var_339 = + let var_340 = Some( { ::parse_smithy_primitive( @@ -8769,7 +8783,7 @@ pub fn deser_structure_endpoint( ? ) ; - builder = builder.set_port(var_339); + builder = builder.set_port(var_340); } , _ => {} @@ -8846,7 +8860,7 @@ pub fn deser_structure_pending_modified_values( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NumCacheNodes") /* NumCacheNodes com.amazonaws.elasticache#PendingModifiedValues$NumCacheNodes */ => { - let var_340 = + let var_341 = Some( { ::parse_smithy_primitive( @@ -8857,21 +8871,21 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_num_cache_nodes(var_340); + builder = builder.set_num_cache_nodes(var_341); } , s if s.matches("CacheNodeIdsToRemove") /* CacheNodeIdsToRemove com.amazonaws.elasticache#PendingModifiedValues$CacheNodeIdsToRemove */ => { - let var_341 = + let var_342 = Some( crate::xml_deser::deser_list_cache_node_ids_list(&mut tag) ? ) ; - builder = builder.set_cache_node_ids_to_remove(var_341); + builder = builder.set_cache_node_ids_to_remove(var_342); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#PendingModifiedValues$EngineVersion */ => { - let var_342 = + let var_343 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8880,11 +8894,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_engine_version(var_342); + builder = builder.set_engine_version(var_343); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#PendingModifiedValues$CacheNodeType */ => { - let var_343 = + let var_344 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8893,11 +8907,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_cache_node_type(var_343); + builder = builder.set_cache_node_type(var_344); } , s if s.matches("AuthTokenStatus") /* AuthTokenStatus com.amazonaws.elasticache#PendingModifiedValues$AuthTokenStatus */ => { - let var_344 = + let var_345 = Some( Result::::Ok( crate::model::AuthTokenUpdateStatus::from( @@ -8907,17 +8921,17 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_auth_token_status(var_344); + builder = builder.set_auth_token_status(var_345); } , s if s.matches("LogDeliveryConfigurations") /* LogDeliveryConfigurations com.amazonaws.elasticache#PendingModifiedValues$LogDeliveryConfigurations */ => { - let var_345 = + let var_346 = Some( crate::xml_deser::deser_list_pending_log_delivery_configuration_list(&mut tag) ? ) ; - builder = builder.set_log_delivery_configurations(var_345); + builder = builder.set_log_delivery_configurations(var_346); } , _ => {} @@ -8934,7 +8948,7 @@ pub fn deser_structure_notification_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TopicArn") /* TopicArn com.amazonaws.elasticache#NotificationConfiguration$TopicArn */ => { - let var_346 = + let var_347 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8943,11 +8957,11 @@ pub fn deser_structure_notification_configuration( ? ) ; - builder = builder.set_topic_arn(var_346); + builder = builder.set_topic_arn(var_347); } , s if s.matches("TopicStatus") /* TopicStatus com.amazonaws.elasticache#NotificationConfiguration$TopicStatus */ => { - let var_347 = + let var_348 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -8956,7 +8970,7 @@ pub fn deser_structure_notification_configuration( ? ) ; - builder = builder.set_topic_status(var_347); + builder = builder.set_topic_status(var_348); } , _ => {} @@ -8993,7 +9007,7 @@ pub fn deser_structure_cache_parameter_group_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheParameterGroupName") /* CacheParameterGroupName com.amazonaws.elasticache#CacheParameterGroupStatus$CacheParameterGroupName */ => { - let var_348 = + let var_349 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9002,11 +9016,11 @@ pub fn deser_structure_cache_parameter_group_status( ? ) ; - builder = builder.set_cache_parameter_group_name(var_348); + builder = builder.set_cache_parameter_group_name(var_349); } , s if s.matches("ParameterApplyStatus") /* ParameterApplyStatus com.amazonaws.elasticache#CacheParameterGroupStatus$ParameterApplyStatus */ => { - let var_349 = + let var_350 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9015,17 +9029,17 @@ pub fn deser_structure_cache_parameter_group_status( ? ) ; - builder = builder.set_parameter_apply_status(var_349); + builder = builder.set_parameter_apply_status(var_350); } , s if s.matches("CacheNodeIdsToReboot") /* CacheNodeIdsToReboot com.amazonaws.elasticache#CacheParameterGroupStatus$CacheNodeIdsToReboot */ => { - let var_350 = + let var_351 = Some( crate::xml_deser::deser_list_cache_node_ids_list(&mut tag) ? ) ; - builder = builder.set_cache_node_ids_to_reboot(var_350); + builder = builder.set_cache_node_ids_to_reboot(var_351); } , _ => {} @@ -9138,7 +9152,7 @@ pub fn deser_structure_cache_engine_version( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Engine") /* Engine com.amazonaws.elasticache#CacheEngineVersion$Engine */ => { - let var_351 = + let var_352 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9147,11 +9161,11 @@ pub fn deser_structure_cache_engine_version( ? ) ; - builder = builder.set_engine(var_351); + builder = builder.set_engine(var_352); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#CacheEngineVersion$EngineVersion */ => { - let var_352 = + let var_353 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9160,11 +9174,11 @@ pub fn deser_structure_cache_engine_version( ? ) ; - builder = builder.set_engine_version(var_352); + builder = builder.set_engine_version(var_353); } , s if s.matches("CacheParameterGroupFamily") /* CacheParameterGroupFamily com.amazonaws.elasticache#CacheEngineVersion$CacheParameterGroupFamily */ => { - let var_353 = + let var_354 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9173,11 +9187,11 @@ pub fn deser_structure_cache_engine_version( ? ) ; - builder = builder.set_cache_parameter_group_family(var_353); + builder = builder.set_cache_parameter_group_family(var_354); } , s if s.matches("CacheEngineDescription") /* CacheEngineDescription com.amazonaws.elasticache#CacheEngineVersion$CacheEngineDescription */ => { - let var_354 = + let var_355 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9186,11 +9200,11 @@ pub fn deser_structure_cache_engine_version( ? ) ; - builder = builder.set_cache_engine_description(var_354); + builder = builder.set_cache_engine_description(var_355); } , s if s.matches("CacheEngineVersionDescription") /* CacheEngineVersionDescription com.amazonaws.elasticache#CacheEngineVersion$CacheEngineVersionDescription */ => { - let var_355 = + let var_356 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9199,7 +9213,7 @@ pub fn deser_structure_cache_engine_version( ? ) ; - builder = builder.set_cache_engine_version_description(var_355); + builder = builder.set_cache_engine_version_description(var_356); } , _ => {} @@ -9216,7 +9230,7 @@ pub fn deser_structure_parameter( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ParameterName") /* ParameterName com.amazonaws.elasticache#Parameter$ParameterName */ => { - let var_356 = + let var_357 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9225,11 +9239,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_parameter_name(var_356); + builder = builder.set_parameter_name(var_357); } , s if s.matches("ParameterValue") /* ParameterValue com.amazonaws.elasticache#Parameter$ParameterValue */ => { - let var_357 = + let var_358 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9238,11 +9252,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_parameter_value(var_357); + builder = builder.set_parameter_value(var_358); } , s if s.matches("Description") /* Description com.amazonaws.elasticache#Parameter$Description */ => { - let var_358 = + let var_359 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9251,11 +9265,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_description(var_358); + builder = builder.set_description(var_359); } , s if s.matches("Source") /* Source com.amazonaws.elasticache#Parameter$Source */ => { - let var_359 = + let var_360 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9264,11 +9278,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_source(var_359); + builder = builder.set_source(var_360); } , s if s.matches("DataType") /* DataType com.amazonaws.elasticache#Parameter$DataType */ => { - let var_360 = + let var_361 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9277,11 +9291,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_data_type(var_360); + builder = builder.set_data_type(var_361); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.elasticache#Parameter$AllowedValues */ => { - let var_361 = + let var_362 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9290,11 +9304,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_allowed_values(var_361); + builder = builder.set_allowed_values(var_362); } , s if s.matches("IsModifiable") /* IsModifiable com.amazonaws.elasticache#Parameter$IsModifiable */ => { - let var_362 = + let var_363 = Some( { ::parse_smithy_primitive( @@ -9305,11 +9319,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_is_modifiable(var_362); + builder = builder.set_is_modifiable(var_363); } , s if s.matches("MinimumEngineVersion") /* MinimumEngineVersion com.amazonaws.elasticache#Parameter$MinimumEngineVersion */ => { - let var_363 = + let var_364 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9318,11 +9332,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_minimum_engine_version(var_363); + builder = builder.set_minimum_engine_version(var_364); } , s if s.matches("ChangeType") /* ChangeType com.amazonaws.elasticache#Parameter$ChangeType */ => { - let var_364 = + let var_365 = Some( Result::::Ok( crate::model::ChangeType::from( @@ -9332,7 +9346,7 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_change_type(var_364); + builder = builder.set_change_type(var_365); } , _ => {} @@ -9349,7 +9363,7 @@ pub fn deser_structure_cache_node_type_specific_parameter( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ParameterName") /* ParameterName com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$ParameterName */ => { - let var_365 = + let var_366 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9358,11 +9372,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_parameter_name(var_365); + builder = builder.set_parameter_name(var_366); } , s if s.matches("Description") /* Description com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$Description */ => { - let var_366 = + let var_367 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9371,11 +9385,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_description(var_366); + builder = builder.set_description(var_367); } , s if s.matches("Source") /* Source com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$Source */ => { - let var_367 = + let var_368 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9384,11 +9398,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_source(var_367); + builder = builder.set_source(var_368); } , s if s.matches("DataType") /* DataType com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$DataType */ => { - let var_368 = + let var_369 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9397,11 +9411,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_data_type(var_368); + builder = builder.set_data_type(var_369); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$AllowedValues */ => { - let var_369 = + let var_370 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9410,11 +9424,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_allowed_values(var_369); + builder = builder.set_allowed_values(var_370); } , s if s.matches("IsModifiable") /* IsModifiable com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$IsModifiable */ => { - let var_370 = + let var_371 = Some( { ::parse_smithy_primitive( @@ -9425,11 +9439,11 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_is_modifiable(var_370); + builder = builder.set_is_modifiable(var_371); } , s if s.matches("MinimumEngineVersion") /* MinimumEngineVersion com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$MinimumEngineVersion */ => { - let var_371 = + let var_372 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9438,21 +9452,21 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_minimum_engine_version(var_371); + builder = builder.set_minimum_engine_version(var_372); } , s if s.matches("CacheNodeTypeSpecificValues") /* CacheNodeTypeSpecificValues com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$CacheNodeTypeSpecificValues */ => { - let var_372 = + let var_373 = Some( crate::xml_deser::deser_list_cache_node_type_specific_value_list(&mut tag) ? ) ; - builder = builder.set_cache_node_type_specific_values(var_372); + builder = builder.set_cache_node_type_specific_values(var_373); } , s if s.matches("ChangeType") /* ChangeType com.amazonaws.elasticache#CacheNodeTypeSpecificParameter$ChangeType */ => { - let var_373 = + let var_374 = Some( Result::::Ok( crate::model::ChangeType::from( @@ -9462,7 +9476,7 @@ pub fn deser_structure_cache_node_type_specific_parameter( ? ) ; - builder = builder.set_change_type(var_373); + builder = builder.set_change_type(var_374); } , _ => {} @@ -9479,7 +9493,7 @@ pub fn deser_structure_event( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SourceIdentifier") /* SourceIdentifier com.amazonaws.elasticache#Event$SourceIdentifier */ => { - let var_374 = + let var_375 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9488,11 +9502,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_source_identifier(var_374); + builder = builder.set_source_identifier(var_375); } , s if s.matches("SourceType") /* SourceType com.amazonaws.elasticache#Event$SourceType */ => { - let var_375 = + let var_376 = Some( Result::::Ok( crate::model::SourceType::from( @@ -9502,11 +9516,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_source_type(var_375); + builder = builder.set_source_type(var_376); } , s if s.matches("Message") /* Message com.amazonaws.elasticache#Event$Message */ => { - let var_376 = + let var_377 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9515,11 +9529,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_message(var_376); + builder = builder.set_message(var_377); } , s if s.matches("Date") /* Date com.amazonaws.elasticache#Event$Date */ => { - let var_377 = + let var_378 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9529,7 +9543,7 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_date(var_377); + builder = builder.set_date(var_378); } , _ => {} @@ -9546,7 +9560,7 @@ pub fn deser_structure_reserved_cache_nodes_offering( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReservedCacheNodesOfferingId") /* ReservedCacheNodesOfferingId com.amazonaws.elasticache#ReservedCacheNodesOffering$ReservedCacheNodesOfferingId */ => { - let var_378 = + let var_379 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9555,11 +9569,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_reserved_cache_nodes_offering_id(var_378); + builder = builder.set_reserved_cache_nodes_offering_id(var_379); } , s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#ReservedCacheNodesOffering$CacheNodeType */ => { - let var_379 = + let var_380 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9568,11 +9582,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_cache_node_type(var_379); + builder = builder.set_cache_node_type(var_380); } , s if s.matches("Duration") /* Duration com.amazonaws.elasticache#ReservedCacheNodesOffering$Duration */ => { - let var_380 = + let var_381 = Some( { ::parse_smithy_primitive( @@ -9583,11 +9597,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_duration(var_380); + builder = builder.set_duration(var_381); } , s if s.matches("FixedPrice") /* FixedPrice com.amazonaws.elasticache#ReservedCacheNodesOffering$FixedPrice */ => { - let var_381 = + let var_382 = Some( { ::parse_smithy_primitive( @@ -9598,11 +9612,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_fixed_price(var_381); + builder = builder.set_fixed_price(var_382); } , s if s.matches("UsagePrice") /* UsagePrice com.amazonaws.elasticache#ReservedCacheNodesOffering$UsagePrice */ => { - let var_382 = + let var_383 = Some( { ::parse_smithy_primitive( @@ -9613,11 +9627,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_usage_price(var_382); + builder = builder.set_usage_price(var_383); } , s if s.matches("ProductDescription") /* ProductDescription com.amazonaws.elasticache#ReservedCacheNodesOffering$ProductDescription */ => { - let var_383 = + let var_384 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9626,11 +9640,11 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_product_description(var_383); + builder = builder.set_product_description(var_384); } , s if s.matches("OfferingType") /* OfferingType com.amazonaws.elasticache#ReservedCacheNodesOffering$OfferingType */ => { - let var_384 = + let var_385 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9639,17 +9653,17 @@ pub fn deser_structure_reserved_cache_nodes_offering( ? ) ; - builder = builder.set_offering_type(var_384); + builder = builder.set_offering_type(var_385); } , s if s.matches("RecurringCharges") /* RecurringCharges com.amazonaws.elasticache#ReservedCacheNodesOffering$RecurringCharges */ => { - let var_385 = + let var_386 = Some( crate::xml_deser::deser_list_recurring_charge_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_385); + builder = builder.set_recurring_charges(var_386); } , _ => {} @@ -9666,7 +9680,7 @@ pub fn deser_structure_service_update( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ServiceUpdateName") /* ServiceUpdateName com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateName */ => { - let var_386 = + let var_387 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9675,11 +9689,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_name(var_386); + builder = builder.set_service_update_name(var_387); } , s if s.matches("ServiceUpdateReleaseDate") /* ServiceUpdateReleaseDate com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateReleaseDate */ => { - let var_387 = + let var_388 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9689,11 +9703,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_release_date(var_387); + builder = builder.set_service_update_release_date(var_388); } , s if s.matches("ServiceUpdateEndDate") /* ServiceUpdateEndDate com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateEndDate */ => { - let var_388 = + let var_389 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9703,11 +9717,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_end_date(var_388); + builder = builder.set_service_update_end_date(var_389); } , s if s.matches("ServiceUpdateSeverity") /* ServiceUpdateSeverity com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateSeverity */ => { - let var_389 = + let var_390 = Some( Result::::Ok( crate::model::ServiceUpdateSeverity::from( @@ -9717,11 +9731,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_severity(var_389); + builder = builder.set_service_update_severity(var_390); } , s if s.matches("ServiceUpdateRecommendedApplyByDate") /* ServiceUpdateRecommendedApplyByDate com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateRecommendedApplyByDate */ => { - let var_390 = + let var_391 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9731,11 +9745,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_recommended_apply_by_date(var_390); + builder = builder.set_service_update_recommended_apply_by_date(var_391); } , s if s.matches("ServiceUpdateStatus") /* ServiceUpdateStatus com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateStatus */ => { - let var_391 = + let var_392 = Some( Result::::Ok( crate::model::ServiceUpdateStatus::from( @@ -9745,11 +9759,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_status(var_391); + builder = builder.set_service_update_status(var_392); } , s if s.matches("ServiceUpdateDescription") /* ServiceUpdateDescription com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateDescription */ => { - let var_392 = + let var_393 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9758,11 +9772,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_description(var_392); + builder = builder.set_service_update_description(var_393); } , s if s.matches("ServiceUpdateType") /* ServiceUpdateType com.amazonaws.elasticache#ServiceUpdate$ServiceUpdateType */ => { - let var_393 = + let var_394 = Some( Result::::Ok( crate::model::ServiceUpdateType::from( @@ -9772,11 +9786,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_service_update_type(var_393); + builder = builder.set_service_update_type(var_394); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#ServiceUpdate$Engine */ => { - let var_394 = + let var_395 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9785,11 +9799,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_engine(var_394); + builder = builder.set_engine(var_395); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.elasticache#ServiceUpdate$EngineVersion */ => { - let var_395 = + let var_396 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9798,11 +9812,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_engine_version(var_395); + builder = builder.set_engine_version(var_396); } , s if s.matches("AutoUpdateAfterRecommendedApplyByDate") /* AutoUpdateAfterRecommendedApplyByDate com.amazonaws.elasticache#ServiceUpdate$AutoUpdateAfterRecommendedApplyByDate */ => { - let var_396 = + let var_397 = Some( { ::parse_smithy_primitive( @@ -9813,11 +9827,11 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_auto_update_after_recommended_apply_by_date(var_396); + builder = builder.set_auto_update_after_recommended_apply_by_date(var_397); } , s if s.matches("EstimatedUpdateTime") /* EstimatedUpdateTime com.amazonaws.elasticache#ServiceUpdate$EstimatedUpdateTime */ => { - let var_397 = + let var_398 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9826,7 +9840,7 @@ pub fn deser_structure_service_update( ? ) ; - builder = builder.set_estimated_update_time(var_397); + builder = builder.set_estimated_update_time(var_398); } , _ => {} @@ -9843,7 +9857,7 @@ pub fn deser_structure_update_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#UpdateAction$ReplicationGroupId */ => { - let var_398 = + let var_399 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9852,11 +9866,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_replication_group_id(var_398); + builder = builder.set_replication_group_id(var_399); } , s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#UpdateAction$CacheClusterId */ => { - let var_399 = + let var_400 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9865,11 +9879,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_cache_cluster_id(var_399); + builder = builder.set_cache_cluster_id(var_400); } , s if s.matches("ServiceUpdateName") /* ServiceUpdateName com.amazonaws.elasticache#UpdateAction$ServiceUpdateName */ => { - let var_400 = + let var_401 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9878,11 +9892,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_name(var_400); + builder = builder.set_service_update_name(var_401); } , s if s.matches("ServiceUpdateReleaseDate") /* ServiceUpdateReleaseDate com.amazonaws.elasticache#UpdateAction$ServiceUpdateReleaseDate */ => { - let var_401 = + let var_402 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9892,11 +9906,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_release_date(var_401); + builder = builder.set_service_update_release_date(var_402); } , s if s.matches("ServiceUpdateSeverity") /* ServiceUpdateSeverity com.amazonaws.elasticache#UpdateAction$ServiceUpdateSeverity */ => { - let var_402 = + let var_403 = Some( Result::::Ok( crate::model::ServiceUpdateSeverity::from( @@ -9906,11 +9920,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_severity(var_402); + builder = builder.set_service_update_severity(var_403); } , s if s.matches("ServiceUpdateStatus") /* ServiceUpdateStatus com.amazonaws.elasticache#UpdateAction$ServiceUpdateStatus */ => { - let var_403 = + let var_404 = Some( Result::::Ok( crate::model::ServiceUpdateStatus::from( @@ -9920,11 +9934,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_status(var_403); + builder = builder.set_service_update_status(var_404); } , s if s.matches("ServiceUpdateRecommendedApplyByDate") /* ServiceUpdateRecommendedApplyByDate com.amazonaws.elasticache#UpdateAction$ServiceUpdateRecommendedApplyByDate */ => { - let var_404 = + let var_405 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9934,11 +9948,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_recommended_apply_by_date(var_404); + builder = builder.set_service_update_recommended_apply_by_date(var_405); } , s if s.matches("ServiceUpdateType") /* ServiceUpdateType com.amazonaws.elasticache#UpdateAction$ServiceUpdateType */ => { - let var_405 = + let var_406 = Some( Result::::Ok( crate::model::ServiceUpdateType::from( @@ -9948,11 +9962,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_service_update_type(var_405); + builder = builder.set_service_update_type(var_406); } , s if s.matches("UpdateActionAvailableDate") /* UpdateActionAvailableDate com.amazonaws.elasticache#UpdateAction$UpdateActionAvailableDate */ => { - let var_406 = + let var_407 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9962,11 +9976,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_update_action_available_date(var_406); + builder = builder.set_update_action_available_date(var_407); } , s if s.matches("UpdateActionStatus") /* UpdateActionStatus com.amazonaws.elasticache#UpdateAction$UpdateActionStatus */ => { - let var_407 = + let var_408 = Some( Result::::Ok( crate::model::UpdateActionStatus::from( @@ -9976,11 +9990,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_update_action_status(var_407); + builder = builder.set_update_action_status(var_408); } , s if s.matches("NodesUpdated") /* NodesUpdated com.amazonaws.elasticache#UpdateAction$NodesUpdated */ => { - let var_408 = + let var_409 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -9989,11 +10003,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_nodes_updated(var_408); + builder = builder.set_nodes_updated(var_409); } , s if s.matches("UpdateActionStatusModifiedDate") /* UpdateActionStatusModifiedDate com.amazonaws.elasticache#UpdateAction$UpdateActionStatusModifiedDate */ => { - let var_409 = + let var_410 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10003,11 +10017,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_update_action_status_modified_date(var_409); + builder = builder.set_update_action_status_modified_date(var_410); } , s if s.matches("SlaMet") /* SlaMet com.amazonaws.elasticache#UpdateAction$SlaMet */ => { - let var_410 = + let var_411 = Some( Result::::Ok( crate::model::SlaMet::from( @@ -10017,31 +10031,31 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_sla_met(var_410); + builder = builder.set_sla_met(var_411); } , s if s.matches("NodeGroupUpdateStatus") /* NodeGroupUpdateStatus com.amazonaws.elasticache#UpdateAction$NodeGroupUpdateStatus */ => { - let var_411 = + let var_412 = Some( crate::xml_deser::deser_list_node_group_update_status_list(&mut tag) ? ) ; - builder = builder.set_node_group_update_status(var_411); + builder = builder.set_node_group_update_status(var_412); } , s if s.matches("CacheNodeUpdateStatus") /* CacheNodeUpdateStatus com.amazonaws.elasticache#UpdateAction$CacheNodeUpdateStatus */ => { - let var_412 = + let var_413 = Some( crate::xml_deser::deser_list_cache_node_update_status_list(&mut tag) ? ) ; - builder = builder.set_cache_node_update_status(var_412); + builder = builder.set_cache_node_update_status(var_413); } , s if s.matches("EstimatedUpdateTime") /* EstimatedUpdateTime com.amazonaws.elasticache#UpdateAction$EstimatedUpdateTime */ => { - let var_413 = + let var_414 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10050,11 +10064,11 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_estimated_update_time(var_413); + builder = builder.set_estimated_update_time(var_414); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#UpdateAction$Engine */ => { - let var_414 = + let var_415 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10063,7 +10077,7 @@ pub fn deser_structure_update_action( ? ) ; - builder = builder.set_engine(var_414); + builder = builder.set_engine(var_415); } , _ => {} @@ -10080,7 +10094,7 @@ pub fn deser_structure_user_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("UserGroupId") /* UserGroupId com.amazonaws.elasticache#UserGroup$UserGroupId */ => { - let var_415 = + let var_416 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10089,11 +10103,11 @@ pub fn deser_structure_user_group( ? ) ; - builder = builder.set_user_group_id(var_415); + builder = builder.set_user_group_id(var_416); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#UserGroup$Status */ => { - let var_416 = + let var_417 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10102,11 +10116,11 @@ pub fn deser_structure_user_group( ? ) ; - builder = builder.set_status(var_416); + builder = builder.set_status(var_417); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#UserGroup$Engine */ => { - let var_417 = + let var_418 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10115,41 +10129,41 @@ pub fn deser_structure_user_group( ? ) ; - builder = builder.set_engine(var_417); + builder = builder.set_engine(var_418); } , s if s.matches("UserIds") /* UserIds com.amazonaws.elasticache#UserGroup$UserIds */ => { - let var_418 = + let var_419 = Some( crate::xml_deser::deser_list_user_id_list(&mut tag) ? ) ; - builder = builder.set_user_ids(var_418); + builder = builder.set_user_ids(var_419); } , s if s.matches("PendingChanges") /* PendingChanges com.amazonaws.elasticache#UserGroup$PendingChanges */ => { - let var_419 = + let var_420 = Some( crate::xml_deser::deser_structure_user_group_pending_changes(&mut tag) ? ) ; - builder = builder.set_pending_changes(var_419); + builder = builder.set_pending_changes(var_420); } , s if s.matches("ReplicationGroups") /* ReplicationGroups com.amazonaws.elasticache#UserGroup$ReplicationGroups */ => { - let var_420 = + let var_421 = Some( crate::xml_deser::deser_list_ug_replication_group_id_list(&mut tag) ? ) ; - builder = builder.set_replication_groups(var_420); + builder = builder.set_replication_groups(var_421); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#UserGroup$ARN */ => { - let var_421 = + let var_422 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10158,7 +10172,7 @@ pub fn deser_structure_user_group( ? ) ; - builder = builder.set_arn(var_421); + builder = builder.set_arn(var_422); } , _ => {} @@ -10175,7 +10189,7 @@ pub fn deser_structure_user( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("UserId") /* UserId com.amazonaws.elasticache#User$UserId */ => { - let var_422 = + let var_423 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10184,11 +10198,11 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_user_id(var_422); + builder = builder.set_user_id(var_423); } , s if s.matches("UserName") /* UserName com.amazonaws.elasticache#User$UserName */ => { - let var_423 = + let var_424 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10197,11 +10211,11 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_user_name(var_423); + builder = builder.set_user_name(var_424); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#User$Status */ => { - let var_424 = + let var_425 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10210,11 +10224,11 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_status(var_424); + builder = builder.set_status(var_425); } , s if s.matches("Engine") /* Engine com.amazonaws.elasticache#User$Engine */ => { - let var_425 = + let var_426 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10223,11 +10237,11 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_engine(var_425); + builder = builder.set_engine(var_426); } , s if s.matches("AccessString") /* AccessString com.amazonaws.elasticache#User$AccessString */ => { - let var_426 = + let var_427 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10236,31 +10250,31 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_access_string(var_426); + builder = builder.set_access_string(var_427); } , s if s.matches("UserGroupIds") /* UserGroupIds com.amazonaws.elasticache#User$UserGroupIds */ => { - let var_427 = + let var_428 = Some( crate::xml_deser::deser_list_user_group_id_list(&mut tag) ? ) ; - builder = builder.set_user_group_ids(var_427); + builder = builder.set_user_group_ids(var_428); } , s if s.matches("Authentication") /* Authentication com.amazonaws.elasticache#User$Authentication */ => { - let var_428 = + let var_429 = Some( crate::xml_deser::deser_structure_authentication(&mut tag) ? ) ; - builder = builder.set_authentication(var_428); + builder = builder.set_authentication(var_429); } , s if s.matches("ARN") /* ARN com.amazonaws.elasticache#User$ARN */ => { - let var_429 = + let var_430 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10269,7 +10283,7 @@ pub fn deser_structure_user( ? ) ; - builder = builder.set_arn(var_429); + builder = builder.set_arn(var_430); } , _ => {} @@ -10305,7 +10319,7 @@ pub fn deser_structure_ec2_security_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.elasticache#EC2SecurityGroup$Status */ => { - let var_430 = + let var_431 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10314,11 +10328,11 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_status(var_430); + builder = builder.set_status(var_431); } , s if s.matches("EC2SecurityGroupName") /* EC2SecurityGroupName com.amazonaws.elasticache#EC2SecurityGroup$EC2SecurityGroupName */ => { - let var_431 = + let var_432 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10327,11 +10341,11 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_ec2_security_group_name(var_431); + builder = builder.set_ec2_security_group_name(var_432); } , s if s.matches("EC2SecurityGroupOwnerId") /* EC2SecurityGroupOwnerId com.amazonaws.elasticache#EC2SecurityGroup$EC2SecurityGroupOwnerId */ => { - let var_432 = + let var_433 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10340,7 +10354,7 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_ec2_security_group_owner_id(var_432); + builder = builder.set_ec2_security_group_owner_id(var_433); } , _ => {} @@ -10357,13 +10371,13 @@ pub fn deser_structure_resharding_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SlotMigration") /* SlotMigration com.amazonaws.elasticache#ReshardingStatus$SlotMigration */ => { - let var_433 = + let var_434 = Some( crate::xml_deser::deser_structure_slot_migration(&mut tag) ? ) ; - builder = builder.set_slot_migration(var_433); + builder = builder.set_slot_migration(var_434); } , _ => {} @@ -10380,23 +10394,23 @@ pub fn deser_structure_user_groups_update_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("UserGroupIdsToAdd") /* UserGroupIdsToAdd com.amazonaws.elasticache#UserGroupsUpdateStatus$UserGroupIdsToAdd */ => { - let var_434 = + let var_435 = Some( crate::xml_deser::deser_list_user_group_id_list(&mut tag) ? ) ; - builder = builder.set_user_group_ids_to_add(var_434); + builder = builder.set_user_group_ids_to_add(var_435); } , s if s.matches("UserGroupIdsToRemove") /* UserGroupIdsToRemove com.amazonaws.elasticache#UserGroupsUpdateStatus$UserGroupIdsToRemove */ => { - let var_435 = + let var_436 = Some( crate::xml_deser::deser_list_user_group_id_list(&mut tag) ? ) ; - builder = builder.set_user_group_ids_to_remove(var_435); + builder = builder.set_user_group_ids_to_remove(var_436); } , _ => {} @@ -10435,7 +10449,7 @@ pub fn deser_structure_node_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NodeGroupId") /* NodeGroupId com.amazonaws.elasticache#NodeGroup$NodeGroupId */ => { - let var_436 = + let var_437 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10444,11 +10458,11 @@ pub fn deser_structure_node_group( ? ) ; - builder = builder.set_node_group_id(var_436); + builder = builder.set_node_group_id(var_437); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#NodeGroup$Status */ => { - let var_437 = + let var_438 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10457,31 +10471,31 @@ pub fn deser_structure_node_group( ? ) ; - builder = builder.set_status(var_437); + builder = builder.set_status(var_438); } , s if s.matches("PrimaryEndpoint") /* PrimaryEndpoint com.amazonaws.elasticache#NodeGroup$PrimaryEndpoint */ => { - let var_438 = + let var_439 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_primary_endpoint(var_438); + builder = builder.set_primary_endpoint(var_439); } , s if s.matches("ReaderEndpoint") /* ReaderEndpoint com.amazonaws.elasticache#NodeGroup$ReaderEndpoint */ => { - let var_439 = + let var_440 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_reader_endpoint(var_439); + builder = builder.set_reader_endpoint(var_440); } , s if s.matches("Slots") /* Slots com.amazonaws.elasticache#NodeGroup$Slots */ => { - let var_440 = + let var_441 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10490,17 +10504,17 @@ pub fn deser_structure_node_group( ? ) ; - builder = builder.set_slots(var_440); + builder = builder.set_slots(var_441); } , s if s.matches("NodeGroupMembers") /* NodeGroupMembers com.amazonaws.elasticache#NodeGroup$NodeGroupMembers */ => { - let var_441 = + let var_442 = Some( crate::xml_deser::deser_list_node_group_member_list(&mut tag) ? ) ; - builder = builder.set_node_group_members(var_441); + builder = builder.set_node_group_members(var_442); } , _ => {} @@ -10517,7 +10531,7 @@ pub fn deser_structure_log_delivery_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LogType") /* LogType com.amazonaws.elasticache#LogDeliveryConfiguration$LogType */ => { - let var_442 = + let var_443 = Some( Result::::Ok( crate::model::LogType::from( @@ -10527,11 +10541,11 @@ pub fn deser_structure_log_delivery_configuration( ? ) ; - builder = builder.set_log_type(var_442); + builder = builder.set_log_type(var_443); } , s if s.matches("DestinationType") /* DestinationType com.amazonaws.elasticache#LogDeliveryConfiguration$DestinationType */ => { - let var_443 = + let var_444 = Some( Result::::Ok( crate::model::DestinationType::from( @@ -10541,21 +10555,21 @@ pub fn deser_structure_log_delivery_configuration( ? ) ; - builder = builder.set_destination_type(var_443); + builder = builder.set_destination_type(var_444); } , s if s.matches("DestinationDetails") /* DestinationDetails com.amazonaws.elasticache#LogDeliveryConfiguration$DestinationDetails */ => { - let var_444 = + let var_445 = Some( crate::xml_deser::deser_structure_destination_details(&mut tag) ? ) ; - builder = builder.set_destination_details(var_444); + builder = builder.set_destination_details(var_445); } , s if s.matches("LogFormat") /* LogFormat com.amazonaws.elasticache#LogDeliveryConfiguration$LogFormat */ => { - let var_445 = + let var_446 = Some( Result::::Ok( crate::model::LogFormat::from( @@ -10565,11 +10579,11 @@ pub fn deser_structure_log_delivery_configuration( ? ) ; - builder = builder.set_log_format(var_445); + builder = builder.set_log_format(var_446); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#LogDeliveryConfiguration$Status */ => { - let var_446 = + let var_447 = Some( Result::::Ok( crate::model::LogDeliveryConfigurationStatus::from( @@ -10579,11 +10593,11 @@ pub fn deser_structure_log_delivery_configuration( ? ) ; - builder = builder.set_status(var_446); + builder = builder.set_status(var_447); } , s if s.matches("Message") /* Message com.amazonaws.elasticache#LogDeliveryConfiguration$Message */ => { - let var_447 = + let var_448 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10592,7 +10606,7 @@ pub fn deser_structure_log_delivery_configuration( ? ) ; - builder = builder.set_message(var_447); + builder = builder.set_message(var_448); } , _ => {} @@ -10609,7 +10623,7 @@ pub fn deser_structure_node_snapshot( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#NodeSnapshot$CacheClusterId */ => { - let var_448 = + let var_449 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10618,11 +10632,11 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_cache_cluster_id(var_448); + builder = builder.set_cache_cluster_id(var_449); } , s if s.matches("NodeGroupId") /* NodeGroupId com.amazonaws.elasticache#NodeSnapshot$NodeGroupId */ => { - let var_449 = + let var_450 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10631,11 +10645,11 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_node_group_id(var_449); + builder = builder.set_node_group_id(var_450); } , s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#NodeSnapshot$CacheNodeId */ => { - let var_450 = + let var_451 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10644,21 +10658,21 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_cache_node_id(var_450); + builder = builder.set_cache_node_id(var_451); } , s if s.matches("NodeGroupConfiguration") /* NodeGroupConfiguration com.amazonaws.elasticache#NodeSnapshot$NodeGroupConfiguration */ => { - let var_451 = + let var_452 = Some( crate::xml_deser::deser_structure_node_group_configuration(&mut tag) ? ) ; - builder = builder.set_node_group_configuration(var_451); + builder = builder.set_node_group_configuration(var_452); } , s if s.matches("CacheSize") /* CacheSize com.amazonaws.elasticache#NodeSnapshot$CacheSize */ => { - let var_452 = + let var_453 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10667,11 +10681,11 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_cache_size(var_452); + builder = builder.set_cache_size(var_453); } , s if s.matches("CacheNodeCreateTime") /* CacheNodeCreateTime com.amazonaws.elasticache#NodeSnapshot$CacheNodeCreateTime */ => { - let var_453 = + let var_454 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10681,11 +10695,11 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_cache_node_create_time(var_453); + builder = builder.set_cache_node_create_time(var_454); } , s if s.matches("SnapshotCreateTime") /* SnapshotCreateTime com.amazonaws.elasticache#NodeSnapshot$SnapshotCreateTime */ => { - let var_454 = + let var_455 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10695,7 +10709,7 @@ pub fn deser_structure_node_snapshot( ? ) ; - builder = builder.set_snapshot_create_time(var_454); + builder = builder.set_snapshot_create_time(var_455); } , _ => {} @@ -10734,7 +10748,7 @@ pub fn deser_structure_cache_security_group_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheSecurityGroupName") /* CacheSecurityGroupName com.amazonaws.elasticache#CacheSecurityGroupMembership$CacheSecurityGroupName */ => { - let var_455 = + let var_456 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10743,11 +10757,11 @@ pub fn deser_structure_cache_security_group_membership( ? ) ; - builder = builder.set_cache_security_group_name(var_455); + builder = builder.set_cache_security_group_name(var_456); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#CacheSecurityGroupMembership$Status */ => { - let var_456 = + let var_457 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10756,7 +10770,7 @@ pub fn deser_structure_cache_security_group_membership( ? ) ; - builder = builder.set_status(var_456); + builder = builder.set_status(var_457); } , _ => {} @@ -10773,7 +10787,7 @@ pub fn deser_structure_cache_node( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#CacheNode$CacheNodeId */ => { - let var_457 = + let var_458 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10782,11 +10796,11 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_cache_node_id(var_457); + builder = builder.set_cache_node_id(var_458); } , s if s.matches("CacheNodeStatus") /* CacheNodeStatus com.amazonaws.elasticache#CacheNode$CacheNodeStatus */ => { - let var_458 = + let var_459 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10795,11 +10809,11 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_cache_node_status(var_458); + builder = builder.set_cache_node_status(var_459); } , s if s.matches("CacheNodeCreateTime") /* CacheNodeCreateTime com.amazonaws.elasticache#CacheNode$CacheNodeCreateTime */ => { - let var_459 = + let var_460 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10809,21 +10823,21 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_cache_node_create_time(var_459); + builder = builder.set_cache_node_create_time(var_460); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.elasticache#CacheNode$Endpoint */ => { - let var_460 = + let var_461 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_endpoint(var_460); + builder = builder.set_endpoint(var_461); } , s if s.matches("ParameterGroupStatus") /* ParameterGroupStatus com.amazonaws.elasticache#CacheNode$ParameterGroupStatus */ => { - let var_461 = + let var_462 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10832,11 +10846,11 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_parameter_group_status(var_461); + builder = builder.set_parameter_group_status(var_462); } , s if s.matches("SourceCacheNodeId") /* SourceCacheNodeId com.amazonaws.elasticache#CacheNode$SourceCacheNodeId */ => { - let var_462 = + let var_463 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10845,11 +10859,11 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_source_cache_node_id(var_462); + builder = builder.set_source_cache_node_id(var_463); } , s if s.matches("CustomerAvailabilityZone") /* CustomerAvailabilityZone com.amazonaws.elasticache#CacheNode$CustomerAvailabilityZone */ => { - let var_463 = + let var_464 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10858,11 +10872,11 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_customer_availability_zone(var_463); + builder = builder.set_customer_availability_zone(var_464); } , s if s.matches("CustomerOutpostArn") /* CustomerOutpostArn com.amazonaws.elasticache#CacheNode$CustomerOutpostArn */ => { - let var_464 = + let var_465 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10871,7 +10885,7 @@ pub fn deser_structure_cache_node( ? ) ; - builder = builder.set_customer_outpost_arn(var_464); + builder = builder.set_customer_outpost_arn(var_465); } , _ => {} @@ -10888,7 +10902,7 @@ pub fn deser_structure_security_group_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SecurityGroupId") /* SecurityGroupId com.amazonaws.elasticache#SecurityGroupMembership$SecurityGroupId */ => { - let var_465 = + let var_466 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10897,11 +10911,11 @@ pub fn deser_structure_security_group_membership( ? ) ; - builder = builder.set_security_group_id(var_465); + builder = builder.set_security_group_id(var_466); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#SecurityGroupMembership$Status */ => { - let var_466 = + let var_467 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10910,7 +10924,7 @@ pub fn deser_structure_security_group_membership( ? ) ; - builder = builder.set_status(var_466); + builder = builder.set_status(var_467); } , _ => {} @@ -10927,7 +10941,7 @@ pub fn deser_structure_subnet( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SubnetIdentifier") /* SubnetIdentifier com.amazonaws.elasticache#Subnet$SubnetIdentifier */ => { - let var_467 = + let var_468 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10936,27 +10950,27 @@ pub fn deser_structure_subnet( ? ) ; - builder = builder.set_subnet_identifier(var_467); + builder = builder.set_subnet_identifier(var_468); } , s if s.matches("SubnetAvailabilityZone") /* SubnetAvailabilityZone com.amazonaws.elasticache#Subnet$SubnetAvailabilityZone */ => { - let var_468 = + let var_469 = Some( crate::xml_deser::deser_structure_availability_zone(&mut tag) ? ) ; - builder = builder.set_subnet_availability_zone(var_468); + builder = builder.set_subnet_availability_zone(var_469); } , s if s.matches("SubnetOutpost") /* SubnetOutpost com.amazonaws.elasticache#Subnet$SubnetOutpost */ => { - let var_469 = + let var_470 = Some( crate::xml_deser::deser_structure_subnet_outpost(&mut tag) ? ) ; - builder = builder.set_subnet_outpost(var_469); + builder = builder.set_subnet_outpost(var_470); } , _ => {} @@ -10973,7 +10987,7 @@ pub fn deser_structure_global_replication_group_member( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#GlobalReplicationGroupMember$ReplicationGroupId */ => { - let var_470 = + let var_471 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10982,11 +10996,11 @@ pub fn deser_structure_global_replication_group_member( ? ) ; - builder = builder.set_replication_group_id(var_470); + builder = builder.set_replication_group_id(var_471); } , s if s.matches("ReplicationGroupRegion") /* ReplicationGroupRegion com.amazonaws.elasticache#GlobalReplicationGroupMember$ReplicationGroupRegion */ => { - let var_471 = + let var_472 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -10995,11 +11009,11 @@ pub fn deser_structure_global_replication_group_member( ? ) ; - builder = builder.set_replication_group_region(var_471); + builder = builder.set_replication_group_region(var_472); } , s if s.matches("Role") /* Role com.amazonaws.elasticache#GlobalReplicationGroupMember$Role */ => { - let var_472 = + let var_473 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11008,11 +11022,11 @@ pub fn deser_structure_global_replication_group_member( ? ) ; - builder = builder.set_role(var_472); + builder = builder.set_role(var_473); } , s if s.matches("AutomaticFailover") /* AutomaticFailover com.amazonaws.elasticache#GlobalReplicationGroupMember$AutomaticFailover */ => { - let var_473 = + let var_474 = Some( Result::::Ok( crate::model::AutomaticFailoverStatus::from( @@ -11022,11 +11036,11 @@ pub fn deser_structure_global_replication_group_member( ? ) ; - builder = builder.set_automatic_failover(var_473); + builder = builder.set_automatic_failover(var_474); } , s if s.matches("Status") /* Status com.amazonaws.elasticache#GlobalReplicationGroupMember$Status */ => { - let var_474 = + let var_475 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11035,7 +11049,7 @@ pub fn deser_structure_global_replication_group_member( ? ) ; - builder = builder.set_status(var_474); + builder = builder.set_status(var_475); } , _ => {} @@ -11052,7 +11066,7 @@ pub fn deser_structure_global_node_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("GlobalNodeGroupId") /* GlobalNodeGroupId com.amazonaws.elasticache#GlobalNodeGroup$GlobalNodeGroupId */ => { - let var_475 = + let var_476 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11061,11 +11075,11 @@ pub fn deser_structure_global_node_group( ? ) ; - builder = builder.set_global_node_group_id(var_475); + builder = builder.set_global_node_group_id(var_476); } , s if s.matches("Slots") /* Slots com.amazonaws.elasticache#GlobalNodeGroup$Slots */ => { - let var_476 = + let var_477 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11074,7 +11088,7 @@ pub fn deser_structure_global_node_group( ? ) ; - builder = builder.set_slots(var_476); + builder = builder.set_slots(var_477); } , _ => {} @@ -11148,7 +11162,7 @@ pub fn deser_structure_recurring_charge( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("RecurringChargeAmount") /* RecurringChargeAmount com.amazonaws.elasticache#RecurringCharge$RecurringChargeAmount */ => { - let var_477 = + let var_478 = Some( { ::parse_smithy_primitive( @@ -11159,11 +11173,11 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_recurring_charge_amount(var_477); + builder = builder.set_recurring_charge_amount(var_478); } , s if s.matches("RecurringChargeFrequency") /* RecurringChargeFrequency com.amazonaws.elasticache#RecurringCharge$RecurringChargeFrequency */ => { - let var_478 = + let var_479 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11172,7 +11186,7 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_recurring_charge_frequency(var_478); + builder = builder.set_recurring_charge_frequency(var_479); } , _ => {} @@ -11189,7 +11203,7 @@ pub fn deser_structure_slot_migration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ProgressPercentage") /* ProgressPercentage com.amazonaws.elasticache#SlotMigration$ProgressPercentage */ => { - let var_479 = + let var_480 = Some( { ::parse_smithy_primitive( @@ -11200,7 +11214,7 @@ pub fn deser_structure_slot_migration( ? ) ; - builder = builder.set_progress_percentage(var_479); + builder = builder.set_progress_percentage(var_480); } , _ => {} @@ -11217,7 +11231,7 @@ pub fn deser_structure_pending_log_delivery_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LogType") /* LogType com.amazonaws.elasticache#PendingLogDeliveryConfiguration$LogType */ => { - let var_480 = + let var_481 = Some( Result::::Ok( crate::model::LogType::from( @@ -11227,11 +11241,11 @@ pub fn deser_structure_pending_log_delivery_configuration( ? ) ; - builder = builder.set_log_type(var_480); + builder = builder.set_log_type(var_481); } , s if s.matches("DestinationType") /* DestinationType com.amazonaws.elasticache#PendingLogDeliveryConfiguration$DestinationType */ => { - let var_481 = + let var_482 = Some( Result::::Ok( crate::model::DestinationType::from( @@ -11241,21 +11255,21 @@ pub fn deser_structure_pending_log_delivery_configuration( ? ) ; - builder = builder.set_destination_type(var_481); + builder = builder.set_destination_type(var_482); } , s if s.matches("DestinationDetails") /* DestinationDetails com.amazonaws.elasticache#PendingLogDeliveryConfiguration$DestinationDetails */ => { - let var_482 = + let var_483 = Some( crate::xml_deser::deser_structure_destination_details(&mut tag) ? ) ; - builder = builder.set_destination_details(var_482); + builder = builder.set_destination_details(var_483); } , s if s.matches("LogFormat") /* LogFormat com.amazonaws.elasticache#PendingLogDeliveryConfiguration$LogFormat */ => { - let var_483 = + let var_484 = Some( Result::::Ok( crate::model::LogFormat::from( @@ -11265,7 +11279,7 @@ pub fn deser_structure_pending_log_delivery_configuration( ? ) ; - builder = builder.set_log_format(var_483); + builder = builder.set_log_format(var_484); } , _ => {} @@ -11301,23 +11315,23 @@ pub fn deser_structure_destination_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CloudWatchLogsDetails") /* CloudWatchLogsDetails com.amazonaws.elasticache#DestinationDetails$CloudWatchLogsDetails */ => { - let var_484 = + let var_485 = Some( crate::xml_deser::deser_structure_cloud_watch_logs_destination_details(&mut tag) ? ) ; - builder = builder.set_cloud_watch_logs_details(var_484); + builder = builder.set_cloud_watch_logs_details(var_485); } , s if s.matches("KinesisFirehoseDetails") /* KinesisFirehoseDetails com.amazonaws.elasticache#DestinationDetails$KinesisFirehoseDetails */ => { - let var_485 = + let var_486 = Some( crate::xml_deser::deser_structure_kinesis_firehose_destination_details(&mut tag) ? ) ; - builder = builder.set_kinesis_firehose_details(var_485); + builder = builder.set_kinesis_firehose_details(var_486); } , _ => {} @@ -11334,7 +11348,7 @@ pub fn deser_structure_node_group_configuration( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NodeGroupId") /* NodeGroupId com.amazonaws.elasticache#NodeGroupConfiguration$NodeGroupId */ => { - let var_486 = + let var_487 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11343,11 +11357,11 @@ pub fn deser_structure_node_group_configuration( ? ) ; - builder = builder.set_node_group_id(var_486); + builder = builder.set_node_group_id(var_487); } , s if s.matches("Slots") /* Slots com.amazonaws.elasticache#NodeGroupConfiguration$Slots */ => { - let var_487 = + let var_488 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11356,11 +11370,11 @@ pub fn deser_structure_node_group_configuration( ? ) ; - builder = builder.set_slots(var_487); + builder = builder.set_slots(var_488); } , s if s.matches("ReplicaCount") /* ReplicaCount com.amazonaws.elasticache#NodeGroupConfiguration$ReplicaCount */ => { - let var_488 = + let var_489 = Some( { ::parse_smithy_primitive( @@ -11371,11 +11385,11 @@ pub fn deser_structure_node_group_configuration( ? ) ; - builder = builder.set_replica_count(var_488); + builder = builder.set_replica_count(var_489); } , s if s.matches("PrimaryAvailabilityZone") /* PrimaryAvailabilityZone com.amazonaws.elasticache#NodeGroupConfiguration$PrimaryAvailabilityZone */ => { - let var_489 = + let var_490 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11384,21 +11398,21 @@ pub fn deser_structure_node_group_configuration( ? ) ; - builder = builder.set_primary_availability_zone(var_489); + builder = builder.set_primary_availability_zone(var_490); } , s if s.matches("ReplicaAvailabilityZones") /* ReplicaAvailabilityZones com.amazonaws.elasticache#NodeGroupConfiguration$ReplicaAvailabilityZones */ => { - let var_490 = + let var_491 = Some( crate::xml_deser::deser_list_availability_zones_list(&mut tag) ? ) ; - builder = builder.set_replica_availability_zones(var_490); + builder = builder.set_replica_availability_zones(var_491); } , s if s.matches("PrimaryOutpostArn") /* PrimaryOutpostArn com.amazonaws.elasticache#NodeGroupConfiguration$PrimaryOutpostArn */ => { - let var_491 = + let var_492 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11407,17 +11421,17 @@ pub fn deser_structure_node_group_configuration( ? ) ; - builder = builder.set_primary_outpost_arn(var_491); + builder = builder.set_primary_outpost_arn(var_492); } , s if s.matches("ReplicaOutpostArns") /* ReplicaOutpostArns com.amazonaws.elasticache#NodeGroupConfiguration$ReplicaOutpostArns */ => { - let var_492 = + let var_493 = Some( crate::xml_deser::deser_list_outpost_arns_list(&mut tag) ? ) ; - builder = builder.set_replica_outpost_arns(var_492); + builder = builder.set_replica_outpost_arns(var_493); } , _ => {} @@ -11434,7 +11448,7 @@ pub fn deser_structure_availability_zone( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.elasticache#AvailabilityZone$Name */ => { - let var_493 = + let var_494 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11443,7 +11457,7 @@ pub fn deser_structure_availability_zone( ? ) ; - builder = builder.set_name(var_493); + builder = builder.set_name(var_494); } , _ => {} @@ -11460,7 +11474,7 @@ pub fn deser_structure_subnet_outpost( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SubnetOutpostArn") /* SubnetOutpostArn com.amazonaws.elasticache#SubnetOutpost$SubnetOutpostArn */ => { - let var_494 = + let var_495 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11469,7 +11483,7 @@ pub fn deser_structure_subnet_outpost( ? ) ; - builder = builder.set_subnet_outpost_arn(var_494); + builder = builder.set_subnet_outpost_arn(var_495); } , _ => {} @@ -11486,7 +11500,7 @@ pub fn deser_structure_cache_node_type_specific_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#CacheNodeTypeSpecificValue$CacheNodeType */ => { - let var_495 = + let var_496 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11495,11 +11509,11 @@ pub fn deser_structure_cache_node_type_specific_value( ? ) ; - builder = builder.set_cache_node_type(var_495); + builder = builder.set_cache_node_type(var_496); } , s if s.matches("Value") /* Value com.amazonaws.elasticache#CacheNodeTypeSpecificValue$Value */ => { - let var_496 = + let var_497 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11508,7 +11522,7 @@ pub fn deser_structure_cache_node_type_specific_value( ? ) ; - builder = builder.set_value(var_496); + builder = builder.set_value(var_497); } , _ => {} @@ -11525,7 +11539,7 @@ pub fn deser_structure_node_group_update_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("NodeGroupId") /* NodeGroupId com.amazonaws.elasticache#NodeGroupUpdateStatus$NodeGroupId */ => { - let var_497 = + let var_498 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11534,17 +11548,17 @@ pub fn deser_structure_node_group_update_status( ? ) ; - builder = builder.set_node_group_id(var_497); + builder = builder.set_node_group_id(var_498); } , s if s.matches("NodeGroupMemberUpdateStatus") /* NodeGroupMemberUpdateStatus com.amazonaws.elasticache#NodeGroupUpdateStatus$NodeGroupMemberUpdateStatus */ => { - let var_498 = + let var_499 = Some( crate::xml_deser::deser_list_node_group_member_update_status_list(&mut tag) ? ) ; - builder = builder.set_node_group_member_update_status(var_498); + builder = builder.set_node_group_member_update_status(var_499); } , _ => {} @@ -11561,7 +11575,7 @@ pub fn deser_structure_cache_node_update_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#CacheNodeUpdateStatus$CacheNodeId */ => { - let var_499 = + let var_500 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11570,11 +11584,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_cache_node_id(var_499); + builder = builder.set_cache_node_id(var_500); } , s if s.matches("NodeUpdateStatus") /* NodeUpdateStatus com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateStatus */ => { - let var_500 = + let var_501 = Some( Result::::Ok( crate::model::NodeUpdateStatus::from( @@ -11584,11 +11598,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_status(var_500); + builder = builder.set_node_update_status(var_501); } , s if s.matches("NodeDeletionDate") /* NodeDeletionDate com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeDeletionDate */ => { - let var_501 = + let var_502 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11598,11 +11612,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_deletion_date(var_501); + builder = builder.set_node_deletion_date(var_502); } , s if s.matches("NodeUpdateStartDate") /* NodeUpdateStartDate com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateStartDate */ => { - let var_502 = + let var_503 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11612,11 +11626,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_start_date(var_502); + builder = builder.set_node_update_start_date(var_503); } , s if s.matches("NodeUpdateEndDate") /* NodeUpdateEndDate com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateEndDate */ => { - let var_503 = + let var_504 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11626,11 +11640,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_end_date(var_503); + builder = builder.set_node_update_end_date(var_504); } , s if s.matches("NodeUpdateInitiatedBy") /* NodeUpdateInitiatedBy com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateInitiatedBy */ => { - let var_504 = + let var_505 = Some( Result::::Ok( crate::model::NodeUpdateInitiatedBy::from( @@ -11640,11 +11654,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_initiated_by(var_504); + builder = builder.set_node_update_initiated_by(var_505); } , s if s.matches("NodeUpdateInitiatedDate") /* NodeUpdateInitiatedDate com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateInitiatedDate */ => { - let var_505 = + let var_506 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11654,11 +11668,11 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_initiated_date(var_505); + builder = builder.set_node_update_initiated_date(var_506); } , s if s.matches("NodeUpdateStatusModifiedDate") /* NodeUpdateStatusModifiedDate com.amazonaws.elasticache#CacheNodeUpdateStatus$NodeUpdateStatusModifiedDate */ => { - let var_506 = + let var_507 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11668,7 +11682,7 @@ pub fn deser_structure_cache_node_update_status( ? ) ; - builder = builder.set_node_update_status_modified_date(var_506); + builder = builder.set_node_update_status_modified_date(var_507); } , _ => {} @@ -11685,7 +11699,7 @@ pub fn deser_structure_node_group_member( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#NodeGroupMember$CacheClusterId */ => { - let var_507 = + let var_508 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11694,11 +11708,11 @@ pub fn deser_structure_node_group_member( ? ) ; - builder = builder.set_cache_cluster_id(var_507); + builder = builder.set_cache_cluster_id(var_508); } , s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#NodeGroupMember$CacheNodeId */ => { - let var_508 = + let var_509 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11707,21 +11721,21 @@ pub fn deser_structure_node_group_member( ? ) ; - builder = builder.set_cache_node_id(var_508); + builder = builder.set_cache_node_id(var_509); } , s if s.matches("ReadEndpoint") /* ReadEndpoint com.amazonaws.elasticache#NodeGroupMember$ReadEndpoint */ => { - let var_509 = + let var_510 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_read_endpoint(var_509); + builder = builder.set_read_endpoint(var_510); } , s if s.matches("PreferredAvailabilityZone") /* PreferredAvailabilityZone com.amazonaws.elasticache#NodeGroupMember$PreferredAvailabilityZone */ => { - let var_510 = + let var_511 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11730,11 +11744,11 @@ pub fn deser_structure_node_group_member( ? ) ; - builder = builder.set_preferred_availability_zone(var_510); + builder = builder.set_preferred_availability_zone(var_511); } , s if s.matches("PreferredOutpostArn") /* PreferredOutpostArn com.amazonaws.elasticache#NodeGroupMember$PreferredOutpostArn */ => { - let var_511 = + let var_512 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11743,11 +11757,11 @@ pub fn deser_structure_node_group_member( ? ) ; - builder = builder.set_preferred_outpost_arn(var_511); + builder = builder.set_preferred_outpost_arn(var_512); } , s if s.matches("CurrentRole") /* CurrentRole com.amazonaws.elasticache#NodeGroupMember$CurrentRole */ => { - let var_512 = + let var_513 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11756,7 +11770,7 @@ pub fn deser_structure_node_group_member( ? ) ; - builder = builder.set_current_role(var_512); + builder = builder.set_current_role(var_513); } , _ => {} @@ -11773,7 +11787,7 @@ pub fn deser_structure_cloud_watch_logs_destination_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LogGroup") /* LogGroup com.amazonaws.elasticache#CloudWatchLogsDestinationDetails$LogGroup */ => { - let var_513 = + let var_514 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11782,7 +11796,7 @@ pub fn deser_structure_cloud_watch_logs_destination_details( ? ) ; - builder = builder.set_log_group(var_513); + builder = builder.set_log_group(var_514); } , _ => {} @@ -11799,7 +11813,7 @@ pub fn deser_structure_kinesis_firehose_destination_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DeliveryStream") /* DeliveryStream com.amazonaws.elasticache#KinesisFirehoseDestinationDetails$DeliveryStream */ => { - let var_514 = + let var_515 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11808,7 +11822,7 @@ pub fn deser_structure_kinesis_firehose_destination_details( ? ) ; - builder = builder.set_delivery_stream(var_514); + builder = builder.set_delivery_stream(var_515); } , _ => {} @@ -11889,7 +11903,7 @@ pub fn deser_structure_node_group_member_update_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CacheClusterId") /* CacheClusterId com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$CacheClusterId */ => { - let var_515 = + let var_516 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11898,11 +11912,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_cache_cluster_id(var_515); + builder = builder.set_cache_cluster_id(var_516); } , s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$CacheNodeId */ => { - let var_516 = + let var_517 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11911,11 +11925,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_cache_node_id(var_516); + builder = builder.set_cache_node_id(var_517); } , s if s.matches("NodeUpdateStatus") /* NodeUpdateStatus com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateStatus */ => { - let var_517 = + let var_518 = Some( Result::::Ok( crate::model::NodeUpdateStatus::from( @@ -11925,11 +11939,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_status(var_517); + builder = builder.set_node_update_status(var_518); } , s if s.matches("NodeDeletionDate") /* NodeDeletionDate com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeDeletionDate */ => { - let var_518 = + let var_519 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11939,11 +11953,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_deletion_date(var_518); + builder = builder.set_node_deletion_date(var_519); } , s if s.matches("NodeUpdateStartDate") /* NodeUpdateStartDate com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateStartDate */ => { - let var_519 = + let var_520 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11953,11 +11967,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_start_date(var_519); + builder = builder.set_node_update_start_date(var_520); } , s if s.matches("NodeUpdateEndDate") /* NodeUpdateEndDate com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateEndDate */ => { - let var_520 = + let var_521 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11967,11 +11981,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_end_date(var_520); + builder = builder.set_node_update_end_date(var_521); } , s if s.matches("NodeUpdateInitiatedBy") /* NodeUpdateInitiatedBy com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateInitiatedBy */ => { - let var_521 = + let var_522 = Some( Result::::Ok( crate::model::NodeUpdateInitiatedBy::from( @@ -11981,11 +11995,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_initiated_by(var_521); + builder = builder.set_node_update_initiated_by(var_522); } , s if s.matches("NodeUpdateInitiatedDate") /* NodeUpdateInitiatedDate com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateInitiatedDate */ => { - let var_522 = + let var_523 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -11995,11 +12009,11 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_initiated_date(var_522); + builder = builder.set_node_update_initiated_date(var_523); } , s if s.matches("NodeUpdateStatusModifiedDate") /* NodeUpdateStatusModifiedDate com.amazonaws.elasticache#NodeGroupMemberUpdateStatus$NodeUpdateStatusModifiedDate */ => { - let var_523 = + let var_524 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -12009,7 +12023,7 @@ pub fn deser_structure_node_group_member_update_status( ? ) ; - builder = builder.set_node_update_status_modified_date(var_523); + builder = builder.set_node_update_status_modified_date(var_524); } , _ => {} diff --git a/sdk/elasticbeanstalk/Cargo.toml b/sdk/elasticbeanstalk/Cargo.toml index 73183017745a..d62b2d80f7ae 100644 --- a/sdk/elasticbeanstalk/Cargo.toml +++ b/sdk/elasticbeanstalk/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticbeanstalk" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Elastic Beanstalk\n \n \n

                                                  AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable,\n fault-tolerant applications running on the Amazon Web Services cloud.

                                                  \n

                                                  For more information about this product, go to the AWS Elastic Beanstalk details page. The location of the\n latest AWS Elastic Beanstalk WSDL is https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl.\n To install the Software Development Kits (SDKs), Integrated Development Environment (IDE)\n Toolkits, and command line tools that enable you to access the API, go to Tools for Amazon Web Services.

                                                  \n

                                                  \n Endpoints\n

                                                  \n

                                                  For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to\n Regions and Endpoints in the Amazon Web Services\n Glossary.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticinference/Cargo.toml b/sdk/elasticinference/Cargo.toml index 4e4f4db48197..e040b69761a3 100644 --- a/sdk/elasticinference/Cargo.toml +++ b/sdk/elasticinference/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticinference" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  \n Elastic Inference public APIs.\n

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticloadbalancing/Cargo.toml b/sdk/elasticloadbalancing/Cargo.toml index e34dc7a8a88b..5bf672f7aba7 100644 --- a/sdk/elasticloadbalancing/Cargo.toml +++ b/sdk/elasticloadbalancing/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticloadbalancing" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Elastic Load Balancing\n \n

                                                  A load balancer can distribute incoming traffic across your EC2 instances.\n This enables you to increase the availability of your application. The load balancer\n also monitors the health of its registered instances and ensures that it routes traffic\n only to healthy instances. You configure your load balancer to accept incoming traffic\n by specifying one or more listeners, which are configured with a protocol and port \n number for connections from clients to the load balancer and a protocol and port number\n for connections from the load balancer to the instances.

                                                  \n

                                                  Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, \n and Classic Load Balancers. You can select a load balancer based on your application needs. For more \n information, see the Elastic Load Balancing User Guide.

                                                  \n

                                                  This reference covers the 2012-06-01 API, which supports Classic Load Balancers. \n The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.

                                                  \n \n

                                                  To get started, create a load balancer with one or more listeners using CreateLoadBalancer. \n Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

                                                  \n\n

                                                  All Elastic Load Balancing operations are idempotent, which means \n that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK \n response code.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticloadbalancingv2/Cargo.toml b/sdk/elasticloadbalancingv2/Cargo.toml index 81188127a4ef..8978c33b20fd 100644 --- a/sdk/elasticloadbalancingv2/Cargo.toml +++ b/sdk/elasticloadbalancingv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticloadbalancingv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Elastic Load Balancing\n\n

                                                  A load balancer distributes incoming traffic across targets, such as your EC2 instances.\n This enables you to increase the availability of your application. The load balancer also\n monitors the health of its registered targets and ensures that it routes traffic only to\n healthy targets. You configure your load balancer to accept incoming traffic by specifying one\n or more listeners, which are configured with a protocol and port number for connections from\n clients to the load balancer. You configure a target group with a protocol and port number for\n connections from the load balancer to the targets, and with health check settings to be used\n when checking the health status of the targets.

                                                  \n\n

                                                  Elastic Load Balancing supports the following types of load balancers: Application Load\n Balancers, Network Load Balancers, Gateway Load Balancers, and Classic Load Balancers. This\n reference covers the following load balancer types:

                                                  \n
                                                    \n
                                                  • \n

                                                    Application Load Balancer - Operates at the application layer (layer 7) and supports\n HTTP and HTTPS.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Network Load Balancer - Operates at the transport layer (layer 4) and supports TCP,\n TLS, and UDP.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Gateway Load Balancer - Operates at the network layer (layer 3).

                                                    \n
                                                  • \n
                                                  \n\n

                                                  For more information, see the Elastic Load Balancing User\n Guide.

                                                  \n\n \n \n\n \n \n\n

                                                  All Elastic Load Balancing operations are idempotent, which means that they complete at\n most one time. If you repeat an operation, it succeeds.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elasticsearch/Cargo.toml b/sdk/elasticsearch/Cargo.toml index 6218c8ea17f1..96485c221e09 100644 --- a/sdk/elasticsearch/Cargo.toml +++ b/sdk/elasticsearch/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elasticsearch" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Elasticsearch Configuration Service\n

                                                  Use the Amazon Elasticsearch Configuration API to create, configure, and manage Elasticsearch domains.

                                                  \n

                                                  For sample code that uses the Configuration API, see the Amazon Elasticsearch Service Developer Guide.\n The guide also contains sample code for sending signed HTTP requests to the Elasticsearch APIs.

                                                  \n

                                                  The endpoint for configuration service requests is region-specific: es.region.amazonaws.com.\n For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints,\n see Regions and Endpoints.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/elastictranscoder/Cargo.toml b/sdk/elastictranscoder/Cargo.toml index 2e02ed2d22ff..f2d55a6a3f02 100644 --- a/sdk/elastictranscoder/Cargo.toml +++ b/sdk/elastictranscoder/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-elastictranscoder" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Elastic Transcoder Service\n

                                                  The AWS Elastic Transcoder Service.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/emr/Cargo.toml b/sdk/emr/Cargo.toml index 78937923721c..574cfa96dc41 100644 --- a/sdk/emr/Cargo.toml +++ b/sdk/emr/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-emr" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon EMR is a web service that makes it easier to process large amounts of data\n efficiently. Amazon EMR uses Hadoop processing combined with several Amazon Web Services services to do\n tasks such as web indexing, data mining, log file analysis, machine learning, scientific\n simulation, and data warehouse management.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/emr/src/client.rs b/sdk/emr/src/client.rs index 0350c8459c26..619d08759f42 100644 --- a/sdk/emr/src/client.rs +++ b/sdk/emr/src/client.rs @@ -743,7 +743,7 @@ pub mod fluent_builders { } ///

                                                  The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity /// Store. For more information, see UserId and GroupId in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub fn identity_id(mut self, input: impl Into) -> Self { self.inner = self.inner.identity_id(input); self @@ -753,7 +753,7 @@ pub mod fluent_builders { self } ///

                                                  The name of the user or group. For more information, see UserName and DisplayName in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub fn identity_name(mut self, input: impl Into) -> Self { self.inner = self.inner.identity_name(input); self @@ -1983,7 +1983,7 @@ pub mod fluent_builders { self.inner = self.inner.set_filters(input); self } - ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (AWS AccountID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  + ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (account ID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -2962,8 +2962,8 @@ pub mod fluent_builders { self.inner = self.inner.set_configurations(input); self } - ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to false for clusters created using the EMR API or the CLI create-cluster command.

                                                  - ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to true for clusters created using the EMR API or the CLI create-cluster command.

                                                  + ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub fn visible_to_all_users(mut self, input: bool) -> Self { self.inner = self.inner.visible_to_all_users(input); self diff --git a/sdk/emr/src/input.rs b/sdk/emr/src/input.rs index 7d71b610379b..beaf858c96ce 100644 --- a/sdk/emr/src/input.rs +++ b/sdk/emr/src/input.rs @@ -1234,7 +1234,7 @@ pub mod create_studio_session_mapping_input { } ///

                                                  The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity /// Store. For more information, see UserId and GroupId in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub fn identity_id(mut self, input: impl Into) -> Self { self.identity_id = Some(input.into()); self @@ -1244,7 +1244,7 @@ pub mod create_studio_session_mapping_input { self } ///

                                                  The name of the user or group. For more information, see UserName and DisplayName in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub fn identity_name(mut self, input: impl Into) -> Self { self.identity_name = Some(input.into()); self @@ -4490,7 +4490,7 @@ pub mod list_release_labels_input { self.filters = input; self } - ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (AWS AccountID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  + ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (account ID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -6847,8 +6847,8 @@ pub mod run_job_flow_input { self.configurations = input; self } - ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to false for clusters created using the EMR API or the CLI create-cluster command.

                                                  - ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to true for clusters created using the EMR API or the CLI create-cluster command.

                                                  + ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub fn visible_to_all_users(mut self, input: bool) -> Self { self.visible_to_all_users = Some(input); self @@ -8687,8 +8687,8 @@ pub struct RunJobFlowInput { ///

                                                  For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR /// cluster you are creating.

                                                  pub configurations: std::option::Option>, - ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to false for clusters created using the EMR API or the CLI create-cluster command.

                                                  - ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  Set this value to true so that IAM principals in the account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to true for clusters created using the EMR API or the CLI create-cluster command.

                                                  + ///

                                                  When set to false, only the IAM principal that created the cluster and the account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub visible_to_all_users: bool, ///

                                                  Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 /// instances of the cluster assume this role. The default role is @@ -9043,7 +9043,7 @@ impl std::fmt::Debug for ListSecurityConfigurationsInput { pub struct ListReleaseLabelsInput { ///

                                                  Filters the results of the request. Prefix specifies the prefix of release labels to return. Application specifies the application (with/without version) of release labels to return.

                                                  pub filters: std::option::Option, - ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (AWS AccountID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  + ///

                                                  Specifies the next page of results. If NextToken is not specified, which is usually the case for the first request of ListReleaseLabels, the first page of results are determined by other filtering parameters or by the latest version. The ListReleaseLabels request fails if the identity (account ID) and all filtering parameters are different from the original request, or if the NextToken is expired or tampered with.

                                                  pub next_token: std::option::Option, ///

                                                  Defines the maximum number of release labels to return in a single response. The default is 100.

                                                  pub max_results: std::option::Option, @@ -9483,10 +9483,10 @@ pub struct CreateStudioSessionMappingInput { pub studio_id: std::option::Option, ///

                                                  The globally unique identifier (GUID) of the user or group from the Amazon Web Services SSO Identity /// Store. For more information, see UserId and GroupId in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub identity_id: std::option::Option, ///

                                                  The name of the user or group. For more information, see UserName and DisplayName in the Amazon Web Services SSO Identity Store API Reference. - /// Either IdentityName or IdentityId must be specified.

                                                  + /// Either IdentityName or IdentityId must be specified, but not both.

                                                  pub identity_name: std::option::Option, ///

                                                  Specifies whether the identity to map to the Amazon EMR Studio is a user or a group.

                                                  pub identity_type: std::option::Option, diff --git a/sdk/emr/src/json_deser.rs b/sdk/emr/src/json_deser.rs index f9bae808a51b..d179ad99cffb 100644 --- a/sdk/emr/src/json_deser.rs +++ b/sdk/emr/src/json_deser.rs @@ -4573,6 +4573,15 @@ where crate::json_deser::deser_structure_auto_scaling_policy_description(tokens)? ); } + "CustomAmiId" => { + builder = builder.set_custom_ami_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -7117,6 +7126,15 @@ where )?, ); } + "CustomAmiId" => { + builder = builder.set_custom_ami_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -7910,6 +7928,15 @@ where )?, ); } + "CustomAmiId" => { + builder = builder.set_custom_ami_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/emr/src/json_ser.rs b/sdk/emr/src/json_ser.rs index 2de3c2068e63..c31f6839d1cf 100644 --- a/sdk/emr/src/json_ser.rs +++ b/sdk/emr/src/json_ser.rs @@ -1108,22 +1108,25 @@ pub fn serialize_structure_instance_group_config( crate::json_ser::serialize_structure_auto_scaling_policy(&mut object_255, var_254); object_255.finish(); } + if let Some(var_256) = &input.custom_ami_id { + object.key("CustomAmiId").string(var_256); + } } pub fn serialize_structure_step_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StepConfig, ) { - if let Some(var_256) = &input.name { - object.key("Name").string(var_256); + if let Some(var_257) = &input.name { + object.key("Name").string(var_257); } - if let Some(var_257) = &input.action_on_failure { - object.key("ActionOnFailure").string(var_257.as_str()); + if let Some(var_258) = &input.action_on_failure { + object.key("ActionOnFailure").string(var_258.as_str()); } - if let Some(var_258) = &input.hadoop_jar_step { - let mut object_259 = object.key("HadoopJarStep").start_object(); - crate::json_ser::serialize_structure_hadoop_jar_step_config(&mut object_259, var_258); - object_259.finish(); + if let Some(var_259) = &input.hadoop_jar_step { + let mut object_260 = object.key("HadoopJarStep").start_object(); + crate::json_ser::serialize_structure_hadoop_jar_step_config(&mut object_260, var_259); + object_260.finish(); } } @@ -1131,11 +1134,11 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_260) = &input.key { - object.key("Key").string(var_260); + if let Some(var_261) = &input.key { + object.key("Key").string(var_261); } - if let Some(var_261) = &input.value { - object.key("Value").string(var_261); + if let Some(var_262) = &input.value { + object.key("Value").string(var_262); } } @@ -1143,11 +1146,11 @@ pub fn serialize_structure_release_label_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ReleaseLabelFilter, ) { - if let Some(var_262) = &input.prefix { - object.key("Prefix").string(var_262); + if let Some(var_263) = &input.prefix { + object.key("Prefix").string(var_263); } - if let Some(var_263) = &input.application { - object.key("Application").string(var_263); + if let Some(var_264) = &input.application { + object.key("Application").string(var_264); } } @@ -1155,19 +1158,19 @@ pub fn serialize_structure_instance_fleet_modify_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceFleetModifyConfig, ) { - if let Some(var_264) = &input.instance_fleet_id { - object.key("InstanceFleetId").string(var_264); + if let Some(var_265) = &input.instance_fleet_id { + object.key("InstanceFleetId").string(var_265); } - if let Some(var_265) = &input.target_on_demand_capacity { + if let Some(var_266) = &input.target_on_demand_capacity { object.key("TargetOnDemandCapacity").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_265).into()), + smithy_types::Number::NegInt((*var_266).into()), ); } - if let Some(var_266) = &input.target_spot_capacity { + if let Some(var_267) = &input.target_spot_capacity { object.key("TargetSpotCapacity").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_266).into()), + smithy_types::Number::NegInt((*var_267).into()), ); } } @@ -1176,39 +1179,39 @@ pub fn serialize_structure_instance_group_modify_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceGroupModifyConfig, ) { - if let Some(var_267) = &input.instance_group_id { - object.key("InstanceGroupId").string(var_267); + if let Some(var_268) = &input.instance_group_id { + object.key("InstanceGroupId").string(var_268); } - if let Some(var_268) = &input.instance_count { + if let Some(var_269) = &input.instance_count { object.key("InstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_268).into()), + smithy_types::Number::NegInt((*var_269).into()), ); } - if let Some(var_269) = &input.ec2_instance_ids_to_terminate { - let mut array_270 = object.key("EC2InstanceIdsToTerminate").start_array(); - for item_271 in var_269 { + if let Some(var_270) = &input.ec2_instance_ids_to_terminate { + let mut array_271 = object.key("EC2InstanceIdsToTerminate").start_array(); + for item_272 in var_270 { { - array_270.value().string(item_271); + array_271.value().string(item_272); } } - array_270.finish(); + array_271.finish(); } - if let Some(var_272) = &input.shrink_policy { - let mut object_273 = object.key("ShrinkPolicy").start_object(); - crate::json_ser::serialize_structure_shrink_policy(&mut object_273, var_272); - object_273.finish(); + if let Some(var_273) = &input.shrink_policy { + let mut object_274 = object.key("ShrinkPolicy").start_object(); + crate::json_ser::serialize_structure_shrink_policy(&mut object_274, var_273); + object_274.finish(); } - if let Some(var_274) = &input.configurations { - let mut array_275 = object.key("Configurations").start_array(); - for item_276 in var_274 { + if let Some(var_275) = &input.configurations { + let mut array_276 = object.key("Configurations").start_array(); + for item_277 in var_275 { { - let mut object_277 = array_275.value().start_object(); - crate::json_ser::serialize_structure_configuration(&mut object_277, item_276); - object_277.finish(); + let mut object_278 = array_276.value().start_object(); + crate::json_ser::serialize_structure_configuration(&mut object_278, item_277); + object_278.finish(); } } - array_275.finish(); + array_276.finish(); } } @@ -1216,21 +1219,21 @@ pub fn serialize_structure_auto_scaling_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoScalingPolicy, ) { - if let Some(var_278) = &input.constraints { - let mut object_279 = object.key("Constraints").start_object(); - crate::json_ser::serialize_structure_scaling_constraints(&mut object_279, var_278); - object_279.finish(); + if let Some(var_279) = &input.constraints { + let mut object_280 = object.key("Constraints").start_object(); + crate::json_ser::serialize_structure_scaling_constraints(&mut object_280, var_279); + object_280.finish(); } - if let Some(var_280) = &input.rules { - let mut array_281 = object.key("Rules").start_array(); - for item_282 in var_280 { + if let Some(var_281) = &input.rules { + let mut array_282 = object.key("Rules").start_array(); + for item_283 in var_281 { { - let mut object_283 = array_281.value().start_object(); - crate::json_ser::serialize_structure_scaling_rule(&mut object_283, item_282); - object_283.finish(); + let mut object_284 = array_282.value().start_object(); + crate::json_ser::serialize_structure_scaling_rule(&mut object_284, item_283); + object_284.finish(); } } - array_281.finish(); + array_282.finish(); } } @@ -1243,41 +1246,41 @@ pub fn serialize_structure_block_public_access_configuration( .key("BlockPublicSecurityGroupRules") .boolean(input.block_public_security_group_rules); } - if let Some(var_284) = &input.permitted_public_security_group_rule_ranges { - let mut array_285 = object + if let Some(var_285) = &input.permitted_public_security_group_rule_ranges { + let mut array_286 = object .key("PermittedPublicSecurityGroupRuleRanges") .start_array(); - for item_286 in var_284 { + for item_287 in var_285 { { - let mut object_287 = array_285.value().start_object(); - crate::json_ser::serialize_structure_port_range(&mut object_287, item_286); - object_287.finish(); + let mut object_288 = array_286.value().start_object(); + crate::json_ser::serialize_structure_port_range(&mut object_288, item_287); + object_288.finish(); } } - array_285.finish(); + array_286.finish(); } - if let Some(var_288) = &input.classification { - object.key("Classification").string(var_288); + if let Some(var_289) = &input.classification { + object.key("Classification").string(var_289); } - if let Some(var_289) = &input.configurations { - let mut array_290 = object.key("Configurations").start_array(); - for item_291 in var_289 { + if let Some(var_290) = &input.configurations { + let mut array_291 = object.key("Configurations").start_array(); + for item_292 in var_290 { { - let mut object_292 = array_290.value().start_object(); - crate::json_ser::serialize_structure_configuration(&mut object_292, item_291); - object_292.finish(); + let mut object_293 = array_291.value().start_object(); + crate::json_ser::serialize_structure_configuration(&mut object_293, item_292); + object_293.finish(); } } - array_290.finish(); + array_291.finish(); } - if let Some(var_293) = &input.properties { - let mut object_294 = object.key("Properties").start_object(); - for (key_295, value_296) in var_293 { + if let Some(var_294) = &input.properties { + let mut object_295 = object.key("Properties").start_object(); + for (key_296, value_297) in var_294 { { - object_294.key(key_295).string(value_296); + object_295.key(key_296).string(value_297); } } - object_294.finish(); + object_295.finish(); } } @@ -1285,10 +1288,10 @@ pub fn serialize_structure_managed_scaling_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ManagedScalingPolicy, ) { - if let Some(var_297) = &input.compute_limits { - let mut object_298 = object.key("ComputeLimits").start_object(); - crate::json_ser::serialize_structure_compute_limits(&mut object_298, var_297); - object_298.finish(); + if let Some(var_298) = &input.compute_limits { + let mut object_299 = object.key("ComputeLimits").start_object(); + crate::json_ser::serialize_structure_compute_limits(&mut object_299, var_298); + object_299.finish(); } } @@ -1296,53 +1299,53 @@ pub fn serialize_structure_job_flow_instances_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::JobFlowInstancesConfig, ) { - if let Some(var_299) = &input.master_instance_type { - object.key("MasterInstanceType").string(var_299); + if let Some(var_300) = &input.master_instance_type { + object.key("MasterInstanceType").string(var_300); } - if let Some(var_300) = &input.slave_instance_type { - object.key("SlaveInstanceType").string(var_300); + if let Some(var_301) = &input.slave_instance_type { + object.key("SlaveInstanceType").string(var_301); } - if let Some(var_301) = &input.instance_count { + if let Some(var_302) = &input.instance_count { object.key("InstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_301).into()), + smithy_types::Number::NegInt((*var_302).into()), ); } - if let Some(var_302) = &input.instance_groups { - let mut array_303 = object.key("InstanceGroups").start_array(); - for item_304 in var_302 { + if let Some(var_303) = &input.instance_groups { + let mut array_304 = object.key("InstanceGroups").start_array(); + for item_305 in var_303 { { - let mut object_305 = array_303.value().start_object(); + let mut object_306 = array_304.value().start_object(); crate::json_ser::serialize_structure_instance_group_config( - &mut object_305, - item_304, + &mut object_306, + item_305, ); - object_305.finish(); + object_306.finish(); } } - array_303.finish(); + array_304.finish(); } - if let Some(var_306) = &input.instance_fleets { - let mut array_307 = object.key("InstanceFleets").start_array(); - for item_308 in var_306 { + if let Some(var_307) = &input.instance_fleets { + let mut array_308 = object.key("InstanceFleets").start_array(); + for item_309 in var_307 { { - let mut object_309 = array_307.value().start_object(); + let mut object_310 = array_308.value().start_object(); crate::json_ser::serialize_structure_instance_fleet_config( - &mut object_309, - item_308, + &mut object_310, + item_309, ); - object_309.finish(); + object_310.finish(); } } - array_307.finish(); + array_308.finish(); } - if let Some(var_310) = &input.ec2_key_name { - object.key("Ec2KeyName").string(var_310); + if let Some(var_311) = &input.ec2_key_name { + object.key("Ec2KeyName").string(var_311); } - if let Some(var_311) = &input.placement { - let mut object_312 = object.key("Placement").start_object(); - crate::json_ser::serialize_structure_placement_type(&mut object_312, var_311); - object_312.finish(); + if let Some(var_312) = &input.placement { + let mut object_313 = object.key("Placement").start_object(); + crate::json_ser::serialize_structure_placement_type(&mut object_313, var_312); + object_313.finish(); } if input.keep_job_flow_alive_when_no_steps { object @@ -1354,47 +1357,47 @@ pub fn serialize_structure_job_flow_instances_config( .key("TerminationProtected") .boolean(input.termination_protected); } - if let Some(var_313) = &input.hadoop_version { - object.key("HadoopVersion").string(var_313); + if let Some(var_314) = &input.hadoop_version { + object.key("HadoopVersion").string(var_314); } - if let Some(var_314) = &input.ec2_subnet_id { - object.key("Ec2SubnetId").string(var_314); + if let Some(var_315) = &input.ec2_subnet_id { + object.key("Ec2SubnetId").string(var_315); } - if let Some(var_315) = &input.ec2_subnet_ids { - let mut array_316 = object.key("Ec2SubnetIds").start_array(); - for item_317 in var_315 { + if let Some(var_316) = &input.ec2_subnet_ids { + let mut array_317 = object.key("Ec2SubnetIds").start_array(); + for item_318 in var_316 { { - array_316.value().string(item_317); + array_317.value().string(item_318); } } - array_316.finish(); + array_317.finish(); } - if let Some(var_318) = &input.emr_managed_master_security_group { - object.key("EmrManagedMasterSecurityGroup").string(var_318); + if let Some(var_319) = &input.emr_managed_master_security_group { + object.key("EmrManagedMasterSecurityGroup").string(var_319); } - if let Some(var_319) = &input.emr_managed_slave_security_group { - object.key("EmrManagedSlaveSecurityGroup").string(var_319); + if let Some(var_320) = &input.emr_managed_slave_security_group { + object.key("EmrManagedSlaveSecurityGroup").string(var_320); } - if let Some(var_320) = &input.service_access_security_group { - object.key("ServiceAccessSecurityGroup").string(var_320); + if let Some(var_321) = &input.service_access_security_group { + object.key("ServiceAccessSecurityGroup").string(var_321); } - if let Some(var_321) = &input.additional_master_security_groups { - let mut array_322 = object.key("AdditionalMasterSecurityGroups").start_array(); - for item_323 in var_321 { + if let Some(var_322) = &input.additional_master_security_groups { + let mut array_323 = object.key("AdditionalMasterSecurityGroups").start_array(); + for item_324 in var_322 { { - array_322.value().string(item_323); + array_323.value().string(item_324); } } - array_322.finish(); + array_323.finish(); } - if let Some(var_324) = &input.additional_slave_security_groups { - let mut array_325 = object.key("AdditionalSlaveSecurityGroups").start_array(); - for item_326 in var_324 { + if let Some(var_325) = &input.additional_slave_security_groups { + let mut array_326 = object.key("AdditionalSlaveSecurityGroups").start_array(); + for item_327 in var_325 { { - array_325.value().string(item_326); + array_326.value().string(item_327); } } - array_325.finish(); + array_326.finish(); } } @@ -1402,16 +1405,16 @@ pub fn serialize_structure_bootstrap_action_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BootstrapActionConfig, ) { - if let Some(var_327) = &input.name { - object.key("Name").string(var_327); + if let Some(var_328) = &input.name { + object.key("Name").string(var_328); } - if let Some(var_328) = &input.script_bootstrap_action { - let mut object_329 = object.key("ScriptBootstrapAction").start_object(); + if let Some(var_329) = &input.script_bootstrap_action { + let mut object_330 = object.key("ScriptBootstrapAction").start_object(); crate::json_ser::serialize_structure_script_bootstrap_action_config( - &mut object_329, - var_328, + &mut object_330, + var_329, ); - object_329.finish(); + object_330.finish(); } } @@ -1419,17 +1422,17 @@ pub fn serialize_structure_supported_product_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SupportedProductConfig, ) { - if let Some(var_330) = &input.name { - object.key("Name").string(var_330); + if let Some(var_331) = &input.name { + object.key("Name").string(var_331); } - if let Some(var_331) = &input.args { - let mut array_332 = object.key("Args").start_array(); - for item_333 in var_331 { + if let Some(var_332) = &input.args { + let mut array_333 = object.key("Args").start_array(); + for item_334 in var_332 { { - array_332.value().string(item_333); + array_333.value().string(item_334); } } - array_332.finish(); + array_333.finish(); } } @@ -1437,29 +1440,29 @@ pub fn serialize_structure_application( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Application, ) { - if let Some(var_334) = &input.name { - object.key("Name").string(var_334); + if let Some(var_335) = &input.name { + object.key("Name").string(var_335); } - if let Some(var_335) = &input.version { - object.key("Version").string(var_335); + if let Some(var_336) = &input.version { + object.key("Version").string(var_336); } - if let Some(var_336) = &input.args { - let mut array_337 = object.key("Args").start_array(); - for item_338 in var_336 { + if let Some(var_337) = &input.args { + let mut array_338 = object.key("Args").start_array(); + for item_339 in var_337 { { - array_337.value().string(item_338); + array_338.value().string(item_339); } } - array_337.finish(); + array_338.finish(); } - if let Some(var_339) = &input.additional_info { - let mut object_340 = object.key("AdditionalInfo").start_object(); - for (key_341, value_342) in var_339 { + if let Some(var_340) = &input.additional_info { + let mut object_341 = object.key("AdditionalInfo").start_object(); + for (key_342, value_343) in var_340 { { - object_340.key(key_341).string(value_342); + object_341.key(key_342).string(value_343); } } - object_340.finish(); + object_341.finish(); } } @@ -1467,28 +1470,28 @@ pub fn serialize_structure_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Configuration, ) { - if let Some(var_343) = &input.classification { - object.key("Classification").string(var_343); + if let Some(var_344) = &input.classification { + object.key("Classification").string(var_344); } - if let Some(var_344) = &input.configurations { - let mut array_345 = object.key("Configurations").start_array(); - for item_346 in var_344 { + if let Some(var_345) = &input.configurations { + let mut array_346 = object.key("Configurations").start_array(); + for item_347 in var_345 { { - let mut object_347 = array_345.value().start_object(); - crate::json_ser::serialize_structure_configuration(&mut object_347, item_346); - object_347.finish(); + let mut object_348 = array_346.value().start_object(); + crate::json_ser::serialize_structure_configuration(&mut object_348, item_347); + object_348.finish(); } } - array_345.finish(); + array_346.finish(); } - if let Some(var_348) = &input.properties { - let mut object_349 = object.key("Properties").start_object(); - for (key_350, value_351) in var_348 { + if let Some(var_349) = &input.properties { + let mut object_350 = object.key("Properties").start_object(); + for (key_351, value_352) in var_349 { { - object_349.key(key_350).string(value_351); + object_350.key(key_351).string(value_352); } } - object_349.finish(); + object_350.finish(); } } @@ -1496,22 +1499,22 @@ pub fn serialize_structure_kerberos_attributes( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KerberosAttributes, ) { - if let Some(var_352) = &input.realm { - object.key("Realm").string(var_352); + if let Some(var_353) = &input.realm { + object.key("Realm").string(var_353); } - if let Some(var_353) = &input.kdc_admin_password { - object.key("KdcAdminPassword").string(var_353); + if let Some(var_354) = &input.kdc_admin_password { + object.key("KdcAdminPassword").string(var_354); } - if let Some(var_354) = &input.cross_realm_trust_principal_password { + if let Some(var_355) = &input.cross_realm_trust_principal_password { object .key("CrossRealmTrustPrincipalPassword") - .string(var_354); + .string(var_355); } - if let Some(var_355) = &input.ad_domain_join_user { - object.key("ADDomainJoinUser").string(var_355); + if let Some(var_356) = &input.ad_domain_join_user { + object.key("ADDomainJoinUser").string(var_356); } - if let Some(var_356) = &input.ad_domain_join_password { - object.key("ADDomainJoinPassword").string(var_356); + if let Some(var_357) = &input.ad_domain_join_password { + object.key("ADDomainJoinPassword").string(var_357); } } @@ -1519,11 +1522,11 @@ pub fn serialize_structure_placement_group_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PlacementGroupConfig, ) { - if let Some(var_357) = &input.instance_role { - object.key("InstanceRole").string(var_357.as_str()); + if let Some(var_358) = &input.instance_role { + object.key("InstanceRole").string(var_358.as_str()); } - if let Some(var_358) = &input.placement_strategy { - object.key("PlacementStrategy").string(var_358.as_str()); + if let Some(var_359) = &input.placement_strategy { + object.key("PlacementStrategy").string(var_359.as_str()); } } @@ -1531,14 +1534,14 @@ pub fn serialize_structure_execution_engine_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ExecutionEngineConfig, ) { - if let Some(var_359) = &input.id { - object.key("Id").string(var_359); + if let Some(var_360) = &input.id { + object.key("Id").string(var_360); } - if let Some(var_360) = &input.r#type { - object.key("Type").string(var_360.as_str()); + if let Some(var_361) = &input.r#type { + object.key("Type").string(var_361.as_str()); } - if let Some(var_361) = &input.master_instance_security_group_id { - object.key("MasterInstanceSecurityGroupId").string(var_361); + if let Some(var_362) = &input.master_instance_security_group_id { + object.key("MasterInstanceSecurityGroupId").string(var_362); } } @@ -1546,39 +1549,42 @@ pub fn serialize_structure_instance_type_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceTypeConfig, ) { - if let Some(var_362) = &input.instance_type { - object.key("InstanceType").string(var_362); + if let Some(var_363) = &input.instance_type { + object.key("InstanceType").string(var_363); } - if let Some(var_363) = &input.weighted_capacity { + if let Some(var_364) = &input.weighted_capacity { object.key("WeightedCapacity").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_363).into()), + smithy_types::Number::NegInt((*var_364).into()), ); } - if let Some(var_364) = &input.bid_price { - object.key("BidPrice").string(var_364); + if let Some(var_365) = &input.bid_price { + object.key("BidPrice").string(var_365); } - if let Some(var_365) = &input.bid_price_as_percentage_of_on_demand_price { + if let Some(var_366) = &input.bid_price_as_percentage_of_on_demand_price { object.key("BidPriceAsPercentageOfOnDemandPrice").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_365).into()), + smithy_types::Number::Float((*var_366).into()), ); } - if let Some(var_366) = &input.ebs_configuration { - let mut object_367 = object.key("EbsConfiguration").start_object(); - crate::json_ser::serialize_structure_ebs_configuration(&mut object_367, var_366); - object_367.finish(); + if let Some(var_367) = &input.ebs_configuration { + let mut object_368 = object.key("EbsConfiguration").start_object(); + crate::json_ser::serialize_structure_ebs_configuration(&mut object_368, var_367); + object_368.finish(); } - if let Some(var_368) = &input.configurations { - let mut array_369 = object.key("Configurations").start_array(); - for item_370 in var_368 { + if let Some(var_369) = &input.configurations { + let mut array_370 = object.key("Configurations").start_array(); + for item_371 in var_369 { { - let mut object_371 = array_369.value().start_object(); - crate::json_ser::serialize_structure_configuration(&mut object_371, item_370); - object_371.finish(); + let mut object_372 = array_370.value().start_object(); + crate::json_ser::serialize_structure_configuration(&mut object_372, item_371); + object_372.finish(); } } - array_369.finish(); + array_370.finish(); + } + if let Some(var_373) = &input.custom_ami_id { + object.key("CustomAmiId").string(var_373); } } @@ -1586,44 +1592,44 @@ pub fn serialize_structure_instance_fleet_provisioning_specifications( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceFleetProvisioningSpecifications, ) { - if let Some(var_372) = &input.spot_specification { - let mut object_373 = object.key("SpotSpecification").start_object(); + if let Some(var_374) = &input.spot_specification { + let mut object_375 = object.key("SpotSpecification").start_object(); crate::json_ser::serialize_structure_spot_provisioning_specification( - &mut object_373, - var_372, - ); - object_373.finish(); - } - if let Some(var_374) = &input.on_demand_specification { - let mut object_375 = object.key("OnDemandSpecification").start_object(); - crate::json_ser::serialize_structure_on_demand_provisioning_specification( &mut object_375, var_374, ); object_375.finish(); } + if let Some(var_376) = &input.on_demand_specification { + let mut object_377 = object.key("OnDemandSpecification").start_object(); + crate::json_ser::serialize_structure_on_demand_provisioning_specification( + &mut object_377, + var_376, + ); + object_377.finish(); + } } pub fn serialize_structure_ebs_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EbsConfiguration, ) { - if let Some(var_376) = &input.ebs_block_device_configs { - let mut array_377 = object.key("EbsBlockDeviceConfigs").start_array(); - for item_378 in var_376 { + if let Some(var_378) = &input.ebs_block_device_configs { + let mut array_379 = object.key("EbsBlockDeviceConfigs").start_array(); + for item_380 in var_378 { { - let mut object_379 = array_377.value().start_object(); + let mut object_381 = array_379.value().start_object(); crate::json_ser::serialize_structure_ebs_block_device_config( - &mut object_379, - item_378, + &mut object_381, + item_380, ); - object_379.finish(); + object_381.finish(); } } - array_377.finish(); + array_379.finish(); } - if let Some(var_380) = &input.ebs_optimized { - object.key("EbsOptimized").boolean(*var_380); + if let Some(var_382) = &input.ebs_optimized { + object.key("EbsOptimized").boolean(*var_382); } } @@ -1631,31 +1637,31 @@ pub fn serialize_structure_hadoop_jar_step_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HadoopJarStepConfig, ) { - if let Some(var_381) = &input.properties { - let mut array_382 = object.key("Properties").start_array(); - for item_383 in var_381 { + if let Some(var_383) = &input.properties { + let mut array_384 = object.key("Properties").start_array(); + for item_385 in var_383 { { - let mut object_384 = array_382.value().start_object(); - crate::json_ser::serialize_structure_key_value(&mut object_384, item_383); - object_384.finish(); + let mut object_386 = array_384.value().start_object(); + crate::json_ser::serialize_structure_key_value(&mut object_386, item_385); + object_386.finish(); } } - array_382.finish(); + array_384.finish(); } - if let Some(var_385) = &input.jar { - object.key("Jar").string(var_385); + if let Some(var_387) = &input.jar { + object.key("Jar").string(var_387); } - if let Some(var_386) = &input.main_class { - object.key("MainClass").string(var_386); + if let Some(var_388) = &input.main_class { + object.key("MainClass").string(var_388); } - if let Some(var_387) = &input.args { - let mut array_388 = object.key("Args").start_array(); - for item_389 in var_387 { + if let Some(var_389) = &input.args { + let mut array_390 = object.key("Args").start_array(); + for item_391 in var_389 { { - array_388.value().string(item_389); + array_390.value().string(item_391); } } - array_388.finish(); + array_390.finish(); } } @@ -1663,16 +1669,16 @@ pub fn serialize_structure_shrink_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ShrinkPolicy, ) { - if let Some(var_390) = &input.decommission_timeout { + if let Some(var_392) = &input.decommission_timeout { object.key("DecommissionTimeout").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_390).into()), + smithy_types::Number::NegInt((*var_392).into()), ); } - if let Some(var_391) = &input.instance_resize_policy { - let mut object_392 = object.key("InstanceResizePolicy").start_object(); - crate::json_ser::serialize_structure_instance_resize_policy(&mut object_392, var_391); - object_392.finish(); + if let Some(var_393) = &input.instance_resize_policy { + let mut object_394 = object.key("InstanceResizePolicy").start_object(); + crate::json_ser::serialize_structure_instance_resize_policy(&mut object_394, var_393); + object_394.finish(); } } @@ -1680,16 +1686,16 @@ pub fn serialize_structure_scaling_constraints( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScalingConstraints, ) { - if let Some(var_393) = &input.min_capacity { + if let Some(var_395) = &input.min_capacity { object.key("MinCapacity").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_393).into()), + smithy_types::Number::NegInt((*var_395).into()), ); } - if let Some(var_394) = &input.max_capacity { + if let Some(var_396) = &input.max_capacity { object.key("MaxCapacity").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_394).into()), + smithy_types::Number::NegInt((*var_396).into()), ); } } @@ -1698,38 +1704,38 @@ pub fn serialize_structure_scaling_rule( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScalingRule, ) { - if let Some(var_395) = &input.name { - object.key("Name").string(var_395); - } - if let Some(var_396) = &input.description { - object.key("Description").string(var_396); + if let Some(var_397) = &input.name { + object.key("Name").string(var_397); } - if let Some(var_397) = &input.action { - let mut object_398 = object.key("Action").start_object(); - crate::json_ser::serialize_structure_scaling_action(&mut object_398, var_397); - object_398.finish(); + if let Some(var_398) = &input.description { + object.key("Description").string(var_398); } - if let Some(var_399) = &input.trigger { - let mut object_400 = object.key("Trigger").start_object(); - crate::json_ser::serialize_structure_scaling_trigger(&mut object_400, var_399); + if let Some(var_399) = &input.action { + let mut object_400 = object.key("Action").start_object(); + crate::json_ser::serialize_structure_scaling_action(&mut object_400, var_399); object_400.finish(); } + if let Some(var_401) = &input.trigger { + let mut object_402 = object.key("Trigger").start_object(); + crate::json_ser::serialize_structure_scaling_trigger(&mut object_402, var_401); + object_402.finish(); + } } pub fn serialize_structure_port_range( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PortRange, ) { - if let Some(var_401) = &input.min_range { + if let Some(var_403) = &input.min_range { object.key("MinRange").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_401).into()), + smithy_types::Number::NegInt((*var_403).into()), ); } - if let Some(var_402) = &input.max_range { + if let Some(var_404) = &input.max_range { object.key("MaxRange").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_402).into()), + smithy_types::Number::NegInt((*var_404).into()), ); } } @@ -1738,31 +1744,31 @@ pub fn serialize_structure_compute_limits( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ComputeLimits, ) { - if let Some(var_403) = &input.unit_type { - object.key("UnitType").string(var_403.as_str()); + if let Some(var_405) = &input.unit_type { + object.key("UnitType").string(var_405.as_str()); } - if let Some(var_404) = &input.minimum_capacity_units { + if let Some(var_406) = &input.minimum_capacity_units { object.key("MinimumCapacityUnits").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_404).into()), + smithy_types::Number::NegInt((*var_406).into()), ); } - if let Some(var_405) = &input.maximum_capacity_units { + if let Some(var_407) = &input.maximum_capacity_units { object.key("MaximumCapacityUnits").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_405).into()), + smithy_types::Number::NegInt((*var_407).into()), ); } - if let Some(var_406) = &input.maximum_on_demand_capacity_units { + if let Some(var_408) = &input.maximum_on_demand_capacity_units { object.key("MaximumOnDemandCapacityUnits").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_406).into()), + smithy_types::Number::NegInt((*var_408).into()), ); } - if let Some(var_407) = &input.maximum_core_capacity_units { + if let Some(var_409) = &input.maximum_core_capacity_units { object.key("MaximumCoreCapacityUnits").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_407).into()), + smithy_types::Number::NegInt((*var_409).into()), ); } } @@ -1771,17 +1777,17 @@ pub fn serialize_structure_placement_type( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PlacementType, ) { - if let Some(var_408) = &input.availability_zone { - object.key("AvailabilityZone").string(var_408); + if let Some(var_410) = &input.availability_zone { + object.key("AvailabilityZone").string(var_410); } - if let Some(var_409) = &input.availability_zones { - let mut array_410 = object.key("AvailabilityZones").start_array(); - for item_411 in var_409 { + if let Some(var_411) = &input.availability_zones { + let mut array_412 = object.key("AvailabilityZones").start_array(); + for item_413 in var_411 { { - array_410.value().string(item_411); + array_412.value().string(item_413); } } - array_410.finish(); + array_412.finish(); } } @@ -1789,17 +1795,17 @@ pub fn serialize_structure_script_bootstrap_action_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScriptBootstrapActionConfig, ) { - if let Some(var_412) = &input.path { - object.key("Path").string(var_412); + if let Some(var_414) = &input.path { + object.key("Path").string(var_414); } - if let Some(var_413) = &input.args { - let mut array_414 = object.key("Args").start_array(); - for item_415 in var_413 { + if let Some(var_415) = &input.args { + let mut array_416 = object.key("Args").start_array(); + for item_417 in var_415 { { - array_414.value().string(item_415); + array_416.value().string(item_417); } } - array_414.finish(); + array_416.finish(); } } @@ -1807,23 +1813,23 @@ pub fn serialize_structure_spot_provisioning_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SpotProvisioningSpecification, ) { - if let Some(var_416) = &input.timeout_duration_minutes { + if let Some(var_418) = &input.timeout_duration_minutes { object.key("TimeoutDurationMinutes").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_416).into()), + smithy_types::Number::NegInt((*var_418).into()), ); } - if let Some(var_417) = &input.timeout_action { - object.key("TimeoutAction").string(var_417.as_str()); + if let Some(var_419) = &input.timeout_action { + object.key("TimeoutAction").string(var_419.as_str()); } - if let Some(var_418) = &input.block_duration_minutes { + if let Some(var_420) = &input.block_duration_minutes { object.key("BlockDurationMinutes").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_418).into()), + smithy_types::Number::NegInt((*var_420).into()), ); } - if let Some(var_419) = &input.allocation_strategy { - object.key("AllocationStrategy").string(var_419.as_str()); + if let Some(var_421) = &input.allocation_strategy { + object.key("AllocationStrategy").string(var_421.as_str()); } } @@ -1831,16 +1837,16 @@ pub fn serialize_structure_on_demand_provisioning_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OnDemandProvisioningSpecification, ) { - if let Some(var_420) = &input.allocation_strategy { - object.key("AllocationStrategy").string(var_420.as_str()); + if let Some(var_422) = &input.allocation_strategy { + object.key("AllocationStrategy").string(var_422.as_str()); } - if let Some(var_421) = &input.capacity_reservation_options { - let mut object_422 = object.key("CapacityReservationOptions").start_object(); + if let Some(var_423) = &input.capacity_reservation_options { + let mut object_424 = object.key("CapacityReservationOptions").start_object(); crate::json_ser::serialize_structure_on_demand_capacity_reservation_options( - &mut object_422, - var_421, + &mut object_424, + var_423, ); - object_422.finish(); + object_424.finish(); } } @@ -1848,15 +1854,15 @@ pub fn serialize_structure_ebs_block_device_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EbsBlockDeviceConfig, ) { - if let Some(var_423) = &input.volume_specification { - let mut object_424 = object.key("VolumeSpecification").start_object(); - crate::json_ser::serialize_structure_volume_specification(&mut object_424, var_423); - object_424.finish(); + if let Some(var_425) = &input.volume_specification { + let mut object_426 = object.key("VolumeSpecification").start_object(); + crate::json_ser::serialize_structure_volume_specification(&mut object_426, var_425); + object_426.finish(); } - if let Some(var_425) = &input.volumes_per_instance { + if let Some(var_427) = &input.volumes_per_instance { object.key("VolumesPerInstance").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_425).into()), + smithy_types::Number::NegInt((*var_427).into()), ); } } @@ -1865,11 +1871,11 @@ pub fn serialize_structure_key_value( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KeyValue, ) { - if let Some(var_426) = &input.key { - object.key("Key").string(var_426); + if let Some(var_428) = &input.key { + object.key("Key").string(var_428); } - if let Some(var_427) = &input.value { - object.key("Value").string(var_427); + if let Some(var_429) = &input.value { + object.key("Value").string(var_429); } } @@ -1877,28 +1883,28 @@ pub fn serialize_structure_instance_resize_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InstanceResizePolicy, ) { - if let Some(var_428) = &input.instances_to_terminate { - let mut array_429 = object.key("InstancesToTerminate").start_array(); - for item_430 in var_428 { + if let Some(var_430) = &input.instances_to_terminate { + let mut array_431 = object.key("InstancesToTerminate").start_array(); + for item_432 in var_430 { { - array_429.value().string(item_430); + array_431.value().string(item_432); } } - array_429.finish(); + array_431.finish(); } - if let Some(var_431) = &input.instances_to_protect { - let mut array_432 = object.key("InstancesToProtect").start_array(); - for item_433 in var_431 { + if let Some(var_433) = &input.instances_to_protect { + let mut array_434 = object.key("InstancesToProtect").start_array(); + for item_435 in var_433 { { - array_432.value().string(item_433); + array_434.value().string(item_435); } } - array_432.finish(); + array_434.finish(); } - if let Some(var_434) = &input.instance_termination_timeout { + if let Some(var_436) = &input.instance_termination_timeout { object.key("InstanceTerminationTimeout").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_434).into()), + smithy_types::Number::NegInt((*var_436).into()), ); } } @@ -1907,18 +1913,18 @@ pub fn serialize_structure_scaling_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScalingAction, ) { - if let Some(var_435) = &input.market { - object.key("Market").string(var_435.as_str()); + if let Some(var_437) = &input.market { + object.key("Market").string(var_437.as_str()); } - if let Some(var_436) = &input.simple_scaling_policy_configuration { - let mut object_437 = object + if let Some(var_438) = &input.simple_scaling_policy_configuration { + let mut object_439 = object .key("SimpleScalingPolicyConfiguration") .start_object(); crate::json_ser::serialize_structure_simple_scaling_policy_configuration( - &mut object_437, - var_436, + &mut object_439, + var_438, ); - object_437.finish(); + object_439.finish(); } } @@ -1926,10 +1932,10 @@ pub fn serialize_structure_scaling_trigger( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScalingTrigger, ) { - if let Some(var_438) = &input.cloud_watch_alarm_definition { - let mut object_439 = object.key("CloudWatchAlarmDefinition").start_object(); - crate::json_ser::serialize_structure_cloud_watch_alarm_definition(&mut object_439, var_438); - object_439.finish(); + if let Some(var_440) = &input.cloud_watch_alarm_definition { + let mut object_441 = object.key("CloudWatchAlarmDefinition").start_object(); + crate::json_ser::serialize_structure_cloud_watch_alarm_definition(&mut object_441, var_440); + object_441.finish(); } } @@ -1937,18 +1943,18 @@ pub fn serialize_structure_on_demand_capacity_reservation_options( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OnDemandCapacityReservationOptions, ) { - if let Some(var_440) = &input.usage_strategy { - object.key("UsageStrategy").string(var_440.as_str()); + if let Some(var_442) = &input.usage_strategy { + object.key("UsageStrategy").string(var_442.as_str()); } - if let Some(var_441) = &input.capacity_reservation_preference { + if let Some(var_443) = &input.capacity_reservation_preference { object .key("CapacityReservationPreference") - .string(var_441.as_str()); + .string(var_443.as_str()); } - if let Some(var_442) = &input.capacity_reservation_resource_group_arn { + if let Some(var_444) = &input.capacity_reservation_resource_group_arn { object .key("CapacityReservationResourceGroupArn") - .string(var_442); + .string(var_444); } } @@ -1956,19 +1962,19 @@ pub fn serialize_structure_volume_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::VolumeSpecification, ) { - if let Some(var_443) = &input.volume_type { - object.key("VolumeType").string(var_443); + if let Some(var_445) = &input.volume_type { + object.key("VolumeType").string(var_445); } - if let Some(var_444) = &input.iops { + if let Some(var_446) = &input.iops { object.key("Iops").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_444).into()), + smithy_types::Number::NegInt((*var_446).into()), ); } - if let Some(var_445) = &input.size_in_gb { + if let Some(var_447) = &input.size_in_gb { object.key("SizeInGB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_445).into()), + smithy_types::Number::NegInt((*var_447).into()), ); } } @@ -1977,19 +1983,19 @@ pub fn serialize_structure_simple_scaling_policy_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SimpleScalingPolicyConfiguration, ) { - if let Some(var_446) = &input.adjustment_type { - object.key("AdjustmentType").string(var_446.as_str()); + if let Some(var_448) = &input.adjustment_type { + object.key("AdjustmentType").string(var_448.as_str()); } - if let Some(var_447) = &input.scaling_adjustment { + if let Some(var_449) = &input.scaling_adjustment { object.key("ScalingAdjustment").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_447).into()), + smithy_types::Number::NegInt((*var_449).into()), ); } - if let Some(var_448) = &input.cool_down { + if let Some(var_450) = &input.cool_down { object.key("CoolDown").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_448).into()), + smithy_types::Number::NegInt((*var_450).into()), ); } } @@ -1998,49 +2004,49 @@ pub fn serialize_structure_cloud_watch_alarm_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CloudWatchAlarmDefinition, ) { - if let Some(var_449) = &input.comparison_operator { - object.key("ComparisonOperator").string(var_449.as_str()); + if let Some(var_451) = &input.comparison_operator { + object.key("ComparisonOperator").string(var_451.as_str()); } - if let Some(var_450) = &input.evaluation_periods { + if let Some(var_452) = &input.evaluation_periods { object.key("EvaluationPeriods").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_450).into()), + smithy_types::Number::NegInt((*var_452).into()), ); } - if let Some(var_451) = &input.metric_name { - object.key("MetricName").string(var_451); + if let Some(var_453) = &input.metric_name { + object.key("MetricName").string(var_453); } - if let Some(var_452) = &input.namespace { - object.key("Namespace").string(var_452); + if let Some(var_454) = &input.namespace { + object.key("Namespace").string(var_454); } - if let Some(var_453) = &input.period { + if let Some(var_455) = &input.period { object.key("Period").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_453).into()), + smithy_types::Number::NegInt((*var_455).into()), ); } - if let Some(var_454) = &input.statistic { - object.key("Statistic").string(var_454.as_str()); + if let Some(var_456) = &input.statistic { + object.key("Statistic").string(var_456.as_str()); } - if let Some(var_455) = &input.threshold { + if let Some(var_457) = &input.threshold { object.key("Threshold").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_455).into()), + smithy_types::Number::Float((*var_457).into()), ); } - if let Some(var_456) = &input.unit { - object.key("Unit").string(var_456.as_str()); + if let Some(var_458) = &input.unit { + object.key("Unit").string(var_458.as_str()); } - if let Some(var_457) = &input.dimensions { - let mut array_458 = object.key("Dimensions").start_array(); - for item_459 in var_457 { + if let Some(var_459) = &input.dimensions { + let mut array_460 = object.key("Dimensions").start_array(); + for item_461 in var_459 { { - let mut object_460 = array_458.value().start_object(); - crate::json_ser::serialize_structure_metric_dimension(&mut object_460, item_459); - object_460.finish(); + let mut object_462 = array_460.value().start_object(); + crate::json_ser::serialize_structure_metric_dimension(&mut object_462, item_461); + object_462.finish(); } } - array_458.finish(); + array_460.finish(); } } @@ -2048,10 +2054,10 @@ pub fn serialize_structure_metric_dimension( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MetricDimension, ) { - if let Some(var_461) = &input.key { - object.key("Key").string(var_461); + if let Some(var_463) = &input.key { + object.key("Key").string(var_463); } - if let Some(var_462) = &input.value { - object.key("Value").string(var_462); + if let Some(var_464) = &input.value { + object.key("Value").string(var_464); } } diff --git a/sdk/emr/src/model.rs b/sdk/emr/src/model.rs index 25d276a942c4..8803eb116384 100644 --- a/sdk/emr/src/model.rs +++ b/sdk/emr/src/model.rs @@ -3111,6 +3111,8 @@ pub struct InstanceTypeConfig { ///

                                                  A configuration classification that applies when provisioning cluster instances, which /// can include configurations for applications and software that run on the cluster.

                                                  pub configurations: std::option::Option>, + ///

                                                  The custom AMI ID to use for the instance type.

                                                  + pub custom_ami_id: std::option::Option, } impl std::fmt::Debug for InstanceTypeConfig { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -3124,6 +3126,7 @@ impl std::fmt::Debug for InstanceTypeConfig { ); formatter.field("ebs_configuration", &self.ebs_configuration); formatter.field("configurations", &self.configurations); + formatter.field("custom_ami_id", &self.custom_ami_id); formatter.finish() } } @@ -3139,6 +3142,7 @@ pub mod instance_type_config { pub(crate) bid_price_as_percentage_of_on_demand_price: std::option::Option, pub(crate) ebs_configuration: std::option::Option, pub(crate) configurations: std::option::Option>, + pub(crate) custom_ami_id: std::option::Option, } impl Builder { ///

                                                  An EC2 instance type, such as m3.xlarge.

                                                  @@ -3218,6 +3222,18 @@ pub mod instance_type_config { self.configurations = input; self } + ///

                                                  The custom AMI ID to use for the instance type.

                                                  + pub fn custom_ami_id(mut self, input: impl Into) -> Self { + self.custom_ami_id = Some(input.into()); + self + } + pub fn set_custom_ami_id( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_ami_id = input; + self + } /// Consumes the builder and constructs a [`InstanceTypeConfig`](crate::model::InstanceTypeConfig) pub fn build(self) -> crate::model::InstanceTypeConfig { crate::model::InstanceTypeConfig { @@ -3228,6 +3244,7 @@ pub mod instance_type_config { .bid_price_as_percentage_of_on_demand_price, ebs_configuration: self.ebs_configuration, configurations: self.configurations, + custom_ami_id: self.custom_ami_id, } } } @@ -3539,6 +3556,8 @@ pub struct InstanceGroupConfig { /// adds and terminates EC2 instances in response to the value of a CloudWatch metric. See /// PutAutoScalingPolicy.

                                                  pub auto_scaling_policy: std::option::Option, + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub custom_ami_id: std::option::Option, } impl std::fmt::Debug for InstanceGroupConfig { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -3552,6 +3571,7 @@ impl std::fmt::Debug for InstanceGroupConfig { formatter.field("configurations", &self.configurations); formatter.field("ebs_configuration", &self.ebs_configuration); formatter.field("auto_scaling_policy", &self.auto_scaling_policy); + formatter.field("custom_ami_id", &self.custom_ami_id); formatter.finish() } } @@ -3570,6 +3590,7 @@ pub mod instance_group_config { pub(crate) configurations: std::option::Option>, pub(crate) ebs_configuration: std::option::Option, pub(crate) auto_scaling_policy: std::option::Option, + pub(crate) custom_ami_id: std::option::Option, } impl Builder { ///

                                                  Friendly name given to the instance group.

                                                  @@ -3673,6 +3694,18 @@ pub mod instance_group_config { self.auto_scaling_policy = input; self } + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub fn custom_ami_id(mut self, input: impl Into) -> Self { + self.custom_ami_id = Some(input.into()); + self + } + pub fn set_custom_ami_id( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_ami_id = input; + self + } /// Consumes the builder and constructs a [`InstanceGroupConfig`](crate::model::InstanceGroupConfig) pub fn build(self) -> crate::model::InstanceGroupConfig { crate::model::InstanceGroupConfig { @@ -3685,6 +3718,7 @@ pub mod instance_group_config { configurations: self.configurations, ebs_configuration: self.ebs_configuration, auto_scaling_policy: self.auto_scaling_policy, + custom_ami_id: self.custom_ami_id, } } } @@ -7924,6 +7958,8 @@ pub struct InstanceGroup { /// adds and terminates EC2 instances in response to the value of a CloudWatch metric. See /// PutAutoScalingPolicy.

                                                  pub auto_scaling_policy: std::option::Option, + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub custom_ami_id: std::option::Option, } impl std::fmt::Debug for InstanceGroup { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -7951,6 +7987,7 @@ impl std::fmt::Debug for InstanceGroup { formatter.field("ebs_optimized", &self.ebs_optimized); formatter.field("shrink_policy", &self.shrink_policy); formatter.field("auto_scaling_policy", &self.auto_scaling_policy); + formatter.field("custom_ami_id", &self.custom_ami_id); formatter.finish() } } @@ -7980,6 +8017,7 @@ pub mod instance_group { pub(crate) shrink_policy: std::option::Option, pub(crate) auto_scaling_policy: std::option::Option, + pub(crate) custom_ami_id: std::option::Option, } impl Builder { ///

                                                  The identifier of the instance group.

                                                  @@ -8181,6 +8219,18 @@ pub mod instance_group { self.auto_scaling_policy = input; self } + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub fn custom_ami_id(mut self, input: impl Into) -> Self { + self.custom_ami_id = Some(input.into()); + self + } + pub fn set_custom_ami_id( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_ami_id = input; + self + } /// Consumes the builder and constructs a [`InstanceGroup`](crate::model::InstanceGroup) pub fn build(self) -> crate::model::InstanceGroup { crate::model::InstanceGroup { @@ -8204,6 +8254,7 @@ pub mod instance_group { ebs_optimized: self.ebs_optimized, shrink_policy: self.shrink_policy, auto_scaling_policy: self.auto_scaling_policy, + custom_ami_id: self.custom_ami_id, } } } @@ -8989,6 +9040,8 @@ pub struct InstanceTypeSpecification { ///

                                                  Evaluates to TRUE when the specified InstanceType is /// EBS-optimized.

                                                  pub ebs_optimized: std::option::Option, + ///

                                                  The custom AMI ID to use for the instance type.

                                                  + pub custom_ami_id: std::option::Option, } impl std::fmt::Debug for InstanceTypeSpecification { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -9003,6 +9056,7 @@ impl std::fmt::Debug for InstanceTypeSpecification { formatter.field("configurations", &self.configurations); formatter.field("ebs_block_devices", &self.ebs_block_devices); formatter.field("ebs_optimized", &self.ebs_optimized); + formatter.field("custom_ami_id", &self.custom_ami_id); formatter.finish() } } @@ -9020,6 +9074,7 @@ pub mod instance_type_specification { pub(crate) ebs_block_devices: std::option::Option>, pub(crate) ebs_optimized: std::option::Option, + pub(crate) custom_ami_id: std::option::Option, } impl Builder { ///

                                                  The EC2 instance type, for example m3.xlarge.

                                                  @@ -9105,6 +9160,18 @@ pub mod instance_type_specification { self.ebs_optimized = input; self } + ///

                                                  The custom AMI ID to use for the instance type.

                                                  + pub fn custom_ami_id(mut self, input: impl Into) -> Self { + self.custom_ami_id = Some(input.into()); + self + } + pub fn set_custom_ami_id( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_ami_id = input; + self + } /// Consumes the builder and constructs a [`InstanceTypeSpecification`](crate::model::InstanceTypeSpecification) pub fn build(self) -> crate::model::InstanceTypeSpecification { crate::model::InstanceTypeSpecification { @@ -9116,6 +9183,7 @@ pub mod instance_type_specification { configurations: self.configurations, ebs_block_devices: self.ebs_block_devices, ebs_optimized: self.ebs_optimized, + custom_ami_id: self.custom_ami_id, } } } @@ -11303,7 +11371,9 @@ pub struct JobFlowDetail { ///

                                                  Indicates whether the cluster is visible to IAM principals in the account associated /// with the cluster. When true, IAM principals in the /// account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

                                                  - ///

                                                  The default value is false if a value is not provided when creating a cluster using the EMR API RunJobFlow command or the CLI create-cluster command. The default value is true when a cluster is created using the Management Console. IAM principals that are authorized to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  The default value is true if a value is not provided when creating a + /// cluster using the EMR API RunJobFlow command, the CLI + /// create-cluster command, or the Management Console. IAM principals that are authorized to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub visible_to_all_users: bool, ///

                                                  The IAM role that was specified when the job flow was launched. The EC2 instances of the /// job flow assume this role.

                                                  @@ -11498,7 +11568,9 @@ pub mod job_flow_detail { ///

                                                  Indicates whether the cluster is visible to IAM principals in the account associated /// with the cluster. When true, IAM principals in the /// account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

                                                  - ///

                                                  The default value is false if a value is not provided when creating a cluster using the EMR API RunJobFlow command or the CLI create-cluster command. The default value is true when a cluster is created using the Management Console. IAM principals that are authorized to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  The default value is true if a value is not provided when creating a + /// cluster using the EMR API RunJobFlow command, the CLI + /// create-cluster command, or the Management Console. IAM principals that are authorized to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub fn visible_to_all_users(mut self, input: bool) -> Self { self.visible_to_all_users = Some(input); self @@ -12217,6 +12289,8 @@ pub struct InstanceGroupDetail { pub ready_date_time: std::option::Option, ///

                                                  The date/time the instance group was terminated.

                                                  pub end_date_time: std::option::Option, + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub custom_ami_id: std::option::Option, } impl std::fmt::Debug for InstanceGroupDetail { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -12235,6 +12309,7 @@ impl std::fmt::Debug for InstanceGroupDetail { formatter.field("start_date_time", &self.start_date_time); formatter.field("ready_date_time", &self.ready_date_time); formatter.field("end_date_time", &self.end_date_time); + formatter.field("custom_ami_id", &self.custom_ami_id); formatter.finish() } } @@ -12258,6 +12333,7 @@ pub mod instance_group_detail { pub(crate) start_date_time: std::option::Option, pub(crate) ready_date_time: std::option::Option, pub(crate) end_date_time: std::option::Option, + pub(crate) custom_ami_id: std::option::Option, } impl Builder { ///

                                                  Unique identifier for the instance group.

                                                  @@ -12414,6 +12490,18 @@ pub mod instance_group_detail { self.end_date_time = input; self } + ///

                                                  The custom AMI ID to use for the provisioned instance group.

                                                  + pub fn custom_ami_id(mut self, input: impl Into) -> Self { + self.custom_ami_id = Some(input.into()); + self + } + pub fn set_custom_ami_id( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_ami_id = input; + self + } /// Consumes the builder and constructs a [`InstanceGroupDetail`](crate::model::InstanceGroupDetail) pub fn build(self) -> crate::model::InstanceGroupDetail { crate::model::InstanceGroupDetail { @@ -12431,6 +12519,7 @@ pub mod instance_group_detail { start_date_time: self.start_date_time, ready_date_time: self.ready_date_time, end_date_time: self.end_date_time, + custom_ami_id: self.custom_ami_id, } } } @@ -12702,7 +12791,10 @@ pub struct Cluster { ///

                                                  Indicates whether the cluster is visible to IAM principals in the account associated /// with the cluster. When true, IAM principals in the /// account can perform EMR cluster actions on the cluster that their IAM policies allow. When false, only the IAM principal that created the cluster and the account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

                                                  - ///

                                                  The default value is false if a value is not provided when creating a cluster using the EMR API RunJobFlow command or the CLI create-cluster command. The default value is true when a cluster is created using the Management Console. IAM principals that are allowed to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  The default value is true if a value is not provided when creating a + /// cluster using the EMR API RunJobFlow command, the CLI + /// create-cluster command, or the Management Console. IAM principals that are + /// allowed to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub visible_to_all_users: bool, ///

                                                  The applications installed on this cluster.

                                                  pub applications: std::option::Option>, @@ -12996,7 +13088,10 @@ pub mod cluster { ///

                                                  Indicates whether the cluster is visible to IAM principals in the account associated /// with the cluster. When true, IAM principals in the /// account can perform EMR cluster actions on the cluster that their IAM policies allow. When false, only the IAM principal that created the cluster and the account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

                                                  - ///

                                                  The default value is false if a value is not provided when creating a cluster using the EMR API RunJobFlow command or the CLI create-cluster command. The default value is true when a cluster is created using the Management Console. IAM principals that are allowed to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  + ///

                                                  The default value is true if a value is not provided when creating a + /// cluster using the EMR API RunJobFlow command, the CLI + /// create-cluster command, or the Management Console. IAM principals that are + /// allowed to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  pub fn visible_to_all_users(mut self, input: bool) -> Self { self.visible_to_all_users = Some(input); self diff --git a/sdk/emr/src/operation.rs b/sdk/emr/src/operation.rs index 6954915a7d11..a764b09a3aa5 100644 --- a/sdk/emr/src/operation.rs +++ b/sdk/emr/src/operation.rs @@ -326,7 +326,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteStudioSessionMapping { } ///

                                                  Provides cluster-level details including status, hardware and software configuration, -/// VPC settings, and so on.

                                                  +/// VPC settings, and so on.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeCluster { _private: (), @@ -1310,7 +1310,7 @@ impl smithy_http::response::ParseStrictResponse for SetTerminationProtection { ///

                                                  Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When true, IAM principals in the /// account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the account root user can perform EMR actions on the cluster, regardless of IAM permissions policies attached to other IAM principals.

                                                  ///

                                                  This action works on running clusters. When you create a cluster, use the RunJobFlowInput$VisibleToAllUsers parameter.

                                                  -///

                                                  For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

                                                  +///

                                                  For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

                                                  #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct SetVisibleToAllUsers { _private: (), diff --git a/sdk/emrcontainers/Cargo.toml b/sdk/emrcontainers/Cargo.toml index 2c5c9bd04844..afa6f587748a 100644 --- a/sdk/emrcontainers/Cargo.toml +++ b/sdk/emrcontainers/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-emrcontainers" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                  Amazon EMR on EKS provides a deployment option for Amazon EMR that allows you to run\n open-source big data frameworks on Amazon Elastic Kubernetes Service (Amazon EKS). With\n this deployment option, you can focus on running analytics workloads while Amazon EMR on\n EKS builds, configures, and manages containers for open-source applications. For more\n information about Amazon EMR on EKS concepts and tasks, see What is Amazon EMR on EKS.

                                                  \n

                                                  \n Amazon EMR containers is the API name for Amazon EMR on EKS. The\n emr-containers prefix is used in the following scenarios:

                                                  \n
                                                    \n
                                                  • \n

                                                    It is the prefix in the CLI commands for Amazon EMR on EKS. For example, aws\n emr-containers start-job-run.

                                                    \n
                                                  • \n
                                                  • \n

                                                    It is the prefix before IAM policy actions for Amazon EMR on EKS. For example, \"Action\": [\n \"emr-containers:StartJobRun\"]. For more information, see Policy actions for Amazon EMR on EKS.

                                                    \n
                                                  • \n
                                                  • \n

                                                    It is the prefix used in Amazon EMR on EKS service endpoints. For example, emr-containers.us-east-2.amazonaws.com. For more\n information, see Amazon EMR on EKS Service Endpoints.

                                                    \n
                                                  • \n
                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/emrcontainers/src/model.rs b/sdk/emrcontainers/src/model.rs index 2cb3984f5ccd..ff7223291eca 100644 --- a/sdk/emrcontainers/src/model.rs +++ b/sdk/emrcontainers/src/model.rs @@ -807,7 +807,7 @@ pub enum ContainerInfo { } impl ContainerInfo { #[allow(irrefutable_let_patterns)] - pub fn as_eks_info(&self) -> Result<&crate::model::EksInfo, &Self> { + pub fn as_eks_info(&self) -> std::result::Result<&crate::model::EksInfo, &Self> { if let ContainerInfo::EksInfo(val) = &self { Ok(&val) } else { diff --git a/sdk/eventbridge/Cargo.toml b/sdk/eventbridge/Cargo.toml index 4e23438d992c..77826be9b87d 100644 --- a/sdk/eventbridge/Cargo.toml +++ b/sdk/eventbridge/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-eventbridge" -version = "0.0.15-alpha" -description = "

                                                  Amazon EventBridge helps you to respond to state changes in your AWS resources. When your\n resources change state, they automatically send events into an event stream. You can create\n rules that match selected events in the stream and route them to targets to take action. You\n can also use rules to take action on a predetermined schedule. For example, you can configure\n rules to:

                                                  \n
                                                    \n
                                                  • \n

                                                    Automatically invoke an AWS Lambda function to update DNS entries when an event\n notifies you that Amazon EC2 instance enters the running state.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for\n detailed analysis of potential security or availability risks.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Periodically invoke a built-in target to create a snapshot of an Amazon EBS\n volume.

                                                    \n
                                                  • \n
                                                  \n

                                                  For more information about the features of Amazon EventBridge, see the Amazon EventBridge User\n Guide.

                                                  " +version = "0.0.16-alpha" +description = "

                                                  Amazon EventBridge helps you to respond to state changes in your Amazon Web Services resources. When your\n resources change state, they automatically send events to an event stream. You can create\n rules that match selected events in the stream and route them to targets to take action. You\n can also use rules to take action on a predetermined schedule. For example, you can configure\n rules to:

                                                  \n
                                                    \n
                                                  • \n

                                                    Automatically invoke an Lambda function to update DNS entries when an event\n notifies you that Amazon EC2 instance enters the running state.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Direct specific API records from CloudTrail to an Amazon Kinesis data stream for\n detailed analysis of potential security or availability risks.

                                                    \n
                                                  • \n
                                                  • \n

                                                    Periodically invoke a built-in target to create a snapshot of an Amazon EBS\n volume.

                                                    \n
                                                  • \n
                                                  \n

                                                  For more information about the features of Amazon EventBridge, see the Amazon EventBridge User\n Guide.

                                                  " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/eventbridge/src/client.rs b/sdk/eventbridge/src/client.rs index 60337db167bc..a4158fd46c0c 100644 --- a/sdk/eventbridge/src/client.rs +++ b/sdk/eventbridge/src/client.rs @@ -417,7 +417,7 @@ pub mod fluent_builders { self.inner = self.inner.set_archive_name(input); self } - ///

                                                  The ARN of the event source associated with the archive.

                                                  + ///

                                                  The ARN of the event bus that sends events to the archive.

                                                  pub fn event_source_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.event_source_arn(input); self @@ -648,7 +648,7 @@ pub mod fluent_builders { /// /// partner_name/event_namespace/event_name /// . - /// The AWS account that wants to use this partner event source must create a partner event bus + /// The Amazon Web Services account that wants to use this partner event source must create a partner event bus /// with a name that matches the name of the partner event source.

                                                  pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); @@ -658,7 +658,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                  The AWS account ID that is permitted to create a matching partner event bus for this + ///

                                                  The Amazon Web Services account ID that is permitted to create a matching partner event bus for this /// partner event source.

                                                  pub fn account(mut self, input: impl Into) -> Self { self.inner = self.inner.account(input); @@ -955,7 +955,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                  The AWS account ID of the AWS customer that the event source was created for.

                                                  + ///

                                                  The Amazon Web Services account ID of the Amazon Web Services customer that the event source was created for.

                                                  pub fn account(mut self, input: impl Into) -> Self { self.inner = self.inner.account(input); self @@ -1018,7 +1018,7 @@ pub mod fluent_builders { self.inner = self.inner.set_event_bus_name(input); self } - ///

                                                  If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                  If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to delete the rule. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -2009,7 +2009,7 @@ pub mod fluent_builders { self.inner = self.inner.set_state(input); self } - ///

                                                  The ARN of the event source associated with the replay.

                                                  + ///

                                                  The ARN of the archive from which the events are replayed.

                                                  pub fn event_source_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.event_source_arn(input); self @@ -2434,8 +2434,7 @@ pub mod fluent_builders { self.inner = self.inner.set_event_bus_name(input); self } - ///

                                                  The action that you are enabling the other account to perform. Currently, this must be - /// events:PutEvents.

                                                  + ///

                                                  The action that you are enabling the other account to perform.

                                                  pub fn action(mut self, input: impl Into) -> Self { self.inner = self.inner.action(input); self @@ -2444,7 +2443,7 @@ pub mod fluent_builders { self.inner = self.inner.set_action(input); self } - ///

                                                  The 12-digit AWS account ID that you are permitting to put events to your default event + ///

                                                  The 12-digit Amazon Web Services account ID that you are permitting to put events to your default event /// bus. Specify "*" to permit any account to put events to your default event bus.

                                                  ///

                                                  If you specify "*" without specifying Condition, avoid creating rules that /// may match undesirable events. To create more secure rules, make sure that the event pattern @@ -2461,7 +2460,7 @@ pub mod fluent_builders { } ///

                                                  An identifier string for the external account that you are granting permissions to. If you /// later want to revoke the permission for this external account, specify this - /// StatementId when you run RemovePermission.

                                                  + /// StatementId when you run RemovePermission.

                                                  pub fn statement_id(mut self, input: impl Into) -> Self { self.inner = self.inner.statement_id(input); self @@ -2471,10 +2470,10 @@ pub mod fluent_builders { self } ///

                                                  This parameter enables you to limit the permission to accounts that fulfill a certain - /// condition, such as being a member of a certain AWS organization. For more information about - /// AWS Organizations, see What Is AWS - /// Organizations in the AWS Organizations User Guide.

                                                  - ///

                                                  If you specify Condition with an AWS organization ID, and specify "*" as the + /// condition, such as being a member of a certain Amazon Web Services organization. For more information about + /// Amazon Web Services Organizations, see What Is Amazon Web Services + /// Organizations in the Amazon Web Services Organizations User Guide.

                                                  + ///

                                                  If you specify Condition with an Amazon Web Services organization ID, and specify "*" as the /// value for Principal, you grant permission to all the accounts in the named /// organization.

                                                  ///

                                                  The Condition is a JSON string which must contain Type, @@ -2586,6 +2585,10 @@ pub mod fluent_builders { self } ///

                                                  The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                  + ///

                                                  If you're setting an event bus in another account as the target and that account granted + /// permission to your account through an organization instead of directly by the account ID, you + /// must specify a RoleArn with proper permissions in the Target + /// structure, instead of here in this parameter.

                                                  pub fn role_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.role_arn(input); self @@ -2815,7 +2818,7 @@ pub mod fluent_builders { self.inner = self.inner.set_ids(input); self } - ///

                                                  If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                  If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to remove targets. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -3028,7 +3031,7 @@ pub mod fluent_builders { self } ///

                                                  The event, in JSON format, to test against the event pattern. The JSON must follow the - /// format specified in AWS Events, and the following + /// format specified in Amazon Web Services Events, and the following /// fields are mandatory:

                                                  ///
                                                    ///
                                                  • diff --git a/sdk/eventbridge/src/error.rs b/sdk/eventbridge/src/error.rs index d26c85f099d7..e48c8b492f4f 100644 --- a/sdk/eventbridge/src/error.rs +++ b/sdk/eventbridge/src/error.rs @@ -5321,7 +5321,7 @@ impl InvalidEventPatternException { } } -///

                                                    This rule was created by an AWS service on behalf of your account. It is managed by that +///

                                                    This rule was created by an Amazon Web Services service on behalf of your account. It is managed by that /// service. If you see this error in response to DeleteRule or /// RemoveTargets, you can use the Force parameter in those calls to /// delete the rule or remove targets from the rule. You cannot modify these managed rules by diff --git a/sdk/eventbridge/src/input.rs b/sdk/eventbridge/src/input.rs index 093a93cf2be2..8d2c121c7534 100644 --- a/sdk/eventbridge/src/input.rs +++ b/sdk/eventbridge/src/input.rs @@ -503,7 +503,7 @@ pub mod create_archive_input { self.archive_name = input; self } - ///

                                                    The ARN of the event source associated with the archive.

                                                    + ///

                                                    The ARN of the event bus that sends events to the archive.

                                                    pub fn event_source_arn(mut self, input: impl Into) -> Self { self.event_source_arn = Some(input.into()); self @@ -1042,7 +1042,7 @@ pub mod create_partner_event_source_input { /// /// partner_name/event_namespace/event_name /// . - /// The AWS account that wants to use this partner event source must create a partner event bus + /// The Amazon Web Services account that wants to use this partner event source must create a partner event bus /// with a name that matches the name of the partner event source.

                                                    pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); @@ -1052,7 +1052,7 @@ pub mod create_partner_event_source_input { self.name = input; self } - ///

                                                    The AWS account ID that is permitted to create a matching partner event bus for this + ///

                                                    The Amazon Web Services account ID that is permitted to create a matching partner event bus for this /// partner event source.

                                                    pub fn account(mut self, input: impl Into) -> Self { self.account = Some(input.into()); @@ -2024,7 +2024,7 @@ pub mod delete_partner_event_source_input { self.name = input; self } - ///

                                                    The AWS account ID of the AWS customer that the event source was created for.

                                                    + ///

                                                    The Amazon Web Services account ID of the Amazon Web Services customer that the event source was created for.

                                                    pub fn account(mut self, input: impl Into) -> Self { self.account = Some(input.into()); self @@ -2189,7 +2189,7 @@ pub mod delete_rule_input { self.event_bus_name = input; self } - ///

                                                    If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                    If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to delete the rule. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -4973,7 +4973,7 @@ pub mod list_replays_input { self.state = input; self } - ///

                                                    The ARN of the event source associated with the replay.

                                                    + ///

                                                    The ARN of the archive from which the events are replayed.

                                                    pub fn event_source_arn(mut self, input: impl Into) -> Self { self.event_source_arn = Some(input.into()); self @@ -6102,8 +6102,7 @@ pub mod put_permission_input { self.event_bus_name = input; self } - ///

                                                    The action that you are enabling the other account to perform. Currently, this must be - /// events:PutEvents.

                                                    + ///

                                                    The action that you are enabling the other account to perform.

                                                    pub fn action(mut self, input: impl Into) -> Self { self.action = Some(input.into()); self @@ -6112,7 +6111,7 @@ pub mod put_permission_input { self.action = input; self } - ///

                                                    The 12-digit AWS account ID that you are permitting to put events to your default event + ///

                                                    The 12-digit Amazon Web Services account ID that you are permitting to put events to your default event /// bus. Specify "*" to permit any account to put events to your default event bus.

                                                    ///

                                                    If you specify "*" without specifying Condition, avoid creating rules that /// may match undesirable events. To create more secure rules, make sure that the event pattern @@ -6129,7 +6128,7 @@ pub mod put_permission_input { } ///

                                                    An identifier string for the external account that you are granting permissions to. If you /// later want to revoke the permission for this external account, specify this - /// StatementId when you run RemovePermission.

                                                    + /// StatementId when you run RemovePermission.

                                                    pub fn statement_id(mut self, input: impl Into) -> Self { self.statement_id = Some(input.into()); self @@ -6139,10 +6138,10 @@ pub mod put_permission_input { self } ///

                                                    This parameter enables you to limit the permission to accounts that fulfill a certain - /// condition, such as being a member of a certain AWS organization. For more information about - /// AWS Organizations, see What Is AWS - /// Organizations in the AWS Organizations User Guide.

                                                    - ///

                                                    If you specify Condition with an AWS organization ID, and specify "*" as the + /// condition, such as being a member of a certain Amazon Web Services organization. For more information about + /// Amazon Web Services Organizations, see What Is Amazon Web Services + /// Organizations in the Amazon Web Services Organizations User Guide.

                                                    + ///

                                                    If you specify Condition with an Amazon Web Services organization ID, and specify "*" as the /// value for Principal, you grant permission to all the accounts in the named /// organization.

                                                    ///

                                                    The Condition is a JSON string which must contain Type, @@ -6362,6 +6361,10 @@ pub mod put_rule_input { self } ///

                                                    The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                    + ///

                                                    If you're setting an event bus in another account as the target and that account granted + /// permission to your account through an organization instead of directly by the account ID, you + /// must specify a RoleArn with proper permissions in the Target + /// structure, instead of here in this parameter.

                                                    pub fn role_arn(mut self, input: impl Into) -> Self { self.role_arn = Some(input.into()); self @@ -6893,7 +6896,7 @@ pub mod remove_targets_input { self.ids = input; self } - ///

                                                    If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                    If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to remove targets. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -7411,7 +7414,7 @@ pub mod test_event_pattern_input { self } ///

                                                    The event, in JSON format, to test against the event pattern. The JSON must follow the - /// format specified in AWS Events, and the following + /// format specified in Amazon Web Services Events, and the following /// fields are mandatory:

                                                    ///
                                                      ///
                                                    • @@ -8398,7 +8401,7 @@ pub struct TestEventPatternInput { /// Patterns in the Amazon EventBridge User Guide.

                                                      pub event_pattern: std::option::Option, ///

                                                      The event, in JSON format, to test against the event pattern. The JSON must follow the - /// format specified in AWS Events, and the following + /// format specified in Amazon Web Services Events, and the following /// fields are mandatory:

                                                      ///
                                                        ///
                                                      • @@ -8507,7 +8510,7 @@ pub struct RemoveTargetsInput { pub event_bus_name: std::option::Option, ///

                                                        The IDs of the targets to remove from the rule.

                                                        pub ids: std::option::Option>, - ///

                                                        If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                        If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to remove targets. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -8583,6 +8586,10 @@ pub struct PutRuleInput { ///

                                                        A description of the rule.

                                                        pub description: std::option::Option, ///

                                                        The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                        + ///

                                                        If you're setting an event bus in another account as the target and that account granted + /// permission to your account through an organization instead of directly by the account ID, you + /// must specify a RoleArn with proper permissions in the Target + /// structure, instead of here in this parameter.

                                                        pub role_arn: std::option::Option, ///

                                                        The list of key-value pairs to associate with the rule.

                                                        pub tags: std::option::Option>, @@ -8611,10 +8618,9 @@ pub struct PutPermissionInput { ///

                                                        The name of the event bus associated with the rule. If you omit this, the default event /// bus is used.

                                                        pub event_bus_name: std::option::Option, - ///

                                                        The action that you are enabling the other account to perform. Currently, this must be - /// events:PutEvents.

                                                        + ///

                                                        The action that you are enabling the other account to perform.

                                                        pub action: std::option::Option, - ///

                                                        The 12-digit AWS account ID that you are permitting to put events to your default event + ///

                                                        The 12-digit Amazon Web Services account ID that you are permitting to put events to your default event /// bus. Specify "*" to permit any account to put events to your default event bus.

                                                        ///

                                                        If you specify "*" without specifying Condition, avoid creating rules that /// may match undesirable events. To create more secure rules, make sure that the event pattern @@ -8624,13 +8630,13 @@ pub struct PutPermissionInput { pub principal: std::option::Option, ///

                                                        An identifier string for the external account that you are granting permissions to. If you /// later want to revoke the permission for this external account, specify this - /// StatementId when you run RemovePermission.

                                                        + /// StatementId when you run RemovePermission.

                                                        pub statement_id: std::option::Option, ///

                                                        This parameter enables you to limit the permission to accounts that fulfill a certain - /// condition, such as being a member of a certain AWS organization. For more information about - /// AWS Organizations, see What Is AWS - /// Organizations in the AWS Organizations User Guide.

                                                        - ///

                                                        If you specify Condition with an AWS organization ID, and specify "*" as the + /// condition, such as being a member of a certain Amazon Web Services organization. For more information about + /// Amazon Web Services Organizations, see What Is Amazon Web Services + /// Organizations in the Amazon Web Services Organizations User Guide.

                                                        + ///

                                                        If you specify Condition with an Amazon Web Services organization ID, and specify "*" as the /// value for Principal, you grant permission to all the accounts in the named /// organization.

                                                        ///

                                                        The Condition is a JSON string which must contain Type, @@ -8778,7 +8784,7 @@ pub struct ListReplaysInput { pub name_prefix: std::option::Option, ///

                                                        The state of the replay.

                                                        pub state: std::option::Option, - ///

                                                        The ARN of the event source associated with the replay.

                                                        + ///

                                                        The ARN of the archive from which the events are replayed.

                                                        pub event_source_arn: std::option::Option, ///

                                                        The token returned by a previous call to retrieve the next set of results.

                                                        pub next_token: std::option::Option, @@ -9126,7 +9132,7 @@ pub struct DeleteRuleInput { ///

                                                        The name or ARN of the event bus associated with the rule. If you omit this, the default /// event bus is used.

                                                        pub event_bus_name: std::option::Option, - ///

                                                        If this is a managed rule, created by an AWS service on your behalf, you must specify + ///

                                                        If this is a managed rule, created by an Amazon Web Services service on your behalf, you must specify /// Force as True to delete the rule. This parameter is ignored for /// rules that are not managed rules. You can check whether a rule is a managed rule by using /// DescribeRule or ListRules and checking the ManagedBy @@ -9148,7 +9154,7 @@ impl std::fmt::Debug for DeleteRuleInput { pub struct DeletePartnerEventSourceInput { ///

                                                        The name of the event source to delete.

                                                        pub name: std::option::Option, - ///

                                                        The AWS account ID of the AWS customer that the event source was created for.

                                                        + ///

                                                        The Amazon Web Services account ID of the Amazon Web Services customer that the event source was created for.

                                                        pub account: std::option::Option, } impl std::fmt::Debug for DeletePartnerEventSourceInput { @@ -9251,10 +9257,10 @@ pub struct CreatePartnerEventSourceInput { /// /// partner_name/event_namespace/event_name /// . - /// The AWS account that wants to use this partner event source must create a partner event bus + /// The Amazon Web Services account that wants to use this partner event source must create a partner event bus /// with a name that matches the name of the partner event source.

                                                        pub name: std::option::Option, - ///

                                                        The AWS account ID that is permitted to create a matching partner event bus for this + ///

                                                        The Amazon Web Services account ID that is permitted to create a matching partner event bus for this /// partner event source.

                                                        pub account: std::option::Option, } @@ -9322,7 +9328,7 @@ impl std::fmt::Debug for CreateConnectionInput { pub struct CreateArchiveInput { ///

                                                        The name for the archive to create.

                                                        pub archive_name: std::option::Option, - ///

                                                        The ARN of the event source associated with the archive.

                                                        + ///

                                                        The ARN of the event bus that sends events to the archive.

                                                        pub event_source_arn: std::option::Option, ///

                                                        A description for the archive.

                                                        pub description: std::option::Option, diff --git a/sdk/eventbridge/src/lib.rs b/sdk/eventbridge/src/lib.rs index 25f8d9eedf29..450cd9551326 100644 --- a/sdk/eventbridge/src/lib.rs +++ b/sdk/eventbridge/src/lib.rs @@ -4,18 +4,18 @@ #![allow(clippy::wrong_self_convention)] #![allow(clippy::should_implement_trait)] #![allow(clippy::blacklisted_name)] -//!

                                                        Amazon EventBridge helps you to respond to state changes in your AWS resources. When your -//! resources change state, they automatically send events into an event stream. You can create +//!

                                                        Amazon EventBridge helps you to respond to state changes in your Amazon Web Services resources. When your +//! resources change state, they automatically send events to an event stream. You can create //! rules that match selected events in the stream and route them to targets to take action. You //! can also use rules to take action on a predetermined schedule. For example, you can configure //! rules to:

                                                        //!
                                                          //!
                                                        • -//!

                                                          Automatically invoke an AWS Lambda function to update DNS entries when an event +//!

                                                          Automatically invoke an Lambda function to update DNS entries when an event //! notifies you that Amazon EC2 instance enters the running state.

                                                          //!
                                                        • //!
                                                        • -//!

                                                          Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for +//!

                                                          Direct specific API records from CloudTrail to an Amazon Kinesis data stream for //! detailed analysis of potential security or availability risks.

                                                          //!
                                                        • //!
                                                        • diff --git a/sdk/eventbridge/src/model.rs b/sdk/eventbridge/src/model.rs index 014d3eabb4c4..de6d4497799f 100644 --- a/sdk/eventbridge/src/model.rs +++ b/sdk/eventbridge/src/model.rs @@ -1128,7 +1128,7 @@ impl AsRef for ApiDestinationHttpMethod { } } -///

                                                          A key-value pair associated with an AWS resource. In EventBridge, rules and event buses +///

                                                          A key-value pair associated with an Amazon Web Services resource. In EventBridge, rules and event buses /// support tagging.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -1493,17 +1493,17 @@ impl PutTargetsResultEntry { } ///

                                                          Targets are the resources to be invoked when a rule is triggered. For a complete list of -/// services and resources that can be set as a target, see PutTargets.

                                                          +/// services and resources that can be set as a target, see PutTargets.

                                                          ///

                                                          If you are setting the event bus of another account as the target, and that account /// granted permission to your account through an organization instead of directly by the account /// ID, then you must specify a RoleArn with proper permissions in the /// Target structure. For more information, see Sending and -/// Receiving Events Between AWS Accounts in the Amazon EventBridge User +/// Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User /// Guide.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Target { - ///

                                                          The ID of the target.

                                                          + ///

                                                          The ID of the target. We recommend using a memorable and unique string.

                                                          pub id: std::option::Option, ///

                                                          The Amazon Resource Name (ARN) of the target.

                                                          pub arn: std::option::Option, @@ -1534,8 +1534,8 @@ pub struct Target { /// Definitions in the Amazon EC2 Container Service Developer /// Guide.

                                                          pub ecs_parameters: std::option::Option, - ///

                                                          If the event target is an AWS Batch job, this contains the job definition, job name, and - /// other parameters. For more information, see Jobs in the AWS Batch User + ///

                                                          If the event target is an Batch job, this contains the job definition, job name, and + /// other parameters. For more information, see Jobs in the Batch User /// Guide.

                                                          pub batch_parameters: std::option::Option, ///

                                                          Contains the message group ID to use when the target is a FIFO queue.

                                                          @@ -1550,10 +1550,10 @@ pub struct Target { /// can also have these values configured. In case of any conflicting keys, values from the /// Connection take precedence.

                                                          pub http_parameters: std::option::Option, - ///

                                                          Contains the Redshift Data API parameters to use when the target is a Redshift + ///

                                                          Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift /// cluster.

                                                          - ///

                                                          If you specify a Redshift Cluster as a Target, you can use this to specify parameters to - /// invoke the Redshift Data API ExecuteStatement based on EventBridge events.

                                                          + ///

                                                          If you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to + /// invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.

                                                          pub redshift_data_parameters: std::option::Option, ///

                                                          Contains the SageMaker Model Building Pipeline parameters to start execution of a /// SageMaker Model Building Pipeline.

                                                          @@ -1619,7 +1619,7 @@ pub mod target { pub(crate) retry_policy: std::option::Option, } impl Builder { - ///

                                                          The ID of the target.

                                                          + ///

                                                          The ID of the target. We recommend using a memorable and unique string.

                                                          pub fn id(mut self, input: impl Into) -> Self { self.id = Some(input.into()); self @@ -1725,8 +1725,8 @@ pub mod target { self.ecs_parameters = input; self } - ///

                                                          If the event target is an AWS Batch job, this contains the job definition, job name, and - /// other parameters. For more information, see Jobs in the AWS Batch User + ///

                                                          If the event target is an Batch job, this contains the job definition, job name, and + /// other parameters. For more information, see Jobs in the Batch User /// Guide.

                                                          pub fn batch_parameters(mut self, input: crate::model::BatchParameters) -> Self { self.batch_parameters = Some(input); @@ -1771,10 +1771,10 @@ pub mod target { self.http_parameters = input; self } - ///

                                                          Contains the Redshift Data API parameters to use when the target is a Redshift + ///

                                                          Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift /// cluster.

                                                          - ///

                                                          If you specify a Redshift Cluster as a Target, you can use this to specify parameters to - /// invoke the Redshift Data API ExecuteStatement based on EventBridge events.

                                                          + ///

                                                          If you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to + /// invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.

                                                          pub fn redshift_data_parameters( mut self, input: crate::model::RedshiftDataParameters, @@ -2097,13 +2097,13 @@ impl SageMakerPipelineParameter { } } -///

                                                          These are custom parameters to be used when the target is a Redshift cluster to invoke the -/// Redshift Data API ExecuteStatement based on EventBridge events.

                                                          +///

                                                          These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the +/// Amazon Redshift Data API ExecuteStatement based on EventBridge events.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RedshiftDataParameters { ///

                                                          The name or ARN of the secret that enables access to the database. Required when - /// authenticating using AWS Secrets Manager.

                                                          + /// authenticating using Amazon Web Services Secrets Manager.

                                                          pub secret_manager_arn: std::option::Option, ///

                                                          The name of the database. Required when authenticating using temporary credentials.

                                                          pub database: std::option::Option, @@ -2145,7 +2145,7 @@ pub mod redshift_data_parameters { } impl Builder { ///

                                                          The name or ARN of the secret that enables access to the database. Required when - /// authenticating using AWS Secrets Manager.

                                                          + /// authenticating using Amazon Web Services Secrets Manager.

                                                          pub fn secret_manager_arn(mut self, input: impl Into) -> Self { self.secret_manager_arn = Some(input.into()); self @@ -2241,8 +2241,8 @@ pub struct HttpParameters { /// EventBridge ApiDestination.

                                                          pub header_parameters: std::option::Option>, - ///

                                                          The query string keys/values that need to be sent as part of request invoking the API - /// Gateway REST API or EventBridge ApiDestination.

                                                          + ///

                                                          The query string keys/values that need to be sent as part of request invoking the API Gateway + /// REST API or EventBridge ApiDestination.

                                                          pub query_string_parameters: std::option::Option>, } @@ -2389,20 +2389,20 @@ impl SqsParameters { } } -///

                                                          The custom parameters to be used when the target is an AWS Batch job.

                                                          +///

                                                          The custom parameters to be used when the target is an Batch job.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchParameters { - ///

                                                          The ARN or name of the job definition to use if the event target is an AWS Batch job. This + ///

                                                          The ARN or name of the job definition to use if the event target is an Batch job. This /// job definition must already exist.

                                                          pub job_definition: std::option::Option, - ///

                                                          The name to use for this execution of the job, if the target is an AWS Batch job.

                                                          + ///

                                                          The name to use for this execution of the job, if the target is an Batch job.

                                                          pub job_name: std::option::Option, ///

                                                          The array properties for the submitted job, such as the size of the array. The array size /// can be between 2 and 10,000. If you specify array properties for a job, it becomes an array - /// job. This parameter is used only if the target is an AWS Batch job.

                                                          + /// job. This parameter is used only if the target is an Batch job.

                                                          pub array_properties: std::option::Option, - ///

                                                          The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry + ///

                                                          The retry strategy to use for failed jobs, if the target is an Batch job. The retry /// strategy is the number of times to retry the failed job execution. Valid values are 1–10. When /// you specify a retry strategy here, it overrides the retry strategy defined in the job /// definition.

                                                          @@ -2430,7 +2430,7 @@ pub mod batch_parameters { pub(crate) retry_strategy: std::option::Option, } impl Builder { - ///

                                                          The ARN or name of the job definition to use if the event target is an AWS Batch job. This + ///

                                                          The ARN or name of the job definition to use if the event target is an Batch job. This /// job definition must already exist.

                                                          pub fn job_definition(mut self, input: impl Into) -> Self { self.job_definition = Some(input.into()); @@ -2443,7 +2443,7 @@ pub mod batch_parameters { self.job_definition = input; self } - ///

                                                          The name to use for this execution of the job, if the target is an AWS Batch job.

                                                          + ///

                                                          The name to use for this execution of the job, if the target is an Batch job.

                                                          pub fn job_name(mut self, input: impl Into) -> Self { self.job_name = Some(input.into()); self @@ -2454,7 +2454,7 @@ pub mod batch_parameters { } ///

                                                          The array properties for the submitted job, such as the size of the array. The array size /// can be between 2 and 10,000. If you specify array properties for a job, it becomes an array - /// job. This parameter is used only if the target is an AWS Batch job.

                                                          + /// job. This parameter is used only if the target is an Batch job.

                                                          pub fn array_properties(mut self, input: crate::model::BatchArrayProperties) -> Self { self.array_properties = Some(input); self @@ -2466,7 +2466,7 @@ pub mod batch_parameters { self.array_properties = input; self } - ///

                                                          The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry + ///

                                                          The retry strategy to use for failed jobs, if the target is an Batch job. The retry /// strategy is the number of times to retry the failed job execution. Valid values are 1–10. When /// you specify a retry strategy here, it overrides the retry strategy defined in the job /// definition.

                                                          @@ -2499,7 +2499,7 @@ impl BatchParameters { } } -///

                                                          The retry strategy to use for failed jobs, if the target is an AWS Batch job. If you +///

                                                          The retry strategy to use for failed jobs, if the target is an Batch job. If you /// specify a retry strategy here, it overrides the retry strategy defined in the job /// definition.

                                                          #[non_exhaustive] @@ -2550,7 +2550,7 @@ impl BatchRetryStrategy { ///

                                                          The array properties for the submitted job, such as the size of the array. The array size /// can be between 2 and 10,000. If you specify array properties for a job, it becomes an array -/// job. This parameter is used only if the target is an AWS Batch job.

                                                          +/// job. This parameter is used only if the target is an Batch job.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchArrayProperties { @@ -2610,11 +2610,11 @@ pub struct EcsParameters { pub task_count: std::option::Option, ///

                                                          Specifies the launch type on which your task is running. The launch type that you specify /// here must match one of the launch type (compatibilities) of the target task. The - /// FARGATE value is supported only in the Regions where AWS Fargate with Amazon - /// ECS is supported. For more information, see AWS Fargate on Amazon ECS in + /// FARGATE value is supported only in the Regions where Fargate witt Amazon ECS + /// is supported. For more information, see Fargate on Amazon ECS in /// the Amazon Elastic Container Service Developer Guide.

                                                          pub launch_type: std::option::Option, - ///

                                                          Use this structure if the ECS task uses the awsvpc network mode. This + ///

                                                          Use this structure if the Amazon ECS task uses the awsvpc network mode. This /// structure specifies the VPC subnets and security groups associated with the task, and whether /// a public IP address is to be used. This structure is required if LaunchType is /// FARGATE because the awsvpc mode is required for Fargate @@ -2625,7 +2625,7 @@ pub struct EcsParameters { ///

                                                          Specifies the platform version for the task. Specify only the numeric portion of the /// platform version, such as 1.1.0.

                                                          ///

                                                          This structure is used only if LaunchType is FARGATE. For more - /// information about valid platform versions, see AWS Fargate Platform + /// information about valid platform versions, see Fargate Platform /// Versions in the Amazon Elastic Container Service Developer /// Guide.

                                                          pub platform_version: std::option::Option, @@ -2735,8 +2735,8 @@ pub mod ecs_parameters { } ///

                                                          Specifies the launch type on which your task is running. The launch type that you specify /// here must match one of the launch type (compatibilities) of the target task. The - /// FARGATE value is supported only in the Regions where AWS Fargate with Amazon - /// ECS is supported. For more information, see AWS Fargate on Amazon ECS in + /// FARGATE value is supported only in the Regions where Fargate witt Amazon ECS + /// is supported. For more information, see Fargate on Amazon ECS in /// the Amazon Elastic Container Service Developer Guide.

                                                          pub fn launch_type(mut self, input: crate::model::LaunchType) -> Self { self.launch_type = Some(input); @@ -2749,7 +2749,7 @@ pub mod ecs_parameters { self.launch_type = input; self } - ///

                                                          Use this structure if the ECS task uses the awsvpc network mode. This + ///

                                                          Use this structure if the Amazon ECS task uses the awsvpc network mode. This /// structure specifies the VPC subnets and security groups associated with the task, and whether /// a public IP address is to be used. This structure is required if LaunchType is /// FARGATE because the awsvpc mode is required for Fargate @@ -2770,7 +2770,7 @@ pub mod ecs_parameters { ///

                                                          Specifies the platform version for the task. Specify only the numeric portion of the /// platform version, such as 1.1.0.

                                                          ///

                                                          This structure is used only if LaunchType is FARGATE. For more - /// information about valid platform versions, see AWS Fargate Platform + /// information about valid platform versions, see Fargate Platform /// Versions in the Amazon Elastic Container Service Developer /// Guide.

                                                          pub fn platform_version(mut self, input: impl Into) -> Self { @@ -2974,7 +2974,7 @@ impl AsRef for PropagateTags { } } -///

                                                          The task placement strategy for a task or service. To learn more, see Task Placement Strategies in the Amazon Elastic Container Service Developer +///

                                                          The task placement strategy for a task or service. To learn more, see Task Placement Strategies in the Amazon Elastic Container Service Service Developer /// Guide.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -3768,7 +3768,7 @@ pub struct InputTransformer { /// InputPathsMap is an array key-value pairs, where each value is a valid JSON /// path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket /// notation.

                                                          - ///

                                                          The keys cannot start with "AWS."

                                                          + ///

                                                          The keys cannot start with "Amazon Web Services."

                                                          pub input_paths_map: std::option::Option>, ///

                                                          Input template where you specify placeholders that will be filled with the values of the @@ -4023,9 +4023,9 @@ impl AsRef for RuleState { ///

                                                          A JSON string which you can use to limit the event bus permissions you are granting to /// only accounts that fulfill the condition. Currently, the only supported condition is -/// membership in a certain AWS organization. The string must contain Type, +/// membership in a certain Amazon Web Services organization. The string must contain Type, /// Key, and Value fields. The Value field specifies the -/// ID of the AWS organization. Following is an example value for Condition:

                                                          +/// ID of the Amazon Web Services organization. Following is an example value for Condition:

                                                          ///

                                                          /// '{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": /// "o-1234567890"}' @@ -4194,9 +4194,9 @@ impl PutPartnerEventsResultEntry { pub struct PutPartnerEventsRequestEntry { ///

                                                          The date and time of the event.

                                                          pub time: std::option::Option, - ///

                                                          The event source that is generating the evntry.

                                                          + ///

                                                          The event source that is generating the entry.

                                                          pub source: std::option::Option, - ///

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + ///

                                                          Amazon Web Services resources, identified by Amazon Resource Name (ARN), which the event primarily /// concerns. Any number, including zero, may be present.

                                                          pub resources: std::option::Option>, ///

                                                          A free-form string used to decide what fields to expect in the event detail.

                                                          @@ -4238,7 +4238,7 @@ pub mod put_partner_events_request_entry { self.time = input; self } - ///

                                                          The event source that is generating the evntry.

                                                          + ///

                                                          The event source that is generating the entry.

                                                          pub fn source(mut self, input: impl Into) -> Self { self.source = Some(input.into()); self @@ -4380,11 +4380,11 @@ impl PutEventsResultEntry { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutEventsRequestEntry { - ///

                                                          The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

                                                          + ///

                                                          The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

                                                          pub time: std::option::Option, ///

                                                          The source of the event.

                                                          pub source: std::option::Option, - ///

                                                          AWS resources, identified by Amazon Resource Name (ARN), which the event primarily + ///

                                                          Amazon Web Services resources, identified by Amazon Resource Name (ARN), which the event primarily /// concerns. Any number, including zero, may be present.

                                                          pub resources: std::option::Option>, ///

                                                          Free-form string used to decide what fields to expect in the event detail.

                                                          @@ -4396,9 +4396,9 @@ pub struct PutEventsRequestEntry { /// with this event bus are used to match the event. If you omit this, the default event bus is /// used.

                                                          pub event_bus_name: std::option::Option, - ///

                                                          An AWS X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains the + ///

                                                          An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains the /// trace-id associated with the event.

                                                          - ///

                                                          To learn more about X-Ray trace headers, see Tracing header in the AWS X-Ray Developer Guide.

                                                          + ///

                                                          To learn more about X-Ray trace headers, see Tracing header in the X-Ray Developer Guide.

                                                          pub trace_header: std::option::Option, } impl std::fmt::Debug for PutEventsRequestEntry { @@ -4429,7 +4429,7 @@ pub mod put_events_request_entry { pub(crate) trace_header: std::option::Option, } impl Builder { - ///

                                                          The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

                                                          + ///

                                                          The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

                                                          pub fn time(mut self, input: smithy_types::Instant) -> Self { self.time = Some(input); self @@ -4493,9 +4493,9 @@ pub mod put_events_request_entry { self.event_bus_name = input; self } - ///

                                                          An AWS X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains the + ///

                                                          An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains the /// trace-id associated with the event.

                                                          - ///

                                                          To learn more about X-Ray trace headers, see Tracing header in the AWS X-Ray Developer Guide.

                                                          + ///

                                                          To learn more about X-Ray trace headers, see Tracing header in the X-Ray Developer Guide.

                                                          pub fn trace_header(mut self, input: impl Into) -> Self { self.trace_header = Some(input.into()); self @@ -4540,11 +4540,15 @@ pub struct Rule { pub state: std::option::Option, ///

                                                          The description of the rule.

                                                          pub description: std::option::Option, - ///

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".

                                                          + ///

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon EventBridge rule that runs on a schedule.

                                                          pub schedule_expression: std::option::Option, ///

                                                          The Amazon Resource Name (ARN) of the role that is used for target invocation.

                                                          + ///

                                                          If you're setting an event bus in another account as the target and that account granted + /// permission to your account through an organization instead of directly by the account ID, you + /// must specify a RoleArn with proper permissions in the Target + /// structure, instead of here in this parameter.

                                                          pub role_arn: std::option::Option, - ///

                                                          If the rule was created on behalf of your account by an AWS service, this field displays + ///

                                                          If the rule was created on behalf of your account by an Amazon Web Services service, this field displays /// the principal name of the service that created the rule.

                                                          pub managed_by: std::option::Option, ///

                                                          The name or ARN of the event bus associated with the rule. If you omit this, the default @@ -4632,7 +4636,7 @@ pub mod rule { self.description = input; self } - ///

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".

                                                          + ///

                                                          The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon EventBridge rule that runs on a schedule.

                                                          pub fn schedule_expression(mut self, input: impl Into) -> Self { self.schedule_expression = Some(input.into()); self @@ -4645,6 +4649,10 @@ pub mod rule { self } ///

                                                          The Amazon Resource Name (ARN) of the role that is used for target invocation.

                                                          + ///

                                                          If you're setting an event bus in another account as the target and that account granted + /// permission to your account through an organization instead of directly by the account ID, you + /// must specify a RoleArn with proper permissions in the Target + /// structure, instead of here in this parameter.

                                                          pub fn role_arn(mut self, input: impl Into) -> Self { self.role_arn = Some(input.into()); self @@ -4653,7 +4661,7 @@ pub mod rule { self.role_arn = input; self } - ///

                                                          If the rule was created on behalf of your account by an AWS service, this field displays + ///

                                                          If the rule was created on behalf of your account by an Amazon Web Services service, this field displays /// the principal name of the service that created the rule.

                                                          pub fn managed_by(mut self, input: impl Into) -> Self { self.managed_by = Some(input.into()); @@ -4881,7 +4889,7 @@ impl Replay { } ///

                                                          A partner event source is created by an SaaS partner. If a customer creates a partner -/// event bus that matches this event source, that AWS account can receive events from the +/// event bus that matches this event source, that Amazon Web Services account can receive events from the /// partner's applications or services.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -4943,15 +4951,15 @@ impl PartnerEventSource { } } -///

                                                          The AWS account that a partner event source has been offered to.

                                                          +///

                                                          The Amazon Web Services account that a partner event source has been offered to.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PartnerEventSourceAccount { - ///

                                                          The AWS account ID that the partner event source was offered to.

                                                          + ///

                                                          The Amazon Web Services account ID that the partner event source was offered to.

                                                          pub account: std::option::Option, ///

                                                          The date and time the event source was created.

                                                          pub creation_time: std::option::Option, - ///

                                                          The date and time that the event source will expire, if the AWS account doesn't create a + ///

                                                          The date and time that the event source will expire, if the Amazon Web Services account doesn't create a /// matching event bus for it.

                                                          pub expiration_time: std::option::Option, ///

                                                          The state of the event source. If it is ACTIVE, you have already created a matching event @@ -4982,7 +4990,7 @@ pub mod partner_event_source_account { pub(crate) state: std::option::Option, } impl Builder { - ///

                                                          The AWS account ID that the partner event source was offered to.

                                                          + ///

                                                          The Amazon Web Services account ID that the partner event source was offered to.

                                                          pub fn account(mut self, input: impl Into) -> Self { self.account = Some(input.into()); self @@ -5003,7 +5011,7 @@ pub mod partner_event_source_account { self.creation_time = input; self } - ///

                                                          The date and time that the event source will expire, if the AWS account doesn't create a + ///

                                                          The date and time that the event source will expire, if the Amazon Web Services account doesn't create a /// matching event bus for it.

                                                          pub fn expiration_time(mut self, input: smithy_types::Instant) -> Self { self.expiration_time = Some(input); @@ -5103,7 +5111,7 @@ impl AsRef for EventSourceState { } ///

                                                          A partner event source is created by an SaaS partner. If a customer creates a partner -/// event bus that matches this event source, that AWS account can receive events from the +/// event bus that matches this event source, that Amazon Web Services account can receive events from the /// partner's applications or services.

                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -5114,7 +5122,7 @@ pub struct EventSource { pub created_by: std::option::Option, ///

                                                          The date and time the event source was created.

                                                          pub creation_time: std::option::Option, - ///

                                                          The date and time that the event source will expire, if the AWS account doesn't create a + ///

                                                          The date and time that the event source will expire, if the Amazon Web Services account doesn't create a /// matching event bus for it.

                                                          pub expiration_time: std::option::Option, ///

                                                          The name of the event source.

                                                          @@ -5181,7 +5189,7 @@ pub mod event_source { self.creation_time = input; self } - ///

                                                          The date and time that the event source will expire, if the AWS account doesn't create a + ///

                                                          The date and time that the event source will expire, if the Amazon Web Services account doesn't create a /// matching event bus for it.

                                                          pub fn expiration_time(mut self, input: smithy_types::Instant) -> Self { self.expiration_time = Some(input); @@ -5239,7 +5247,7 @@ impl EventSource { } ///

                                                          An event bus receives events from a source and routes them to rules associated with that -/// event bus. Your account's default event bus receives events from AWS services. A custom event +/// event bus. Your account's default event bus receives events from Amazon Web Services services. A custom event /// bus can receive events from your custom applications and services. A partner event bus /// receives events from an event source created by an SaaS partner. These events come from the /// partners services or applications.

                                                          @@ -5250,7 +5258,7 @@ pub struct EventBus { pub name: std::option::Option, ///

                                                          The ARN of the event bus.

                                                          pub arn: std::option::Option, - ///

                                                          The permissions policy of the event bus, describing which other AWS accounts can write + ///

                                                          The permissions policy of the event bus, describing which other Amazon Web Services accounts can write /// events to this event bus.

                                                          pub policy: std::option::Option, } @@ -5292,7 +5300,7 @@ pub mod event_bus { self.arn = input; self } - ///

                                                          The permissions policy of the event bus, describing which other AWS accounts can write + ///

                                                          The permissions policy of the event bus, describing which other Amazon Web Services accounts can write /// events to this event bus.

                                                          pub fn policy(mut self, input: impl Into) -> Self { self.policy = Some(input.into()); diff --git a/sdk/eventbridge/src/operation.rs b/sdk/eventbridge/src/operation.rs index 21737023f958..63f8e8bcfb1b 100644 --- a/sdk/eventbridge/src/operation.rs +++ b/sdk/eventbridge/src/operation.rs @@ -171,14 +171,14 @@ impl smithy_http::response::ParseStrictResponse for CreateEventBus { } ///

                                                          Called by an SaaS partner to create a partner event source. This operation is not used by -/// AWS customers.

                                                          -///

                                                          Each partner event source can be used by one AWS account to create a matching partner -/// event bus in that AWS account. A SaaS partner must create one partner event source for each -/// AWS account that wants to receive those event types.

                                                          +/// Amazon Web Services customers.

                                                          +///

                                                          Each partner event source can be used by one Amazon Web Services account to create a matching partner +/// event bus in that Amazon Web Services account. A SaaS partner must create one partner event source for each +/// Amazon Web Services account that wants to receive those event types.

                                                          ///

                                                          A partner event source creates events based on resources within the SaaS partner's service /// or application.

                                                          -///

                                                          An AWS account that creates a partner event bus that matches the partner event source can -/// use that event bus to receive events from the partner, and then process them using AWS Events +///

                                                          An Amazon Web Services account that creates a partner event bus that matches the partner event source can +/// use that event bus to receive events from the partner, and then process them using Amazon Web Services Events /// rules and targets.

                                                          ///

                                                          Partner event source names follow this format:

                                                          ///

                                                          @@ -188,11 +188,11 @@ impl smithy_http::response::ParseStrictResponse for CreateEventBus { ///

                                                          ///

                                                          /// partner_name is determined during partner registration and identifies -/// the partner to AWS customers. event_namespace is determined by the +/// the partner to Amazon Web Services customers. event_namespace is determined by the /// partner and is a way for the partner to categorize their events. /// event_name is determined by the partner, and should uniquely identify /// an event-generating resource within the partner system. The combination of -/// event_namespace and event_name should help AWS +/// event_namespace and event_name should help Amazon Web Services /// customers decide whether to create an event bus to receive these events.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreatePartnerEventSource { @@ -225,7 +225,7 @@ impl smithy_http::response::ParseStrictResponse for CreatePartnerEventSource { /// event source. The matching event bus is not deleted.

                                                          ///

                                                          When you deactivate a partner event source, the source goes into PENDING state. If it /// remains in PENDING state for more than two weeks, it is deleted.

                                                          -///

                                                          To activate a deactivated partner event source, use ActivateEventSource.

                                                          +///

                                                          To activate a deactivated partner event source, use ActivateEventSource.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeactivateEventSource { _private: (), @@ -392,9 +392,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteEventBus { } ///

                                                          This operation is used by SaaS partners to delete a partner event source. This operation -/// is not used by AWS customers.

                                                          +/// is not used by Amazon Web Services customers.

                                                          ///

                                                          When you delete an event source, the status of the corresponding partner event bus in the -/// AWS customer account becomes DELETED.

                                                          +/// Amazon Web Services customer account becomes DELETED.

                                                          ///

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeletePartnerEventSource { @@ -424,14 +424,14 @@ impl smithy_http::response::ParseStrictResponse for DeletePartnerEventSource { } ///

                                                          Deletes the specified rule.

                                                          -///

                                                          Before you can delete the rule, you must remove all targets, using RemoveTargets.

                                                          +///

                                                          Before you can delete the rule, you must remove all targets, using RemoveTargets.

                                                          ///

                                                          When you delete a rule, incoming events might continue to match to the deleted rule. Allow /// a short period of time for changes to take effect.

                                                          ///

                                                          If you call delete rule multiple times for the same rule, all calls will succeed. When you /// call delete rule for a non-existent custom eventbus, ResourceNotFoundException is /// returned.

                                                          -///

                                                          Managed rules are rules created and managed by another AWS service on your behalf. These -/// rules are created by those other AWS services to support functionality in those services. You +///

                                                          Managed rules are rules created and managed by another Amazon Web Services service on your behalf. These +/// rules are created by those other Amazon Web Services services to support functionality in those services. You /// can delete these rules using the Force option, but you should do so only if you /// are sure the other service is not still using that rule.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -543,13 +543,13 @@ impl smithy_http::response::ParseStrictResponse for DescribeConnection { } } -///

                                                          Displays details about an event bus in your account. This can include the external AWS +///

                                                          Displays details about an event bus in your account. This can include the external Amazon Web Services /// accounts that are permitted to write events to your default event bus, and the associated /// policy. For custom event buses and partner event buses, it displays the name, ARN, policy, /// state, and creation time.

                                                          ///

                                                          To enable your account to receive events from other accounts on its default event bus, -/// use PutPermission.

                                                          -///

                                                          For more information about partner event buses, see CreateEventBus.

                                                          +/// use PutPermission.

                                                          +///

                                                          For more information about partner event buses, see CreateEventBus.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeEventBus { _private: (), @@ -607,8 +607,8 @@ impl smithy_http::response::ParseStrictResponse for DescribeEventSource { } ///

                                                          An SaaS partner can use this operation to list details about a partner event source that -/// they have created. AWS customers do not use this operation. Instead, AWS customers can use -/// DescribeEventSource to see details about a partner event source that is +/// they have created. Amazon Web Services customers do not use this operation. Instead, Amazon Web Services customers can use DescribeEventSource +/// to see details about a partner event source that is /// shared with them.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePartnerEventSource { @@ -673,7 +673,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeReplay { ///

                                                          Describes the specified rule.

                                                          ///

                                                          DescribeRule does not list the targets of a rule. To see the targets associated with a -/// rule, use ListTargetsByRule.

                                                          +/// rule, use ListTargetsByRule.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeRule { _private: (), @@ -866,8 +866,8 @@ impl smithy_http::response::ParseStrictResponse for ListEventBuses { } } -///

                                                          You can use this to see all the partner event sources that have been shared with your AWS -/// account. For more information about partner event sources, see CreateEventBus.

                                                          +///

                                                          You can use this to see all the partner event sources that have been shared with your Amazon Web Services +/// account. For more information about partner event sources, see CreateEventBus.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListEventSources { _private: (), @@ -895,8 +895,8 @@ impl smithy_http::response::ParseStrictResponse for ListEventSources { } } -///

                                                          An SaaS partner can use this operation to display the AWS account ID that a particular -/// partner event source name is associated with. This operation is not used by AWS +///

                                                          An SaaS partner can use this operation to display the Amazon Web Services account ID that a particular +/// partner event source name is associated with. This operation is not used by Amazon Web Services /// customers.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListPartnerEventSourceAccounts { @@ -926,7 +926,7 @@ impl smithy_http::response::ParseStrictResponse for ListPartnerEventSourceAccoun } ///

                                                          An SaaS partner can use this operation to list all the partner event source names that -/// they have created. This operation is not used by AWS customers.

                                                          +/// they have created. This operation is not used by Amazon Web Services customers.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListPartnerEventSources { _private: (), @@ -1013,7 +1013,7 @@ impl smithy_http::response::ParseStrictResponse for ListRuleNamesByTarget { ///

                                                          Lists your Amazon EventBridge rules. You can either list all the rules or you can provide /// a prefix to match to the rule names.

                                                          ///

                                                          ListRules does not list the targets of a rule. To see the targets associated with a rule, -/// use ListTargetsByRule.

                                                          +/// use ListTargetsByRule.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListRules { _private: (), @@ -1120,7 +1120,7 @@ impl smithy_http::response::ParseStrictResponse for PutEvents { } } -///

                                                          This is used by SaaS partners to write events to a customer's partner event bus. AWS +///

                                                          This is used by SaaS partners to write events to a customer's partner event bus. Amazon Web Services /// customers do not use this operation.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutPartnerEvents { @@ -1149,23 +1149,23 @@ impl smithy_http::response::ParseStrictResponse for PutPartnerEvents { } } -///

                                                          Running PutPermission permits the specified AWS account or AWS organization +///

                                                          Running PutPermission permits the specified Amazon Web Services account or Amazon Web Services organization /// to put events to the specified event bus. Amazon EventBridge (CloudWatch /// Events) rules in your account are triggered by these events arriving to an event bus in your /// account.

                                                          ///

                                                          For another account to send events to your account, that external account must have an /// EventBridge rule with your account's event bus as a target.

                                                          -///

                                                          To enable multiple AWS accounts to put events to your event bus, run +///

                                                          To enable multiple Amazon Web Services accounts to put events to your event bus, run /// PutPermission once for each of these accounts. Or, if all the accounts are -/// members of the same AWS organization, you can run PutPermission once specifying -/// Principal as "*" and specifying the AWS organization ID in +/// members of the same Amazon Web Services organization, you can run PutPermission once specifying +/// Principal as "*" and specifying the Amazon Web Services organization ID in /// Condition, to grant permissions to all accounts in that organization.

                                                          ///

                                                          If you grant permissions using an organization, then accounts in that organization must /// specify a RoleArn with proper permissions when they use PutTarget to /// add your account's event bus as a target. For more information, see Sending and -/// Receiving Events Between AWS Accounts in the Amazon EventBridge User +/// Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User /// Guide.

                                                          -///

                                                          The permission policy on the default event bus cannot exceed 10 KB in size.

                                                          +///

                                                          The permission policy on the event bus cannot exceed 10 KB in size.

                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutPermission { _private: (), @@ -1192,12 +1192,12 @@ impl smithy_http::response::ParseStrictResponse for PutPermission { } ///

                                                          Creates or updates the specified rule. Rules are enabled by default, or based on value of -/// the state. You can disable a rule using DisableRule.

                                                          -///

                                                          A single rule watches for events from a single event bus. Events generated by AWS services +/// the state. You can disable a rule using DisableRule.

                                                          +///

                                                          A single rule watches for events from a single event bus. Events generated by Amazon Web Services services /// go to your account's default event bus. Events generated by SaaS partner services or /// applications go to the matching partner event bus. If you have custom applications or /// services, you can specify whether their events go to your default event bus or a custom event -/// bus that you have created. For more information, see CreateEventBus.

                                                          +/// bus that you have created. For more information, see CreateEventBus.

                                                          ///

                                                          If you are updating an existing rule, the rule is replaced with what you specify in this /// PutRule command. If you omit arguments in PutRule, the old values /// for those arguments are not kept. Instead, they are replaced with null values.

                                                          @@ -1214,8 +1214,8 @@ impl smithy_http::response::ParseStrictResponse for PutPermission { /// values. To use the PutRule operation and assign tags, you must have both the /// events:PutRule and events:TagResource permissions.

                                                          ///

                                                          If you are updating an existing rule, any tags you specify in the PutRule -/// operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

                                                          -///

                                                          Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). +/// operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

                                                          +///

                                                          Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). /// However, EventBridge uses an exact match in event patterns and rules. Be sure to use the /// correct ARN characters when creating event patterns so that they match the ARN syntax in the /// event you want to match.

                                                          @@ -1273,7 +1273,7 @@ impl smithy_http::response::ParseStrictResponse for PutRule { ///

                                                          API Gateway

                                                          ///
                                                        • ///
                                                        • -///

                                                          AWS Batch job queue

                                                          +///

                                                          Batch job queue

                                                          ///
                                                        • ///
                                                        • ///

                                                          CloudWatch Logs group

                                                          @@ -1282,12 +1282,15 @@ impl smithy_http::response::ParseStrictResponse for PutRule { ///

                                                          CodeBuild project

                                                          ///
                                                        • ///
                                                        • -///

                                                          CodePineline

                                                          +///

                                                          CodePipeline

                                                          ///
                                                        • ///
                                                        • ///

                                                          Amazon EC2 CreateSnapshot API call

                                                          ///
                                                        • ///
                                                        • +///

                                                          EC2 Image Builder

                                                          +///
                                                        • +///
                                                        • ///

                                                          Amazon EC2 RebootInstances API call

                                                          ///
                                                        • ///
                                                        • @@ -1300,7 +1303,7 @@ impl smithy_http::response::ParseStrictResponse for PutRule { ///

                                                          Amazon ECS tasks

                                                          ///
                                                        • ///
                                                        • -///

                                                          Event bus in a different AWS account or Region.

                                                          +///

                                                          Event bus in a different Amazon Web Services account or Region.

                                                          ///

                                                          You can use an event bus in the US East (N. Virginia) us-east-1, US West (Oregon) /// us-west-2, or Europe (Ireland) eu-west-1 Regions as a target for a rule.

                                                          ///
                                                        • @@ -1314,7 +1317,7 @@ impl smithy_http::response::ParseStrictResponse for PutRule { ///

                                                          Kinesis stream (Kinesis Data Stream)

                                                          /// ///
                                                        • -///

                                                          AWS Lambda function

                                                          +///

                                                          Lambda function

                                                          ///
                                                        • ///
                                                        • ///

                                                          Redshift clusters (Data API statement execution)

                                                          @@ -1338,7 +1341,7 @@ impl smithy_http::response::ParseStrictResponse for PutRule { ///

                                                          Step Functions state machines

                                                          ///
                                                        • ///
                                                        -///

                                                        Creating rules with built-in targets is supported only in the AWS Management Console. The +///

                                                        Creating rules with built-in targets is supported only in the Amazon Web Services Management Console. The /// built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API /// call, EC2 StopInstances API call, and EC2 TerminateInstances API /// call.

                                                        @@ -1347,33 +1350,33 @@ impl smithy_http::response::ParseStrictResponse for PutRule { /// using the KinesisParameters argument. To invoke a command on multiple EC2 /// instances with one rule, you can use the RunCommandParameters field.

                                                        ///

                                                        To be able to make API calls against the resources that you own, Amazon EventBridge -/// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS -/// resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data -/// streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on +/// needs the appropriate permissions. For Lambda and Amazon SNS +/// resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, +/// Step Functions state machines and API Gateway REST APIs, EventBridge relies on /// IAM roles that you specify in the RoleARN argument in PutTargets. /// For more information, see Authentication /// and Access Control in the Amazon EventBridge User Guide.

                                                        -///

                                                        If another AWS account is in the same region and has granted you permission (using +///

                                                        If another Amazon Web Services account is in the same region and has granted you permission (using /// PutPermission), you can send events to that account. Set that account's event /// bus as a target of the rules in your account. To send the matched events to the other account, /// specify that account's event bus as the Arn value when you run /// PutTargets. If your account sends events to another account, your account is /// charged for each sent event. Each event sent to another account is charged as a custom event. -/// The account receiving the event is not charged. For more information, see Amazon EventBridge (CloudWatch Events) +/// The account receiving the event is not charged. For more information, see Amazon EventBridge /// Pricing.

                                                        /// ///

                                                        /// Input, InputPath, and InputTransformer are not -/// available with PutTarget if the target is an event bus of a different AWS +/// available with PutTarget if the target is an event bus of a different Amazon Web Services /// account.

                                                        ///
                                                        ///

                                                        If you are setting the event bus of another account as the target, and that account /// granted permission to your account through an organization instead of directly by the account /// ID, then you must specify a RoleArn with proper permissions in the /// Target structure. For more information, see Sending and -/// Receiving Events Between AWS Accounts in the Amazon EventBridge User +/// Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User /// Guide.

                                                        -///

                                                        For more information about enabling cross-account events, see PutPermission.

                                                        +///

                                                        For more information about enabling cross-account events, see PutPermission.

                                                        ///

                                                        /// Input, InputPath, and /// InputTransformer are mutually exclusive and optional @@ -1433,10 +1436,10 @@ impl smithy_http::response::ParseStrictResponse for PutTargets { } } -///

                                                        Revokes the permission of another AWS account to be able to put events to the specified +///

                                                        Revokes the permission of another Amazon Web Services account to be able to put events to the specified /// event bus. Specify the account to revoke by the StatementId value that you /// associated with the account when you granted it permission with PutPermission. -/// You can find the StatementId by using DescribeEventBus.

                                                        +/// You can find the StatementId by using DescribeEventBus.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct RemovePermission { _private: (), @@ -1534,7 +1537,7 @@ impl smithy_http::response::ParseStrictResponse for StartReplay { /// help you organize and categorize your resources. You can also use them to scope user /// permissions by granting a user permission to access or change only resources with certain tag /// values. In EventBridge, rules and event buses can be tagged.

                                                        -///

                                                        Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of +///

                                                        Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of /// characters.

                                                        ///

                                                        You can use the TagResource action with a resource that already has tags. If /// you specify a new tag key, this tag is appended to the list of tags associated with the @@ -1567,7 +1570,7 @@ impl smithy_http::response::ParseStrictResponse for TagResource { } ///

                                                        Tests whether the specified event pattern matches the provided event.

                                                        -///

                                                        Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). +///

                                                        Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). /// However, EventBridge uses an exact match in event patterns and rules. Be sure to use the /// correct ARN characters when creating event patterns so that they match the ARN syntax in the /// event you want to match.

                                                        diff --git a/sdk/eventbridge/src/output.rs b/sdk/eventbridge/src/output.rs index aa0616587d64..d7329603a8db 100644 --- a/sdk/eventbridge/src/output.rs +++ b/sdk/eventbridge/src/output.rs @@ -1727,8 +1727,8 @@ pub struct DescribeRuleOutput { pub description: std::option::Option, ///

                                                        The Amazon Resource Name (ARN) of the IAM role associated with the rule.

                                                        pub role_arn: std::option::Option, - ///

                                                        If this is a managed rule, created by an AWS service on your behalf, this field displays - /// the principal name of the AWS service that created the rule.

                                                        + ///

                                                        If this is a managed rule, created by an Amazon Web Services service on your behalf, this field displays + /// the principal name of the Amazon Web Services service that created the rule.

                                                        pub managed_by: std::option::Option, ///

                                                        The name of the event bus associated with the rule.

                                                        pub event_bus_name: std::option::Option, @@ -1843,8 +1843,8 @@ pub mod describe_rule_output { self.role_arn = input; self } - ///

                                                        If this is a managed rule, created by an AWS service on your behalf, this field displays - /// the principal name of the AWS service that created the rule.

                                                        + ///

                                                        If this is a managed rule, created by an Amazon Web Services service on your behalf, this field displays + /// the principal name of the Amazon Web Services service that created the rule.

                                                        pub fn managed_by(mut self, input: impl Into) -> Self { self.managed_by = Some(input.into()); self diff --git a/sdk/examples/batch/src/bin/batch-helloworld.rs b/sdk/examples/batch/src/bin/batch-helloworld.rs deleted file mode 100644 index 0d10661f8bbd..000000000000 --- a/sdk/examples/batch/src/bin/batch-helloworld.rs +++ /dev/null @@ -1,61 +0,0 @@ -use aws_types::region::ProvideRegion; -use batch::{Client, Config, Error, Region}; -use structopt::StructOpt; - -#[derive(Debug, StructOpt)] -struct Opt { - /// The default AWS Region. - #[structopt(short, long)] - default_region: Option, - - /// Whether to display additional information. - #[structopt(short, long)] - verbose: bool, -} - -/// Lists the names and the ARNs of your batch compute environments in a Region. -/// # Arguments -/// -/// * `[-d DEFAULT-REGION]` - The Region in which the client is created. -/// If not supplied, uses the value of the **AWS_REGION** environment variable. -/// If the environment variable is not set, defaults to **us-west-2**. -/// * `[-v]` - Whether to display information. -#[tokio::main] -async fn main() -> Result<(), Error> { - tracing_subscriber::fmt::init(); - let Opt { - default_region, - verbose, - } = Opt::from_args(); - - let region = default_region - .as_ref() - .map(|region| Region::new(region.clone())) - .or_else(|| aws_types::region::default_provider().region()) - .unwrap_or_else(|| Region::new("us-west-2")); - - println!(); - - if verbose { - println!("Batch client version: {}", batch::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!(); - } - - let conf = Config::builder().region(®ion).build(); - let client = Client::from_conf(conf); - let rsp = client.describe_compute_environments().send().await?; - - let compute_envs = rsp.compute_environments.unwrap_or_default(); - println!("Found {} compute environments:", compute_envs.len()); - for env in compute_envs { - let arn = env.compute_environment_arn.as_deref().unwrap_or_default(); - let name = env.compute_environment_name.as_deref().unwrap_or_default(); - - println!(" Name : {}", name); - println!(" ARN: {}", arn); - println!(); - } - - Ok(()) -} diff --git a/sdk/examples/batch/src/bin/helloworld.rs b/sdk/examples/batch/src/bin/helloworld.rs new file mode 100644 index 000000000000..414dafb6fd11 --- /dev/null +++ b/sdk/examples/batch/src/bin/helloworld.rs @@ -0,0 +1,26 @@ +use batch::Region; + +#[tokio::main] +async fn main() -> Result<(), batch::Error> { + tracing_subscriber::fmt::init(); + + let conf = batch::Config::builder() + .region(Region::new("us-east-2")) + .build(); + let client = batch::Client::from_conf(conf); + let rsp = client.describe_compute_environments().send().await?; + + let compute_envs = rsp.compute_environments.unwrap_or_default(); + println!("Compute environments ({}):", compute_envs.len()); + for env in compute_envs { + let arn = env.compute_environment_arn.as_deref().unwrap_or_default(); + let name = env.compute_environment_name.as_deref().unwrap_or_default(); + + println!( + " Compute Environment Name : {}, Compute Environment ARN : {}", + name, arn + ); + } + + Ok(()) +} diff --git a/sdk/examples/cognitoidentityprovider/Cargo.toml b/sdk/examples/cognitoidentityprovider/Cargo.toml index 556267fbe3c9..c82970b36027 100644 --- a/sdk/examples/cognitoidentityprovider/Cargo.toml +++ b/sdk/examples/cognitoidentityprovider/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "cognitoidentityprovider-code-examples" version = "0.1.0" -authors = ["John DiSanti "] +authors = ["John DiSanti ", "Doug Schwartz "] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -cognitoidentityprovider = { package = "aws-sdk-cognitoidentityprovider", path = "../../cognitoidentityprovider" } +aws-sdk-cognitoidentityprovider = { package = "aws-sdk-cognitoidentityprovider", path = "../../cognitoidentityprovider" } aws-types = { path = "../../aws-types" } tokio = { version = "1", features = ["full"] } structopt = { version = "0.3", default-features = false } diff --git a/sdk/examples/cognitoidentityprovider/src/bin/list-user-pools.rs b/sdk/examples/cognitoidentityprovider/src/bin/list-user-pools.rs index b9cfca7b280c..44ec2b7734a5 100644 --- a/sdk/examples/cognitoidentityprovider/src/bin/list-user-pools.rs +++ b/sdk/examples/cognitoidentityprovider/src/bin/list-user-pools.rs @@ -3,28 +3,28 @@ * SPDX-License-Identifier: Apache-2.0. */ -use aws_types::region::{self, ProvideRegion}; -use cognitoidentityprovider::{Client, Config, Error, Region}; +use aws_sdk_cognitoidentityprovider::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Opt { - /// The region + /// The AWS Region. #[structopt(short, long)] region: Option, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } -/// Lists your Amazon Cognito user pools +/// Lists your Amazon Cognito user pools in the Region. /// # Arguments /// /// * `[-r REGION]` - The region containing the buckets. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. -/// * `[-g]` - Whether to display buckets in all regions. /// * `[-v]` - Whether to display additional information. #[tokio::main] async fn main() -> Result<(), Error> { @@ -32,20 +32,20 @@ async fn main() -> Result<(), Error> { let Opt { region, verbose } = Opt::from_args(); - let region_provider = region::ChainProvider::first_try(region.map(Region::new)) + let region = region::ChainProvider::first_try(region.map(Region::new)) .or_default_provider() .or_else(Region::new("us-west-2")); if verbose { + println!("Cognito client version: {}", PKG_VERSION); println!( - "Cognito client version: {}", - cognitoidentityprovider::PKG_VERSION + "Region: {}", + region.region().unwrap().as_ref() ); - println!("Region: {:?}", region_provider.region()); println!(); } - let config = Config::builder().region(region_provider).build(); + let config = Config::builder().region(region).build(); let client = Client::from_conf(config); let response = client.list_user_pools().max_results(10).send().await?; @@ -55,13 +55,19 @@ async fn main() -> Result<(), Error> { println!(" ID: {}", pool.id.unwrap_or_default()); println!(" Name: {}", pool.name.unwrap_or_default()); println!(" Status: {:?}", pool.status); - println!(" Lambda Config: {:?}", pool.lambda_config); - println!(" Last modified: {:?}", pool.last_modified_date); - println!(" Creation date: {:?}", pool.creation_date); + println!(" Lambda Config: {:?}", pool.lambda_config.unwrap()); + println!( + " Last modified: {}", + pool.last_modified_date.unwrap().to_chrono() + ); + println!( + " Creation date: {:?}", + pool.creation_date.unwrap().to_chrono() + ); println!(); } } - println!("Next token: {:?}", response.next_token); + println!("Next token: {}", response.next_token.unwrap_or_default()); Ok(()) } diff --git a/sdk/examples/cognitosync/Cargo.toml b/sdk/examples/cognitosync/Cargo.toml index f6fb8a6570a4..bd33f7d8c29d 100644 --- a/sdk/examples/cognitosync/Cargo.toml +++ b/sdk/examples/cognitosync/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "cognitosync" +name = "cognitosync-code-examples" version = "0.1.0" -authors = ["John DiSanti "] +authors = ["John DiSanti ", "Doug Schwartz "] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -cognitosync = { package = "aws-sdk-cognitosync", path = "../../cognitosync" } +aws-sdk-cognitosync = { package = "aws-sdk-cognitosync", path = "../../cognitosync" } aws-types = { path = "../../aws-types" } tokio = { version = "1", features = ["full"] } structopt = { version = "0.3", default-features = false } diff --git a/sdk/examples/cognitosync/src/bin/list-identity-pool-usage.rs b/sdk/examples/cognitosync/src/bin/list-identity-pool-usage.rs index 36fe4b5f44a7..f7e6c618e053 100644 --- a/sdk/examples/cognitosync/src/bin/list-identity-pool-usage.rs +++ b/sdk/examples/cognitosync/src/bin/list-identity-pool-usage.rs @@ -3,26 +3,27 @@ * SPDX-License-Identifier: Apache-2.0. */ -use aws_types::region::{self, ProvideRegion}; -use cognitosync::{Client, Config, Error, Region}; +use aws_sdk_cognitosync::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Opt { - /// The region + /// The AWS Region. #[structopt(short, long)] region: Option, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } -/// Lists identity pools registered with Amazon Cognito +/// Lists the identity pools registered with Amazon Cognito in the Region. /// # Arguments /// /// * `[-r REGION]` - The region containing the buckets. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-g]` - Whether to display buckets in all regions. /// * `[-v]` - Whether to display additional information. @@ -32,17 +33,22 @@ async fn main() -> Result<(), Error> { let Opt { region, verbose } = Opt::from_args(); - let region_provider = region::ChainProvider::first_try(region.map(Region::new)) + let region = region::ChainProvider::first_try(region.map(Region::new)) .or_default_provider() .or_else(Region::new("us-west-2")); + println!(); + if verbose { - println!("Cognito client version: {}", cognitosync::PKG_VERSION); - println!("Region: {:?}", region_provider.region()); + println!("Cognito client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); println!(); } - let config = Config::builder().region(region_provider).build(); + let config = Config::builder().region(region).build(); let client = Client::from_conf(config); let response = client @@ -50,19 +56,31 @@ async fn main() -> Result<(), Error> { .max_results(10) .send() .await?; + if let Some(pools) = response.identity_pool_usages { println!("Identity pools:"); + for pool in pools { println!( " Identity pool ID: {}", pool.identity_pool_id.unwrap_or_default() ); - println!(" Data storage: {:?}", pool.data_storage); - println!(" Sync sessions count: {:?}", pool.sync_sessions_count); - println!(" Last modified: {:?}", pool.last_modified_date); + println!( + " Data storage: {}", + pool.data_storage.unwrap_or_default() + ); + println!( + " Sync sessions count: {}", + pool.sync_sessions_count.unwrap_or_default() + ); + println!( + " Last modified: {}", + pool.last_modified_date.unwrap().to_chrono() + ); println!(); } } + println!("Next token: {:?}", response.next_token); Ok(()) diff --git a/sdk/examples/dynamo-add-item/Cargo.toml b/sdk/examples/dynamo-add-item/Cargo.toml deleted file mode 100644 index 6588632c44f1..000000000000 --- a/sdk/examples/dynamo-add-item/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-put-item" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-create-table/Cargo.toml b/sdk/examples/dynamo-create-table/Cargo.toml deleted file mode 100644 index 8e08d628943e..000000000000 --- a/sdk/examples/dynamo-create-table/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-create-table" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-delete-item/Cargo.toml b/sdk/examples/dynamo-delete-item/Cargo.toml deleted file mode 100644 index 9cbb0bfcff1a..000000000000 --- a/sdk/examples/dynamo-delete-item/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-delete-item" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-delete-table/Cargo.toml b/sdk/examples/dynamo-delete-table/Cargo.toml deleted file mode 100644 index 9ba1b5a9a595..000000000000 --- a/sdk/examples/dynamo-delete-table/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-delete-table" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-delete-table/src/main.rs b/sdk/examples/dynamo-delete-table/src/main.rs deleted file mode 100644 index 0488136f9825..000000000000 --- a/sdk/examples/dynamo-delete-table/src/main.rs +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -use std::process; - -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - -use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; - -#[derive(Debug, StructOpt)] -struct Opt { - /// The region - #[structopt(short, long)] - region: Option, - - /// The table name - #[structopt(short, long)] - table: String, - - /// Activate verbose mode - #[structopt(short, long)] - verbose: bool, -} - -#[tokio::main] -async fn main() { - let Opt { - table, - region, - verbose, - } = Opt::from_args(); - - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); - - if verbose { - println!("DynamoDB client version: {}\n", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Table: {}", table); - - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); - } - - let config = Config::builder().region(region).build(); - - let client = Client::from_conf(config); - - match client.delete_table().table_name(table).send().await { - Ok(_) => println!("Deleted table"), - Err(e) => { - println!("Got an error deleting the table:"); - println!("{}", e); - process::exit(1); - } - }; -} diff --git a/sdk/examples/dynamo-helloworld/Cargo.toml b/sdk/examples/dynamo-helloworld/Cargo.toml deleted file mode 100644 index 1ce4efa905db..000000000000 --- a/sdk/examples/dynamo-helloworld/Cargo.toml +++ /dev/null @@ -1,20 +0,0 @@ -[package] -name = "dynamo-helloworld" -version = "0.1.0" -authors = ["Russell Cohen "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -### To use native TLS: -# dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb", default-features = false, features = ["native-tls"] } - -tokio = { version = "1", features = ["full"] } - -# used only for static endpoint configuration: -http = "0.2.3" - -# used only to enable basic logging: -env_logger = "0.8.2" diff --git a/sdk/examples/dynamo-helloworld/src/main.rs b/sdk/examples/dynamo-helloworld/src/main.rs deleted file mode 100644 index 1717462128a3..000000000000 --- a/sdk/examples/dynamo-helloworld/src/main.rs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -use dynamodb::model::{ - AttributeDefinition, KeySchemaElement, KeyType, ProvisionedThroughput, ScalarAttributeType, -}; - -#[tokio::main] -async fn main() -> Result<(), dynamodb::Error> { - let client = dynamodb::Client::from_env(); - let tables = client.list_tables().send().await?; - - println!("Current DynamoDB tables: {:?}", tables); - - let new_table = client - .create_table() - .table_name("test-table") - .key_schema( - KeySchemaElement::builder() - .attribute_name("k") - .key_type(KeyType::Hash) - .build(), - ) - .attribute_definitions( - AttributeDefinition::builder() - .attribute_name("k") - .attribute_type(ScalarAttributeType::S) - .build(), - ) - .provisioned_throughput( - ProvisionedThroughput::builder() - .write_capacity_units(10) - .read_capacity_units(10) - .build(), - ) - .send() - .await?; - println!( - "new table: {:#?}", - &new_table.table_description.unwrap().table_arn.unwrap() - ); - Ok(()) -} diff --git a/sdk/examples/dynamo-list-items/Cargo.toml b/sdk/examples/dynamo-list-items/Cargo.toml deleted file mode 100644 index 38b0d74b4d57..000000000000 --- a/sdk/examples/dynamo-list-items/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-list-items" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-list-items/src/main.rs b/sdk/examples/dynamo-list-items/src/main.rs deleted file mode 100644 index 31e7e3087a31..000000000000 --- a/sdk/examples/dynamo-list-items/src/main.rs +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -use std::process; - -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - -use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; - -#[derive(Debug, StructOpt)] -struct Opt { - /// The region - #[structopt(short, long)] - region: Option, - - #[structopt(short, long)] - table: String, - - #[structopt(short, long)] - verbose: bool, -} - -#[tokio::main] -async fn main() { - let Opt { - table, - region, - verbose, - } = Opt::from_args(); - - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); - - if verbose { - println!("DynamoDB client version: {}\n", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Table: {}", table); - - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); - } - - let config = Config::builder().region(region).build(); - - let client = Client::from_conf(config); - - let t = &table; - - match client.scan().table_name(t).send().await { - Ok(resp) => { - println!("Items in table {}:", table); - - let items = resp.items.unwrap_or_default(); - - for item in items { - println!(" {:?}", item); - } - } - Err(e) => { - println!("Got an error listing items:"); - println!("{}", e); - process::exit(1); - } - }; -} diff --git a/sdk/examples/dynamo-list-tables/Cargo.toml b/sdk/examples/dynamo-list-tables/Cargo.toml deleted file mode 100644 index bde620292661..000000000000 --- a/sdk/examples/dynamo-list-tables/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "dynamodb-list-tables" -version = "0.1.0" -authors = ["Doug Schwartz "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -tokio = { version = "1", features = ["full"] } -structopt = { version = "0.3", default-features = false } -tracing-subscriber = { version = "0.2.16", features = ["fmt"] } -aws-types = { path = "../../aws-types" } diff --git a/sdk/examples/dynamo-list-tables/src/main.rs b/sdk/examples/dynamo-list-tables/src/main.rs deleted file mode 100644 index 4cae135b93ec..000000000000 --- a/sdk/examples/dynamo-list-tables/src/main.rs +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0. - */ - -use std::process; - -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - -use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; - -#[derive(Debug, StructOpt)] -struct Opt { - /// The region - #[structopt(short, long)] - region: Option, - - #[structopt(short, long)] - verbose: bool, -} - -#[tokio::main] -async fn main() { - let Opt { region, verbose } = Opt::from_args(); - - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); - - if verbose { - println!("DynamoDB client version: {}", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); - - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); - } - - let config = Config::builder().region(region).build(); - - let client = Client::from_conf(config); - - match client.list_tables().send().await { - Ok(resp) => { - println!("Tables:"); - - let names = resp.table_names.unwrap_or_default(); - - for name in &names { - println!(" {}", name); - } - - println!("Found {} tables", names.len()); - } - Err(e) => { - println!("Got an error listing tables:"); - println!("{}", e); - process::exit(1); - } - }; -} diff --git a/sdk/examples/dynamo-movies/Cargo.toml b/sdk/examples/dynamodb/Cargo.toml similarity index 51% rename from sdk/examples/dynamo-movies/Cargo.toml rename to sdk/examples/dynamodb/Cargo.toml index 1d3d78e19eec..a7a58cbfadad 100644 --- a/sdk/examples/dynamo-movies/Cargo.toml +++ b/sdk/examples/dynamodb/Cargo.toml @@ -1,22 +1,20 @@ [package] -name = "dynamo-movies" +name = "dynamodb-code-examples" version = "0.1.0" -authors = ["Russell Cohen "] +authors = ["Russell Cohen ", "Doug Schwartz "] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } -aws-hyper = { path = "../../aws-hyper"} +aws-sdk-dynamodb = { package = "aws-sdk-dynamodb", path = "../../dynamodb" } aws-http = { path = "../../aws-http"} +aws-hyper = { path = "../../aws-hyper"} +aws-types = { path = "../../aws-types" } smithy-http = { path = "../../smithy-http" } smithy-types = { path = "../../smithy-types" } tokio = { version = "1", features = ["full"] } +rand = "0.8.3" serde_json = "1" - -# used only for static endpoint configuration: -http = "0.2.3" - -# used only to enable basic logging: -env_logger = "0.8.2" +structopt = { version = "0.3", default-features = false } +tracing-subscriber = { version = "0.2.16", features = ["fmt"] } diff --git a/sdk/examples/dynamo-helloworld/README.md b/sdk/examples/dynamodb/src/bin/README.md similarity index 100% rename from sdk/examples/dynamo-helloworld/README.md rename to sdk/examples/dynamodb/src/bin/README.md diff --git a/sdk/examples/dynamo-add-item/src/main.rs b/sdk/examples/dynamodb/src/bin/add-item.rs similarity index 66% rename from sdk/examples/dynamo-add-item/src/main.rs rename to sdk/examples/dynamodb/src/bin/add-item.rs index 7896ff3c241e..0245437b9868 100644 --- a/sdk/examples/dynamo-add-item/src/main.rs +++ b/sdk/examples/dynamodb/src/bin/add-item.rs @@ -3,48 +3,44 @@ * SPDX-License-Identifier: Apache-2.0. */ +use aws_sdk_dynamodb::model::AttributeValue; +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; use std::process; - -use dynamodb::model::AttributeValue; -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; #[derive(Debug, StructOpt)] struct Opt { - /// The permission type of the user, standard_user or admin + /// The permission type of the user, standard_user or admin. #[structopt(short, long)] p_type: String, - /// The user's age + /// The user's age. #[structopt(short, long)] age: String, - /// The user's username + /// The user's username. #[structopt(short, long)] username: String, - /// The user's first name + /// The user's first name. #[structopt(short, long)] first: String, - /// The user's last name + /// The user's last name. #[structopt(short, long)] last: String, - /// The table name + /// The table name. #[structopt(short, long)] table: String, - /// The region + /// The AWS Region. #[structopt(short, long)] region: Option, - /// Activate verbose mode + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } @@ -60,11 +56,11 @@ struct Opt { /// * `-f FIRST` - The first name of the user. /// * `-l LAST` - The last name of the user. /// * `[-r REGION]` - The region in which the table is created. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() { +async fn main() -> Result<(), Error> { let Opt { table, username, @@ -83,14 +79,18 @@ async fn main() { process::exit(1); } - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); if verbose { - println!("DynamoDB client version: {}\n", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); println!("Table: {}", table); println!("User: {}", username); println!("Type: {}", p_type); @@ -98,10 +98,7 @@ async fn main() { println!("First: {}", first); println!("Last: {}\n", last); - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); + println!(); } let config = Config::builder().region(region).build(); @@ -125,15 +122,12 @@ async fn main() { println!("Executing request [{:?}] to add item...", request); - match request.send().await { - Ok(_) => println!( - "Added user {}, {} {}, age {} as {} user", - username, first, last, age, p_type - ), - Err(e) => { - println!("Got an error adding item:"); - println!("{}", e); - process::exit(1); - } - }; + request.send().await?; + + println!( + "Added user {}, {} {}, age {} as {} user", + username, first, last, age, p_type + ); + + Ok(()) } diff --git a/sdk/examples/dynamo-create-table/src/main.rs b/sdk/examples/dynamodb/src/bin/create-table.rs similarity index 58% rename from sdk/examples/dynamo-create-table/src/main.rs rename to sdk/examples/dynamodb/src/bin/create-table.rs index 67182d2f5cfc..19ee7e46a2e8 100644 --- a/sdk/examples/dynamo-create-table/src/main.rs +++ b/sdk/examples/dynamodb/src/bin/create-table.rs @@ -3,18 +3,14 @@ * SPDX-License-Identifier: Apache-2.0. */ -use std::process; - -use dynamodb::model::{ +use aws_sdk_dynamodb::model::{ AttributeDefinition, KeySchemaElement, KeyType, ProvisionedThroughput, ScalarAttributeType, }; -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use std::process; use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; #[derive(Debug, StructOpt)] struct Opt { @@ -26,7 +22,7 @@ struct Opt { #[structopt(short, long)] table: String, - /// The region + /// The primary key #[structopt(short, long)] key: String, @@ -35,8 +31,18 @@ struct Opt { verbose: bool, } +/// Creates a DynamoDB table. +/// # Arguments +/// +/// * `-k KEY` - The primary key for the table. +/// * `-t TABLE` - The name of the table. +/// * `[-d DEFAULT-REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() { +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); let Opt { table, key, @@ -44,21 +50,22 @@ async fn main() { verbose, } = Opt::from_args(); - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); if verbose { - println!("DynamoDB client version: {}\n", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Table: {}", table); - println!("Key: {}\n", key); - - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", table); + println!("Key: {}", key); + + println!(); } let config = Config::builder().region(region).build(); @@ -95,4 +102,6 @@ async fn main() { process::exit(1); } }; + + Ok(()) } diff --git a/sdk/examples/dynamodb/src/bin/crud.rs b/sdk/examples/dynamodb/src/bin/crud.rs new file mode 100644 index 000000000000..5c39c19537ec --- /dev/null +++ b/sdk/examples/dynamodb/src/bin/crud.rs @@ -0,0 +1,380 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_http::AwsErrorRetryPolicy; +use aws_hyper::{SdkError, SdkSuccess}; +use aws_sdk_dynamodb::error::DescribeTableError; +use aws_sdk_dynamodb::input::DescribeTableInput; +use aws_sdk_dynamodb::model::{ + AttributeDefinition, AttributeValue, KeySchemaElement, KeyType, ProvisionedThroughput, + ScalarAttributeType, Select, TableStatus, +}; +use aws_sdk_dynamodb::operation::DescribeTable; +use aws_sdk_dynamodb::output::DescribeTableOutput; +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use rand::distributions::Alphanumeric; +use rand::{thread_rng, Rng}; +use smithy_http::operation::Operation; +use smithy_http::retry::ClassifyResponse; +use smithy_types::retry::RetryKind; +use std::io::{stdin, Read}; +use std::time::Duration; +use std::{iter, process}; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// Whether to run in interactive mode (you have to press return between operations) + #[structopt(short, long)] + interactive: bool, + + /// The AWS Region + #[structopt(short, long)] + region: Option, + + /// Activate verbose mode + #[structopt(short, long)] + verbose: bool, +} + +/// Create a random, n-length string +fn random_string(n: usize) -> String { + let mut rng = thread_rng(); + iter::repeat(()) + .map(|()| rng.sample(Alphanumeric)) + .map(char::from) + .take(n) + .collect() +} + +/// Create a new table. +async fn make_table( + client: &Client, + table: &str, + key: &str, +) -> Result<(), aws_hyper::SdkError> { + let ad = AttributeDefinition::builder() + .attribute_name(key) + .attribute_type(ScalarAttributeType::S) + .build(); + + let ks = KeySchemaElement::builder() + .attribute_name(key) + .key_type(KeyType::Hash) + .build(); + + let pt = ProvisionedThroughput::builder() + .read_capacity_units(10) + .write_capacity_units(5) + .build(); + + match client + .create_table() + .table_name(table) + .key_schema(ks) + .attribute_definitions(ad) + .provisioned_throughput(pt) + .send() + .await + { + Ok(_) => Ok(()), + Err(e) => Err(e), + } +} + +/// For add_item and query_item +#[derive(Clone)] +struct Item { + table: String, + key: String, + value: String, + first_name: String, + last_name: String, + age: String, + utype: String, +} + +/// Add an item to the table. +async fn add_item( + client: &Client, + item: Item, +) -> Result<(), SdkError> { + let user_av = AttributeValue::S(item.value); + let type_av = AttributeValue::S(item.utype); + let age_av = AttributeValue::S(item.age); + let first_av = AttributeValue::S(item.first_name); + let last_av = AttributeValue::S(item.last_name); + + match client + .put_item() + .table_name(item.table) + .item(item.key, user_av) + .item("account_type", type_av) + .item("age", age_av) + .item("first_name", first_av) + .item("last_name", last_av) + .send() + .await + { + Ok(_) => Ok(()), + Err(e) => Err(e), + } +} + +/// Query the table for an item matching the input values. +/// Returns true if the item is found; otherwise false. +async fn query_item(client: &Client, item: Item) -> bool { + let value = &item.value; + let key = &item.key; + let user_av = AttributeValue::S(value.to_string()); + + match client + .query() + .table_name(item.table) + .key_condition_expression("#key = :value".to_string()) + .expression_attribute_names("#key".to_string(), key.to_string()) + .expression_attribute_values(":value".to_string(), user_av) + .select(Select::AllAttributes) + .send() + .await + { + Ok(resp) => { + if resp.count > 0 { + println!("Found a matching entry in the table:"); + println!("{:?}", resp.items.unwrap_or_default().pop()); + true + } else { + println!("Did not find a match."); + false + } + } + Err(e) => { + println!("Got an error querying table:"); + println!("{}", e); + process::exit(1); + } + } +} + +/// Hand-written waiter to retry every second until the table is out of `Creating` state +#[derive(Clone)] +struct WaitForReadyTable { + inner: R, +} + +impl ClassifyResponse, SdkError> + for WaitForReadyTable +where + R: ClassifyResponse, SdkError>, +{ + fn classify( + &self, + response: Result<&SdkSuccess, &SdkError>, + ) -> RetryKind { + match self.inner.classify(response) { + RetryKind::NotRetryable => (), + other => return other, + }; + match response { + Ok(SdkSuccess { parsed, .. }) => { + if parsed + .table + .as_ref() + .unwrap() + .table_status + .as_ref() + .unwrap() + == &TableStatus::Creating + { + RetryKind::Explicit(Duration::from_secs(1)) + } else { + RetryKind::NotRetryable + } + } + _ => RetryKind::NotRetryable, + } + } +} + +/// Wait for the user to press Enter. +fn pause() { + println!("Press Enter to continue."); + stdin().read_exact(&mut [0]).unwrap(); +} + +/// Performs CRUD (create, read, update, delete) operations on a DynamoDB table and table item. +/// It creates a table, adds an item to the table, updates the item, deletes the item, and deletes the table. +/// The table name, primary key, and primary key value are all created as random strings. +/// +/// # Arguments +/// +/// * `[-i]` - Whether to pause between operations. +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { + interactive, + region, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + // Create 10-character random table name + let table = random_string(10); + + // Create a 6-character random key name + let key = random_string(6); + + // Create a 12-character random key value + let value = random_string(12); + + // Specify first name, last name, age, and type + let first_name = "DummyFirstName"; + let last_name = "DummyLastName"; + let age = "33"; + let utype = "standard_user"; + + println!(); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", table); + println!("Key: {}", key); + println!("Value: {}", value); + println!("First name: {}", first_name); + println!("Last name: {}", last_name); + println!("Age: {}", age); + println!("User type: {}", utype); + + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + /* Create table */ + println!("Creating the table."); + match make_table(&client, &table, &key).await { + Err(e) => { + println!("Got an error creating the table:"); + println!("{}", e); + process::exit(1); + } + Ok(_) => { + println!("Created the table."); + } + } + + println!("Waiting for table to be ready."); + + let raw_client = aws_hyper::Client::https(); + + raw_client + .call(wait_for_ready_table(&table, client.conf())) + .await + .expect("table should become ready."); + + println!("Table is now ready to use."); + + if interactive { + pause(); + } + + println!("Adding item to table."); + + let mut item = Item { + table: table.clone(), + key: key.clone(), + value: value.clone(), + first_name: first_name.to_string(), + last_name: last_name.to_string(), + age: age.to_string(), + utype: utype.to_string(), + }; + + add_item(&client, item.clone()).await?; + println!("Added item to table."); + + if interactive { + pause(); + } + + item.age = "44".to_string(); + + /* Update the item */ + println!("Modifying table item to change age to 44."); + + add_item(&client, item.clone()).await?; + + println!("Modified table item."); + + if interactive { + pause(); + } + + /* Get item and compare it with the one we added */ + println!("Comparing table item to original value."); + + query_item(&client, item).await; + + if interactive { + pause(); + } + + /* Delete item */ + println!("Deleting item."); + let user_av = AttributeValue::S(value); + client + .delete_item() + .table_name(&table) + .key(key, user_av) + .send() + .await?; + + println!("Deleted item."); + + if interactive { + pause(); + } + + /* Delete table */ + println!("Deleting table."); + client.delete_table().table_name(&table).send().await?; + println!("Deleted table."); + println!(); + + Ok(()) +} + +/// Construct a `DescribeTable` request with a policy to retry every second until the table +/// is ready +fn wait_for_ready_table( + table_name: &str, + conf: &Config, +) -> Operation> { + let operation = DescribeTableInput::builder() + .table_name(table_name) + .build() + .expect("valid input") + .make_operation(&conf) + .expect("valid operation"); + let waiting_policy = WaitForReadyTable { + inner: operation.retry_policy().clone(), + }; + operation.with_retry_policy(waiting_policy) +} diff --git a/sdk/examples/dynamo-movies/src/data.json b/sdk/examples/dynamodb/src/bin/data.json similarity index 100% rename from sdk/examples/dynamo-movies/src/data.json rename to sdk/examples/dynamodb/src/bin/data.json diff --git a/sdk/examples/dynamo-delete-item/src/main.rs b/sdk/examples/dynamodb/src/bin/delete-item.rs similarity index 57% rename from sdk/examples/dynamo-delete-item/src/main.rs rename to sdk/examples/dynamodb/src/bin/delete-item.rs index e1417c53529f..a62c0c6203b2 100644 --- a/sdk/examples/dynamo-delete-item/src/main.rs +++ b/sdk/examples/dynamodb/src/bin/delete-item.rs @@ -3,36 +3,32 @@ * SPDX-License-Identifier: Apache-2.0. */ +use aws_sdk_dynamodb::model::AttributeValue; +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; use std::process; - -use dynamodb::model::AttributeValue; -use dynamodb::{Client, Config, Region}; - -use aws_types::region::{EnvironmentProvider, ProvideRegion}; - use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; #[derive(Debug, StructOpt)] struct Opt { - /// The region + /// The AWS Region. #[structopt(short, long)] region: Option, - /// The table name + /// The name of the table. #[structopt(short, long)] table: String, - /// The key for the item in the table + /// The key for the item in the table. #[structopt(short, long)] key: String, - /// The value of the item to delete from the table + /// The value of the item to delete from the table. #[structopt(short, long)] value: String, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] info: bool, } @@ -44,12 +40,14 @@ struct Opt { /// * `-t TABLE` - The name of the table. /// * `-k KEY` - The table's primary key. /// * `-v VALUE` - The value of the item's primary key. -/// * `[-r REGION]` - The region in which the table is created. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-i]` - Whether to display additional information. #[tokio::main] -async fn main() { +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { info, key, @@ -58,21 +56,21 @@ async fn main() { value, } = Opt::from_args(); - let region = EnvironmentProvider::new() - .region() - .or_else(|| region.as_ref().map(|region| Region::new(region.clone()))) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); - if info { - println!("DynamoDB client version: {}", dynamodb::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Table: {}", table); - println!("Key: {}", key); + println!(); - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); + if info { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", &table); + println!("Key: {}", &key); + println!(); } let config = Config::builder().region(region).build(); @@ -93,4 +91,6 @@ async fn main() { process::exit(1); } }; + + Ok(()) } diff --git a/sdk/examples/dynamodb/src/bin/delete-table.rs b/sdk/examples/dynamodb/src/bin/delete-table.rs new file mode 100644 index 000000000000..770a2e506972 --- /dev/null +++ b/sdk/examples/dynamodb/src/bin/delete-table.rs @@ -0,0 +1,66 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// The name of the table. + #[structopt(short, long)] + table: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Deletes a DynamoDB table. +/// # Arguments +/// +/// * `-t TABLE` - The name of the table. +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + let Opt { + table, + region, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", &table); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + client.delete_table().table_name(table).send().await?; + + println!("Deleted table"); + + Ok(()) +} diff --git a/sdk/examples/dynamo-helloworld/docker-compose.yml b/sdk/examples/dynamodb/src/bin/docker-compose.yml similarity index 100% rename from sdk/examples/dynamo-helloworld/docker-compose.yml rename to sdk/examples/dynamodb/src/bin/docker-compose.yml diff --git a/sdk/examples/dynamodb/src/bin/dynamodb-helloworld.rs b/sdk/examples/dynamodb/src/bin/dynamodb-helloworld.rs new file mode 100644 index 000000000000..72ee6c49f46e --- /dev/null +++ b/sdk/examples/dynamodb/src/bin/dynamodb-helloworld.rs @@ -0,0 +1,86 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_dynamodb::model::{ + AttributeDefinition, KeySchemaElement, KeyType, ProvisionedThroughput, ScalarAttributeType, +}; +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Lists your DynamoDB tables and creates the table **test-table**. +/// # Arguments +/// +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { region, verbose } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let tables = client.list_tables().send().await?; + + println!("Current DynamoDB tables: {:?}", tables); + + let new_table = client + .create_table() + .table_name("test-table") + .key_schema( + KeySchemaElement::builder() + .attribute_name("k") + .key_type(KeyType::Hash) + .build(), + ) + .attribute_definitions( + AttributeDefinition::builder() + .attribute_name("k") + .attribute_type(ScalarAttributeType::S) + .build(), + ) + .provisioned_throughput( + ProvisionedThroughput::builder() + .write_capacity_units(10) + .read_capacity_units(10) + .build(), + ) + .send() + .await?; + println!( + "new table: {:#?}", + &new_table.table_description.unwrap().table_arn.unwrap() + ); + + Ok(()) +} diff --git a/sdk/examples/dynamodb/src/bin/list-items.rs b/sdk/examples/dynamodb/src/bin/list-items.rs new file mode 100644 index 000000000000..57c51e970b41 --- /dev/null +++ b/sdk/examples/dynamodb/src/bin/list-items.rs @@ -0,0 +1,71 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// The name of the table. + #[structopt(short, long)] + table: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Lists the items in a DynamoDB table. +/// # Arguments +/// +/// * `-t TABLE` - The name of the table. +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { + table, + region, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", &table); + + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let resp = client.scan().table_name(table).send().await?; + + println!("Items in table:"); + + if let Some(item) = resp.items { + println!(" {:?}", item); + } + + Ok(()) +} diff --git a/sdk/examples/dynamodb/src/bin/list-tables.rs b/sdk/examples/dynamodb/src/bin/list-tables.rs new file mode 100644 index 000000000000..85aef5448ff7 --- /dev/null +++ b/sdk/examples/dynamodb/src/bin/list-tables.rs @@ -0,0 +1,67 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Lists your DynamoDB tables. +/// # Arguments +/// +/// * `[-r REGION]` - The region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { region, verbose } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let resp = client.list_tables().send().await?; + + println!("Tables:"); + + let names = resp.table_names.unwrap_or_default(); + let len = names.len(); + + for name in names { + println!(" {}", name); + } + + println!("Found {} tables", len); + + Ok(()) +} diff --git a/sdk/examples/dynamo-movies/src/main.rs b/sdk/examples/dynamodb/src/bin/movies.rs similarity index 75% rename from sdk/examples/dynamo-movies/src/main.rs rename to sdk/examples/dynamodb/src/bin/movies.rs index 2a62df5d1be6..4368fe826586 100644 --- a/sdk/examples/dynamo-movies/src/main.rs +++ b/sdk/examples/dynamodb/src/bin/movies.rs @@ -5,22 +5,40 @@ use aws_http::AwsErrorRetryPolicy; use aws_hyper::{SdkError, SdkSuccess}; -use dynamodb::client::fluent_builders::Query; -use dynamodb::error::DescribeTableError; -use dynamodb::input::DescribeTableInput; -use dynamodb::model::{ +use aws_sdk_dynamodb::client::fluent_builders::Query; +use aws_sdk_dynamodb::error::DescribeTableError; +use aws_sdk_dynamodb::input::DescribeTableInput; +use aws_sdk_dynamodb::model::{ AttributeDefinition, AttributeValue, KeySchemaElement, KeyType, ProvisionedThroughput, ScalarAttributeType, TableStatus, }; -use dynamodb::operation::DescribeTable; -use dynamodb::output::DescribeTableOutput; -use dynamodb::{Config, Region}; +use aws_sdk_dynamodb::operation::DescribeTable; +use aws_sdk_dynamodb::output::DescribeTableOutput; +use aws_sdk_dynamodb::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; use serde_json::Value; use smithy_http::operation::Operation; use smithy_http::retry::ClassifyResponse; use smithy_types::retry::RetryKind; use std::collections::HashMap; use std::time::Duration; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// The name of the table. + #[structopt(short, long)] + table: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} /// A partial reimplementation of https://docs.amazonaws.cn/en_us/amazondynamodb/latest/developerguide/GettingStarted.Ruby.html /// in Rust @@ -30,12 +48,34 @@ use std::time::Duration; /// - Add a couple of rows /// - Query for those rows #[tokio::main] -async fn main() { - let table_name = "dynamo-movies-example"; - let conf = dynamodb::Config::builder() - .region(Region::new("us-east-1")) - .build(); - let client = dynamodb::Client::from_conf(conf); +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { + region, + table, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("DynamoDB client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Table: {}", &table); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + let raw_client = aws_hyper::Client::https(); let table_exists = client @@ -46,17 +86,17 @@ async fn main() { .table_names .as_ref() .unwrap() - .contains(&table_name.to_string()); + .contains(&table.to_string()); if !table_exists { - create_table(&client, table_name) + create_table(&client, &table.to_string()) .send() .await .expect("failed to create table"); } raw_client - .call(wait_for_ready_table(table_name, client.conf())) + .call(wait_for_ready_table(&table.to_string(), client.conf())) .await .expect("table should become ready"); @@ -69,20 +109,20 @@ async fn main() { for value in data { client .put_item() - .table_name(table_name) + .table_name(&table) .set_item(Some(parse_item(value))) .send() .await .expect("failed to insert item"); } - let films_2222 = movies_in_year(&client, table_name, 2222) + let films_2222 = movies_in_year(&client, &table.to_string(), 2222) .send() .await .expect("query should succeed"); // this isn't back to the future, there are no movies from 2022 assert_eq!(films_2222.count, 0); - let films_2013 = movies_in_year(&client, table_name, 2013) + let films_2013 = movies_in_year(&client, &table.to_string(), 2013) .send() .await .expect("query should succeed"); @@ -100,12 +140,14 @@ async fn main() { AttributeValue::S("Turn It Down, Or Else!".to_string()) ] ); + + Ok(()) } fn create_table( - client: &dynamodb::Client, + client: &Client, table_name: &str, -) -> dynamodb::client::fluent_builders::CreateTable { +) -> aws_sdk_dynamodb::client::fluent_builders::CreateTable { client .create_table() .table_name(table_name) @@ -161,7 +203,7 @@ fn value_to_item(value: Value) -> AttributeValue { } } -fn movies_in_year(client: &dynamodb::Client, table_name: &str, year: u16) -> Query { +fn movies_in_year(client: &Client, table_name: &str, year: u16) -> Query { client .query() .table_name(table_name) diff --git a/sdk/examples/s3/Cargo.toml b/sdk/examples/s3/Cargo.toml index 1757ba9744aa..e17f7bfd3be2 100644 --- a/sdk/examples/s3/Cargo.toml +++ b/sdk/examples/s3/Cargo.toml @@ -7,13 +7,11 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -s3 = { package = "aws-sdk-s3", path = "../../s3" } +aws-sdk-s3 = { package = "aws-sdk-s3", path = "../../s3" } aws-types = { path = "../../aws-types" } +aws-auth-providers = { path = "../../aws-auth-providers" } tokio = { version = "1", features = ["full"] } structopt = { version = "0.3", default-features = false } -tracing-subscriber = "0.2.18" - -[profile.dev] -split-debuginfo = "unpacked" +tracing-subscriber = "0.2.18" \ No newline at end of file diff --git a/sdk/examples/s3/src/bin/create-bucket.rs b/sdk/examples/s3/src/bin/create-bucket.rs index 4bfbd9926531..b7c722657cba 100644 --- a/sdk/examples/s3/src/bin/create-bucket.rs +++ b/sdk/examples/s3/src/bin/create-bucket.rs @@ -3,91 +3,76 @@ * SPDX-License-Identifier: Apache-2.0. */ -use std::process; - -use s3::{Client, Config, Region}; - -use s3::model::{BucketLocationConstraint, CreateBucketConfiguration}; - +use aws_sdk_s3::model::{BucketLocationConstraint, CreateBucketConfiguration}; +use aws_sdk_s3::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; use aws_types::region::ProvideRegion; - use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; #[derive(Debug, StructOpt)] struct Opt { - /// The default region + /// The AWS Region. #[structopt(short, long)] - default_region: Option, + region: Option, - /// The name of the bucket + /// The name of the bucket. #[structopt(short, long)] - name: String, + bucket: String, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } -/// Creates an Amazon S3 bucket +/// Creates an Amazon S3 bucket in the Region. /// # Arguments /// -/// * `-n NAME` - The name of the bucket. -/// * `[-d DEFAULT-REGION]` - The region containing the bucket. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `-b BUCKET` - The name of the bucket. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() { +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { - default_region, - name, + region, + bucket, verbose, } = Opt::from_args(); - let region = default_region - .as_ref() - .map(|region| Region::new(region.clone())) - .or_else(|| aws_types::region::default_provider().region()) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); - let r: &str = ®ion.as_ref(); + println!(); - if verbose { - println!("S3 client version: {}", s3::PKG_VERSION); - println!("Region: {:?}", ®ion); + let r_rgr = region.region().unwrap(); + let r_str = r_rgr.as_ref(); - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); + if verbose { + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", r_str); + println!("Bucket: {}", &bucket); + println!(); } - let config = Config::builder().region(®ion).build(); - - let client = Client::from_conf(config); + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); - let constraint = BucketLocationConstraint::from(r); + let constraint = BucketLocationConstraint::from(r_str); let cfg = CreateBucketConfiguration::builder() .location_constraint(constraint) .build(); - match client + client .create_bucket() .create_bucket_configuration(cfg) - .bucket(&name) + .bucket(bucket) .send() - .await - { - Ok(_) => { - println!("Created bucket {}", name); - } + .await?; + println!("Created bucket."); - Err(e) => { - println!("Got an error creating bucket:"); - println!("{}", e); - process::exit(1); - } - }; + Ok(()) } diff --git a/sdk/examples/s3/src/bin/delete-object.rs b/sdk/examples/s3/src/bin/delete-object.rs new file mode 100644 index 000000000000..7c7227ca10c0 --- /dev/null +++ b/sdk/examples/s3/src/bin/delete-object.rs @@ -0,0 +1,77 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_s3::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// The name of the bucket. + #[structopt(short, long)] + bucket: String, + + /// The object to delete. + #[structopt(short, long)] + key: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Deletes an object in an Amazon S3 bucket. +/// # Arguments +/// +/// * `-b BUCKET` - The name of the bucket. +/// * `-k KEY` - The names of the object to delete. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { + region, + bucket, + key, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", region.region().unwrap().as_ref()); + println!("Bucket: {}", &bucket); + println!("Key: {}", &key); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + client + .delete_object() + .bucket(&bucket) + .key(key) + .send() + .await?; + + println!("Object deleted."); + + Ok(()) +} diff --git a/sdk/examples/s3/src/bin/list-buckets.rs b/sdk/examples/s3/src/bin/list-buckets.rs index 873ba9c9692f..bbe341d7603d 100644 --- a/sdk/examples/s3/src/bin/list-buckets.rs +++ b/sdk/examples/s3/src/bin/list-buckets.rs @@ -3,86 +3,60 @@ * SPDX-License-Identifier: Apache-2.0. */ -use std::process; - -use s3::{Client, Config, Region}; - +use aws_sdk_s3::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; use aws_types::region::ProvideRegion; - use structopt::StructOpt; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; #[derive(Debug, StructOpt)] struct Opt { - /// The default region + /// The AWS Region. #[structopt(short, long)] - default_region: Option, + region: Option, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } -/// Lists your Amazon S3 buckets +/// Lists your Amazon S3 buckets in the Region. /// # Arguments /// -/// * `[-d DEFAULT-REGION]` - The region containing the buckets. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. -/// * `[-g]` - Whether to display buckets in all regions. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() { - let Opt { - default_region, - verbose, - } = Opt::from_args(); +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); - let region = default_region - .as_ref() - .map(|region| Region::new(region.clone())) - .or_else(|| aws_types::region::default_provider().region()) - .unwrap_or_else(|| Region::new("us-west-2")); + let Opt { region, verbose } = Opt::from_args(); - if verbose { - println!("S3 client version: {}", s3::PKG_VERSION); - println!("Region: {:?}", ®ion); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); - } + println!(); - let config = Config::builder().region(®ion).build(); - - let client = Client::from_conf(config); + if verbose { + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", region.region().unwrap().as_ref()); + println!(); + } - let mut num_buckets = 0; + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); - match client.list_buckets().send().await { - Ok(resp) => { - println!("\nBuckets:\n"); + let resp = client.list_buckets().send().await?; + let buckets = resp.buckets.unwrap_or_default(); + let num_buckets = buckets.len(); - let buckets = resp.buckets.unwrap_or_default(); + for bucket in &buckets { + println!("{}", bucket.name.as_deref().unwrap_or_default()); + } - for bucket in &buckets { - match &bucket.name { - None => {} - Some(b) => { - println!("{}", b); - num_buckets += 1; - } - } - } + println!(); + println!("Found {} buckets", num_buckets); - println!("\nFound {} buckets globally", num_buckets); - } - Err(e) => { - println!("Got an error listing buckets:"); - println!("{}", e); - process::exit(1); - } - }; + Ok(()) } diff --git a/sdk/examples/s3/src/bin/list-object-versions.rs b/sdk/examples/s3/src/bin/list-object-versions.rs new file mode 100644 index 000000000000..8b7767515947 --- /dev/null +++ b/sdk/examples/s3/src/bin/list-object-versions.rs @@ -0,0 +1,71 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_s3::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// The name of the bucket. + #[structopt(short, long)] + bucket: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Lists the versions of the objects in an Amazon S3 bucket. +/// # Arguments +/// +/// * `-b BUCKET` - The name of the bucket. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { + region, + bucket, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", region.region().unwrap().as_ref()); + println!("Bucket: {}", &bucket); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let resp = client.list_object_versions().bucket(&bucket).send().await?; + + for version in resp.versions.unwrap_or_default() { + println!(" {}", version.key.as_deref().unwrap_or_default()); + println!( + " version ID: {}", + version.version_id.as_deref().unwrap_or_default() + ); + } + + Ok(()) +} diff --git a/sdk/examples/s3/src/bin/list-objects.rs b/sdk/examples/s3/src/bin/list-objects.rs index df099963a5b9..bd25cb97da3f 100644 --- a/sdk/examples/s3/src/bin/list-objects.rs +++ b/sdk/examples/s3/src/bin/list-objects.rs @@ -3,26 +3,24 @@ * SPDX-License-Identifier: Apache-2.0. */ -use std::process; - -use s3::{Client, Config, Region}; - +use aws_sdk_s3::{Client, Config, Error, Region, PKG_VERSION}; use aws_types::region; +use aws_auth_providers::DefaultProviderChain; use aws_types::region::ProvideRegion; use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Opt { - /// The default region + /// The AWS Region. #[structopt(short, long)] - default_region: Option, + region: Option, - /// The name of the bucket + /// The name of the bucket. #[structopt(short, long)] bucket: String, - /// Whether to display additional information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } @@ -30,48 +28,49 @@ struct Opt { /// Lists the objects in an Amazon S3 bucket. /// # Arguments /// -/// * `-n NAME` - The name of the bucket. -/// * `[-d DEFAULT-REGION]` - The region containing the bucket. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `-b BUCKET` - The name of the bucket. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() { +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { - default_region, + region, bucket, verbose, } = Opt::from_args(); - let region = region::ChainProvider::first_try(default_region.map(Region::new)) + let region = region::ChainProvider::first_try(region.map(Region::new)) .or_default_provider() .or_else(Region::new("us-west-2")); - tracing_subscriber::fmt::init(); + println!(); + let credential_provider = DefaultProviderChain::builder().region(®ion).build(); if verbose { - println!("S3 client version: {}", s3::PKG_VERSION); - println!( - "Region: {:?}", - region.region().expect("region must be set") - ); + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", region.region().unwrap().as_ref()); + println!("Bucket: {}", &bucket); + println!(); } - let config = Config::builder().region(region).build(); + let config = Config::builder() + .region(region) + .credentials_provider(credential_provider) + .build(); let client = Client::from_conf(config); - match client.list_objects().bucket(&bucket).send().await { - Ok(resp) => { - println!("Objects:"); - for object in resp.contents.unwrap_or_default() { - println!(" `{}`", object.key.expect("objects have keys")); - } - } - Err(e) => { - println!("Got an error retrieving objects for bucket:"); - println!("{}", e); - process::exit(1); - } + let resp = client.list_objects_v2().bucket(&bucket).send().await?; + + println!("Objects:"); + + for object in resp.contents.unwrap_or_default() { + println!(" {}", object.key.as_deref().unwrap_or_default()); } + + Ok(()) } diff --git a/sdk/examples/s3/src/bin/s3-helloworld.rs b/sdk/examples/s3/src/bin/s3-helloworld.rs index ddc7795613e2..6c290f20e371 100644 --- a/sdk/examples/s3/src/bin/s3-helloworld.rs +++ b/sdk/examples/s3/src/bin/s3-helloworld.rs @@ -3,32 +3,28 @@ * SPDX-License-Identifier: Apache-2.0. */ -use s3::{ByteStream, Client, Config, Region}; - +use aws_sdk_s3::{ByteStream, Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; use aws_types::region::ProvideRegion; - -use structopt::StructOpt; - -use std::error::Error; use std::path::Path; -use tracing_subscriber::fmt::format::FmtSpan; -use tracing_subscriber::fmt::SubscriberBuilder; +use std::process; +use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Opt { - /// The region. Overrides environment variable AWS_DEFAULT_REGION. + /// The AWS Region. #[structopt(short, long)] - default_region: Option, + region: Option, - /// Specifies the bucket + /// The name of the bucket. #[structopt(short, long)] bucket: String, - /// Specifies the object in the bucket + /// The name of the object in the bucket. #[structopt(short, long)] key: String, - /// Whether to display additional runtime information + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } @@ -38,35 +34,33 @@ struct Opt { /// /// * `-b BUCKET` - The bucket to which the file is uploaded. /// * `-k KEY` - The name of the file to upload to the bucket. -/// * `[-d DEFAULT-REGION]` - The region in which the client is created. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() -> Result<(), Box> { +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + let Opt { bucket, - default_region, + region, key, verbose, } = Opt::from_args(); - let region = default_region - .as_ref() - .map(|region| Region::new(region.clone())) - .or_else(|| aws_types::region::default_provider().region()) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); if verbose { - println!("S3 client version: {}\n", s3::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Bucket: {}", bucket); - println!("Key: {}", key); - - SubscriberBuilder::default() - .with_env_filter("info") - .with_span_events(FmtSpan::CLOSE) - .init(); + println!("S3 client version: {}", PKG_VERSION); + println!("Region: {}", region.region().unwrap().as_ref()); + println!("Bucket: {}", &bucket); + println!("Key: {}", &key); + println!(); } let conf = Config::builder().region(region).build(); @@ -75,23 +69,33 @@ async fn main() -> Result<(), Box> { let resp = client.list_buckets().send().await?; for bucket in resp.buckets.unwrap_or_default() { - println!("bucket: {:?}", bucket.name.expect("buckets have names")) + println!("bucket: {:?}", bucket.name.as_deref().unwrap_or_default()) } - let body = ByteStream::from_path(Path::new("Cargo.toml")).await?; - - let resp = client - .put_object() - .bucket(&bucket) - .key(&key) - .body(body) - .send() - .await?; - - println!("Upload success. Version: {:?}", resp.version_id); + let body = ByteStream::from_path(Path::new("Cargo.toml")).await; + + match body { + Ok(b) => { + let resp = client + .put_object() + .bucket(&bucket) + .key(&key) + .body(b) + .send() + .await?; + + println!("Upload success. Version: {:?}", resp.version_id); + + let resp = client.get_object().bucket(bucket).key(key).send().await?; + let data = resp.body.collect().await; + println!("data: {:?}", data.unwrap().into_bytes()); + } + Err(e) => { + println!("Got an error DOING SOMETHING:"); + println!("{}", e); + process::exit(1); + } + } - let resp = client.get_object().bucket(bucket).key(key).send().await?; - let data = resp.body.collect().await?; - println!("data: {:?}", data.into_bytes()); Ok(()) } diff --git a/sdk/examples/sns/Cargo.toml b/sdk/examples/sns/Cargo.toml index 1e17bd38ac8b..1627fa00b65e 100644 --- a/sdk/examples/sns/Cargo.toml +++ b/sdk/examples/sns/Cargo.toml @@ -7,10 +7,8 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -sns = { package = "aws-sdk-sns", path = "../../sns" } +aws-sdk-sns = { package = "aws-sdk-sns", path = "../../sns" } aws-types = { path = "../../aws-types" } - tokio = { version = "1", features = ["full"] } -tracing-subscriber = "0.2.18" - structopt = { version = "0.3", default-features = false } +tracing-subscriber = "0.2.18" \ No newline at end of file diff --git a/sdk/examples/sns/src/bin/create-topic.rs b/sdk/examples/sns/src/bin/create-topic.rs new file mode 100644 index 000000000000..d679c63b8743 --- /dev/null +++ b/sdk/examples/sns/src/bin/create-topic.rs @@ -0,0 +1,71 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_sns::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// Specifies the topic name. + #[structopt(short, long)] + topic: String, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Creates an Amazon SNS topic. +/// # Arguments +/// +/// * `-t TOPIC` - The name of the topic. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { + region, + topic, + verbose, + } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("SNS client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Topic: {}", &topic); + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let resp = client.create_topic().name(topic).send().await?; + + println!( + "Created topic with ARN: {}", + resp.topic_arn.as_deref().unwrap_or_default() + ); + + Ok(()) +} diff --git a/sdk/examples/sns/src/bin/list-topics.rs b/sdk/examples/sns/src/bin/list-topics.rs new file mode 100644 index 000000000000..56aaf6d8c8bf --- /dev/null +++ b/sdk/examples/sns/src/bin/list-topics.rs @@ -0,0 +1,62 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_sns::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; +use aws_types::region::ProvideRegion; +use structopt::StructOpt; + +#[derive(Debug, StructOpt)] +struct Opt { + /// The AWS Region. + #[structopt(short, long)] + region: Option, + + /// Whether to display additional information. + #[structopt(short, long)] + verbose: bool, +} + +/// Lists your Amazon SNS topics in the region. +/// # Arguments +/// +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. +/// If the environment variable is not set, defaults to **us-west-2**. +/// * `[-v]` - Whether to display additional information. +#[tokio::main] +async fn main() -> Result<(), Error> { + tracing_subscriber::fmt::init(); + + let Opt { region, verbose } = Opt::from_args(); + + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); + + if verbose { + println!("SNS client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + + println!(); + } + + let conf = Config::builder().region(region).build(); + let client = Client::from_conf(conf); + + let resp = client.list_topics().send().await?; + + println!("Topic ARNs:"); + + for topic in resp.topics.unwrap_or_default() { + println!("{}", topic.topic_arn.as_deref().unwrap_or_default()); + } + Ok(()) +} diff --git a/sdk/examples/sns/src/bin/sns-hello-world.rs b/sdk/examples/sns/src/bin/sns-hello-world.rs index 19f059421ea9..a94044b41e50 100644 --- a/sdk/examples/sns/src/bin/sns-hello-world.rs +++ b/sdk/examples/sns/src/bin/sns-hello-world.rs @@ -2,25 +2,26 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ - -use sns::{Client, Config, Region}; -use std::process::exit; - +use aws_sdk_sns::{Client, Config, Error, Region, PKG_VERSION}; +use aws_types::region; use aws_types::region::ProvideRegion; - use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Opt { - /// The region. Overrides environment variable AWS_DEFAULT_REGION. + /// The AWS Region. #[structopt(short, long)] - default_region: Option, + region: Option, - /// Specifies the email address to subscribe to the topic + /// The email address to subscribe to the topic. #[structopt(short, long)] email_address: String, - /// Whether to display additional runtime information + /// The ARN of the topic. + #[structopt(short, long)] + topic_arn: String, + + /// Whether to display additional information. #[structopt(short, long)] verbose: bool, } @@ -31,45 +32,42 @@ struct Opt { /// # Arguments /// /// * `-e EMAIL_ADDRESS` - The email address of a user subscribing to the topic. -/// * `[-d DEFAULT-REGION]` - The region in which the client is created. -/// If not supplied, uses the value of the **AWS_DEFAULT_REGION** environment variable. +/// * `-t TOPIC_ARN` - The ARN of the topic. +/// * `[-r REGION]` - The Region in which the client is created. +/// If not supplied, uses the value of the **AWS_REGION** environment variable. /// If the environment variable is not set, defaults to **us-west-2**. /// * `[-v]` - Whether to display additional information. #[tokio::main] -async fn main() -> Result<(), sns::Error> { +async fn main() -> Result<(), Error> { tracing_subscriber::fmt::init(); let Opt { - default_region, + region, email_address, + topic_arn, verbose, } = Opt::from_args(); - let region = default_region - .as_ref() - .map(|region| Region::new(region.clone())) - .or_else(|| aws_types::region::default_provider().region()) - .unwrap_or_else(|| Region::new("us-west-2")); + let region = region::ChainProvider::first_try(region.map(Region::new)) + .or_default_provider() + .or_else(Region::new("us-west-2")); + + println!(); if verbose { - println!("SNS client version: {}", sns::PKG_VERSION); - println!("Region: {:?}", ®ion); - println!("Email address: {}", &email_address); + println!("SNS client version: {}", PKG_VERSION); + println!( + "Region: {}", + region.region().unwrap().as_ref() + ); + println!("Email address: {}", &email_address); + println!("Topic ARN: {}", &topic_arn); + println!(); } let conf = Config::builder().region(region).build(); let client = Client::from_conf(conf); - let topics = client.list_topics().send().await?; - let mut topics = topics.topics.unwrap_or_default(); - let topic_arn = match topics.pop() { - Some(topic) => topic.topic_arn.expect("topics have ARNs"), - None => { - eprintln!("No topics in this account. Please create a topic to proceed"); - exit(1); - } - }; - println!("Receiving on topic with ARN: `{}`", topic_arn); let rsp = client diff --git a/sdk/finspace/Cargo.toml b/sdk/finspace/Cargo.toml index 1b5ad7155e25..7260503d0c11 100644 --- a/sdk/finspace/Cargo.toml +++ b/sdk/finspace/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-finspace" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The FinSpace management service provides the APIs for managing the FinSpace\n environments.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/finspacedata/Cargo.toml b/sdk/finspacedata/Cargo.toml index 9f285aeababc..37dc75b74457 100644 --- a/sdk/finspacedata/Cargo.toml +++ b/sdk/finspacedata/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-finspacedata" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The FinSpace APIs let you take actions inside the FinSpace environment.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/firehose/Cargo.toml b/sdk/firehose/Cargo.toml index e86f1b39d16e..98fe3b33a12f 100644 --- a/sdk/firehose/Cargo.toml +++ b/sdk/firehose/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-firehose" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Kinesis Data Firehose API Reference\n

                                                        Amazon Kinesis Data Firehose is a fully managed service that delivers real-time\n streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon\n Elasticsearch Service (Amazon ES), Amazon Redshift, and Splunk.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/fis/Cargo.toml b/sdk/fis/Cargo.toml index 399e961c18de..83e193f4ded2 100644 --- a/sdk/fis/Cargo.toml +++ b/sdk/fis/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-fis" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS Fault Injection Simulator is a managed service that enables you to perform fault injection \n experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/fms/Cargo.toml b/sdk/fms/Cargo.toml index 236cd2ffdfff..5649fb95e1d8 100644 --- a/sdk/fms/Cargo.toml +++ b/sdk/fms/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-fms" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the Firewall Manager API Reference. This guide is for\n developers who need detailed information about the Firewall Manager API actions, data\n types, and errors. For detailed information about Firewall Manager features, see the\n Firewall Manager Developer Guide.

                                                        \n

                                                        Some API actions require explicit resource permissions. For information, see the developer guide topic \n Firewall Manager required permissions for API actions.\n

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/forecast/Cargo.toml b/sdk/forecast/Cargo.toml index be1589e7f5db..1ecbb094bd94 100644 --- a/sdk/forecast/Cargo.toml +++ b/sdk/forecast/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-forecast" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Provides APIs for creating and managing Amazon Forecast resources.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/forecastquery/Cargo.toml b/sdk/forecastquery/Cargo.toml index e2f64d6ba388..7b2c4658ce51 100644 --- a/sdk/forecastquery/Cargo.toml +++ b/sdk/forecastquery/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-forecastquery" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Provides APIs for creating and managing Amazon Forecast resources.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/frauddetector/Cargo.toml b/sdk/frauddetector/Cargo.toml index 03fac3398491..68edb269595e 100644 --- a/sdk/frauddetector/Cargo.toml +++ b/sdk/frauddetector/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-frauddetector" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the Amazon Fraud Detector API Reference. This guide is for developers who need\n detailed information about Amazon Fraud Detector API actions, data types, and errors. For\n more information about Amazon Fraud Detector features, see the Amazon Fraud Detector User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/fsx/Cargo.toml b/sdk/fsx/Cargo.toml index 09dfa1554368..81a990ed1916 100644 --- a/sdk/fsx/Cargo.toml +++ b/sdk/fsx/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-fsx" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon FSx is a fully managed service that makes it easy for storage and\n application administrators to launch and use shared file storage.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/gamelift/Cargo.toml b/sdk/gamelift/Cargo.toml index a05c27bfe286..68f1690cf54d 100644 --- a/sdk/gamelift/Cargo.toml +++ b/sdk/gamelift/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-gamelift" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon GameLift Service\n

                                                        GameLift provides solutions for hosting session-based multiplayer game servers in the\n cloud, including tools for deploying, operating, and scaling game servers. Built on AWS\n global computing infrastructure, GameLift helps you deliver high-performance,\n high-reliability, low-cost game servers while dynamically scaling your resource usage to\n meet player demand.

                                                        \n

                                                        \n About GameLift solutions\n

                                                        \n

                                                        Get more information on these GameLift solutions in the GameLift Developer Guide.

                                                        \n
                                                          \n
                                                        • \n

                                                          GameLift managed hosting -- GameLift offers a fully managed service to set up and maintain\n computing machines for hosting, manage game session and player session life\n cycle, and handle security, storage, and performance tracking. You can use\n automatic scaling tools to balance player demand and hosting costs, configure\n your game session management to minimize player latency, and add FlexMatch for\n matchmaking.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Managed hosting with Realtime Servers -- With GameLift Realtime Servers, you can quickly configure and set up\n ready-to-go game servers for your game. Realtime Servers provides a game server framework\n with core GameLift infrastructure already built in. Then use the full range of\n GameLift managed hosting features, including FlexMatch, for your game.

                                                          \n
                                                        • \n
                                                        • \n

                                                          GameLift FleetIQ -- Use GameLift FleetIQ as a standalone service while hosting your games using EC2 instances and\n Auto Scaling groups. GameLift FleetIQ provides optimizations for game hosting, including\n boosting the viability of low-cost Spot Instances gaming. For a complete\n solution, pair the GameLift FleetIQ and FlexMatch standalone services.

                                                          \n
                                                        • \n
                                                        • \n

                                                          GameLift FlexMatch -- Add matchmaking to your game hosting solution. FlexMatch is a\n customizable matchmaking service for multiplayer games. Use FlexMatch as\n integrated with GameLift managed hosting or incorporate FlexMatch as a standalone\n service into your own hosting solution.

                                                          \n
                                                        • \n
                                                        \n

                                                        \n About this API Reference\n

                                                        \n

                                                        This reference guide describes the low-level service API for Amazon GameLift. With each topic\n in this guide, you can find links to language-specific SDK guides and the AWS CLI\n reference. Useful links:

                                                        \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/globalaccelerator/Cargo.toml b/sdk/globalaccelerator/Cargo.toml index 261e46229770..6419e47fd3cd 100644 --- a/sdk/globalaccelerator/Cargo.toml +++ b/sdk/globalaccelerator/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-globalaccelerator" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Global Accelerator\n\t\t

                                                        This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about\n\t\t\tAWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the \n\t\t\tAWS Global Accelerator Developer Guide.

                                                        \n \n\t\t

                                                        AWS Global Accelerator is a service in which you create accelerators to improve the performance \n\t\t\tof your applications for local and global users. Depending on the type of accelerator you choose, you can\n\t\t\tgain additional benefits.

                                                        \n\t\t
                                                          \n
                                                        • \n

                                                          By using a standard accelerator, you can improve availability of your internet applications \n\t\t\t\tthat are used by a global audience. With a standard accelerator, Global Accelerator directs traffic to optimal endpoints over the AWS \n\t\t\t\tglobal network.

                                                          \n
                                                        • \n
                                                        • \n

                                                          For other scenarios, you might choose a custom routing accelerator. With a custom routing accelerator, you \n\t\t\t\tcan use application logic to directly map one or more users to a specific endpoint among many endpoints.

                                                          \n
                                                        • \n
                                                        \n\t\t \n\t\t\t

                                                        Global Accelerator is a global service that supports endpoints in multiple AWS Regions but you must specify the \n\t\t\t\tUS West (Oregon) Region to create or update accelerators.

                                                        \n\t\t
                                                        \n\t\t

                                                        By default, Global Accelerator provides you with two static IP addresses that you associate with your accelerator. With\n\t\t\ta standard accelerator, instead of using the \n\t\t\tIP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges \n\t\t\tthat you bring to Global Accelerator. The static IP addresses are anycast from the AWS edge network. For a standard accelerator, \n\t\t\tthey distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases \n\t\t\tthe availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, \n\t\t\tAmazon EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions. For custom routing\n\t\t\taccelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that\n\t\t\tare virtual private cloud (VPC) subnets.

                                                        \n\t\t\n\t\t \n

                                                        The static IP addresses remain assigned to your accelerator for as long as it exists, even if you\n\t\t\t\tdisable the accelerator and it no longer accepts or routes traffic. However, when you\n\t\t\t\t\tdelete an accelerator, you lose the static IP addresses that\n\t\t\t\tare assigned to it, so you can no longer route traffic by using them. You can use\n\t\t\t\tIAM policies like tag-based permissions with Global Accelerator to limit the users who have\n\t\t\t\tpermissions to delete an accelerator. For more information, see Tag-based policies.

                                                        \n
                                                        \n\t\t

                                                        For standard accelerators, Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based\n\t\t\ton health, client location, and policies that you configure. The service reacts instantly to\n\t\t\tchanges in health or configuration to ensure that internet traffic from clients is always\n\t\t\tdirected to healthy endpoints.

                                                        \n\t\t\n\t\t

                                                        For a list of the AWS Regions where Global Accelerator and other services are currently supported, see the \n\t\t\tAWS \n\t\t\t\tRegion Table.

                                                        \n\n\t\t

                                                        AWS Global Accelerator includes the following components:

                                                        \n\t\t
                                                        \n
                                                        Static IP addresses
                                                        \n
                                                        \n

                                                        Global Accelerator provides you with a set of two static IP addresses that are anycast from the AWS edge\n\t\t\t\t\tnetwork. If you bring your own IP address range to AWS (BYOIP) to use with a standard accelerator, you \n\t\t\t\t\tcan instead assign IP addresses from your own pool to use with your accelerator. For more information, \n\t\t\t\t\tsee \n\t\t\t\t\t\tBring your own IP addresses (BYOIP) in AWS Global Accelerator.

                                                        \n\t\t\t\t\t

                                                        The IP addresses serve as single fixed entry points for your clients. If you already have Elastic\n\t\t\t\t\t\tLoad Balancing load balancers, Amazon EC2 instances, or Elastic IP address resources set up for your applications, \n\t\t\t\t\t\tyou can easily add those to a standard accelerator in Global Accelerator. This allows Global Accelerator to use static IP addresses \n\t\t\t\t\t\tto access the resources.

                                                        \n\t\t\t\t\t

                                                        The static IP addresses remain assigned to your accelerator for as long as it exists, even\n\t\t\t\t\t\tif you disable the accelerator and it no longer accepts or routes traffic.\n\t\t\t\t\t\tHowever, when you delete an accelerator, you lose the\n\t\t\t\t\t\tstatic IP addresses that are assigned to it, so you can no longer route\n\t\t\t\t\t\ttraffic by using them. You can use IAM policies like tag-based permissions\n\t\t\t\t\t\twith Global Accelerator to delete an accelerator. For more information, see Tag-based policies.

                                                        \n\t\t\t\t
                                                        \n
                                                        Accelerator
                                                        \n
                                                        \n

                                                        An accelerator directs traffic to endpoints over the AWS global network to improve the\n\t\t\t\t\tperformance of your internet applications. Each accelerator includes one or more listeners.

                                                        \n\t\t\t\t\t

                                                        There are two types of accelerators:

                                                        \n\t\t\t\t\t
                                                          \n
                                                        • \n

                                                          A standard accelerator directs traffic to the optimal AWS endpoint based \n\t\t\t\t\t\t\ton several factors, including the user’s location, the health of the endpoint, and the endpoint weights \n\t\t\t\t\t\t\tthat you configure. This improves the availability and performance of your applications.\n\t\t\t\t\t\t\tEndpoints can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses.

                                                          \n
                                                        • \n
                                                        • \n

                                                          A custom routing accelerator directs traffic to one of possibly thousands of\n\t\t\t\t\t\t\t\tAmazon EC2 instances running in a single or multiple virtual private\n\t\t\t\t\t\t\t\tclouds (VPCs). With custom routing, listener ports are mapped to\n\t\t\t\t\t\t\t\tstatically associate port ranges with VPC subnets, which\n\t\t\t\t\t\t\t\tallows Global Accelerator to determine an EC2 instance IP address at the time of\n\t\t\t\t\t\t\t\tconnection. By default, all port mapping destinations in a VPC\n\t\t\t\t\t\t\t\tsubnet can't receive traffic. You can choose to configure all\n\t\t\t\t\t\t\t\tdestinations in the subnet to receive traffic, or to specify\n\t\t\t\t\t\t\t\tindividual port mappings that can receive traffic.

                                                          \n
                                                        • \n
                                                        \n\t\t\t\t\t

                                                        For more information, see Types of accelerators.

                                                        \n\t\t\t\t
                                                        \n
                                                        DNS name
                                                        \n
                                                        \n

                                                        Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to\n\t\t\t\t\ta1234567890abcdef.awsglobalaccelerator.com, that points to\n\t\t\t\t\tthe static IP addresses that Global Accelerator assigns to you or that you choose from your\n\t\t\t\t\town IP address range. Depending on the use\n\t\t\t\t\tcase, you can use your accelerator's static IP addresses or DNS name to\n\t\t\t\t\troute traffic to your accelerator, or set up DNS records to route traffic using\n\t\t\t\t\tyour own custom domain name.

                                                        \n\t\t\t\t
                                                        \n
                                                        Network zone
                                                        \n
                                                        \n

                                                        A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an\n\t\t\t\t\tAWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure.\n\t\t\t\t\tWhen you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a\n\t\t\t\t\tnetwork zone becomes unavailable due to IP address blocking by certain client networks, or network\n\t\t\t\t\tdisruptions, then client applications can retry on the healthy static IP address from the other isolated\n\t\t\t\t\tnetwork zone.

                                                        \n\t\t\t\t
                                                        \n
                                                        Listener
                                                        \n
                                                        \n

                                                        A listener processes inbound connections from clients to Global Accelerator, based on the port (or port range) \n\t\t\t\t\tand protocol (or protocols) that you configure. A listener can be configured for TCP, UDP, or both TCP and UDP protocols. Each \n\t\t\t\t\tlistener has one or more endpoint groups associated with it, and traffic is forwarded \n\t\t\t\t\tto endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you \n\t\t\t\t\twant to distribute traffic to. With a standard accelerator, traffic is distributed to optimal endpoints within the endpoint \n\t\t\t\t\tgroups associated with a listener.

                                                        \n
                                                        \n
                                                        Endpoint group
                                                        \n
                                                        \n

                                                        Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or\n\t\t\t\t\tmore endpoints in the Region. With a standard accelerator, you can increase or reduce the percentage of\n\t\t\t\t\ttraffic that would be otherwise directed to an endpoint group by adjusting a\n\t\t\t\t\tsetting called a traffic dial. The traffic dial lets\n\t\t\t\t\tyou easily do performance testing or blue/green deployment testing, for example, for new\n\t\t\t\t\treleases across different AWS Regions.

                                                        \n\t\t\t\t
                                                        \n
                                                        Endpoint
                                                        \n
                                                        \n

                                                        An endpoint is a resource that Global Accelerator directs traffic to.

                                                        \n\t\t\t\t\t

                                                        Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP\n\t\t\t\t\t\taddresses. An Application Load Balancer endpoint can be internet-facing or internal. Traffic for\n\t\t\t\t\t\tstandard accelerators is routed to endpoints based on the health of the\n\t\t\t\t\t\tendpoint along with configuration options that you choose, such as endpoint\n\t\t\t\t\t\tweights. For each endpoint, you can configure weights, which are numbers\n\t\t\t\t\t\tthat you can use to specify the proportion of traffic to route to each one.\n\t\t\t\t\t\tThis can be useful, for example, to do performance testing within a\n\t\t\t\t\t\tRegion.

                                                        \n\t\t\t\t\t

                                                        Endpoints for custom routing accelerators are virtual private cloud (VPC) subnets with one\n\t\t\t\t\t\tor many EC2 instances.

                                                        \n\t\t\t\t
                                                        \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/glue/Cargo.toml b/sdk/glue/Cargo.toml index e898102dca18..22389dda024e 100644 --- a/sdk/glue/Cargo.toml +++ b/sdk/glue/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-glue" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Glue\n

                                                        Defines the public endpoint for the Glue service.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/greengrass/Cargo.toml b/sdk/greengrass/Cargo.toml index 175c65f7a398..2982939fa3ba 100644 --- a/sdk/greengrass/Cargo.toml +++ b/sdk/greengrass/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-greengrass" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS IoT Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS IoT Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally." authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/greengrassv2/Cargo.toml b/sdk/greengrassv2/Cargo.toml index a8bc8b9a9e3f..b9746a500cb9 100644 --- a/sdk/greengrassv2/Cargo.toml +++ b/sdk/greengrassv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-greengrassv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        IoT Greengrass brings local compute, messaging, data management, sync, and ML inference capabilities\n to edge devices. This enables devices to collect and analyze data closer to the source of\n information, react autonomously to local events, and communicate securely with each other on\n local networks. Local devices can also communicate securely with Amazon Web Services IoT Core and export IoT data\n to the Amazon Web Services Cloud. IoT Greengrass developers can use Lambda functions and components to create and\n deploy applications to fleets of edge devices for local operation.

                                                        \n

                                                        IoT Greengrass Version 2 provides a new major version of the IoT Greengrass Core software, new APIs, and a new console.\n Use this API reference to learn how to use the IoT Greengrass V2 API operations to manage components,\n manage deployments, and core devices.

                                                        \n

                                                        For more information, see What is IoT Greengrass? in\n the IoT Greengrass V2 Developer Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/groundstation/Cargo.toml b/sdk/groundstation/Cargo.toml index 005b44277f0f..8be6a0b82cd4 100644 --- a/sdk/groundstation/Cargo.toml +++ b/sdk/groundstation/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-groundstation" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that\n enables you to control satellite communications, downlink and process satellite data, and\n scale your satellite operations efficiently and cost-effectively without having\n to build or manage your own ground station infrastructure.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/groundstation/src/model.rs b/sdk/groundstation/src/model.rs index 9a7c3ce8f831..1e6cd21600e7 100644 --- a/sdk/groundstation/src/model.rs +++ b/sdk/groundstation/src/model.rs @@ -1370,7 +1370,7 @@ pub enum ConfigDetails { impl ConfigDetails { pub fn as_antenna_demod_decode_details( &self, - ) -> Result<&crate::model::AntennaDemodDecodeDetails, &Self> { + ) -> std::result::Result<&crate::model::AntennaDemodDecodeDetails, &Self> { if let ConfigDetails::AntennaDemodDecodeDetails(val) = &self { Ok(&val) } else { @@ -1380,7 +1380,9 @@ impl ConfigDetails { pub fn is_antenna_demod_decode_details(&self) -> bool { self.as_antenna_demod_decode_details().is_ok() } - pub fn as_endpoint_details(&self) -> Result<&crate::model::EndpointDetails, &Self> { + pub fn as_endpoint_details( + &self, + ) -> std::result::Result<&crate::model::EndpointDetails, &Self> { if let ConfigDetails::EndpointDetails(val) = &self { Ok(&val) } else { @@ -1390,7 +1392,9 @@ impl ConfigDetails { pub fn is_endpoint_details(&self) -> bool { self.as_endpoint_details().is_ok() } - pub fn as_s3_recording_details(&self) -> Result<&crate::model::S3RecordingDetails, &Self> { + pub fn as_s3_recording_details( + &self, + ) -> std::result::Result<&crate::model::S3RecordingDetails, &Self> { if let ConfigDetails::S3RecordingDetails(val) = &self { Ok(&val) } else { @@ -1795,7 +1799,7 @@ pub enum ConfigTypeData { impl ConfigTypeData { pub fn as_antenna_downlink_config( &self, - ) -> Result<&crate::model::AntennaDownlinkConfig, &Self> { + ) -> std::result::Result<&crate::model::AntennaDownlinkConfig, &Self> { if let ConfigTypeData::AntennaDownlinkConfig(val) = &self { Ok(&val) } else { @@ -1807,7 +1811,7 @@ impl ConfigTypeData { } pub fn as_antenna_downlink_demod_decode_config( &self, - ) -> Result<&crate::model::AntennaDownlinkDemodDecodeConfig, &Self> { + ) -> std::result::Result<&crate::model::AntennaDownlinkDemodDecodeConfig, &Self> { if let ConfigTypeData::AntennaDownlinkDemodDecodeConfig(val) = &self { Ok(&val) } else { @@ -1817,7 +1821,9 @@ impl ConfigTypeData { pub fn is_antenna_downlink_demod_decode_config(&self) -> bool { self.as_antenna_downlink_demod_decode_config().is_ok() } - pub fn as_antenna_uplink_config(&self) -> Result<&crate::model::AntennaUplinkConfig, &Self> { + pub fn as_antenna_uplink_config( + &self, + ) -> std::result::Result<&crate::model::AntennaUplinkConfig, &Self> { if let ConfigTypeData::AntennaUplinkConfig(val) = &self { Ok(&val) } else { @@ -1829,7 +1835,7 @@ impl ConfigTypeData { } pub fn as_dataflow_endpoint_config( &self, - ) -> Result<&crate::model::DataflowEndpointConfig, &Self> { + ) -> std::result::Result<&crate::model::DataflowEndpointConfig, &Self> { if let ConfigTypeData::DataflowEndpointConfig(val) = &self { Ok(&val) } else { @@ -1839,7 +1845,9 @@ impl ConfigTypeData { pub fn is_dataflow_endpoint_config(&self) -> bool { self.as_dataflow_endpoint_config().is_ok() } - pub fn as_s3_recording_config(&self) -> Result<&crate::model::S3RecordingConfig, &Self> { + pub fn as_s3_recording_config( + &self, + ) -> std::result::Result<&crate::model::S3RecordingConfig, &Self> { if let ConfigTypeData::S3RecordingConfig(val) = &self { Ok(&val) } else { @@ -1849,7 +1857,7 @@ impl ConfigTypeData { pub fn is_s3_recording_config(&self) -> bool { self.as_s3_recording_config().is_ok() } - pub fn as_tracking_config(&self) -> Result<&crate::model::TrackingConfig, &Self> { + pub fn as_tracking_config(&self) -> std::result::Result<&crate::model::TrackingConfig, &Self> { if let ConfigTypeData::TrackingConfig(val) = &self { Ok(&val) } else { @@ -1859,7 +1867,9 @@ impl ConfigTypeData { pub fn is_tracking_config(&self) -> bool { self.as_tracking_config().is_ok() } - pub fn as_uplink_echo_config(&self) -> Result<&crate::model::UplinkEchoConfig, &Self> { + pub fn as_uplink_echo_config( + &self, + ) -> std::result::Result<&crate::model::UplinkEchoConfig, &Self> { if let ConfigTypeData::UplinkEchoConfig(val) = &self { Ok(&val) } else { diff --git a/sdk/guardduty/Cargo.toml b/sdk/guardduty/Cargo.toml index 6bcc10511deb..a3d62ed8f9fa 100644 --- a/sdk/guardduty/Cargo.toml +++ b/sdk/guardduty/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-guardduty" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon GuardDuty is a continuous security monitoring service that analyzes and processes\n the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses\n threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to\n identify unexpected, potentially unauthorized, and malicious activity within your AWS\n environment. This can include issues like escalations of privileges, uses of exposed\n credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can\n detect compromised EC2 instances that serve malware or mine bitcoin.

                                                        \n

                                                        GuardDuty also monitors AWS account access behavior for signs of compromise. Some examples\n of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region\n that has never been used, or unusual API calls like a password policy change to reduce\n password strength.

                                                        \n

                                                        GuardDuty informs you of the status of your AWS environment by producing security findings\n that you can view in the GuardDuty console or through Amazon CloudWatch events. For more\n information, see the \n Amazon\n GuardDuty User Guide\n .

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/health/Cargo.toml b/sdk/health/Cargo.toml index 1ec728b3da00..0e4d57baa4f8 100644 --- a/sdk/health/Cargo.toml +++ b/sdk/health/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-health" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Health\n \n

                                                        The AWS Health API provides programmatic access to the AWS Health information that\n appears in the AWS Personal Health Dashboard. You\n can use the API operations to get information about AWS Health events that affect your\n AWS services and resources.

                                                        \n \n
                                                          \n
                                                        • \n

                                                          You must have a Business or Enterprise Support plan from AWS Support to use the\n AWS Health API. If you call the AWS Health API from an AWS account that\n doesn't have a Business or Enterprise Support plan, you receive a\n SubscriptionRequiredException error.

                                                          \n
                                                        • \n
                                                        • \n

                                                          You can use the AWS Health endpoint health.us-east-1.amazonaws.com (HTTPS) to\n call the AWS Health API operations. AWS Health supports a multi-Region\n application architecture and has two regional endpoints in an active-passive\n configuration. You can use the high availability endpoint example to determine\n which AWS Region is active, so that you can get the latest information from the\n API. For more information, see Accessing the AWS Health API in the\n AWS Health User Guide.

                                                          \n
                                                        • \n
                                                        \n
                                                        \n

                                                        For authentication of requests, AWS Health uses the Signature Version 4 Signing\n Process.

                                                        \n

                                                        If your AWS account is part of AWS Organizations, you can use the AWS Health organizational\n view feature. This feature provides a centralized view of AWS Health events across all\n accounts in your organization. You can aggregate AWS Health events in real time to\n identify accounts in your organization that are affected by an operational event or get\n notified of security vulnerabilities. Use the organizational view API operations to enable\n this feature and return event information. For more information, see Aggregating\n AWS Health events in the AWS Health User Guide.

                                                        \n \n

                                                        When you use the AWS Health API operations to return AWS Health events, see the\n following recommendations:

                                                        \n
                                                          \n
                                                        • \n

                                                          Use the eventScopeCode parameter to specify whether to return AWS Health\n events that are public or account-specific.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Use pagination to view all events from the response. For example, if you call\n the DescribeEventsForOrganization operation to get all events in your\n organization, you might receive several page results. Specify the\n nextToken in the next request to return more results.

                                                          \n
                                                        • \n
                                                        \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/healthlake/Cargo.toml b/sdk/healthlake/Cargo.toml index f4c5f67d90af..2d095f9486e9 100644 --- a/sdk/healthlake/Cargo.toml +++ b/sdk/healthlake/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-healthlake" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon HealthLake is a HIPAA eligibile service that allows customers to store,\n transform, query, and analyze their FHIR-formatted data in a consistent fashion in the cloud.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/healthlake/src/model.rs b/sdk/healthlake/src/model.rs index 7f0363975e3c..3dc614b438ea 100644 --- a/sdk/healthlake/src/model.rs +++ b/sdk/healthlake/src/model.rs @@ -145,7 +145,9 @@ pub enum OutputDataConfig { } impl OutputDataConfig { #[allow(irrefutable_let_patterns)] - pub fn as_s3_configuration(&self) -> Result<&crate::model::S3Configuration, &Self> { + pub fn as_s3_configuration( + &self, + ) -> std::result::Result<&crate::model::S3Configuration, &Self> { if let OutputDataConfig::S3Configuration(val) = &self { Ok(&val) } else { @@ -236,7 +238,7 @@ pub enum InputDataConfig { } impl InputDataConfig { #[allow(irrefutable_let_patterns)] - pub fn as_s3_uri(&self) -> Result<&std::string::String, &Self> { + pub fn as_s3_uri(&self) -> std::result::Result<&std::string::String, &Self> { if let InputDataConfig::S3Uri(val) = &self { Ok(&val) } else { diff --git a/sdk/honeycode/Cargo.toml b/sdk/honeycode/Cargo.toml index f66fc03fda6a..c9ad5e800b0f 100644 --- a/sdk/honeycode/Cargo.toml +++ b/sdk/honeycode/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-honeycode" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        \n Amazon Honeycode is a fully managed service that allows you to quickly build mobile and web apps for teams—without\n programming. Build Honeycode apps for managing almost anything, like projects, customers, operations, approvals,\n resources, and even your team.\n

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iam/Cargo.toml b/sdk/iam/Cargo.toml index 2e75441d937c..6cf52fab2b73 100644 --- a/sdk/iam/Cargo.toml +++ b/sdk/iam/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iam" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Identity and Access Management\n

                                                        Identity and Access Management (IAM) is a web service for securely controlling \n access to Amazon Web Services services. With IAM, you can centrally manage users, security credentials\n such as access keys, and permissions that control which Amazon Web Services resources users and \n applications can access. For more information about IAM, see Identity and Access Management (IAM) and the Identity and Access Management User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/identitystore/Cargo.toml b/sdk/identitystore/Cargo.toml index eb3c53708831..eba15d375865 100644 --- a/sdk/identitystore/Cargo.toml +++ b/sdk/identitystore/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-identitystore" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The AWS Single Sign-On (SSO) Identity Store service provides a single place to retrieve all of your\n identities (users and groups). For more information about AWS, see the AWS Single Sign-On User\n Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/imagebuilder/Cargo.toml b/sdk/imagebuilder/Cargo.toml index 1aff033b51c9..2a89812d0d6d 100644 --- a/sdk/imagebuilder/Cargo.toml +++ b/sdk/imagebuilder/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-imagebuilder" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        EC2 Image Builder is a fully managed Amazon Web Services service that makes it easier to automate the \n creation, management, and deployment of customized, secure, and up-to-date \"golden\" server \n images that are pre-installed and pre-configured with software and settings to meet specific\n IT standards.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/imagebuilder/src/client.rs b/sdk/imagebuilder/src/client.rs index 3fc7cff44a8f..34a549363be3 100644 --- a/sdk/imagebuilder/src/client.rs +++ b/sdk/imagebuilder/src/client.rs @@ -2525,7 +2525,39 @@ pub mod fluent_builders { self.inner = self.inner.set_owner(input); self } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// description + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// supportedOsVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -2606,7 +2638,29 @@ pub mod fluent_builders { self.inner = self.inner.set_owner(input); self } - ///

                                                        Request filters that are used to narrow the list of container images that are returned.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// containerType + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// parentImage + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -2668,13 +2722,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                        The filters.

                                                        - ///
                                                          - ///
                                                        • - ///

                                                          - /// name - The name of this distribution configuration.

                                                          - ///
                                                        • - ///
                                                        + ///

                                                        You can filter on name to streamline results.

                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -2749,7 +2797,34 @@ pub mod fluent_builders { self.inner = self.inner.set_image_version_arn(input); self } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// osVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -2886,7 +2961,19 @@ pub mod fluent_builders { self.inner = self.inner.set_image_pipeline_arn(input); self } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -2949,7 +3036,39 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// description + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// distributionConfigurationArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// imageRecipeArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// infrastructureConfigurationArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// status + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -3024,7 +3143,24 @@ pub mod fluent_builders { self.inner = self.inner.set_owner(input); self } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// parentImage + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -3099,7 +3235,34 @@ pub mod fluent_builders { self.inner = self.inner.set_owner(input); self } - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// osVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self @@ -3180,7 +3343,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                        The filters.

                                                        + ///

                                                        You can filter on name to streamline results.

                                                        pub fn filters(mut self, inp: impl Into) -> Self { self.inner = self.inner.filters(inp); self diff --git a/sdk/imagebuilder/src/input.rs b/sdk/imagebuilder/src/input.rs index 6f1acd7fe819..28fd0576fcb5 100644 --- a/sdk/imagebuilder/src/input.rs +++ b/sdk/imagebuilder/src/input.rs @@ -9076,7 +9076,7 @@ impl std::fmt::Debug for ListTagsForResourceInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListInfrastructureConfigurationsInput { - ///

                                                        The filters.

                                                        + ///

                                                        You can filter on name to streamline results.

                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9102,7 +9102,34 @@ pub struct ListImagesInput { /// owned by yourself, by Amazon, or those images that have been shared with you by other /// customers.

                                                        pub owner: std::option::Option, - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// osVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        Requests a list of images with a specific recipe name.

                                                        pub by_name: bool, @@ -9135,7 +9162,24 @@ pub struct ListImageRecipesInput { /// view image recipes owned by yourself, by Amazon, or those image recipes that have been shared /// with you by other customers.

                                                        pub owner: std::option::Option, - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// parentImage + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9157,7 +9201,39 @@ impl std::fmt::Debug for ListImageRecipesInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListImagePipelinesInput { - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// description + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// distributionConfigurationArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// imageRecipeArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// infrastructureConfigurationArn + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// status + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9180,7 +9256,19 @@ impl std::fmt::Debug for ListImagePipelinesInput { pub struct ListImagePipelineImagesInput { ///

                                                        The Amazon Resource Name (ARN) of the image pipeline whose images you want to view.

                                                        pub image_pipeline_arn: std::option::Option, - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9224,7 +9312,34 @@ impl std::fmt::Debug for ListImagePackagesInput { pub struct ListImageBuildVersionsInput { ///

                                                        The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve.

                                                        pub image_version_arn: std::option::Option, - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// osVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9246,13 +9361,7 @@ impl std::fmt::Debug for ListImageBuildVersionsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDistributionConfigurationsInput { - ///

                                                        The filters.

                                                        - ///
                                                          - ///
                                                        • - ///

                                                          - /// name - The name of this distribution configuration.

                                                          - ///
                                                        • - ///
                                                        + ///

                                                        You can filter on name to streamline results.

                                                        pub filters: std::option::Option>, ///

                                                        The maximum items to return in a request.

                                                        pub max_results: std::option::Option, @@ -9275,7 +9384,29 @@ impl std::fmt::Debug for ListDistributionConfigurationsInput { pub struct ListContainerRecipesInput { ///

                                                        Returns container recipes belonging to the specified owner, that have been shared with you. You can omit this field to return container recipes belonging to your account.

                                                        pub owner: std::option::Option, - ///

                                                        Request filters that are used to narrow the list of container images that are returned.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// containerType + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// parentImage + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        The maximum number of results to return in the list.

                                                        pub max_results: std::option::Option, @@ -9301,7 +9432,39 @@ pub struct ListComponentsInput { /// components owned by yourself, by Amazon, or those components that have been shared with you by /// other customers.

                                                        pub owner: std::option::Option, - ///

                                                        The filters.

                                                        + ///

                                                        Use the following filters to streamline results:

                                                        + ///
                                                          + ///
                                                        • + ///

                                                          + /// description + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// name + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// platform + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// supportedOsVersion + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// type + ///

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          + /// version + ///

                                                          + ///
                                                        • + ///
                                                        pub filters: std::option::Option>, ///

                                                        Returns the list of component build versions for the specified name.

                                                        pub by_name: bool, diff --git a/sdk/imagebuilder/src/model.rs b/sdk/imagebuilder/src/model.rs index 497e5f2addd8..f48b5baa8b61 100644 --- a/sdk/imagebuilder/src/model.rs +++ b/sdk/imagebuilder/src/model.rs @@ -834,7 +834,7 @@ pub struct AmiDistributionConfiguration { std::option::Option>, ///

                                                        The KMS key identifier used to encrypt the distributed image.

                                                        pub kms_key_id: std::option::Option, - ///

                                                        Launch permissions can be used to configure which accounts can use the AMI to launch + ///

                                                        Launch permissions can be used to configure which Amazon Web Services accounts can use the AMI to launch /// instances.

                                                        pub launch_permission: std::option::Option, } @@ -926,7 +926,7 @@ pub mod ami_distribution_configuration { self.kms_key_id = input; self } - ///

                                                        Launch permissions can be used to configure which accounts can use the AMI to launch + ///

                                                        Launch permissions can be used to configure which Amazon Web Services accounts can use the AMI to launch /// instances.

                                                        pub fn launch_permission( mut self, @@ -970,7 +970,7 @@ impl AmiDistributionConfiguration { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LaunchPermissionConfiguration { - ///

                                                        The account ID.

                                                        + ///

                                                        The Amazon Web Services account ID.

                                                        pub user_ids: std::option::Option>, ///

                                                        The name of the group.

                                                        pub user_groups: std::option::Option>, @@ -2491,7 +2491,7 @@ impl Container { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ami { - ///

                                                        The Region of the Amazon EC2 AMI.

                                                        + ///

                                                        The Amazon Web Services Region of the Amazon EC2 AMI.

                                                        pub region: std::option::Option, ///

                                                        The AMI ID of the Amazon EC2 AMI.

                                                        pub image: std::option::Option, @@ -2530,7 +2530,7 @@ pub mod ami { pub(crate) account_id: std::option::Option, } impl Builder { - ///

                                                        The Region of the Amazon EC2 AMI.

                                                        + ///

                                                        The Amazon Web Services Region of the Amazon EC2 AMI.

                                                        pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -3174,7 +3174,7 @@ impl AsRef for ContainerType { } } -///

                                                        The defining characteristics of a specific version of an TOE component.

                                                        +///

                                                        The defining characteristics of a specific version of an Amazon Web Services TOE component.

                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ComponentVersion { diff --git a/sdk/inspector/Cargo.toml b/sdk/inspector/Cargo.toml index 0ee8dea41b30..67b7a3f1d4b8 100644 --- a/sdk/inspector/Cargo.toml +++ b/sdk/inspector/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-inspector" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Inspector\n

                                                        Amazon Inspector enables you to analyze the behavior of your AWS resources and to\n identify potential security issues. For more information, see Amazon Inspector User\n Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iot/Cargo.toml b/sdk/iot/Cargo.toml index 1f24a708493e..c48de28594b7 100644 --- a/sdk/iot/Cargo.toml +++ b/sdk/iot/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iot" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS IoT\n

                                                        AWS IoT provides secure, bi-directional communication between Internet-connected\n devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS\n cloud. You can discover your custom IoT-Data endpoint to communicate with, configure\n rules for data processing and integration with other services, organize resources\n associated with each device (Registry), configure logging, and create and manage\n policies and credentials to authenticate devices.

                                                        \n

                                                        The service endpoints that expose this API are listed in\n AWS IoT Core Endpoints and Quotas.\n You must use the endpoint for the region that has the resources you want to access.

                                                        \n

                                                        The service name used by AWS\n Signature Version 4 to sign the request is:\n execute-api.

                                                        \n

                                                        For more information about how AWS IoT works, see the Developer\n Guide.

                                                        \n

                                                        For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iot/src/model.rs b/sdk/iot/src/model.rs index 2d65b86e80cc..89d37d4061e4 100644 --- a/sdk/iot/src/model.rs +++ b/sdk/iot/src/model.rs @@ -7834,7 +7834,7 @@ pub enum AssetPropertyVariant { StringValue(std::string::String), } impl AssetPropertyVariant { - pub fn as_boolean_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&std::string::String, &Self> { if let AssetPropertyVariant::BooleanValue(val) = &self { Ok(&val) } else { @@ -7844,7 +7844,7 @@ impl AssetPropertyVariant { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_double_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_double_value(&self) -> std::result::Result<&std::string::String, &Self> { if let AssetPropertyVariant::DoubleValue(val) = &self { Ok(&val) } else { @@ -7854,7 +7854,7 @@ impl AssetPropertyVariant { pub fn is_double_value(&self) -> bool { self.as_double_value().is_ok() } - pub fn as_integer_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_integer_value(&self) -> std::result::Result<&std::string::String, &Self> { if let AssetPropertyVariant::IntegerValue(val) = &self { Ok(&val) } else { @@ -7864,7 +7864,7 @@ impl AssetPropertyVariant { pub fn is_integer_value(&self) -> bool { self.as_integer_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let AssetPropertyVariant::StringValue(val) = &self { Ok(&val) } else { diff --git a/sdk/iot1clickdevices/Cargo.toml b/sdk/iot1clickdevices/Cargo.toml index fa164cbfe4d0..634f5e9cde8e 100644 --- a/sdk/iot1clickdevices/Cargo.toml +++ b/sdk/iot1clickdevices/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iot1clickdevices" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Describes all of the AWS IoT 1-Click device-related API operations for the service.\n Also provides sample requests, responses, and errors for the supported web services\n protocols.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iot1clickprojects/Cargo.toml b/sdk/iot1clickprojects/Cargo.toml index 120ecf8f93c6..d61efbca187a 100644 --- a/sdk/iot1clickprojects/Cargo.toml +++ b/sdk/iot1clickprojects/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iot1clickprojects" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The AWS IoT 1-Click Projects API Reference

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotanalytics/Cargo.toml b/sdk/iotanalytics/Cargo.toml index 76090db2c3ca..c5facff8b076 100644 --- a/sdk/iotanalytics/Cargo.toml +++ b/sdk/iotanalytics/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotanalytics" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        IoT Analytics allows you to collect large amounts of device data, process messages, and store them. \n You can then query the data and run sophisticated analytics on it. IoT Analytics enables advanced \n data exploration through integration with Jupyter Notebooks and data visualization through integration \n with Amazon QuickSight.

                                                        \n\n

                                                        Traditional analytics and business intelligence tools are designed to process structured data. IoT data \n often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result \n the data from these devices can have significant gaps, corrupted messages, and false readings that must be \n cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data \n from external sources.

                                                        \n\n

                                                        IoT Analytics automates the steps required to analyze data from IoT devices. IoT Analytics \n filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You \n can set up the service to collect only the data you need from your devices, apply mathematical transforms \n to process the data, and enrich the data with device-specific metadata such as device type and location \n before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, \n or perform more complex analytics and machine learning inference. IoT Analytics includes pre-built models \n for common IoT use cases so you can answer questions like which devices are about to fail or which customers \n are at risk of abandoning their wearable devices.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotanalytics/src/model.rs b/sdk/iotanalytics/src/model.rs index 9423869ddadb..351ca4feaada 100644 --- a/sdk/iotanalytics/src/model.rs +++ b/sdk/iotanalytics/src/model.rs @@ -1348,7 +1348,7 @@ pub enum DatastoreStorage { impl DatastoreStorage { pub fn as_customer_managed_s3( &self, - ) -> Result<&crate::model::CustomerManagedDatastoreS3Storage, &Self> { + ) -> std::result::Result<&crate::model::CustomerManagedDatastoreS3Storage, &Self> { if let DatastoreStorage::CustomerManagedS3(val) = &self { Ok(&val) } else { @@ -1360,7 +1360,7 @@ impl DatastoreStorage { } pub fn as_iot_site_wise_multi_layer_storage( &self, - ) -> Result<&crate::model::DatastoreIotSiteWiseMultiLayerStorage, &Self> { + ) -> std::result::Result<&crate::model::DatastoreIotSiteWiseMultiLayerStorage, &Self> { if let DatastoreStorage::IotSiteWiseMultiLayerStorage(val) = &self { Ok(&val) } else { @@ -1372,7 +1372,7 @@ impl DatastoreStorage { } pub fn as_service_managed_s3( &self, - ) -> Result<&crate::model::ServiceManagedDatastoreS3Storage, &Self> { + ) -> std::result::Result<&crate::model::ServiceManagedDatastoreS3Storage, &Self> { if let DatastoreStorage::ServiceManagedS3(val) = &self { Ok(&val) } else { diff --git a/sdk/iotdataplane/Cargo.toml b/sdk/iotdataplane/Cargo.toml index 11117ec8ec86..d284ccf50ba3 100644 --- a/sdk/iotdataplane/Cargo.toml +++ b/sdk/iotdataplane/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotdataplane" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS IoT\n

                                                        AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors,\n actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and\n things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a\n persistent representation of your things and their state in the AWS cloud.

                                                        \n

                                                        Find the endpoint address for actions in the AWS IoT data plane by running this CLI command:

                                                        \n

                                                        \n aws iot describe-endpoint --endpoint-type iot:Data-ATS\n

                                                        \n

                                                        The service name used by AWS Signature Version 4\n to sign requests is: iotdevicegateway.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotdeviceadvisor/Cargo.toml b/sdk/iotdeviceadvisor/Cargo.toml index 38512e307b10..e5bbaf031b42 100644 --- a/sdk/iotdeviceadvisor/Cargo.toml +++ b/sdk/iotdeviceadvisor/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotdeviceadvisor" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS IoT Core Device Advisor is a cloud-based, fully managed test capability for validating IoT devices during device software development. Device Advisor provides pre-built tests that you can use to validate IoT devices for reliable and secure connectivity with AWS IoT Core before deploying devices to production. By using Device Advisor, you can confirm that your devices can connect to AWS IoT Core, follow security best practices and, if applicable, receive software updates from IoT Device Management. You can also download signed qualification reports to submit to the AWS Partner Network to get your device qualified for the AWS Partner Device Catalog without the need to send your device in and wait for it to be tested.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotevents/Cargo.toml b/sdk/iotevents/Cargo.toml index aafcab69a633..a4aa8782073e 100644 --- a/sdk/iotevents/Cargo.toml +++ b/sdk/iotevents/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotevents" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and\n triggers actions when such events occur. You can use AWS IoT Events API operations to create, read,\n update, and delete inputs and detector models, and to list their versions.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ioteventsdata/Cargo.toml b/sdk/ioteventsdata/Cargo.toml index 1be28ed169f1..69c61b80b62b 100644 --- a/sdk/ioteventsdata/Cargo.toml +++ b/sdk/ioteventsdata/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ioteventsdata" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and\n triggers actions when such events occur. You can use AWS IoT Events Data API commands to send inputs to\n detectors, list detectors, and view or update a detector's status.

                                                        \n

                                                        For more information, see What is AWS IoT Events? in the\n AWS IoT Events Developer Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotfleethub/Cargo.toml b/sdk/iotfleethub/Cargo.toml index c19421266d35..37f8020a30e7 100644 --- a/sdk/iotfleethub/Cargo.toml +++ b/sdk/iotfleethub/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotfleethub" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        With Fleet Hub for AWS IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets.

                                                        \n \n

                                                        Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.

                                                        \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotjobsdataplane/Cargo.toml b/sdk/iotjobsdataplane/Cargo.toml index 398d97ff197e..fc25e57016b9 100644 --- a/sdk/iotjobsdataplane/Cargo.toml +++ b/sdk/iotjobsdataplane/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotjobsdataplane" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS IoT Jobs is a service that allows you to define a set of jobs — remote operations that are sent to\n and executed on one or more devices connected to AWS IoT. For example, you can define a job that instructs a\n set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform\n remote troubleshooting operations.

                                                        \n

                                                        To create a job, you make a job document which is a description of the remote operations to be\n performed, and you specify a list of targets that should perform the operations. The targets can be individual\n things, thing groups or both.

                                                        \n

                                                        AWS IoT Jobs sends a message to inform the targets that a job is available. The target starts the\n execution of the job by downloading the job document, performing the operations it specifies, and reporting its\n progress to AWS IoT. The Jobs service provides commands to track the progress of a job on a specific target and\n for all the targets of the job

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotsecuretunneling/Cargo.toml b/sdk/iotsecuretunneling/Cargo.toml index 22ff93b4ca7c..4e8bb8ebf2f6 100644 --- a/sdk/iotsecuretunneling/Cargo.toml +++ b/sdk/iotsecuretunneling/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotsecuretunneling" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS IoT Secure Tunneling\n\t\t

                                                        AWS IoT Secure Tunnling enables you to create remote connections to devices\n\t\t\tdeployed in the field.

                                                        \n\t\t\n\t\t

                                                        For more information about how AWS IoT Secure Tunneling works, see AWS IoT Secure Tunneling.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotsitewise/Cargo.toml b/sdk/iotsitewise/Cargo.toml index 386a7cd0d0c1..c775321ea608 100644 --- a/sdk/iotsitewise/Cargo.toml +++ b/sdk/iotsitewise/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotsitewise" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Welcome to the IoT SiteWise API Reference. IoT SiteWise is an Amazon Web Services service that connects Industrial Internet of Things (IIoT) devices to the power of the Amazon Web Services Cloud. For more information, see the\n IoT SiteWise User Guide. For information about IoT SiteWise quotas, see Quotas in the IoT SiteWise User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotsitewise/src/client.rs b/sdk/iotsitewise/src/client.rs index 8ea3307a4814..f3da299e4d4d 100644 --- a/sdk/iotsitewise/src/client.rs +++ b/sdk/iotsitewise/src/client.rs @@ -2654,8 +2654,15 @@ pub mod fluent_builders { self } ///

                                                        The interpolation type.

                                                        - ///

                                                        Valid values: LINEAR_INTERPOLATION + ///

                                                        Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION ///

                                                        + ///

                                                        For the LOCF_INTERPOLATION interpolation, if no data point is found for an interval, + /// IoT SiteWise returns the same interpolated value calculated for the previous interval + /// and carries forward this interpolated value until a new data point is found.

                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. + /// If the LOCF_INTERPOLATION interpolation starts on July 1, 2021, at 9 AM, IoT SiteWise uses the data points from July 1, 2021, + /// at 9 AM to July 2, 2021, at 9 AM to compute the first interpolated value. + /// If no data points is found after 9 A.M. on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.

                                                        pub fn r#type(mut self, input: impl Into) -> Self { self.inner = self.inner.r#type(input); self @@ -2664,6 +2671,36 @@ pub mod fluent_builders { self.inner = self.inner.set_type(input); self } + ///

                                                        The query interval for the window in seconds. IoT SiteWise computes each interpolated value by using data points + /// from the timestamp of each interval minus the window to the timestamp of each interval plus the window. + /// If not specified, the window is between the start time minus the interval and the end time plus the interval.

                                                        + /// + ///
                                                          + ///
                                                        • + ///

                                                          If you specify a value for the intervalWindowInSeconds parameter, + /// the type parameter must be LINEAR_INTERPOLATION.

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          If no data point is found during the specified query window, + /// IoT SiteWise won't return an interpolated value for the interval. + /// This indicates that there's a gap in the ingested data points.

                                                          + ///
                                                        • + ///
                                                        + ///
                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine + /// every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, + /// at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM - 2 hours) + /// to 11 AM (9 AM + 2 hours) on July 2, 2021 to compute the first interpolated value, + /// uses the data points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 + /// to compute the second interpolated value, and so on.

                                                        + pub fn interval_window_in_seconds(mut self, input: i64) -> Self { + self.inner = self.inner.interval_window_in_seconds(input); + self + } + pub fn set_interval_window_in_seconds(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_interval_window_in_seconds(input); + self + } } #[derive(std::fmt::Debug)] pub struct ListAccessPolicies { diff --git a/sdk/iotsitewise/src/input.rs b/sdk/iotsitewise/src/input.rs index 04fa77d04722..4d6f67fdc0e0 100644 --- a/sdk/iotsitewise/src/input.rs +++ b/sdk/iotsitewise/src/input.rs @@ -6390,6 +6390,7 @@ pub mod get_interpolated_asset_property_values_input { pub(crate) next_token: std::option::Option, pub(crate) max_results: std::option::Option, pub(crate) r#type: std::option::Option, + pub(crate) interval_window_in_seconds: std::option::Option, } impl Builder { ///

                                                        The ID of the asset.

                                                        @@ -6502,8 +6503,15 @@ pub mod get_interpolated_asset_property_values_input { self } ///

                                                        The interpolation type.

                                                        - ///

                                                        Valid values: LINEAR_INTERPOLATION + ///

                                                        Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION ///

                                                        + ///

                                                        For the LOCF_INTERPOLATION interpolation, if no data point is found for an interval, + /// IoT SiteWise returns the same interpolated value calculated for the previous interval + /// and carries forward this interpolated value until a new data point is found.

                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. + /// If the LOCF_INTERPOLATION interpolation starts on July 1, 2021, at 9 AM, IoT SiteWise uses the data points from July 1, 2021, + /// at 9 AM to July 2, 2021, at 9 AM to compute the first interpolated value. + /// If no data points is found after 9 A.M. on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.

                                                        pub fn r#type(mut self, input: impl Into) -> Self { self.r#type = Some(input.into()); self @@ -6512,6 +6520,36 @@ pub mod get_interpolated_asset_property_values_input { self.r#type = input; self } + ///

                                                        The query interval for the window in seconds. IoT SiteWise computes each interpolated value by using data points + /// from the timestamp of each interval minus the window to the timestamp of each interval plus the window. + /// If not specified, the window is between the start time minus the interval and the end time plus the interval.

                                                        + /// + ///
                                                          + ///
                                                        • + ///

                                                          If you specify a value for the intervalWindowInSeconds parameter, + /// the type parameter must be LINEAR_INTERPOLATION.

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          If no data point is found during the specified query window, + /// IoT SiteWise won't return an interpolated value for the interval. + /// This indicates that there's a gap in the ingested data points.

                                                          + ///
                                                        • + ///
                                                        + ///
                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine + /// every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, + /// at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM - 2 hours) + /// to 11 AM (9 AM + 2 hours) on July 2, 2021 to compute the first interpolated value, + /// uses the data points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 + /// to compute the second interpolated value, and so on.

                                                        + pub fn interval_window_in_seconds(mut self, input: i64) -> Self { + self.interval_window_in_seconds = Some(input); + self + } + pub fn set_interval_window_in_seconds(mut self, input: std::option::Option) -> Self { + self.interval_window_in_seconds = input; + self + } /// Consumes the builder and constructs a [`GetInterpolatedAssetPropertyValuesInput`](crate::input::GetInterpolatedAssetPropertyValuesInput) pub fn build( self, @@ -6532,6 +6570,7 @@ pub mod get_interpolated_asset_property_values_input { next_token: self.next_token, max_results: self.max_results, r#type: self.r#type, + interval_window_in_seconds: self.interval_window_in_seconds, }) } } @@ -6668,6 +6707,12 @@ impl GetInterpolatedAssetPropertyValuesInput { if let Some(inner_66) = &self.r#type { query.push_kv("type", &smithy_http::query::fmt_string(&inner_66)); } + if let Some(inner_67) = &self.interval_window_in_seconds { + query.push_kv( + "intervalWindowInSeconds", + &smithy_types::primitive::Encoder::from(*inner_67).encode(), + ); + } } #[allow(clippy::unnecessary_wraps)] fn update_http_builder( @@ -6890,28 +6935,28 @@ impl ListAccessPoliciesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_67) = &self.identity_type { - query.push_kv("identityType", &smithy_http::query::fmt_string(&inner_67)); + if let Some(inner_68) = &self.identity_type { + query.push_kv("identityType", &smithy_http::query::fmt_string(&inner_68)); } - if let Some(inner_68) = &self.identity_id { - query.push_kv("identityId", &smithy_http::query::fmt_string(&inner_68)); + if let Some(inner_69) = &self.identity_id { + query.push_kv("identityId", &smithy_http::query::fmt_string(&inner_69)); } - if let Some(inner_69) = &self.resource_type { - query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_69)); + if let Some(inner_70) = &self.resource_type { + query.push_kv("resourceType", &smithy_http::query::fmt_string(&inner_70)); } - if let Some(inner_70) = &self.resource_id { - query.push_kv("resourceId", &smithy_http::query::fmt_string(&inner_70)); + if let Some(inner_71) = &self.resource_id { + query.push_kv("resourceId", &smithy_http::query::fmt_string(&inner_71)); } - if let Some(inner_71) = &self.iam_arn { - query.push_kv("iamArn", &smithy_http::query::fmt_string(&inner_71)); + if let Some(inner_72) = &self.iam_arn { + query.push_kv("iamArn", &smithy_http::query::fmt_string(&inner_72)); } - if let Some(inner_72) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_72)); + if let Some(inner_73) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_73)); } - if let Some(inner_73) = &self.max_results { + if let Some(inner_74) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_73).encode(), + &smithy_types::primitive::Encoder::from(*inner_74).encode(), ); } } @@ -7069,13 +7114,13 @@ impl ListAssetModelsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_74) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_74)); + if let Some(inner_75) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_75)); } - if let Some(inner_75) = &self.max_results { + if let Some(inner_76) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_75).encode(), + &smithy_types::primitive::Encoder::from(*inner_76).encode(), ); } } @@ -7261,15 +7306,15 @@ impl ListAssetRelationshipsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_76 = &self.asset_id; - let input_76 = - input_76 + let input_77 = &self.asset_id; + let input_77 = + input_77 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "asset_id", details: "cannot be empty or unset", })?; - let asset_id = smithy_http::label::fmt_string(input_76, false); + let asset_id = smithy_http::label::fmt_string(input_77, false); if asset_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "asset_id", @@ -7286,16 +7331,16 @@ impl ListAssetRelationshipsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_77) = &self.traversal_type { - query.push_kv("traversalType", &smithy_http::query::fmt_string(&inner_77)); + if let Some(inner_78) = &self.traversal_type { + query.push_kv("traversalType", &smithy_http::query::fmt_string(&inner_78)); } - if let Some(inner_78) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_78)); + if let Some(inner_79) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_79)); } - if let Some(inner_79) = &self.max_results { + if let Some(inner_80) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_79).encode(), + &smithy_types::primitive::Encoder::from(*inner_80).encode(), ); } } @@ -7495,20 +7540,20 @@ impl ListAssetsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_80) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_80)); + if let Some(inner_81) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_81)); } - if let Some(inner_81) = &self.max_results { + if let Some(inner_82) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_81).encode(), + &smithy_types::primitive::Encoder::from(*inner_82).encode(), ); } - if let Some(inner_82) = &self.asset_model_id { - query.push_kv("assetModelId", &smithy_http::query::fmt_string(&inner_82)); + if let Some(inner_83) = &self.asset_model_id { + query.push_kv("assetModelId", &smithy_http::query::fmt_string(&inner_83)); } - if let Some(inner_83) = &self.filter { - query.push_kv("filter", &smithy_http::query::fmt_string(&inner_83)); + if let Some(inner_84) = &self.filter { + query.push_kv("filter", &smithy_http::query::fmt_string(&inner_84)); } } #[allow(clippy::unnecessary_wraps)] @@ -7714,15 +7759,15 @@ impl ListAssociatedAssetsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_84 = &self.asset_id; - let input_84 = - input_84 + let input_85 = &self.asset_id; + let input_85 = + input_85 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "asset_id", details: "cannot be empty or unset", })?; - let asset_id = smithy_http::label::fmt_string(input_84, false); + let asset_id = smithy_http::label::fmt_string(input_85, false); if asset_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "asset_id", @@ -7735,22 +7780,22 @@ impl ListAssociatedAssetsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_85) = &self.hierarchy_id { - query.push_kv("hierarchyId", &smithy_http::query::fmt_string(&inner_85)); + if let Some(inner_86) = &self.hierarchy_id { + query.push_kv("hierarchyId", &smithy_http::query::fmt_string(&inner_86)); } - if let Some(inner_86) = &self.traversal_direction { + if let Some(inner_87) = &self.traversal_direction { query.push_kv( "traversalDirection", - &smithy_http::query::fmt_string(&inner_86), + &smithy_http::query::fmt_string(&inner_87), ); } - if let Some(inner_87) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_87)); + if let Some(inner_88) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_88)); } - if let Some(inner_88) = &self.max_results { + if let Some(inner_89) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_88).encode(), + &smithy_types::primitive::Encoder::from(*inner_89).encode(), ); } } @@ -7919,16 +7964,16 @@ impl ListDashboardsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_89) = &self.project_id { - query.push_kv("projectId", &smithy_http::query::fmt_string(&inner_89)); + if let Some(inner_90) = &self.project_id { + query.push_kv("projectId", &smithy_http::query::fmt_string(&inner_90)); } - if let Some(inner_90) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_90)); + if let Some(inner_91) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_91)); } - if let Some(inner_91) = &self.max_results { + if let Some(inner_92) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_91).encode(), + &smithy_types::primitive::Encoder::from(*inner_92).encode(), ); } } @@ -8084,13 +8129,13 @@ impl ListGatewaysInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_92) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_92)); + if let Some(inner_93) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_93)); } - if let Some(inner_93) = &self.max_results { + if let Some(inner_94) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_93).encode(), + &smithy_types::primitive::Encoder::from(*inner_94).encode(), ); } } @@ -8246,13 +8291,13 @@ impl ListPortalsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_94) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_94)); + if let Some(inner_95) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_95)); } - if let Some(inner_95) = &self.max_results { + if let Some(inner_96) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_95).encode(), + &smithy_types::primitive::Encoder::from(*inner_96).encode(), ); } } @@ -8416,15 +8461,15 @@ impl ListProjectAssetsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_96 = &self.project_id; - let input_96 = - input_96 + let input_97 = &self.project_id; + let input_97 = + input_97 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "project_id", details: "cannot be empty or unset", })?; - let project_id = smithy_http::label::fmt_string(input_96, false); + let project_id = smithy_http::label::fmt_string(input_97, false); if project_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "project_id", @@ -8441,13 +8486,13 @@ impl ListProjectAssetsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_97) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_97)); + if let Some(inner_98) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_98)); } - if let Some(inner_98) = &self.max_results { + if let Some(inner_99) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_98).encode(), + &smithy_types::primitive::Encoder::from(*inner_99).encode(), ); } } @@ -8614,16 +8659,16 @@ impl ListProjectsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_99) = &self.portal_id { - query.push_kv("portalId", &smithy_http::query::fmt_string(&inner_99)); + if let Some(inner_100) = &self.portal_id { + query.push_kv("portalId", &smithy_http::query::fmt_string(&inner_100)); } - if let Some(inner_100) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_100)); + if let Some(inner_101) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_101)); } - if let Some(inner_101) = &self.max_results { + if let Some(inner_102) = &self.max_results { query.push_kv( "maxResults", - &smithy_types::primitive::Encoder::from(*inner_101).encode(), + &smithy_types::primitive::Encoder::from(*inner_102).encode(), ); } } @@ -8769,8 +8814,8 @@ impl ListTagsForResourceInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_102) = &self.resource_arn { - query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_102)); + if let Some(inner_103) = &self.resource_arn { + query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_103)); } } #[allow(clippy::unnecessary_wraps)] @@ -9416,8 +9461,8 @@ impl TagResourceInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_103) = &self.resource_arn { - query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_103)); + if let Some(inner_104) = &self.resource_arn { + query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_104)); } } #[allow(clippy::unnecessary_wraps)] @@ -9575,12 +9620,12 @@ impl UntagResourceInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_104) = &self.resource_arn { - query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_104)); + if let Some(inner_105) = &self.resource_arn { + query.push_kv("resourceArn", &smithy_http::query::fmt_string(&inner_105)); } - if let Some(inner_105) = &self.tag_keys { - for inner_106 in inner_105 { - query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_106)); + if let Some(inner_106) = &self.tag_keys { + for inner_107 in inner_106 { + query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_107)); } } } @@ -9783,15 +9828,15 @@ impl UpdateAccessPolicyInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_107 = &self.access_policy_id; - let input_107 = - input_107 + let input_108 = &self.access_policy_id; + let input_108 = + input_108 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "access_policy_id", details: "cannot be empty or unset", })?; - let access_policy_id = smithy_http::label::fmt_string(input_107, false); + let access_policy_id = smithy_http::label::fmt_string(input_108, false); if access_policy_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "access_policy_id", @@ -9968,15 +10013,15 @@ impl UpdateAssetInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_108 = &self.asset_id; - let input_108 = - input_108 + let input_109 = &self.asset_id; + let input_109 = + input_109 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "asset_id", details: "cannot be empty or unset", })?; - let asset_id = smithy_http::label::fmt_string(input_108, false); + let asset_id = smithy_http::label::fmt_string(input_109, false); if asset_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "asset_id", @@ -10227,15 +10272,15 @@ impl UpdateAssetModelInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_109 = &self.asset_model_id; - let input_109 = - input_109 + let input_110 = &self.asset_model_id; + let input_110 = + input_110 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "asset_model_id", details: "cannot be empty or unset", })?; - let asset_model_id = smithy_http::label::fmt_string(input_109, false); + let asset_model_id = smithy_http::label::fmt_string(input_110, false); if asset_model_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "asset_model_id", @@ -10453,30 +10498,30 @@ impl UpdateAssetPropertyInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_110 = &self.asset_id; - let input_110 = - input_110 + let input_111 = &self.asset_id; + let input_111 = + input_111 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "asset_id", details: "cannot be empty or unset", })?; - let asset_id = smithy_http::label::fmt_string(input_110, false); + let asset_id = smithy_http::label::fmt_string(input_111, false); if asset_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "asset_id", details: "cannot be empty or unset", }); } - let input_111 = &self.property_id; - let input_111 = - input_111 + let input_112 = &self.property_id; + let input_112 = + input_112 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "property_id", details: "cannot be empty or unset", })?; - let property_id = smithy_http::label::fmt_string(input_111, false); + let property_id = smithy_http::label::fmt_string(input_112, false); if property_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "property_id", @@ -10687,15 +10732,15 @@ impl UpdateDashboardInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_112 = &self.dashboard_id; - let input_112 = - input_112 + let input_113 = &self.dashboard_id; + let input_113 = + input_113 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "dashboard_id", details: "cannot be empty or unset", })?; - let dashboard_id = smithy_http::label::fmt_string(input_112, false); + let dashboard_id = smithy_http::label::fmt_string(input_113, false); if dashboard_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "dashboard_id", @@ -10858,15 +10903,15 @@ impl UpdateGatewayInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_113 = &self.gateway_id; - let input_113 = - input_113 + let input_114 = &self.gateway_id; + let input_114 = + input_114 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "gateway_id", details: "cannot be empty or unset", })?; - let gateway_id = smithy_http::label::fmt_string(input_113, false); + let gateway_id = smithy_http::label::fmt_string(input_114, false); if gateway_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "gateway_id", @@ -11058,15 +11103,15 @@ impl UpdateGatewayCapabilityConfigurationInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_114 = &self.gateway_id; - let input_114 = - input_114 + let input_115 = &self.gateway_id; + let input_115 = + input_115 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "gateway_id", details: "cannot be empty or unset", })?; - let gateway_id = smithy_http::label::fmt_string(input_114, false); + let gateway_id = smithy_http::label::fmt_string(input_115, false); if gateway_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "gateway_id", @@ -11333,15 +11378,15 @@ impl UpdatePortalInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_115 = &self.portal_id; - let input_115 = - input_115 + let input_116 = &self.portal_id; + let input_116 = + input_116 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "portal_id", details: "cannot be empty or unset", })?; - let portal_id = smithy_http::label::fmt_string(input_115, false); + let portal_id = smithy_http::label::fmt_string(input_116, false); if portal_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "portal_id", @@ -11528,15 +11573,15 @@ impl UpdateProjectInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_116 = &self.project_id; - let input_116 = - input_116 + let input_117 = &self.project_id; + let input_117 = + input_117 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "project_id", details: "cannot be empty or unset", })?; - let project_id = smithy_http::label::fmt_string(input_116, false); + let project_id = smithy_http::label::fmt_string(input_117, false); if project_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "project_id", @@ -12269,9 +12314,39 @@ pub struct GetInterpolatedAssetPropertyValuesInput { ///

                                                        The maximum number of results to return for each paginated request. If not specified, the default value is 10.

                                                        pub max_results: std::option::Option, ///

                                                        The interpolation type.

                                                        - ///

                                                        Valid values: LINEAR_INTERPOLATION + ///

                                                        Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION ///

                                                        + ///

                                                        For the LOCF_INTERPOLATION interpolation, if no data point is found for an interval, + /// IoT SiteWise returns the same interpolated value calculated for the previous interval + /// and carries forward this interpolated value until a new data point is found.

                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. + /// If the LOCF_INTERPOLATION interpolation starts on July 1, 2021, at 9 AM, IoT SiteWise uses the data points from July 1, 2021, + /// at 9 AM to July 2, 2021, at 9 AM to compute the first interpolated value. + /// If no data points is found after 9 A.M. on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.

                                                        pub r#type: std::option::Option, + ///

                                                        The query interval for the window in seconds. IoT SiteWise computes each interpolated value by using data points + /// from the timestamp of each interval minus the window to the timestamp of each interval plus the window. + /// If not specified, the window is between the start time minus the interval and the end time plus the interval.

                                                        + /// + ///
                                                          + ///
                                                        • + ///

                                                          If you specify a value for the intervalWindowInSeconds parameter, + /// the type parameter must be LINEAR_INTERPOLATION.

                                                          + ///
                                                        • + ///
                                                        • + ///

                                                          If no data point is found during the specified query window, + /// IoT SiteWise won't return an interpolated value for the interval. + /// This indicates that there's a gap in the ingested data points.

                                                          + ///
                                                        • + ///
                                                        + ///
                                                        + ///

                                                        For example, you can get the interpolated temperature values for a wind turbine + /// every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, + /// at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM - 2 hours) + /// to 11 AM (9 AM + 2 hours) on July 2, 2021 to compute the first interpolated value, + /// uses the data points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 + /// to compute the second interpolated value, and so on.

                                                        + pub interval_window_in_seconds: std::option::Option, } impl std::fmt::Debug for GetInterpolatedAssetPropertyValuesInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -12291,6 +12366,10 @@ impl std::fmt::Debug for GetInterpolatedAssetPropertyValuesInput { formatter.field("next_token", &self.next_token); formatter.field("max_results", &self.max_results); formatter.field("r#type", &self.r#type); + formatter.field( + "interval_window_in_seconds", + &self.interval_window_in_seconds, + ); formatter.finish() } } diff --git a/sdk/iotsitewise/src/model.rs b/sdk/iotsitewise/src/model.rs index 618dc2fe793b..bd9261688cc0 100644 --- a/sdk/iotsitewise/src/model.rs +++ b/sdk/iotsitewise/src/model.rs @@ -1620,12 +1620,12 @@ pub struct TumblingWindow { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) the next day.

                                                          ///
                                                        • ///
                                                        ///
                                                      • @@ -1635,21 +1635,21 @@ pub struct TumblingWindow { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) the next day.

                                                          ///
                                                        • ///
                                                        /// ///
                                                      • ///

                                                        The 24-hour clock.

                                                        ///

                                                        For example, if you specify 00:03:00 for offset - /// and 5m for interval, and you create the metric at 2 p.m. (UTC), - /// you get the first aggregation result at 2:03 p.m. (UTC). - /// You get the second aggregation result at 2:08 p.m. (UTC).

                                                        + /// and 5m for interval, and you create the metric at 2 PM (UTC), + /// you get the first aggregation result at 2:03 PM (UTC). + /// You get the second aggregation result at 2:08 PM (UTC).

                                                        ///
                                                      • ///
                                                      • ///

                                                        The offset time zone.

                                                        @@ -1657,12 +1657,12 @@ pub struct TumblingWindow { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (PST), - /// you get the first aggregation result at 6 p.m. (PST) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (PST), + /// you get the first aggregation result at 6 PM (PST) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (PST), - /// you get the first aggregation result at 6 p.m. (PST) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (PST), + /// you get the first aggregation result at 6 PM (PST) the next day.

                                                          ///
                                                        • ///
                                                        ///
                                                      • @@ -1710,12 +1710,12 @@ pub mod tumbling_window { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) the next day.

                                                          ///
                                                        • ///
                                                        /// @@ -1725,21 +1725,21 @@ pub mod tumbling_window { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (UTC), - /// you get the first aggregation result at 6 p.m. (UTC) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (UTC), + /// you get the first aggregation result at 6 PM (UTC) the next day.

                                                          ///
                                                        • ///
                                                        /// ///
                                                      • ///

                                                        The 24-hour clock.

                                                        ///

                                                        For example, if you specify 00:03:00 for offset - /// and 5m for interval, and you create the metric at 2 p.m. (UTC), - /// you get the first aggregation result at 2:03 p.m. (UTC). - /// You get the second aggregation result at 2:08 p.m. (UTC).

                                                        + /// and 5m for interval, and you create the metric at 2 PM (UTC), + /// you get the first aggregation result at 2:03 PM (UTC). + /// You get the second aggregation result at 2:08 PM (UTC).

                                                        ///
                                                      • ///
                                                      • ///

                                                        The offset time zone.

                                                        @@ -1747,12 +1747,12 @@ pub mod tumbling_window { /// and 1d for interval, IoT SiteWise aggregates data in one of the following ways:

                                                        ///
                                                          ///
                                                        • - ///

                                                          If you create the metric before or at 6:00 p.m. (PST), - /// you get the first aggregation result at 6 p.m. (PST) on the day when you create the metric.

                                                          + ///

                                                          If you create the metric before or at 6:00 PM (PST), + /// you get the first aggregation result at 6 PM (PST) on the day when you create the metric.

                                                          ///
                                                        • ///
                                                        • - ///

                                                          If you create the metric after 6:00 p.m. (PST), - /// you get the first aggregation result at 6 p.m. (PST) the next day.

                                                          + ///

                                                          If you create the metric after 6:00 PM (PST), + /// you get the first aggregation result at 6 PM (PST) the next day.

                                                          ///
                                                        • ///
                                                        ///
                                                      • diff --git a/sdk/iotthingsgraph/Cargo.toml b/sdk/iotthingsgraph/Cargo.toml index ffc6c5c0319e..ce40159feade 100644 --- a/sdk/iotthingsgraph/Cargo.toml +++ b/sdk/iotthingsgraph/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotthingsgraph" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS IoT Things Graph\n

                                                        AWS IoT Things Graph provides an integrated set of tools that enable developers to connect devices and services that use different standards, \n such as units of measure and communication protocols. AWS IoT Things Graph makes it possible to build IoT applications with little to no code by connecting devices and services \n and defining how they interact at an abstract level.

                                                        \n

                                                        For more information about how AWS IoT Things Graph works, see the User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/iotwireless/Cargo.toml b/sdk/iotwireless/Cargo.toml index 99c3538d7d5a..67d658a1b41f 100644 --- a/sdk/iotwireless/Cargo.toml +++ b/sdk/iotwireless/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-iotwireless" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS IoT Wireless API documentation

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ivs/Cargo.toml b/sdk/ivs/Cargo.toml index 2f4ed7ef8195..630edee9e4ca 100644 --- a/sdk/ivs/Cargo.toml +++ b/sdk/ivs/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ivs" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        \n Introduction\n

                                                        \n\n

                                                        The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP\n API and an AWS EventBridge event stream for responses. JSON is used for both requests and\n responses, including errors.

                                                        \n\n

                                                        The API is an AWS regional service, currently in these regions: us-west-2, us-east-1, and\n eu-west-1.

                                                        \n

                                                        \n \n All API request parameters and URLs are case sensitive.\n \n \n

                                                        \n\n

                                                        For a summary of notable documentation changes in each release, see Document\n History.

                                                        \n\n

                                                        \n Service Endpoints\n

                                                        \n

                                                        The following are the Amazon IVS service endpoints (all HTTPS):

                                                        \n

                                                        Region name: US West (Oregon)

                                                        \n
                                                          \n
                                                        • \n

                                                          Region: us-west-2\n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Endpoint: ivs.us-west-2.amazonaws.com\n

                                                          \n
                                                        • \n
                                                        \n

                                                        Region name: US East (Virginia)

                                                        \n
                                                          \n
                                                        • \n

                                                          Region: us-east-1\n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Endpoint: ivs.us-east-1.amazonaws.com\n

                                                          \n
                                                        • \n
                                                        \n

                                                        Region name: EU West (Dublin)

                                                        \n
                                                          \n
                                                        • \n

                                                          Region: eu-west-1\n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Endpoint: ivs.eu-west-1.amazonaws.com\n

                                                          \n
                                                        • \n
                                                        \n\n

                                                        \n Allowed Header Values\n

                                                        \n\n
                                                          \n
                                                        • \n

                                                          \n \n Accept:\n application/json

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n \n Accept-Encoding:\n gzip, deflate

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n \n Content-Type:\n application/json

                                                          \n
                                                        • \n
                                                        \n\n

                                                        \n Resources\n

                                                        \n

                                                        The following resources contain information about your IVS live stream (see Getting Started with Amazon\n IVS):

                                                        \n\n
                                                          \n
                                                        • \n

                                                          Channel — Stores configuration data related to your live stream. You first create a\n channel and then use the channel’s stream key to start your live stream. See the Channel\n endpoints for more information.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Stream key — An identifier assigned by Amazon IVS when you create a channel, which is\n then used to authorize streaming. See the StreamKey endpoints for more information.\n \n Treat the stream key like a secret, since it allows\n anyone to stream to the channel.\n \n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Playback key pair — Video playback may be restricted using playback-authorization\n tokens, which use public-key encryption. A playback key pair is the public-private pair of\n keys used to sign and validate the playback-authorization token. See the PlaybackKeyPair\n endpoints for more information.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Recording configuration — Stores configuration related to recording a live stream and\n where to store the recorded content. Multiple channels can reference the same recording\n configuration. See the Recording Configuration endpoints for more information.

                                                          \n
                                                        • \n
                                                        \n\n\n\n

                                                        \n Tagging\n

                                                        \n\n

                                                        A tag is a metadata label that you assign to an AWS resource. A tag\n comprises a key and a value, both set by you. For\n example, you might set a tag as topic:nature to label a particular video\n category. See Tagging AWS\n Resources for more information, including restrictions that apply to tags.

                                                        \n\n

                                                        Tags can help you identify and organize your AWS resources. For example, you can use the\n same tag for different resources to indicate that they are related. You can also use tags to\n manage access (see \n Access Tags).

                                                        \n\n

                                                        The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following\n resources support tagging: Channels, Stream Keys, Playback Key Pairs, and Recording\n Configurations.

                                                        \n\n

                                                        \n Authentication versus Authorization\n

                                                        \n

                                                        Note the differences between these concepts:

                                                        \n
                                                          \n
                                                        • \n

                                                          \n Authentication is about verifying identity. You need to be authenticated to sign Amazon IVS\n API requests.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n Authorization is about granting permissions. You need to be authorized to\n view Amazon IVS private channels. (Private channels are channels that are enabled for\n \"playback authorization.\")

                                                          \n
                                                        • \n
                                                        \n \n

                                                        \n Authentication\n

                                                        \n

                                                        All Amazon IVS API requests must be authenticated with a signature. The AWS Command-Line\n Interface (CLI) and Amazon IVS Player SDKs take care of signing the underlying API calls for\n you. However, if your application calls the Amazon IVS API directly, it’s your responsibility\n to sign the requests.

                                                        \n

                                                        You generate a signature using valid AWS credentials that have permission to perform the\n requested action. For example, you must sign PutMetadata requests with a signature generated\n from an IAM user account that has the ivs:PutMetadata permission.

                                                        \n

                                                        For more information:

                                                        \n \n\n\n

                                                        \n Channel Endpoints\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n CreateChannel — Creates a new channel and an associated stream\n key to start streaming.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n GetChannel — Gets the channel configuration for the specified\n channel ARN (Amazon Resource Name).

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n BatchGetChannel — Performs GetChannel on\n multiple ARNs simultaneously.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n ListChannels — Gets summary information about all channels in\n your account, in the AWS region where the API request is processed. This list can be\n filtered to match a specified name or recording-configuration ARN. Filters are mutually\n exclusive and cannot be used together. If you try to use both filters, you will get an\n error (409 Conflict Exception).

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n UpdateChannel — Updates a channel's configuration. This does\n not affect an ongoing stream of this channel. You must stop and restart the stream for the\n changes to take effect.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n DeleteChannel — Deletes the specified channel.

                                                          \n
                                                        • \n
                                                        \n\n

                                                        \n StreamKey Endpoints\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n CreateStreamKey — Creates a stream key, used to initiate a\n stream, for the specified channel ARN.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n GetStreamKey — Gets stream key information for the specified\n ARN.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n BatchGetStreamKey — Performs GetStreamKey on\n multiple ARNs simultaneously.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n ListStreamKeys — Gets summary information about stream keys\n for the specified channel.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n DeleteStreamKey — Deletes the stream key for the specified\n ARN, so it can no longer be used to stream.

                                                          \n
                                                        • \n
                                                        \n\n\n

                                                        \n Stream Endpoints\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n GetStream — Gets information about the active (live) stream on\n a specified channel.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n ListStreams — Gets summary information about live streams in\n your account, in the AWS region where the API request is processed.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n StopStream — Disconnects the incoming RTMPS stream for the\n specified channel. Can be used in conjunction with DeleteStreamKey to\n prevent further streaming to a channel.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n PutMetadata — Inserts metadata into the active stream of the\n specified channel. A maximum of 5 requests per second per channel is allowed, each with a\n maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching\n your data into a single PutMetadata call.)

                                                          \n
                                                        • \n
                                                        \n\n

                                                        \n PlaybackKeyPair Endpoints\n

                                                        \n

                                                        For more information, see Setting Up Private Channels in the\n Amazon IVS User Guide.

                                                        \n
                                                          \n
                                                        • \n

                                                          \n ImportPlaybackKeyPair — Imports the public portion of a new\n key pair and returns its arn and fingerprint. The\n privateKey can then be used to generate viewer authorization tokens, to\n grant viewers access to private channels (channels enabled for playback\n authorization).

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n GetPlaybackKeyPair — Gets a specified playback authorization\n key pair and returns the arn and fingerprint. The\n privateKey held by the caller can be used to generate viewer authorization\n tokens, to grant viewers access to private channels.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n ListPlaybackKeyPairs — Gets summary information about playback\n key pairs.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n DeletePlaybackKeyPair — Deletes a specified authorization key\n pair. This invalidates future viewer tokens generated using the key pair’s\n privateKey.

                                                          \n
                                                        • \n
                                                        \n\n

                                                        \n RecordingConfiguration Endpoints\n

                                                        \n \n\n

                                                        \n AWS Tags Endpoints\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n TagResource — Adds or updates tags for the AWS resource with\n the specified ARN.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n UntagResource — Removes tags from the resource with the\n specified ARN.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n ListTagsForResource — Gets information about AWS tags for the\n specified ARN.

                                                          \n
                                                        • \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kafka/Cargo.toml b/sdk/kafka/Cargo.toml index f32d7512b032..941e6746a7e3 100644 --- a/sdk/kafka/Cargo.toml +++ b/sdk/kafka/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kafka" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The operations for managing an Amazon MSK cluster.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kendra/Cargo.toml b/sdk/kendra/Cargo.toml index 5ddca07e010c..8279cf84aef8 100644 --- a/sdk/kendra/Cargo.toml +++ b/sdk/kendra/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kendra" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Kendra is a service for indexing large document sets.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kendra/src/model.rs b/sdk/kendra/src/model.rs index 532d00f35550..7e4f27eff69a 100644 --- a/sdk/kendra/src/model.rs +++ b/sdk/kendra/src/model.rs @@ -8024,7 +8024,7 @@ pub enum DocumentAttributeValue { StringValue(std::string::String), } impl DocumentAttributeValue { - pub fn as_date_value(&self) -> Result<&smithy_types::Instant, &Self> { + pub fn as_date_value(&self) -> std::result::Result<&smithy_types::Instant, &Self> { if let DocumentAttributeValue::DateValue(val) = &self { Ok(&val) } else { @@ -8034,7 +8034,7 @@ impl DocumentAttributeValue { pub fn is_date_value(&self) -> bool { self.as_date_value().is_ok() } - pub fn as_long_value(&self) -> Result<&i64, &Self> { + pub fn as_long_value(&self) -> std::result::Result<&i64, &Self> { if let DocumentAttributeValue::LongValue(val) = &self { Ok(&val) } else { @@ -8044,7 +8044,9 @@ impl DocumentAttributeValue { pub fn is_long_value(&self) -> bool { self.as_long_value().is_ok() } - pub fn as_string_list_value(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_string_list_value( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let DocumentAttributeValue::StringListValue(val) = &self { Ok(&val) } else { @@ -8054,7 +8056,7 @@ impl DocumentAttributeValue { pub fn is_string_list_value(&self) -> bool { self.as_string_list_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let DocumentAttributeValue::StringValue(val) = &self { Ok(&val) } else { diff --git a/sdk/kinesis/Cargo.toml b/sdk/kinesis/Cargo.toml index 54e7f14de0e6..6b08b9e5f21f 100644 --- a/sdk/kinesis/Cargo.toml +++ b/sdk/kinesis/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesis" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Kinesis Data Streams Service API Reference\n

                                                        Amazon Kinesis Data Streams is a managed service that scales elastically for\n real-time processing of streaming big data.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisanalytics/Cargo.toml b/sdk/kinesisanalytics/Cargo.toml index 4237d4b32d04..0a9c0d1915ef 100644 --- a/sdk/kinesisanalytics/Cargo.toml +++ b/sdk/kinesisanalytics/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisanalytics" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Kinesis Analytics\n

                                                        \n Overview\n

                                                        \n \n

                                                        This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

                                                        \n
                                                        \n

                                                        This is the Amazon Kinesis Analytics v1 API Reference. \n The Amazon Kinesis Analytics Developer Guide provides additional information. \n

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisanalyticsv2/Cargo.toml b/sdk/kinesisanalyticsv2/Cargo.toml index 895a0df371db..9bb76b402c27 100644 --- a/sdk/kinesisanalyticsv2/Cargo.toml +++ b/sdk/kinesisanalyticsv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisanalyticsv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using Java, SQL, or Scala. The service\n enables you to quickly author and run Java, SQL, or Scala code against streaming sources to perform time\n series analytics, feed real-time dashboards, and create real-time metrics.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisvideo/Cargo.toml b/sdk/kinesisvideo/Cargo.toml index fe335d1a582b..1bf03484c48f 100644 --- a/sdk/kinesisvideo/Cargo.toml +++ b/sdk/kinesisvideo/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisvideo" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisvideoarchivedmedia/Cargo.toml b/sdk/kinesisvideoarchivedmedia/Cargo.toml index 1ff1a736d088..cda2d70f2166 100644 --- a/sdk/kinesisvideoarchivedmedia/Cargo.toml +++ b/sdk/kinesisvideoarchivedmedia/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisvideoarchivedmedia" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisvideomedia/Cargo.toml b/sdk/kinesisvideomedia/Cargo.toml index c6f4a51e8aba..5fc93ea444cb 100644 --- a/sdk/kinesisvideomedia/Cargo.toml +++ b/sdk/kinesisvideomedia/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisvideomedia" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kinesisvideosignaling/Cargo.toml b/sdk/kinesisvideosignaling/Cargo.toml index 1c2618cde5eb..a3ed366208bd 100644 --- a/sdk/kinesisvideosignaling/Cargo.toml +++ b/sdk/kinesisvideosignaling/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kinesisvideosignaling" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Kinesis Video Streams Signaling Service is a intermediate service that establishes a\n communication channel for discovering peers, transmitting offers and answers in order to\n establish peer-to-peer connection in webRTC technology.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/kms/Cargo.toml b/sdk/kms/Cargo.toml index e316e6cf6b02..b65c2af8ed3b 100644 --- a/sdk/kms/Cargo.toml +++ b/sdk/kms/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-kms" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Key Management Service\n

                                                        AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes\n the AWS KMS operations that you can call programmatically. For general information about AWS KMS,\n see the \n AWS Key Management Service Developer Guide\n .

                                                        \n \n

                                                        AWS provides SDKs that consist of libraries and sample code for various programming\n languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a\n convenient way to create programmatic access to AWS KMS and other AWS services. For example,\n the SDKs take care of tasks such as signing requests (see below), managing errors, and\n retrying requests automatically. For more information about the AWS SDKs, including how to\n download and install them, see Tools for Amazon Web\n Services.

                                                        \n
                                                        \n

                                                        We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

                                                        \n

                                                        Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients\n must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral\n Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems\n such as Java 7 and later support these modes.

                                                        \n

                                                        \n Signing Requests\n

                                                        \n

                                                        Requests must be signed by using an access key ID and a secret access key. We strongly\n recommend that you do not use your AWS account (root) access key ID and\n secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key\n for an IAM user. You can also use the AWS Security Token Service to generate temporary\n security credentials that you can use to sign requests.

                                                        \n

                                                        All AWS KMS operations require Signature Version 4.

                                                        \n

                                                        \n Logging API Requests\n

                                                        \n

                                                        AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS\n account and delivers them to an Amazon S3 bucket that you specify. By using the information\n collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request,\n when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find\n your log files, see the AWS CloudTrail User Guide.

                                                        \n

                                                        \n Additional Resources\n

                                                        \n

                                                        For more information about credentials and request signing, see the following:

                                                        \n \n

                                                        \n Commonly Used API Operations\n

                                                        \n

                                                        Of the API operations discussed in this guide, the following will prove the most useful\n for most applications. You will likely perform operations other than these, such as creating\n keys and assigning policies, by using the console.

                                                        \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lakeformation/Cargo.toml b/sdk/lakeformation/Cargo.toml index 1f9ffd50a0a4..6e16b9793994 100644 --- a/sdk/lakeformation/Cargo.toml +++ b/sdk/lakeformation/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lakeformation" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Lake Formation\n

                                                        Defines the public endpoint for the AWS Lake Formation service.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lambda/Cargo.toml b/sdk/lambda/Cargo.toml index e5ab47611d8f..1af6201372d1 100644 --- a/sdk/lambda/Cargo.toml +++ b/sdk/lambda/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lambda" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Lambda\n

                                                        \n Overview\n

                                                        \n

                                                        This is the Lambda API Reference. The Lambda Developer Guide provides additional\n information. For the service overview, see What is\n Lambda, and for information about how the service works, see Lambda: How it Works in the Lambda Developer Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lambda/src/client.rs b/sdk/lambda/src/client.rs index f36a15b4cd97..176b463e2dc5 100644 --- a/sdk/lambda/src/client.rs +++ b/sdk/lambda/src/client.rs @@ -3203,7 +3203,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                        For Lambda@Edge functions, the Region of the master function. For example, us-east-1 filters + ///

                                                        For Lambda@Edge functions, the Amazon Web Services Region of the master function. For example, us-east-1 filters /// the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N. /// Virginia). If specified, you must set FunctionVersion to ALL.

                                                        pub fn master_region(mut self, input: impl Into) -> Self { diff --git a/sdk/lambda/src/input.rs b/sdk/lambda/src/input.rs index 6c68ef9072c1..a620e1fa9e47 100644 --- a/sdk/lambda/src/input.rs +++ b/sdk/lambda/src/input.rs @@ -6992,7 +6992,7 @@ pub mod list_functions_input { pub(crate) max_items: std::option::Option, } impl Builder { - ///

                                                        For Lambda@Edge functions, the Region of the master function. For example, us-east-1 filters + ///

                                                        For Lambda@Edge functions, the Amazon Web Services Region of the master function. For example, us-east-1 filters /// the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N. /// Virginia). If specified, you must set FunctionVersion to ALL.

                                                        pub fn master_region(mut self, input: impl Into) -> Self { @@ -12957,7 +12957,7 @@ impl std::fmt::Debug for ListFunctionsByCodeSigningConfigInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListFunctionsInput { - ///

                                                        For Lambda@Edge functions, the Region of the master function. For example, us-east-1 filters + ///

                                                        For Lambda@Edge functions, the Amazon Web Services Region of the master function. For example, us-east-1 filters /// the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N. /// Virginia). If specified, you must set FunctionVersion to ALL.

                                                        pub master_region: std::option::Option, diff --git a/sdk/lambda/src/model.rs b/sdk/lambda/src/model.rs index 4b6b48db1c9a..7e252c21c546 100644 --- a/sdk/lambda/src/model.rs +++ b/sdk/lambda/src/model.rs @@ -1367,6 +1367,7 @@ pub enum Runtime { Python36, Python37, Python38, + Python39, Ruby25, Ruby27, /// Unknown contains new variants that have been added since this code was generated. @@ -1397,6 +1398,7 @@ impl std::convert::From<&str> for Runtime { "python3.6" => Runtime::Python36, "python3.7" => Runtime::Python37, "python3.8" => Runtime::Python38, + "python3.9" => Runtime::Python39, "ruby2.5" => Runtime::Ruby25, "ruby2.7" => Runtime::Ruby27, other => Runtime::Unknown(other.to_owned()), @@ -1435,6 +1437,7 @@ impl Runtime { Runtime::Python36 => "python3.6", Runtime::Python37 => "python3.7", Runtime::Python38 => "python3.8", + Runtime::Python39 => "python3.9", Runtime::Ruby25 => "ruby2.5", Runtime::Ruby27 => "ruby2.7", Runtime::Unknown(s) => s.as_ref(), @@ -1464,6 +1467,7 @@ impl Runtime { "python3.6", "python3.7", "python3.8", + "python3.9", "ruby2.5", "ruby2.7", ] diff --git a/sdk/lexmodelbuilding/Cargo.toml b/sdk/lexmodelbuilding/Cargo.toml index 0e2b6a58c143..f34fc3c35221 100644 --- a/sdk/lexmodelbuilding/Cargo.toml +++ b/sdk/lexmodelbuilding/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lexmodelbuilding" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Lex Build-Time Actions\n

                                                        Amazon Lex is an AWS service for building conversational voice and text\n interfaces. Use these actions to create, update, and delete conversational\n bots for new and existing client applications.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lexmodelsv2/Cargo.toml b/sdk/lexmodelsv2/Cargo.toml index bd72ef10d810..87bdb6135722 100644 --- a/sdk/lexmodelsv2/Cargo.toml +++ b/sdk/lexmodelsv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lexmodelsv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lexmodelsv2/src/json_deser.rs b/sdk/lexmodelsv2/src/json_deser.rs index 7a138fcf05a0..361045e82862 100644 --- a/sdk/lexmodelsv2/src/json_deser.rs +++ b/sdk/lexmodelsv2/src/json_deser.rs @@ -4837,6 +4837,13 @@ where )?, ); } + "active" => { + builder = builder.set_active( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -4887,6 +4894,13 @@ where )?, ); } + "active" => { + builder = builder.set_active( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -6498,6 +6512,13 @@ where crate::json_deser::deser_structure_still_waiting_response_specification(tokens)? ); } + "active" => { + builder = builder.set_active( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/lexmodelsv2/src/json_ser.rs b/sdk/lexmodelsv2/src/json_ser.rs index 8661e99d3ef3..f2ef5c18ae9c 100644 --- a/sdk/lexmodelsv2/src/json_ser.rs +++ b/sdk/lexmodelsv2/src/json_ser.rs @@ -1075,21 +1075,27 @@ pub fn serialize_structure_intent_closing_setting( crate::json_ser::serialize_structure_response_specification(&mut object_278, var_277); object_278.finish(); } + if let Some(var_279) = &input.active { + object.key("active").boolean(*var_279); + } } pub fn serialize_structure_intent_confirmation_setting( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IntentConfirmationSetting, ) { - if let Some(var_279) = &input.prompt_specification { - let mut object_280 = object.key("promptSpecification").start_object(); - crate::json_ser::serialize_structure_prompt_specification(&mut object_280, var_279); - object_280.finish(); + if let Some(var_280) = &input.prompt_specification { + let mut object_281 = object.key("promptSpecification").start_object(); + crate::json_ser::serialize_structure_prompt_specification(&mut object_281, var_280); + object_281.finish(); + } + if let Some(var_282) = &input.declination_response { + let mut object_283 = object.key("declinationResponse").start_object(); + crate::json_ser::serialize_structure_response_specification(&mut object_283, var_282); + object_283.finish(); } - if let Some(var_281) = &input.declination_response { - let mut object_282 = object.key("declinationResponse").start_object(); - crate::json_ser::serialize_structure_response_specification(&mut object_282, var_281); - object_282.finish(); + if let Some(var_284) = &input.active { + object.key("active").boolean(*var_284); } } @@ -1097,16 +1103,16 @@ pub fn serialize_structure_kendra_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KendraConfiguration, ) { - if let Some(var_283) = &input.kendra_index { - object.key("kendraIndex").string(var_283); + if let Some(var_285) = &input.kendra_index { + object.key("kendraIndex").string(var_285); } if input.query_filter_string_enabled { object .key("queryFilterStringEnabled") .boolean(input.query_filter_string_enabled); } - if let Some(var_284) = &input.query_filter_string { - object.key("queryFilterString").string(var_284); + if let Some(var_286) = &input.query_filter_string { + object.key("queryFilterString").string(var_286); } } @@ -1114,19 +1120,19 @@ pub fn serialize_structure_output_context( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OutputContext, ) { - if let Some(var_285) = &input.name { - object.key("name").string(var_285); + if let Some(var_287) = &input.name { + object.key("name").string(var_287); } - if let Some(var_286) = &input.time_to_live_in_seconds { + if let Some(var_288) = &input.time_to_live_in_seconds { object.key("timeToLiveInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_286).into()), + smithy_types::Number::NegInt((*var_288).into()), ); } - if let Some(var_287) = &input.turns_to_live { + if let Some(var_289) = &input.turns_to_live { object.key("turnsToLive").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_287).into()), + smithy_types::Number::NegInt((*var_289).into()), ); } } @@ -1135,8 +1141,8 @@ pub fn serialize_structure_sample_utterance( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SampleUtterance, ) { - if let Some(var_288) = &input.utterance { - object.key("utterance").string(var_288); + if let Some(var_290) = &input.utterance { + object.key("utterance").string(var_290); } } @@ -1144,11 +1150,11 @@ pub fn serialize_structure_principal( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Principal, ) { - if let Some(var_289) = &input.service { - object.key("service").string(var_289); + if let Some(var_291) = &input.service { + object.key("service").string(var_291); } - if let Some(var_290) = &input.arn { - object.key("arn").string(var_290); + if let Some(var_292) = &input.arn { + object.key("arn").string(var_292); } } @@ -1167,10 +1173,10 @@ pub fn serialize_structure_obfuscation_setting( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ObfuscationSetting, ) { - if let Some(var_291) = &input.obfuscation_setting_type { + if let Some(var_293) = &input.obfuscation_setting_type { object .key("obfuscationSettingType") - .string(var_291.as_str()); + .string(var_293.as_str()); } } @@ -1178,40 +1184,40 @@ pub fn serialize_structure_slot_value_elicitation_setting( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotValueElicitationSetting, ) { - if let Some(var_292) = &input.default_value_specification { - let mut object_293 = object.key("defaultValueSpecification").start_object(); + if let Some(var_294) = &input.default_value_specification { + let mut object_295 = object.key("defaultValueSpecification").start_object(); crate::json_ser::serialize_structure_slot_default_value_specification( - &mut object_293, - var_292, + &mut object_295, + var_294, ); - object_293.finish(); + object_295.finish(); } - if let Some(var_294) = &input.slot_constraint { - object.key("slotConstraint").string(var_294.as_str()); + if let Some(var_296) = &input.slot_constraint { + object.key("slotConstraint").string(var_296.as_str()); } - if let Some(var_295) = &input.prompt_specification { - let mut object_296 = object.key("promptSpecification").start_object(); - crate::json_ser::serialize_structure_prompt_specification(&mut object_296, var_295); - object_296.finish(); + if let Some(var_297) = &input.prompt_specification { + let mut object_298 = object.key("promptSpecification").start_object(); + crate::json_ser::serialize_structure_prompt_specification(&mut object_298, var_297); + object_298.finish(); } - if let Some(var_297) = &input.sample_utterances { - let mut array_298 = object.key("sampleUtterances").start_array(); - for item_299 in var_297 { + if let Some(var_299) = &input.sample_utterances { + let mut array_300 = object.key("sampleUtterances").start_array(); + for item_301 in var_299 { { - let mut object_300 = array_298.value().start_object(); - crate::json_ser::serialize_structure_sample_utterance(&mut object_300, item_299); - object_300.finish(); + let mut object_302 = array_300.value().start_object(); + crate::json_ser::serialize_structure_sample_utterance(&mut object_302, item_301); + object_302.finish(); } } - array_298.finish(); + array_300.finish(); } - if let Some(var_301) = &input.wait_and_continue_specification { - let mut object_302 = object.key("waitAndContinueSpecification").start_object(); + if let Some(var_303) = &input.wait_and_continue_specification { + let mut object_304 = object.key("waitAndContinueSpecification").start_object(); crate::json_ser::serialize_structure_wait_and_continue_specification( - &mut object_302, - var_301, + &mut object_304, + var_303, ); - object_302.finish(); + object_304.finish(); } } @@ -1219,21 +1225,21 @@ pub fn serialize_structure_slot_type_value( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotTypeValue, ) { - if let Some(var_303) = &input.sample_value { - let mut object_304 = object.key("sampleValue").start_object(); - crate::json_ser::serialize_structure_sample_value(&mut object_304, var_303); - object_304.finish(); + if let Some(var_305) = &input.sample_value { + let mut object_306 = object.key("sampleValue").start_object(); + crate::json_ser::serialize_structure_sample_value(&mut object_306, var_305); + object_306.finish(); } - if let Some(var_305) = &input.synonyms { - let mut array_306 = object.key("synonyms").start_array(); - for item_307 in var_305 { + if let Some(var_307) = &input.synonyms { + let mut array_308 = object.key("synonyms").start_array(); + for item_309 in var_307 { { - let mut object_308 = array_306.value().start_object(); - crate::json_ser::serialize_structure_sample_value(&mut object_308, item_307); - object_308.finish(); + let mut object_310 = array_308.value().start_object(); + crate::json_ser::serialize_structure_sample_value(&mut object_310, item_309); + object_310.finish(); } } - array_306.finish(); + array_308.finish(); } } @@ -1241,13 +1247,13 @@ pub fn serialize_structure_slot_value_selection_setting( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotValueSelectionSetting, ) { - if let Some(var_309) = &input.resolution_strategy { - object.key("resolutionStrategy").string(var_309.as_str()); + if let Some(var_311) = &input.resolution_strategy { + object.key("resolutionStrategy").string(var_311.as_str()); } - if let Some(var_310) = &input.regex_filter { - let mut object_311 = object.key("regexFilter").start_object(); - crate::json_ser::serialize_structure_slot_value_regex_filter(&mut object_311, var_310); - object_311.finish(); + if let Some(var_312) = &input.regex_filter { + let mut object_313 = object.key("regexFilter").start_object(); + crate::json_ser::serialize_structure_slot_value_regex_filter(&mut object_313, var_312); + object_313.finish(); } } @@ -1255,20 +1261,20 @@ pub fn serialize_structure_bot_locale_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotLocaleFilter, ) { - if let Some(var_312) = &input.name { - object.key("name").string(var_312.as_str()); + if let Some(var_314) = &input.name { + object.key("name").string(var_314.as_str()); } - if let Some(var_313) = &input.values { - let mut array_314 = object.key("values").start_array(); - for item_315 in var_313 { + if let Some(var_315) = &input.values { + let mut array_316 = object.key("values").start_array(); + for item_317 in var_315 { { - array_314.value().string(item_315); + array_316.value().string(item_317); } } - array_314.finish(); + array_316.finish(); } - if let Some(var_316) = &input.operator { - object.key("operator").string(var_316.as_str()); + if let Some(var_318) = &input.operator { + object.key("operator").string(var_318.as_str()); } } @@ -1276,11 +1282,11 @@ pub fn serialize_structure_bot_locale_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotLocaleSortBy, ) { - if let Some(var_317) = &input.attribute { - object.key("attribute").string(var_317.as_str()); + if let Some(var_319) = &input.attribute { + object.key("attribute").string(var_319.as_str()); } - if let Some(var_318) = &input.order { - object.key("order").string(var_318.as_str()); + if let Some(var_320) = &input.order { + object.key("order").string(var_320.as_str()); } } @@ -1288,38 +1294,26 @@ pub fn serialize_structure_bot_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotFilter, ) { - if let Some(var_319) = &input.name { - object.key("name").string(var_319.as_str()); + if let Some(var_321) = &input.name { + object.key("name").string(var_321.as_str()); } - if let Some(var_320) = &input.values { - let mut array_321 = object.key("values").start_array(); - for item_322 in var_320 { + if let Some(var_322) = &input.values { + let mut array_323 = object.key("values").start_array(); + for item_324 in var_322 { { - array_321.value().string(item_322); + array_323.value().string(item_324); } } - array_321.finish(); + array_323.finish(); } - if let Some(var_323) = &input.operator { - object.key("operator").string(var_323.as_str()); + if let Some(var_325) = &input.operator { + object.key("operator").string(var_325.as_str()); } } pub fn serialize_structure_bot_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotSortBy, -) { - if let Some(var_324) = &input.attribute { - object.key("attribute").string(var_324.as_str()); - } - if let Some(var_325) = &input.order { - object.key("order").string(var_325.as_str()); - } -} - -pub fn serialize_structure_bot_version_sort_by( - object: &mut smithy_json::serialize::JsonObjectWriter, - input: &crate::model::BotVersionSortBy, ) { if let Some(var_326) = &input.attribute { object.key("attribute").string(var_326.as_str()); @@ -1329,9 +1323,9 @@ pub fn serialize_structure_bot_version_sort_by( } } -pub fn serialize_structure_built_in_intent_sort_by( +pub fn serialize_structure_bot_version_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, - input: &crate::model::BuiltInIntentSortBy, + input: &crate::model::BotVersionSortBy, ) { if let Some(var_328) = &input.attribute { object.key("attribute").string(var_328.as_str()); @@ -1341,9 +1335,9 @@ pub fn serialize_structure_built_in_intent_sort_by( } } -pub fn serialize_structure_built_in_slot_type_sort_by( +pub fn serialize_structure_built_in_intent_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, - input: &crate::model::BuiltInSlotTypeSortBy, + input: &crate::model::BuiltInIntentSortBy, ) { if let Some(var_330) = &input.attribute { object.key("attribute").string(var_330.as_str()); @@ -1353,24 +1347,36 @@ pub fn serialize_structure_built_in_slot_type_sort_by( } } +pub fn serialize_structure_built_in_slot_type_sort_by( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::BuiltInSlotTypeSortBy, +) { + if let Some(var_332) = &input.attribute { + object.key("attribute").string(var_332.as_str()); + } + if let Some(var_333) = &input.order { + object.key("order").string(var_333.as_str()); + } +} + pub fn serialize_structure_export_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ExportFilter, ) { - if let Some(var_332) = &input.name { - object.key("name").string(var_332.as_str()); + if let Some(var_334) = &input.name { + object.key("name").string(var_334.as_str()); } - if let Some(var_333) = &input.values { - let mut array_334 = object.key("values").start_array(); - for item_335 in var_333 { + if let Some(var_335) = &input.values { + let mut array_336 = object.key("values").start_array(); + for item_337 in var_335 { { - array_334.value().string(item_335); + array_336.value().string(item_337); } } - array_334.finish(); + array_336.finish(); } - if let Some(var_336) = &input.operator { - object.key("operator").string(var_336.as_str()); + if let Some(var_338) = &input.operator { + object.key("operator").string(var_338.as_str()); } } @@ -1378,11 +1384,11 @@ pub fn serialize_structure_export_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ExportSortBy, ) { - if let Some(var_337) = &input.attribute { - object.key("attribute").string(var_337.as_str()); + if let Some(var_339) = &input.attribute { + object.key("attribute").string(var_339.as_str()); } - if let Some(var_338) = &input.order { - object.key("order").string(var_338.as_str()); + if let Some(var_340) = &input.order { + object.key("order").string(var_340.as_str()); } } @@ -1390,20 +1396,20 @@ pub fn serialize_structure_import_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ImportFilter, ) { - if let Some(var_339) = &input.name { - object.key("name").string(var_339.as_str()); + if let Some(var_341) = &input.name { + object.key("name").string(var_341.as_str()); } - if let Some(var_340) = &input.values { - let mut array_341 = object.key("values").start_array(); - for item_342 in var_340 { + if let Some(var_342) = &input.values { + let mut array_343 = object.key("values").start_array(); + for item_344 in var_342 { { - array_341.value().string(item_342); + array_343.value().string(item_344); } } - array_341.finish(); + array_343.finish(); } - if let Some(var_343) = &input.operator { - object.key("operator").string(var_343.as_str()); + if let Some(var_345) = &input.operator { + object.key("operator").string(var_345.as_str()); } } @@ -1411,11 +1417,11 @@ pub fn serialize_structure_import_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ImportSortBy, ) { - if let Some(var_344) = &input.attribute { - object.key("attribute").string(var_344.as_str()); + if let Some(var_346) = &input.attribute { + object.key("attribute").string(var_346.as_str()); } - if let Some(var_345) = &input.order { - object.key("order").string(var_345.as_str()); + if let Some(var_347) = &input.order { + object.key("order").string(var_347.as_str()); } } @@ -1423,20 +1429,20 @@ pub fn serialize_structure_intent_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IntentFilter, ) { - if let Some(var_346) = &input.name { - object.key("name").string(var_346.as_str()); + if let Some(var_348) = &input.name { + object.key("name").string(var_348.as_str()); } - if let Some(var_347) = &input.values { - let mut array_348 = object.key("values").start_array(); - for item_349 in var_347 { + if let Some(var_349) = &input.values { + let mut array_350 = object.key("values").start_array(); + for item_351 in var_349 { { - array_348.value().string(item_349); + array_350.value().string(item_351); } } - array_348.finish(); + array_350.finish(); } - if let Some(var_350) = &input.operator { - object.key("operator").string(var_350.as_str()); + if let Some(var_352) = &input.operator { + object.key("operator").string(var_352.as_str()); } } @@ -1444,11 +1450,11 @@ pub fn serialize_structure_intent_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IntentSortBy, ) { - if let Some(var_351) = &input.attribute { - object.key("attribute").string(var_351.as_str()); + if let Some(var_353) = &input.attribute { + object.key("attribute").string(var_353.as_str()); } - if let Some(var_352) = &input.order { - object.key("order").string(var_352.as_str()); + if let Some(var_354) = &input.order { + object.key("order").string(var_354.as_str()); } } @@ -1456,20 +1462,20 @@ pub fn serialize_structure_slot_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotFilter, ) { - if let Some(var_353) = &input.name { - object.key("name").string(var_353.as_str()); + if let Some(var_355) = &input.name { + object.key("name").string(var_355.as_str()); } - if let Some(var_354) = &input.values { - let mut array_355 = object.key("values").start_array(); - for item_356 in var_354 { + if let Some(var_356) = &input.values { + let mut array_357 = object.key("values").start_array(); + for item_358 in var_356 { { - array_355.value().string(item_356); + array_357.value().string(item_358); } } - array_355.finish(); + array_357.finish(); } - if let Some(var_357) = &input.operator { - object.key("operator").string(var_357.as_str()); + if let Some(var_359) = &input.operator { + object.key("operator").string(var_359.as_str()); } } @@ -1477,11 +1483,11 @@ pub fn serialize_structure_slot_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotSortBy, ) { - if let Some(var_358) = &input.attribute { - object.key("attribute").string(var_358.as_str()); + if let Some(var_360) = &input.attribute { + object.key("attribute").string(var_360.as_str()); } - if let Some(var_359) = &input.order { - object.key("order").string(var_359.as_str()); + if let Some(var_361) = &input.order { + object.key("order").string(var_361.as_str()); } } @@ -1489,20 +1495,20 @@ pub fn serialize_structure_slot_type_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotTypeFilter, ) { - if let Some(var_360) = &input.name { - object.key("name").string(var_360.as_str()); + if let Some(var_362) = &input.name { + object.key("name").string(var_362.as_str()); } - if let Some(var_361) = &input.values { - let mut array_362 = object.key("values").start_array(); - for item_363 in var_361 { + if let Some(var_363) = &input.values { + let mut array_364 = object.key("values").start_array(); + for item_365 in var_363 { { - array_362.value().string(item_363); + array_364.value().string(item_365); } } - array_362.finish(); + array_364.finish(); } - if let Some(var_364) = &input.operator { - object.key("operator").string(var_364.as_str()); + if let Some(var_366) = &input.operator { + object.key("operator").string(var_366.as_str()); } } @@ -1510,11 +1516,11 @@ pub fn serialize_structure_slot_type_sort_by( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotTypeSortBy, ) { - if let Some(var_365) = &input.attribute { - object.key("attribute").string(var_365.as_str()); + if let Some(var_367) = &input.attribute { + object.key("attribute").string(var_367.as_str()); } - if let Some(var_366) = &input.order { - object.key("order").string(var_366.as_str()); + if let Some(var_368) = &input.order { + object.key("order").string(var_368.as_str()); } } @@ -1522,18 +1528,18 @@ pub fn serialize_structure_import_resource_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ImportResourceSpecification, ) { - if let Some(var_367) = &input.bot_import_specification { - let mut object_368 = object.key("botImportSpecification").start_object(); - crate::json_ser::serialize_structure_bot_import_specification(&mut object_368, var_367); - object_368.finish(); + if let Some(var_369) = &input.bot_import_specification { + let mut object_370 = object.key("botImportSpecification").start_object(); + crate::json_ser::serialize_structure_bot_import_specification(&mut object_370, var_369); + object_370.finish(); } - if let Some(var_369) = &input.bot_locale_import_specification { - let mut object_370 = object.key("botLocaleImportSpecification").start_object(); + if let Some(var_371) = &input.bot_locale_import_specification { + let mut object_372 = object.key("botLocaleImportSpecification").start_object(); crate::json_ser::serialize_structure_bot_locale_import_specification( - &mut object_370, - var_369, + &mut object_372, + var_371, ); - object_370.finish(); + object_372.finish(); } } @@ -1541,14 +1547,14 @@ pub fn serialize_structure_slot_priority( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotPriority, ) { - if let Some(var_371) = &input.priority { + if let Some(var_373) = &input.priority { object.key("priority").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_371).into()), + smithy_types::Number::NegInt((*var_373).into()), ); } - if let Some(var_372) = &input.slot_id { - object.key("slotId").string(var_372); + if let Some(var_374) = &input.slot_id { + object.key("slotId").string(var_374); } } @@ -1556,10 +1562,10 @@ pub fn serialize_structure_code_hook_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CodeHookSpecification, ) { - if let Some(var_373) = &input.lambda_code_hook { - let mut object_374 = object.key("lambdaCodeHook").start_object(); - crate::json_ser::serialize_structure_lambda_code_hook(&mut object_374, var_373); - object_374.finish(); + if let Some(var_375) = &input.lambda_code_hook { + let mut object_376 = object.key("lambdaCodeHook").start_object(); + crate::json_ser::serialize_structure_lambda_code_hook(&mut object_376, var_375); + object_376.finish(); } } @@ -1570,10 +1576,10 @@ pub fn serialize_structure_text_log_setting( { object.key("enabled").boolean(input.enabled); } - if let Some(var_375) = &input.destination { - let mut object_376 = object.key("destination").start_object(); - crate::json_ser::serialize_structure_text_log_destination(&mut object_376, var_375); - object_376.finish(); + if let Some(var_377) = &input.destination { + let mut object_378 = object.key("destination").start_object(); + crate::json_ser::serialize_structure_text_log_destination(&mut object_378, var_377); + object_378.finish(); } } @@ -1584,10 +1590,10 @@ pub fn serialize_structure_audio_log_setting( { object.key("enabled").boolean(input.enabled); } - if let Some(var_377) = &input.destination { - let mut object_378 = object.key("destination").start_object(); - crate::json_ser::serialize_structure_audio_log_destination(&mut object_378, var_377); - object_378.finish(); + if let Some(var_379) = &input.destination { + let mut object_380 = object.key("destination").start_object(); + crate::json_ser::serialize_structure_audio_log_destination(&mut object_380, var_379); + object_380.finish(); } } @@ -1595,11 +1601,11 @@ pub fn serialize_structure_bot_export_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotExportSpecification, ) { - if let Some(var_379) = &input.bot_id { - object.key("botId").string(var_379); + if let Some(var_381) = &input.bot_id { + object.key("botId").string(var_381); } - if let Some(var_380) = &input.bot_version { - object.key("botVersion").string(var_380); + if let Some(var_382) = &input.bot_version { + object.key("botVersion").string(var_382); } } @@ -1607,14 +1613,14 @@ pub fn serialize_structure_bot_locale_export_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotLocaleExportSpecification, ) { - if let Some(var_381) = &input.bot_id { - object.key("botId").string(var_381); + if let Some(var_383) = &input.bot_id { + object.key("botId").string(var_383); } - if let Some(var_382) = &input.bot_version { - object.key("botVersion").string(var_382); + if let Some(var_384) = &input.bot_version { + object.key("botVersion").string(var_384); } - if let Some(var_383) = &input.locale_id { - object.key("localeId").string(var_383); + if let Some(var_385) = &input.locale_id { + object.key("localeId").string(var_385); } } @@ -1622,19 +1628,19 @@ pub fn serialize_structure_response_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ResponseSpecification, ) { - if let Some(var_384) = &input.message_groups { - let mut array_385 = object.key("messageGroups").start_array(); - for item_386 in var_384 { + if let Some(var_386) = &input.message_groups { + let mut array_387 = object.key("messageGroups").start_array(); + for item_388 in var_386 { { - let mut object_387 = array_385.value().start_object(); - crate::json_ser::serialize_structure_message_group(&mut object_387, item_386); - object_387.finish(); + let mut object_389 = array_387.value().start_object(); + crate::json_ser::serialize_structure_message_group(&mut object_389, item_388); + object_389.finish(); } } - array_385.finish(); + array_387.finish(); } - if let Some(var_388) = &input.allow_interrupt { - object.key("allowInterrupt").boolean(*var_388); + if let Some(var_390) = &input.allow_interrupt { + object.key("allowInterrupt").boolean(*var_390); } } @@ -1642,25 +1648,25 @@ pub fn serialize_structure_prompt_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PromptSpecification, ) { - if let Some(var_389) = &input.message_groups { - let mut array_390 = object.key("messageGroups").start_array(); - for item_391 in var_389 { + if let Some(var_391) = &input.message_groups { + let mut array_392 = object.key("messageGroups").start_array(); + for item_393 in var_391 { { - let mut object_392 = array_390.value().start_object(); - crate::json_ser::serialize_structure_message_group(&mut object_392, item_391); - object_392.finish(); + let mut object_394 = array_392.value().start_object(); + crate::json_ser::serialize_structure_message_group(&mut object_394, item_393); + object_394.finish(); } } - array_390.finish(); + array_392.finish(); } - if let Some(var_393) = &input.max_retries { + if let Some(var_395) = &input.max_retries { object.key("maxRetries").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_393).into()), + smithy_types::Number::NegInt((*var_395).into()), ); } - if let Some(var_394) = &input.allow_interrupt { - object.key("allowInterrupt").boolean(*var_394); + if let Some(var_396) = &input.allow_interrupt { + object.key("allowInterrupt").boolean(*var_396); } } @@ -1668,16 +1674,16 @@ pub fn serialize_structure_slot_default_value_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotDefaultValueSpecification, ) { - if let Some(var_395) = &input.default_value_list { - let mut array_396 = object.key("defaultValueList").start_array(); - for item_397 in var_395 { + if let Some(var_397) = &input.default_value_list { + let mut array_398 = object.key("defaultValueList").start_array(); + for item_399 in var_397 { { - let mut object_398 = array_396.value().start_object(); - crate::json_ser::serialize_structure_slot_default_value(&mut object_398, item_397); - object_398.finish(); + let mut object_400 = array_398.value().start_object(); + crate::json_ser::serialize_structure_slot_default_value(&mut object_400, item_399); + object_400.finish(); } } - array_396.finish(); + array_398.finish(); } } @@ -1685,23 +1691,26 @@ pub fn serialize_structure_wait_and_continue_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::WaitAndContinueSpecification, ) { - if let Some(var_399) = &input.waiting_response { - let mut object_400 = object.key("waitingResponse").start_object(); - crate::json_ser::serialize_structure_response_specification(&mut object_400, var_399); - object_400.finish(); - } - if let Some(var_401) = &input.continue_response { - let mut object_402 = object.key("continueResponse").start_object(); + if let Some(var_401) = &input.waiting_response { + let mut object_402 = object.key("waitingResponse").start_object(); crate::json_ser::serialize_structure_response_specification(&mut object_402, var_401); object_402.finish(); } - if let Some(var_403) = &input.still_waiting_response { - let mut object_404 = object.key("stillWaitingResponse").start_object(); + if let Some(var_403) = &input.continue_response { + let mut object_404 = object.key("continueResponse").start_object(); + crate::json_ser::serialize_structure_response_specification(&mut object_404, var_403); + object_404.finish(); + } + if let Some(var_405) = &input.still_waiting_response { + let mut object_406 = object.key("stillWaitingResponse").start_object(); crate::json_ser::serialize_structure_still_waiting_response_specification( - &mut object_404, - var_403, + &mut object_406, + var_405, ); - object_404.finish(); + object_406.finish(); + } + if let Some(var_407) = &input.active { + object.key("active").boolean(*var_407); } } @@ -1709,8 +1718,8 @@ pub fn serialize_structure_sample_value( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SampleValue, ) { - if let Some(var_405) = &input.value { - object.key("value").string(var_405); + if let Some(var_408) = &input.value { + object.key("value").string(var_408); } } @@ -1718,8 +1727,8 @@ pub fn serialize_structure_slot_value_regex_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotValueRegexFilter, ) { - if let Some(var_406) = &input.pattern { - object.key("pattern").string(var_406); + if let Some(var_409) = &input.pattern { + object.key("pattern").string(var_409); } } @@ -1727,40 +1736,40 @@ pub fn serialize_structure_bot_import_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotImportSpecification, ) { - if let Some(var_407) = &input.bot_name { - object.key("botName").string(var_407); + if let Some(var_410) = &input.bot_name { + object.key("botName").string(var_410); } - if let Some(var_408) = &input.role_arn { - object.key("roleArn").string(var_408); + if let Some(var_411) = &input.role_arn { + object.key("roleArn").string(var_411); } - if let Some(var_409) = &input.data_privacy { - let mut object_410 = object.key("dataPrivacy").start_object(); - crate::json_ser::serialize_structure_data_privacy(&mut object_410, var_409); - object_410.finish(); + if let Some(var_412) = &input.data_privacy { + let mut object_413 = object.key("dataPrivacy").start_object(); + crate::json_ser::serialize_structure_data_privacy(&mut object_413, var_412); + object_413.finish(); } - if let Some(var_411) = &input.idle_session_ttl_in_seconds { + if let Some(var_414) = &input.idle_session_ttl_in_seconds { object.key("idleSessionTTLInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_411).into()), + smithy_types::Number::NegInt((*var_414).into()), ); } - if let Some(var_412) = &input.bot_tags { - let mut object_413 = object.key("botTags").start_object(); - for (key_414, value_415) in var_412 { + if let Some(var_415) = &input.bot_tags { + let mut object_416 = object.key("botTags").start_object(); + for (key_417, value_418) in var_415 { { - object_413.key(key_414).string(value_415); + object_416.key(key_417).string(value_418); } } - object_413.finish(); + object_416.finish(); } - if let Some(var_416) = &input.test_bot_alias_tags { - let mut object_417 = object.key("testBotAliasTags").start_object(); - for (key_418, value_419) in var_416 { + if let Some(var_419) = &input.test_bot_alias_tags { + let mut object_420 = object.key("testBotAliasTags").start_object(); + for (key_421, value_422) in var_419 { { - object_417.key(key_418).string(value_419); + object_420.key(key_421).string(value_422); } } - object_417.finish(); + object_420.finish(); } } @@ -1768,25 +1777,25 @@ pub fn serialize_structure_bot_locale_import_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BotLocaleImportSpecification, ) { - if let Some(var_420) = &input.bot_id { - object.key("botId").string(var_420); + if let Some(var_423) = &input.bot_id { + object.key("botId").string(var_423); } - if let Some(var_421) = &input.bot_version { - object.key("botVersion").string(var_421); + if let Some(var_424) = &input.bot_version { + object.key("botVersion").string(var_424); } - if let Some(var_422) = &input.locale_id { - object.key("localeId").string(var_422); + if let Some(var_425) = &input.locale_id { + object.key("localeId").string(var_425); } - if let Some(var_423) = &input.nlu_intent_confidence_threshold { + if let Some(var_426) = &input.nlu_intent_confidence_threshold { object.key("nluIntentConfidenceThreshold").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_423).into()), + smithy_types::Number::Float((*var_426).into()), ); } - if let Some(var_424) = &input.voice_settings { - let mut object_425 = object.key("voiceSettings").start_object(); - crate::json_ser::serialize_structure_voice_settings(&mut object_425, var_424); - object_425.finish(); + if let Some(var_427) = &input.voice_settings { + let mut object_428 = object.key("voiceSettings").start_object(); + crate::json_ser::serialize_structure_voice_settings(&mut object_428, var_427); + object_428.finish(); } } @@ -1794,11 +1803,11 @@ pub fn serialize_structure_lambda_code_hook( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LambdaCodeHook, ) { - if let Some(var_426) = &input.lambda_arn { - object.key("lambdaARN").string(var_426); + if let Some(var_429) = &input.lambda_arn { + object.key("lambdaARN").string(var_429); } - if let Some(var_427) = &input.code_hook_interface_version { - object.key("codeHookInterfaceVersion").string(var_427); + if let Some(var_430) = &input.code_hook_interface_version { + object.key("codeHookInterfaceVersion").string(var_430); } } @@ -1806,13 +1815,13 @@ pub fn serialize_structure_text_log_destination( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TextLogDestination, ) { - if let Some(var_428) = &input.cloud_watch { - let mut object_429 = object.key("cloudWatch").start_object(); + if let Some(var_431) = &input.cloud_watch { + let mut object_432 = object.key("cloudWatch").start_object(); crate::json_ser::serialize_structure_cloud_watch_log_group_log_destination( - &mut object_429, - var_428, + &mut object_432, + var_431, ); - object_429.finish(); + object_432.finish(); } } @@ -1820,10 +1829,10 @@ pub fn serialize_structure_audio_log_destination( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AudioLogDestination, ) { - if let Some(var_430) = &input.s3_bucket { - let mut object_431 = object.key("s3Bucket").start_object(); - crate::json_ser::serialize_structure_s3_bucket_log_destination(&mut object_431, var_430); - object_431.finish(); + if let Some(var_433) = &input.s3_bucket { + let mut object_434 = object.key("s3Bucket").start_object(); + crate::json_ser::serialize_structure_s3_bucket_log_destination(&mut object_434, var_433); + object_434.finish(); } } @@ -1831,21 +1840,21 @@ pub fn serialize_structure_message_group( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MessageGroup, ) { - if let Some(var_432) = &input.message { - let mut object_433 = object.key("message").start_object(); - crate::json_ser::serialize_structure_message(&mut object_433, var_432); - object_433.finish(); + if let Some(var_435) = &input.message { + let mut object_436 = object.key("message").start_object(); + crate::json_ser::serialize_structure_message(&mut object_436, var_435); + object_436.finish(); } - if let Some(var_434) = &input.variations { - let mut array_435 = object.key("variations").start_array(); - for item_436 in var_434 { + if let Some(var_437) = &input.variations { + let mut array_438 = object.key("variations").start_array(); + for item_439 in var_437 { { - let mut object_437 = array_435.value().start_object(); - crate::json_ser::serialize_structure_message(&mut object_437, item_436); - object_437.finish(); + let mut object_440 = array_438.value().start_object(); + crate::json_ser::serialize_structure_message(&mut object_440, item_439); + object_440.finish(); } } - array_435.finish(); + array_438.finish(); } } @@ -1853,8 +1862,8 @@ pub fn serialize_structure_slot_default_value( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SlotDefaultValue, ) { - if let Some(var_438) = &input.default_value { - object.key("defaultValue").string(var_438); + if let Some(var_441) = &input.default_value { + object.key("defaultValue").string(var_441); } } @@ -1862,31 +1871,31 @@ pub fn serialize_structure_still_waiting_response_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StillWaitingResponseSpecification, ) { - if let Some(var_439) = &input.message_groups { - let mut array_440 = object.key("messageGroups").start_array(); - for item_441 in var_439 { + if let Some(var_442) = &input.message_groups { + let mut array_443 = object.key("messageGroups").start_array(); + for item_444 in var_442 { { - let mut object_442 = array_440.value().start_object(); - crate::json_ser::serialize_structure_message_group(&mut object_442, item_441); - object_442.finish(); + let mut object_445 = array_443.value().start_object(); + crate::json_ser::serialize_structure_message_group(&mut object_445, item_444); + object_445.finish(); } } - array_440.finish(); + array_443.finish(); } - if let Some(var_443) = &input.frequency_in_seconds { + if let Some(var_446) = &input.frequency_in_seconds { object.key("frequencyInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_443).into()), + smithy_types::Number::NegInt((*var_446).into()), ); } - if let Some(var_444) = &input.timeout_in_seconds { + if let Some(var_447) = &input.timeout_in_seconds { object.key("timeoutInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_444).into()), + smithy_types::Number::NegInt((*var_447).into()), ); } - if let Some(var_445) = &input.allow_interrupt { - object.key("allowInterrupt").boolean(*var_445); + if let Some(var_448) = &input.allow_interrupt { + object.key("allowInterrupt").boolean(*var_448); } } @@ -1894,11 +1903,11 @@ pub fn serialize_structure_cloud_watch_log_group_log_destination( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CloudWatchLogGroupLogDestination, ) { - if let Some(var_446) = &input.cloud_watch_log_group_arn { - object.key("cloudWatchLogGroupArn").string(var_446); + if let Some(var_449) = &input.cloud_watch_log_group_arn { + object.key("cloudWatchLogGroupArn").string(var_449); } - if let Some(var_447) = &input.log_prefix { - object.key("logPrefix").string(var_447); + if let Some(var_450) = &input.log_prefix { + object.key("logPrefix").string(var_450); } } @@ -1906,14 +1915,14 @@ pub fn serialize_structure_s3_bucket_log_destination( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3BucketLogDestination, ) { - if let Some(var_448) = &input.kms_key_arn { - object.key("kmsKeyArn").string(var_448); + if let Some(var_451) = &input.kms_key_arn { + object.key("kmsKeyArn").string(var_451); } - if let Some(var_449) = &input.s3_bucket_arn { - object.key("s3BucketArn").string(var_449); + if let Some(var_452) = &input.s3_bucket_arn { + object.key("s3BucketArn").string(var_452); } - if let Some(var_450) = &input.log_prefix { - object.key("logPrefix").string(var_450); + if let Some(var_453) = &input.log_prefix { + object.key("logPrefix").string(var_453); } } @@ -1921,25 +1930,25 @@ pub fn serialize_structure_message( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Message, ) { - if let Some(var_451) = &input.plain_text_message { - let mut object_452 = object.key("plainTextMessage").start_object(); - crate::json_ser::serialize_structure_plain_text_message(&mut object_452, var_451); - object_452.finish(); + if let Some(var_454) = &input.plain_text_message { + let mut object_455 = object.key("plainTextMessage").start_object(); + crate::json_ser::serialize_structure_plain_text_message(&mut object_455, var_454); + object_455.finish(); } - if let Some(var_453) = &input.custom_payload { - let mut object_454 = object.key("customPayload").start_object(); - crate::json_ser::serialize_structure_custom_payload(&mut object_454, var_453); - object_454.finish(); + if let Some(var_456) = &input.custom_payload { + let mut object_457 = object.key("customPayload").start_object(); + crate::json_ser::serialize_structure_custom_payload(&mut object_457, var_456); + object_457.finish(); } - if let Some(var_455) = &input.ssml_message { - let mut object_456 = object.key("ssmlMessage").start_object(); - crate::json_ser::serialize_structure_ssml_message(&mut object_456, var_455); - object_456.finish(); + if let Some(var_458) = &input.ssml_message { + let mut object_459 = object.key("ssmlMessage").start_object(); + crate::json_ser::serialize_structure_ssml_message(&mut object_459, var_458); + object_459.finish(); } - if let Some(var_457) = &input.image_response_card { - let mut object_458 = object.key("imageResponseCard").start_object(); - crate::json_ser::serialize_structure_image_response_card(&mut object_458, var_457); - object_458.finish(); + if let Some(var_460) = &input.image_response_card { + let mut object_461 = object.key("imageResponseCard").start_object(); + crate::json_ser::serialize_structure_image_response_card(&mut object_461, var_460); + object_461.finish(); } } @@ -1947,8 +1956,8 @@ pub fn serialize_structure_plain_text_message( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PlainTextMessage, ) { - if let Some(var_459) = &input.value { - object.key("value").string(var_459); + if let Some(var_462) = &input.value { + object.key("value").string(var_462); } } @@ -1956,8 +1965,8 @@ pub fn serialize_structure_custom_payload( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomPayload, ) { - if let Some(var_460) = &input.value { - object.key("value").string(var_460); + if let Some(var_463) = &input.value { + object.key("value").string(var_463); } } @@ -1965,8 +1974,8 @@ pub fn serialize_structure_ssml_message( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SsmlMessage, ) { - if let Some(var_461) = &input.value { - object.key("value").string(var_461); + if let Some(var_464) = &input.value { + object.key("value").string(var_464); } } @@ -1974,25 +1983,25 @@ pub fn serialize_structure_image_response_card( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ImageResponseCard, ) { - if let Some(var_462) = &input.title { - object.key("title").string(var_462); + if let Some(var_465) = &input.title { + object.key("title").string(var_465); } - if let Some(var_463) = &input.subtitle { - object.key("subtitle").string(var_463); + if let Some(var_466) = &input.subtitle { + object.key("subtitle").string(var_466); } - if let Some(var_464) = &input.image_url { - object.key("imageUrl").string(var_464); + if let Some(var_467) = &input.image_url { + object.key("imageUrl").string(var_467); } - if let Some(var_465) = &input.buttons { - let mut array_466 = object.key("buttons").start_array(); - for item_467 in var_465 { + if let Some(var_468) = &input.buttons { + let mut array_469 = object.key("buttons").start_array(); + for item_470 in var_468 { { - let mut object_468 = array_466.value().start_object(); - crate::json_ser::serialize_structure_button(&mut object_468, item_467); - object_468.finish(); + let mut object_471 = array_469.value().start_object(); + crate::json_ser::serialize_structure_button(&mut object_471, item_470); + object_471.finish(); } } - array_466.finish(); + array_469.finish(); } } @@ -2000,10 +2009,10 @@ pub fn serialize_structure_button( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Button, ) { - if let Some(var_469) = &input.text { - object.key("text").string(var_469); + if let Some(var_472) = &input.text { + object.key("text").string(var_472); } - if let Some(var_470) = &input.value { - object.key("value").string(var_470); + if let Some(var_473) = &input.value { + object.key("value").string(var_473); } } diff --git a/sdk/lexmodelsv2/src/model.rs b/sdk/lexmodelsv2/src/model.rs index e895ff958281..21a42a4a3e4c 100644 --- a/sdk/lexmodelsv2/src/model.rs +++ b/sdk/lexmodelsv2/src/model.rs @@ -369,9 +369,9 @@ pub struct MultipleValuesSetting { /// true, the slot may return more than one value in a /// response. When false, the slot returns only a single /// value.

                                                        - ///

                                                        Multi-value slots are only available in the en-US locale. If you - /// set this value to true in any other locale, Amazon Lex throws a - /// ValidationException.

                                                        + ///

                                                        Multi-value slots are only available in the en-US locale. If you set + /// this value to true in any other locale, Amazon Lex throws a + /// ValidationException.

                                                        ///

                                                        If the allowMutlipleValues is not set, the default /// value is false.

                                                        pub allow_multiple_values: bool, @@ -396,9 +396,9 @@ pub mod multiple_values_setting { /// true, the slot may return more than one value in a /// response. When false, the slot returns only a single /// value.

                                                        - ///

                                                        Multi-value slots are only available in the en-US locale. If you - /// set this value to true in any other locale, Amazon Lex throws a - /// ValidationException.

                                                        + ///

                                                        Multi-value slots are only available in the en-US locale. If you set + /// this value to true in any other locale, Amazon Lex throws a + /// ValidationException.

                                                        ///

                                                        If the allowMutlipleValues is not set, the default /// value is false.

                                                        pub fn allow_multiple_values(mut self, input: bool) -> Self { @@ -698,6 +698,12 @@ pub struct WaitAndContinueSpecification { /// that the bot is still waiting for input from the user.

                                                        pub still_waiting_response: std::option::Option, + ///

                                                        Specifies whether the bot will wait for a user to respond. When this + /// field is false, wait and continue responses for a slot aren't used and + /// the bot expects an appropriate response within the configured timeout. + /// If the active field isn't specified, the default is + /// true.

                                                        + pub active: std::option::Option, } impl std::fmt::Debug for WaitAndContinueSpecification { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -705,6 +711,7 @@ impl std::fmt::Debug for WaitAndContinueSpecification { formatter.field("waiting_response", &self.waiting_response); formatter.field("continue_response", &self.continue_response); formatter.field("still_waiting_response", &self.still_waiting_response); + formatter.field("active", &self.active); formatter.finish() } } @@ -718,6 +725,7 @@ pub mod wait_and_continue_specification { pub(crate) continue_response: std::option::Option, pub(crate) still_waiting_response: std::option::Option, + pub(crate) active: std::option::Option, } impl Builder { ///

                                                        The response that Amazon Lex sends to indicate that the bot is waiting @@ -762,12 +770,26 @@ pub mod wait_and_continue_specification { self.still_waiting_response = input; self } + ///

                                                        Specifies whether the bot will wait for a user to respond. When this + /// field is false, wait and continue responses for a slot aren't used and + /// the bot expects an appropriate response within the configured timeout. + /// If the active field isn't specified, the default is + /// true.

                                                        + pub fn active(mut self, input: bool) -> Self { + self.active = Some(input); + self + } + pub fn set_active(mut self, input: std::option::Option) -> Self { + self.active = input; + self + } /// Consumes the builder and constructs a [`WaitAndContinueSpecification`](crate::model::WaitAndContinueSpecification) pub fn build(self) -> crate::model::WaitAndContinueSpecification { crate::model::WaitAndContinueSpecification { waiting_response: self.waiting_response, continue_response: self.continue_response, still_waiting_response: self.still_waiting_response, + active: self.active, } } } @@ -1961,11 +1983,17 @@ pub struct IntentClosingSetting { ///

                                                        The response that Amazon Lex sends to the user when the intent is /// complete.

                                                        pub closing_response: std::option::Option, + ///

                                                        Specifies whether an intent's closing response is used. When this + /// field is false, the closing response isn't sent to the user and no + /// closing input from the user is used. If the active field + /// isn't specified, the default is true.

                                                        + pub active: std::option::Option, } impl std::fmt::Debug for IntentClosingSetting { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut formatter = f.debug_struct("IntentClosingSetting"); formatter.field("closing_response", &self.closing_response); + formatter.field("active", &self.active); formatter.finish() } } @@ -1976,6 +2004,7 @@ pub mod intent_closing_setting { #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { pub(crate) closing_response: std::option::Option, + pub(crate) active: std::option::Option, } impl Builder { ///

                                                        The response that Amazon Lex sends to the user when the intent is @@ -1991,10 +2020,23 @@ pub mod intent_closing_setting { self.closing_response = input; self } + ///

                                                        Specifies whether an intent's closing response is used. When this + /// field is false, the closing response isn't sent to the user and no + /// closing input from the user is used. If the active field + /// isn't specified, the default is true.

                                                        + pub fn active(mut self, input: bool) -> Self { + self.active = Some(input); + self + } + pub fn set_active(mut self, input: std::option::Option) -> Self { + self.active = input; + self + } /// Consumes the builder and constructs a [`IntentClosingSetting`](crate::model::IntentClosingSetting) pub fn build(self) -> crate::model::IntentClosingSetting { crate::model::IntentClosingSetting { closing_response: self.closing_response, + active: self.active, } } } @@ -2024,12 +2066,19 @@ pub struct IntentConfirmationSetting { /// promptSpecification, Amazon Lex responds with this response /// to acknowledge that the intent was canceled.

                                                        pub declination_response: std::option::Option, + ///

                                                        Specifies whether the intent's confirmation is sent to the user. + /// When this field is false, confirmation and declination responses aren't + /// sent and processing continues as if the responses aren't present. If + /// the active field isn't specified, the default is + /// true.

                                                        + pub active: std::option::Option, } impl std::fmt::Debug for IntentConfirmationSetting { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut formatter = f.debug_struct("IntentConfirmationSetting"); formatter.field("prompt_specification", &self.prompt_specification); formatter.field("declination_response", &self.declination_response); + formatter.field("active", &self.active); formatter.finish() } } @@ -2041,6 +2090,7 @@ pub mod intent_confirmation_setting { pub struct Builder { pub(crate) prompt_specification: std::option::Option, pub(crate) declination_response: std::option::Option, + pub(crate) active: std::option::Option, } impl Builder { ///

                                                        Prompts the user to confirm the intent. This question should have a @@ -2076,11 +2126,25 @@ pub mod intent_confirmation_setting { self.declination_response = input; self } + ///

                                                        Specifies whether the intent's confirmation is sent to the user. + /// When this field is false, confirmation and declination responses aren't + /// sent and processing continues as if the responses aren't present. If + /// the active field isn't specified, the default is + /// true.

                                                        + pub fn active(mut self, input: bool) -> Self { + self.active = Some(input); + self + } + pub fn set_active(mut self, input: std::option::Option) -> Self { + self.active = input; + self + } /// Consumes the builder and constructs a [`IntentConfirmationSetting`](crate::model::IntentConfirmationSetting) pub fn build(self) -> crate::model::IntentConfirmationSetting { crate::model::IntentConfirmationSetting { prompt_specification: self.prompt_specification, declination_response: self.declination_response, + active: self.active, } } } @@ -2516,7 +2580,7 @@ impl BotLocaleExportSpecification { } } -///

                                                        Provided the identity of a the bot that was exported.

                                                        +///

                                                        Provides the identity of a the bot that was exported.

                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BotExportSpecification { diff --git a/sdk/lexmodelsv2/src/output.rs b/sdk/lexmodelsv2/src/output.rs index 30558ecd7b3d..d4af69ef06ea 100644 --- a/sdk/lexmodelsv2/src/output.rs +++ b/sdk/lexmodelsv2/src/output.rs @@ -3326,8 +3326,8 @@ pub struct DescribeSlotOutput { ///

                                                        A timestamp of the date and time that the slot was last /// updated.

                                                        pub last_updated_date_time: std::option::Option, - ///

                                                        Indicates whether the slot accepts multiple values in a - /// single utterance.

                                                        + ///

                                                        Indicates whether the slot accepts multiple values in a single + /// utterance.

                                                        ///

                                                        If the multipleValuesSetting is not set, the default /// value is false.

                                                        pub multiple_values_setting: std::option::Option, @@ -3501,8 +3501,8 @@ pub mod describe_slot_output { self.last_updated_date_time = input; self } - ///

                                                        Indicates whether the slot accepts multiple values in a - /// single utterance.

                                                        + ///

                                                        Indicates whether the slot accepts multiple values in a single + /// utterance.

                                                        ///

                                                        If the multipleValuesSetting is not set, the default /// value is false.

                                                        pub fn multiple_values_setting( diff --git a/sdk/lexruntime/Cargo.toml b/sdk/lexruntime/Cargo.toml index b983fcf94c34..bb3753173762 100644 --- a/sdk/lexruntime/Cargo.toml +++ b/sdk/lexruntime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lexruntime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Lex provides both build and runtime endpoints. Each endpoint\n provides a set of operations (API). Your conversational bot uses the\n runtime API to understand user utterances (user input text or voice). For\n example, suppose a user says \"I want pizza\", your bot sends this input to\n Amazon Lex using the runtime API. Amazon Lex recognizes that the user\n request is for the OrderPizza intent (one of the intents defined in the\n bot). Then Amazon Lex engages in user conversation on behalf of the bot to\n elicit required information (slot values, such as pizza size and crust\n type), and then performs fulfillment activity (that you configured when\n you created the bot). You use the build-time API to create and manage your\n Amazon Lex bot. For a list of build-time operations, see the build-time\n API, .

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lexruntimev2/Cargo.toml b/sdk/lexruntimev2/Cargo.toml index 290119cef200..3150f19cff9c 100644 --- a/sdk/lexruntimev2/Cargo.toml +++ b/sdk/lexruntimev2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lexruntimev2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/licensemanager/Cargo.toml b/sdk/licensemanager/Cargo.toml index 5faf2e5f80ad..ca7dde1c53af 100644 --- a/sdk/licensemanager/Cargo.toml +++ b/sdk/licensemanager/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-licensemanager" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = " AWS License Manager \n

                                                        AWS License Manager makes it easier to manage licenses from software vendors across multiple \n AWS accounts and on-premises servers.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/licensemanager/src/model.rs b/sdk/licensemanager/src/model.rs index 6293c409d309..ea5ac570f05c 100644 --- a/sdk/licensemanager/src/model.rs +++ b/sdk/licensemanager/src/model.rs @@ -4913,6 +4913,7 @@ impl EntitlementData { std::hash::Hash, )] pub enum CheckoutType { + Perpetual, Provisional, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), @@ -4920,6 +4921,7 @@ pub enum CheckoutType { impl std::convert::From<&str> for CheckoutType { fn from(s: &str) -> Self { match s { + "PERPETUAL" => CheckoutType::Perpetual, "PROVISIONAL" => CheckoutType::Provisional, other => CheckoutType::Unknown(other.to_owned()), } @@ -4935,12 +4937,13 @@ impl std::str::FromStr for CheckoutType { impl CheckoutType { pub fn as_str(&self) -> &str { match self { + CheckoutType::Perpetual => "PERPETUAL", CheckoutType::Provisional => "PROVISIONAL", CheckoutType::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["PROVISIONAL"] + &["PERPETUAL", "PROVISIONAL"] } } impl AsRef for CheckoutType { diff --git a/sdk/lightsail/Cargo.toml b/sdk/lightsail/Cargo.toml index 4b8eb253650e..be78524d545d 100644 --- a/sdk/lightsail/Cargo.toml +++ b/sdk/lightsail/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lightsail" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for developers\n who need to build websites or web applications. It includes everything you need to launch your\n project quickly - instances (virtual private servers), container services, storage buckets,\n managed databases, SSD-based block storage, static IP addresses, load balancers, content\n delivery network (CDN) distributions, DNS management of registered domains, and resource\n snapshots (backups) - for a low, predictable monthly price.

                                                        \n\n

                                                        You can manage your Lightsail resources using the Lightsail console, Lightsail API,\n AWS Command Line Interface (AWS CLI), or SDKs. For more information about Lightsail concepts\n and tasks, see the Amazon Lightsail Developer Guide.

                                                        \n\n

                                                        This API Reference provides detailed information about the actions, data types,\n parameters, and errors of the Lightsail service. For more information about the supported\n AWS Regions, endpoints, and service quotas of the Lightsail service, see Amazon Lightsail Endpoints and\n Quotas in the AWS General Reference.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lightsail/src/client.rs b/sdk/lightsail/src/client.rs index 4cfc3b24c75e..3143493fd8cb 100644 --- a/sdk/lightsail/src/client.rs +++ b/sdk/lightsail/src/client.rs @@ -1182,7 +1182,7 @@ pub mod fluent_builders { } ///

                                                        A Boolean value that indicates whether to enable versioning of objects in the /// bucket.

                                                        - ///

                                                        For more information about versioning, see Enabling and suspending bucket object versioning in Amazon Lightsail in the + ///

                                                        For more information about versioning, see Enabling and suspending object versioning in a bucket in Amazon Lightsail in the /// Amazon Lightsail Developer Guide.

                                                        pub fn enable_object_versioning(mut self, input: bool) -> Self { self.inner = self.inner.enable_object_versioning(input); diff --git a/sdk/lightsail/src/input.rs b/sdk/lightsail/src/input.rs index aefbe1a30c07..14a9ee183e09 100644 --- a/sdk/lightsail/src/input.rs +++ b/sdk/lightsail/src/input.rs @@ -1408,7 +1408,7 @@ pub mod create_bucket_input { } ///

                                                        A Boolean value that indicates whether to enable versioning of objects in the /// bucket.

                                                        - ///

                                                        For more information about versioning, see Enabling and suspending bucket object versioning in Amazon Lightsail in the + ///

                                                        For more information about versioning, see Enabling and suspending object versioning in a bucket in Amazon Lightsail in the /// Amazon Lightsail Developer Guide.

                                                        pub fn enable_object_versioning(mut self, input: bool) -> Self { self.enable_object_versioning = Some(input); @@ -30829,7 +30829,7 @@ pub struct CreateBucketInput { pub tags: std::option::Option>, ///

                                                        A Boolean value that indicates whether to enable versioning of objects in the /// bucket.

                                                        - ///

                                                        For more information about versioning, see Enabling and suspending bucket object versioning in Amazon Lightsail in the + ///

                                                        For more information about versioning, see Enabling and suspending object versioning in a bucket in Amazon Lightsail in the /// Amazon Lightsail Developer Guide.

                                                        pub enable_object_versioning: std::option::Option, } diff --git a/sdk/lightsail/src/json_deser.rs b/sdk/lightsail/src/json_deser.rs index 12f240043fd6..62b2e0aa2be1 100644 --- a/sdk/lightsail/src/json_deser.rs +++ b/sdk/lightsail/src/json_deser.rs @@ -6842,6 +6842,13 @@ where )?, ); } + "lastUsed" => { + builder = builder.set_last_used( + crate::json_deser::deser_structure_access_key_last_used( + tokens, + )?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -10925,6 +10932,68 @@ where } } +pub fn deser_structure_access_key_last_used<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AccessKeyLastUsed::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "lastUsedDate" => { + builder = builder.set_last_used_date( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "region" => { + builder = builder.set_region( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "serviceName" => { + builder = builder.set_service_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_certificate<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> diff --git a/sdk/lightsail/src/model.rs b/sdk/lightsail/src/model.rs index cfd11b51bef5..c5742725a1aa 100644 --- a/sdk/lightsail/src/model.rs +++ b/sdk/lightsail/src/model.rs @@ -18176,6 +18176,13 @@ pub struct AccessKey { pub status: std::option::Option, ///

                                                        The timestamp when the access key was created.

                                                        pub created_at: std::option::Option, + ///

                                                        An object that describes the last time the access key was used.

                                                        + /// + ///

                                                        This object does not include data in the response of a CreateBucketAccessKey action. If the access key has not been used, the + /// region and serviceName values are N/A, and the + /// lastUsedDate value is null.

                                                        + ///
                                                        + pub last_used: std::option::Option, } impl std::fmt::Debug for AccessKey { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -18184,6 +18191,7 @@ impl std::fmt::Debug for AccessKey { formatter.field("secret_access_key", &self.secret_access_key); formatter.field("status", &self.status); formatter.field("created_at", &self.created_at); + formatter.field("last_used", &self.last_used); formatter.finish() } } @@ -18197,6 +18205,7 @@ pub mod access_key { pub(crate) secret_access_key: std::option::Option, pub(crate) status: std::option::Option, pub(crate) created_at: std::option::Option, + pub(crate) last_used: std::option::Option, } impl Builder { ///

                                                        The ID of the access key.

                                                        @@ -18245,6 +18254,23 @@ pub mod access_key { self.created_at = input; self } + ///

                                                        An object that describes the last time the access key was used.

                                                        + /// + ///

                                                        This object does not include data in the response of a CreateBucketAccessKey action. If the access key has not been used, the + /// region and serviceName values are N/A, and the + /// lastUsedDate value is null.

                                                        + ///
                                                        + pub fn last_used(mut self, input: crate::model::AccessKeyLastUsed) -> Self { + self.last_used = Some(input); + self + } + pub fn set_last_used( + mut self, + input: std::option::Option, + ) -> Self { + self.last_used = input; + self + } /// Consumes the builder and constructs a [`AccessKey`](crate::model::AccessKey) pub fn build(self) -> crate::model::AccessKey { crate::model::AccessKey { @@ -18252,6 +18278,7 @@ pub mod access_key { secret_access_key: self.secret_access_key, status: self.status, created_at: self.created_at, + last_used: self.last_used, } } } @@ -18263,6 +18290,93 @@ impl AccessKey { } } +///

                                                        Describes the last time an access key was used.

                                                        +/// +///

                                                        This object does not include data in the response of a CreateBucketAccessKey action.

                                                        +///
                                                        +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AccessKeyLastUsed { + ///

                                                        The date and time when the access key was most recently used.

                                                        + ///

                                                        This value is null if the access key has not been used.

                                                        + pub last_used_date: std::option::Option, + ///

                                                        The AWS Region where this access key was most recently used.

                                                        + ///

                                                        This value is N/A if the access key has not been used.

                                                        + pub region: std::option::Option, + ///

                                                        The name of the AWS service with which this access key was most recently used.

                                                        + ///

                                                        This value is N/A if the access key has not been used.

                                                        + pub service_name: std::option::Option, +} +impl std::fmt::Debug for AccessKeyLastUsed { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AccessKeyLastUsed"); + formatter.field("last_used_date", &self.last_used_date); + formatter.field("region", &self.region); + formatter.field("service_name", &self.service_name); + formatter.finish() + } +} +/// See [`AccessKeyLastUsed`](crate::model::AccessKeyLastUsed) +pub mod access_key_last_used { + /// A builder for [`AccessKeyLastUsed`](crate::model::AccessKeyLastUsed) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) last_used_date: std::option::Option, + pub(crate) region: std::option::Option, + pub(crate) service_name: std::option::Option, + } + impl Builder { + ///

                                                        The date and time when the access key was most recently used.

                                                        + ///

                                                        This value is null if the access key has not been used.

                                                        + pub fn last_used_date(mut self, input: smithy_types::Instant) -> Self { + self.last_used_date = Some(input); + self + } + pub fn set_last_used_date( + mut self, + input: std::option::Option, + ) -> Self { + self.last_used_date = input; + self + } + ///

                                                        The AWS Region where this access key was most recently used.

                                                        + ///

                                                        This value is N/A if the access key has not been used.

                                                        + pub fn region(mut self, input: impl Into) -> Self { + self.region = Some(input.into()); + self + } + pub fn set_region(mut self, input: std::option::Option) -> Self { + self.region = input; + self + } + ///

                                                        The name of the AWS service with which this access key was most recently used.

                                                        + ///

                                                        This value is N/A if the access key has not been used.

                                                        + pub fn service_name(mut self, input: impl Into) -> Self { + self.service_name = Some(input.into()); + self + } + pub fn set_service_name(mut self, input: std::option::Option) -> Self { + self.service_name = input; + self + } + /// Consumes the builder and constructs a [`AccessKeyLastUsed`](crate::model::AccessKeyLastUsed) + pub fn build(self) -> crate::model::AccessKeyLastUsed { + crate::model::AccessKeyLastUsed { + last_used_date: self.last_used_date, + region: self.region, + service_name: self.service_name, + } + } + } +} +impl AccessKeyLastUsed { + /// Creates a new builder-style object to manufacture [`AccessKeyLastUsed`](crate::model::AccessKeyLastUsed) + pub fn builder() -> crate::model::access_key_last_used::Builder { + crate::model::access_key_last_used::Builder::default() + } +} + #[non_exhaustive] #[derive( std::clone::Clone, diff --git a/sdk/location/Cargo.toml b/sdk/location/Cargo.toml index 8ce21c66ff71..56c6d6aa38bd 100644 --- a/sdk/location/Cargo.toml +++ b/sdk/location/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-location" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Suite of geospatial services including Maps, Places, Routes, Tracking, and Geofencing" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/location/src/input.rs b/sdk/location/src/input.rs index 83993d1d67bf..ebe19429e767 100644 --- a/sdk/location/src/input.rs +++ b/sdk/location/src/input.rs @@ -639,6 +639,8 @@ impl BatchEvaluateGeofencesInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -3683,6 +3685,8 @@ impl DescribeGeofenceCollectionInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -3840,6 +3844,8 @@ impl DescribeMapInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -3995,6 +4001,8 @@ impl DescribePlaceIndexInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -4158,6 +4166,8 @@ impl DescribeRouteCalculatorInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -4317,6 +4327,8 @@ impl DescribeTrackerInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/lookoutequipment/Cargo.toml b/sdk/lookoutequipment/Cargo.toml index 3e8443b05f1d..8326f7dc1d2d 100644 --- a/sdk/lookoutequipment/Cargo.toml +++ b/sdk/lookoutequipment/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lookoutequipment" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Lookout for Equipment is a machine learning service that uses advanced analytics to identify\n anomalies in machines from sensor data for use in predictive maintenance.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lookoutmetrics/Cargo.toml b/sdk/lookoutmetrics/Cargo.toml index df7ae44c48ec..4bcac16bf878 100644 --- a/sdk/lookoutmetrics/Cargo.toml +++ b/sdk/lookoutmetrics/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lookoutmetrics" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the Amazon Lookout for Metrics API Reference. For an introduction to the service\n with tutorials for getting started, visit Amazon\n Lookout for Metrics Developer Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/lookoutvision/Cargo.toml b/sdk/lookoutvision/Cargo.toml index 012c989d04a5..d45675a2796a 100644 --- a/sdk/lookoutvision/Cargo.toml +++ b/sdk/lookoutvision/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-lookoutvision" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the Amazon Lookout for Vision API Reference. It provides descriptions of actions, \n data types, common parameters, and common errors.

                                                        \n

                                                        Amazon Lookout for Vision enables you to find visual defects in industrial products,\n accurately and at scale. It uses computer vision to identify missing components in an industrial product,\n damage to vehicles or structures, irregularities in production lines, and even minuscule defects in\n silicon wafers — or any other physical item where quality is important such as a missing capacitor\n on printed circuit boards.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/machinelearning/Cargo.toml b/sdk/machinelearning/Cargo.toml index 23965cae162d..7ff16906bd72 100644 --- a/sdk/machinelearning/Cargo.toml +++ b/sdk/machinelearning/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-machinelearning" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Definition of the public APIs\n\t\texposed by Amazon Machine Learning" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/macie/Cargo.toml b/sdk/macie/Cargo.toml index 5f48604d8691..c57320ae497b 100644 --- a/sdk/macie/Cargo.toml +++ b/sdk/macie/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-macie" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Macie Classic\n

                                                        Amazon Macie Classic is a security service that uses machine learning to automatically\n discover, classify, and protect sensitive data in AWS. Macie Classic recognizes sensitive data\n such as personally identifiable information (PII) or intellectual property, and provides you\n with dashboards and alerts that give visibility into how this data is being accessed or moved.\n For more information, see the Amazon Macie\n Classic User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/macie2/Cargo.toml b/sdk/macie2/Cargo.toml index db93e8c7e4f2..7f323e14c14e 100644 --- a/sdk/macie2/Cargo.toml +++ b/sdk/macie2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-macie2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Macie is a fully managed data security and data privacy service that uses machine learning and pattern matching to discover and protect your sensitive data in AWS. Macie automates the discovery of sensitive data, such as PII and intellectual property, to provide you with insight into the data that your organization stores in AWS. Macie also provides an inventory of your Amazon S3 buckets, which it continually monitors for you. If Macie detects sensitive data or potential data access issues, it generates detailed findings for you to review and act upon as necessary.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/managedblockchain/Cargo.toml b/sdk/managedblockchain/Cargo.toml index 7e96a2bfbe62..d0ae7bfd6829 100644 --- a/sdk/managedblockchain/Cargo.toml +++ b/sdk/managedblockchain/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-managedblockchain" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        \n

                                                        Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks using open-source frameworks. Blockchain allows you to build applications where multiple parties can securely and transparently run transactions and share data without the need for a trusted, central authority.

                                                        \n

                                                        Managed Blockchain supports the Hyperledger Fabric and Ethereum open-source frameworks. Because of fundamental differences between the frameworks, some API actions or data types may only apply in the context of one framework and not the other. For example, actions related to Hyperledger Fabric network members such as CreateMember and DeleteMember do not apply to Ethereum.

                                                        \n

                                                        The description for each action indicates the framework or frameworks to which it applies. Data types and properties that apply only in the context of a particular framework are similarly indicated.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/marketplacecatalog/Cargo.toml b/sdk/marketplacecatalog/Cargo.toml index 63bee3100e56..93625eb0b31f 100644 --- a/sdk/marketplacecatalog/Cargo.toml +++ b/sdk/marketplacecatalog/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-marketplacecatalog" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Catalog API actions allow you to manage your entities through list, describe, and update\n capabilities. An entity can be a product or an offer on AWS Marketplace.

                                                        \n\n

                                                        You can automate your entity update process by integrating the AWS Marketplace Catalog\n API with your AWS Marketplace product build or deployment pipelines. You can also create\n your own applications on top of the Catalog API to manage your products on AWS\n Marketplace.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/marketplacecommerceanalytics/Cargo.toml b/sdk/marketplacecommerceanalytics/Cargo.toml index 6dbd86ba31fc..c8ecb2092fc3 100644 --- a/sdk/marketplacecommerceanalytics/Cargo.toml +++ b/sdk/marketplacecommerceanalytics/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-marketplacecommerceanalytics" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Provides AWS Marketplace business intelligence data on-demand." authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/marketplaceentitlement/Cargo.toml b/sdk/marketplaceentitlement/Cargo.toml index 5d0454908b0f..5c3a2a862968 100644 --- a/sdk/marketplaceentitlement/Cargo.toml +++ b/sdk/marketplaceentitlement/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-marketplaceentitlement" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Marketplace Entitlement Service\n

                                                        This reference provides descriptions of the AWS Marketplace Entitlement Service\n API.

                                                        \n

                                                        AWS Marketplace Entitlement Service is used to determine the entitlement of a customer to\n a given product. An entitlement represents capacity in a product owned by the customer. For\n example, a customer might own some number of users or seats in an SaaS application or some\n amount of data capacity in a multi-tenant database.

                                                        \n

                                                        \n Getting Entitlement Records\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n GetEntitlements- Gets the entitlements for a Marketplace\n product.

                                                          \n
                                                        • \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/marketplaceentitlement/src/model.rs b/sdk/marketplaceentitlement/src/model.rs index f6e3ee2ce057..ab29847c9cf5 100644 --- a/sdk/marketplaceentitlement/src/model.rs +++ b/sdk/marketplaceentitlement/src/model.rs @@ -148,7 +148,7 @@ pub enum EntitlementValue { StringValue(std::string::String), } impl EntitlementValue { - pub fn as_boolean_value(&self) -> Result<&bool, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&bool, &Self> { if let EntitlementValue::BooleanValue(val) = &self { Ok(&val) } else { @@ -158,7 +158,7 @@ impl EntitlementValue { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_double_value(&self) -> Result<&f64, &Self> { + pub fn as_double_value(&self) -> std::result::Result<&f64, &Self> { if let EntitlementValue::DoubleValue(val) = &self { Ok(&val) } else { @@ -168,7 +168,7 @@ impl EntitlementValue { pub fn is_double_value(&self) -> bool { self.as_double_value().is_ok() } - pub fn as_integer_value(&self) -> Result<&i32, &Self> { + pub fn as_integer_value(&self) -> std::result::Result<&i32, &Self> { if let EntitlementValue::IntegerValue(val) = &self { Ok(&val) } else { @@ -178,7 +178,7 @@ impl EntitlementValue { pub fn is_integer_value(&self) -> bool { self.as_integer_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let EntitlementValue::StringValue(val) = &self { Ok(&val) } else { diff --git a/sdk/marketplacemetering/Cargo.toml b/sdk/marketplacemetering/Cargo.toml index 7d08f411cd4a..4b4ef1a2f33c 100644 --- a/sdk/marketplacemetering/Cargo.toml +++ b/sdk/marketplacemetering/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-marketplacemetering" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Marketplace Metering Service\n

                                                        This reference provides descriptions of the low-level AWS Marketplace Metering\n Service API.

                                                        \n

                                                        AWS Marketplace sellers can use this API to submit usage data for custom usage\n dimensions.

                                                        \n

                                                        For information on the permissions you need to use this API, see\n AWS Marketing metering and entitlement API permissions in the AWS Marketplace Seller Guide. \n

                                                        \n

                                                        \n Submitting Metering Records\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n MeterUsage- Submits the metering record for a Marketplace\n product. MeterUsage is called from an EC2 instance or a container running on EKS\n or ECS.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n BatchMeterUsage- Submits the metering record for a set of\n customers. BatchMeterUsage is called from a software-as-a-service (SaaS)\n application.

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Accepting New Customers\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n ResolveCustomer- Called by a SaaS application during the\n registration process. When a buyer visits your website during the registration\n process, the buyer submits a Registration Token through the browser. The\n Registration Token is resolved through this API to obtain a CustomerIdentifier\n and Product Code.

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Entitlement and Metering for Paid Container Products\n

                                                        \n
                                                          \n
                                                        • \n

                                                          Paid container software products sold through AWS Marketplace must\n integrate with the AWS Marketplace Metering Service and call the RegisterUsage\n operation for software entitlement and metering. Free and BYOL products for\n Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you can do\n so if you want to receive usage data in your seller reports. For more\n information on using the RegisterUsage operation, see Container-Based Products.

                                                          \n
                                                        • \n
                                                        \n

                                                        BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to\n verify that the SaaS metering records that you sent are accurate by searching for\n records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit\n records over time. For more information, see the \n AWS CloudTrail User Guide\n .

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediaconnect/Cargo.toml b/sdk/mediaconnect/Cargo.toml index f48ecddb68b9..b6b3847cb413 100644 --- a/sdk/mediaconnect/Cargo.toml +++ b/sdk/mediaconnect/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediaconnect" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "API for AWS Elemental MediaConnect" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediaconvert/Cargo.toml b/sdk/mediaconvert/Cargo.toml index cf00ced3c4c3..50aae65c91cd 100644 --- a/sdk/mediaconvert/Cargo.toml +++ b/sdk/mediaconvert/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediaconvert" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Elemental MediaConvert" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/medialive/Cargo.toml b/sdk/medialive/Cargo.toml index e012dbeb4134..3a92f869b2dc 100644 --- a/sdk/medialive/Cargo.toml +++ b/sdk/medialive/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-medialive" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "API for AWS Elemental MediaLive" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediapackage/Cargo.toml b/sdk/mediapackage/Cargo.toml index 219521028250..36ab082c42c5 100644 --- a/sdk/mediapackage/Cargo.toml +++ b/sdk/mediapackage/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediapackage" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Elemental MediaPackage" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediapackagevod/Cargo.toml b/sdk/mediapackagevod/Cargo.toml index 0005d618212b..9984a378d66c 100644 --- a/sdk/mediapackagevod/Cargo.toml +++ b/sdk/mediapackagevod/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediapackagevod" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Elemental MediaPackage VOD" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediastore/Cargo.toml b/sdk/mediastore/Cargo.toml index 7273cc369a5a..ca90c62df8d0 100644 --- a/sdk/mediastore/Cargo.toml +++ b/sdk/mediastore/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediastore" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        An AWS Elemental MediaStore container is a namespace that holds folders and objects.\n You use a container endpoint to create, read, and delete objects.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediastoredata/Cargo.toml b/sdk/mediastoredata/Cargo.toml index f3035c65b199..71273316ecc7 100644 --- a/sdk/mediastoredata/Cargo.toml +++ b/sdk/mediastoredata/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediastoredata" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        An AWS Elemental MediaStore asset is an object, similar to an object in the Amazon S3\n service. Objects are the fundamental entities that are stored in AWS Elemental\n MediaStore.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mediatailor/Cargo.toml b/sdk/mediatailor/Cargo.toml index 183b2f6ac485..6dc087d3e093 100644 --- a/sdk/mediatailor/Cargo.toml +++ b/sdk/mediatailor/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mediatailor" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Use the AWS Elemental MediaTailor SDKs and CLI to configure scalable ad insertion and linear channels. With MediaTailor, you can assemble existing content into a linear stream and serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

                                                        Through the SDKs and the CLI you manage AWS Elemental MediaTailor configurations and channels the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mgn/Cargo.toml b/sdk/mgn/Cargo.toml index 0175404961a1..c289c5bf8c56 100644 --- a/sdk/mgn/Cargo.toml +++ b/sdk/mgn/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mgn" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The Application Migration Service service.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/migrationhub/Cargo.toml b/sdk/migrationhub/Cargo.toml index dcb63adda064..2e679c7f6334 100644 --- a/sdk/migrationhub/Cargo.toml +++ b/sdk/migrationhub/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-migrationhub" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The AWS Migration Hub API methods help to obtain server and application migration status\n and integrate your resource-specific migration tool by providing a programmatic interface\n to Migration Hub.

                                                        \n

                                                        Remember that you must set your AWS Migration Hub home region before you call any of\n these APIs, or a HomeRegionNotSetException error will be returned. Also, you\n must make the API calls while in your home region.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/migrationhubconfig/Cargo.toml b/sdk/migrationhubconfig/Cargo.toml index 75c37c5b1da6..80a71322e45f 100644 --- a/sdk/migrationhubconfig/Cargo.toml +++ b/sdk/migrationhubconfig/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-migrationhubconfig" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The AWS Migration Hub home region APIs are available specifically for working with your\n Migration Hub home region. You can use these APIs to determine a home region, as well as to\n create and work with controls that describe the home region.

                                                        \n\n
                                                          \n
                                                        • \n

                                                          You must make API calls for write actions (create, notify, associate, disassociate,\n import, or put) while in your home region, or a HomeRegionNotSetException\n error is returned.

                                                          \n
                                                        • \n
                                                        • \n

                                                          API calls for read actions (list, describe, stop, and delete) are permitted outside of\n your home region.

                                                          \n
                                                        • \n
                                                        • \n

                                                          If you call a write API outside the home region, an InvalidInputException\n is returned.

                                                          \n
                                                        • \n
                                                        • \n

                                                          You can call GetHomeRegion action to obtain the account's Migration Hub\n home region.

                                                          \n
                                                        • \n
                                                        \n\n

                                                        For specific API usage, see the sections that follow in this AWS Migration Hub Home Region\n API reference.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mobile/Cargo.toml b/sdk/mobile/Cargo.toml index 040b050fd658..68fea5c3fd5c 100644 --- a/sdk/mobile/Cargo.toml +++ b/sdk/mobile/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mobile" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        \n AWS Mobile Service provides mobile app and website developers with capabilities\n required to configure AWS resources and bootstrap their developer desktop projects\n with the necessary SDKs, constants, tools and samples to make use of those resources.\n

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mq/Cargo.toml b/sdk/mq/Cargo.toml index 5aab7b50f74f..0d1f2ae456f1 100644 --- a/sdk/mq/Cargo.toml +++ b/sdk/mq/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mq" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mturk/Cargo.toml b/sdk/mturk/Cargo.toml index 8185e354c6d4..2c541a37699c 100644 --- a/sdk/mturk/Cargo.toml +++ b/sdk/mturk/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mturk" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Mechanical Turk API Reference" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/mwaa/Cargo.toml b/sdk/mwaa/Cargo.toml index 5b23854d781d..e98d26301cae 100644 --- a/sdk/mwaa/Cargo.toml +++ b/sdk/mwaa/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-mwaa" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Managed Workflows for Apache Airflow\n

                                                        This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What Is Amazon MWAA?.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/neptune/Cargo.toml b/sdk/neptune/Cargo.toml index 9fa995262825..b080ec9d610d 100644 --- a/sdk/neptune/Cargo.toml +++ b/sdk/neptune/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-neptune" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Neptune\n

                                                        Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it\n easy to build and run applications that work with highly connected datasets. The core of\n Amazon Neptune is a purpose-built, high-performance graph database engine optimized for\n storing billions of relationships and querying the graph with milliseconds latency. Amazon\n Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query\n languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that\n efficiently navigate highly connected datasets. Neptune powers graph use cases such as\n recommendation engines, fraud detection, knowledge graphs, drug discovery, and network\n security.

                                                        \n\n

                                                        This interface reference for Amazon Neptune contains documentation for a programming or\n command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is\n asynchronous, which means that some interfaces might require techniques such as polling or\n callback functions to determine when a command has been applied. In this reference, the\n parameter descriptions indicate whether a command is applied immediately, on the next instance\n reboot, or during the maintenance window. The reference structure is as follows, and we list\n following some related topics from the user guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/networkfirewall/Cargo.toml b/sdk/networkfirewall/Cargo.toml index 578f83bba4ea..ff66912dadd9 100644 --- a/sdk/networkfirewall/Cargo.toml +++ b/sdk/networkfirewall/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-networkfirewall" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the API Reference for AWS Network Firewall. This guide is for developers who need\n detailed information about the Network Firewall API actions, data types, and errors.

                                                        \n
                                                          \n
                                                        • \n

                                                          The REST API requires you to handle connection details, such as calculating\n signatures, handling request retries, and error handling. For general information\n about using the AWS REST APIs, see AWS APIs.

                                                          \n

                                                          To access Network Firewall using the REST API endpoint:\n https://network-firewall..amazonaws.com \n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Alternatively, you can use one of the AWS SDKs to access an API that's tailored to\n the programming language or platform that you're using. For more information, see\n AWS SDKs.

                                                          \n
                                                        • \n
                                                        • \n

                                                          For descriptions of Network Firewall features, including and step-by-step\n instructions on how to use them through the Network Firewall console, see the Network Firewall Developer\n Guide.

                                                          \n
                                                        • \n
                                                        \n

                                                        Network Firewall is a stateful, managed, network firewall and intrusion detection and\n prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the\n perimeter of your VPC. This includes filtering traffic going to and coming from an internet\n gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible\n with Suricata, a free, open source intrusion detection system (IDS) engine. For information about Suricata, \n see the Suricata website.

                                                        \n

                                                        You can use Network Firewall to monitor and protect your VPC traffic in a number of ways.\n The following are just a few examples:

                                                        \n
                                                          \n
                                                        • \n

                                                          Allow domains or IP addresses for known AWS service endpoints, such as Amazon S3, and\n block all other forms of traffic.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Use custom lists of known bad domains to limit the types of domain names that your\n applications can access.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Perform deep packet inspection on traffic entering or leaving your VPC.

                                                          \n
                                                        • \n
                                                        • \n

                                                          Use stateful protocol detection to filter protocols like HTTPS, regardless of the\n port used.

                                                          \n
                                                        • \n
                                                        \n

                                                        To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in\n Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

                                                        \n

                                                        To start using Network Firewall, do the following:

                                                        \n
                                                          \n
                                                        1. \n

                                                          (Optional) If you don't already have a VPC that you want to protect, create it in\n Amazon VPC.

                                                          \n
                                                        2. \n
                                                        3. \n

                                                          In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a\n subnet for the sole use of Network Firewall.

                                                          \n
                                                        4. \n
                                                        5. \n

                                                          In Network Firewall, create stateless and stateful rule groups, \n to define the components of the network traffic filtering behavior that you want your firewall to have.

                                                          \n
                                                        6. \n
                                                        7. \n

                                                          In Network Firewall, create a firewall policy that uses your rule groups and\n specifies additional default traffic filtering behavior.

                                                          \n
                                                        8. \n
                                                        9. \n

                                                          In Network Firewall, create a firewall and specify your new firewall policy and \n VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you\n specify, with the behavior that's defined in the firewall policy.

                                                          \n
                                                        10. \n
                                                        11. \n

                                                          In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall\n endpoints.

                                                          \n
                                                        12. \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/networkmanager/Cargo.toml b/sdk/networkmanager/Cargo.toml index d7ceb5d2eb05..b1bb8136f1a8 100644 --- a/sdk/networkmanager/Cargo.toml +++ b/sdk/networkmanager/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-networkmanager" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your\n AWS and on-premises networks that are built around transit gateways.

                                                        \n

                                                        The Network Manager APIs are supported in the US West (Oregon) Region only. You must specify the us-west-2 Region in all requests made to Network Manager.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/nimble/Cargo.toml b/sdk/nimble/Cargo.toml index 672e24ffc6ac..4cf8505c04b5 100644 --- a/sdk/nimble/Cargo.toml +++ b/sdk/nimble/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-nimble" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "aws-sdk-nimble" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/nimble/src/client.rs b/sdk/nimble/src/client.rs index d55d887190d5..ea081b7095d6 100644 --- a/sdk/nimble/src/client.rs +++ b/sdk/nimble/src/client.rs @@ -542,6 +542,15 @@ pub mod fluent_builders { self.inner = self.inner.set_launch_profile_id(input); self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.inner = self.inner.owned_by(input); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_owned_by(input); + self + } ///

                                                        The ID of the streaming image.

                                                        pub fn streaming_image_id(mut self, input: impl Into) -> Self { self.inner = self.inner.streaming_image_id(input); @@ -2317,7 +2326,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                        The user ID.

                                                        + ///

                                                        The user ID of the user that created the streaming session.

                                                        pub fn created_by(mut self, input: impl Into) -> Self { self.inner = self.inner.created_by(input); self @@ -2335,6 +2344,15 @@ pub mod fluent_builders { self.inner = self.inner.set_next_token(input); self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.inner = self.inner.owned_by(input); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_owned_by(input); + self + } ///

                                                        A collection of session IDs.

                                                        pub fn session_ids(mut self, input: impl Into) -> Self { self.inner = self.inner.session_ids(input); diff --git a/sdk/nimble/src/input.rs b/sdk/nimble/src/input.rs index 4255b7e6cca0..2eb071811ca5 100644 --- a/sdk/nimble/src/input.rs +++ b/sdk/nimble/src/input.rs @@ -757,6 +757,7 @@ pub mod create_streaming_session_input { pub(crate) client_token: std::option::Option, pub(crate) ec2_instance_type: std::option::Option, pub(crate) launch_profile_id: std::option::Option, + pub(crate) owned_by: std::option::Option, pub(crate) streaming_image_id: std::option::Option, pub(crate) studio_id: std::option::Option, pub(crate) tags: std::option::Option< @@ -797,6 +798,15 @@ pub mod create_streaming_session_input { self.launch_profile_id = input; self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.owned_by = Some(input.into()); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.owned_by = input; + self + } ///

                                                        The ID of the streaming image.

                                                        pub fn streaming_image_id(mut self, input: impl Into) -> Self { self.streaming_image_id = Some(input.into()); @@ -848,6 +858,7 @@ pub mod create_streaming_session_input { client_token: self.client_token, ec2_instance_type: self.ec2_instance_type, launch_profile_id: self.launch_profile_id, + owned_by: self.owned_by, streaming_image_id: self.streaming_image_id, studio_id: self.studio_id, tags: self.tags, @@ -6248,11 +6259,12 @@ pub mod list_streaming_sessions_input { pub struct Builder { pub(crate) created_by: std::option::Option, pub(crate) next_token: std::option::Option, + pub(crate) owned_by: std::option::Option, pub(crate) session_ids: std::option::Option, pub(crate) studio_id: std::option::Option, } impl Builder { - ///

                                                        The user ID.

                                                        + ///

                                                        The user ID of the user that created the streaming session.

                                                        pub fn created_by(mut self, input: impl Into) -> Self { self.created_by = Some(input.into()); self @@ -6270,6 +6282,15 @@ pub mod list_streaming_sessions_input { self.next_token = input; self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.owned_by = Some(input.into()); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.owned_by = input; + self + } ///

                                                        A collection of session IDs.

                                                        pub fn session_ids(mut self, input: impl Into) -> Self { self.session_ids = Some(input.into()); @@ -6298,6 +6319,7 @@ pub mod list_streaming_sessions_input { Ok(crate::input::ListStreamingSessionsInput { created_by: self.created_by, next_token: self.next_token, + owned_by: self.owned_by, session_ids: self.session_ids, studio_id: self.studio_id, }) @@ -6396,8 +6418,11 @@ impl ListStreamingSessionsInput { if let Some(inner_96) = &self.next_token { query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_96)); } - if let Some(inner_97) = &self.session_ids { - query.push_kv("sessionIds", &smithy_http::query::fmt_string(&inner_97)); + if let Some(inner_97) = &self.owned_by { + query.push_kv("ownedBy", &smithy_http::query::fmt_string(&inner_97)); + } + if let Some(inner_98) = &self.session_ids { + query.push_kv("sessionIds", &smithy_http::query::fmt_string(&inner_98)); } } #[allow(clippy::unnecessary_wraps)] @@ -6578,15 +6603,15 @@ impl ListStudioComponentsInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_98 = &self.studio_id; - let input_98 = - input_98 + let input_99 = &self.studio_id; + let input_99 = + input_99 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_98, false); + let studio_id = smithy_http::label::fmt_string(input_99, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", @@ -6609,17 +6634,17 @@ impl ListStudioComponentsInput { &smithy_types::primitive::Encoder::from(self.max_results).encode(), ); } - if let Some(inner_99) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_99)); + if let Some(inner_100) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_100)); } - if let Some(inner_100) = &self.states { - for inner_101 in inner_100 { - query.push_kv("states", &smithy_http::query::fmt_string(&inner_101)); + if let Some(inner_101) = &self.states { + for inner_102 in inner_101 { + query.push_kv("states", &smithy_http::query::fmt_string(&inner_102)); } } - if let Some(inner_102) = &self.types { - for inner_103 in inner_102 { - query.push_kv("types", &smithy_http::query::fmt_string(&inner_103)); + if let Some(inner_103) = &self.types { + for inner_104 in inner_103 { + query.push_kv("types", &smithy_http::query::fmt_string(&inner_104)); } } } @@ -6771,15 +6796,15 @@ impl ListStudioMembersInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_104 = &self.studio_id; - let input_104 = - input_104 + let input_105 = &self.studio_id; + let input_105 = + input_105 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_104, false); + let studio_id = smithy_http::label::fmt_string(input_105, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", @@ -6802,8 +6827,8 @@ impl ListStudioMembersInput { &smithy_types::primitive::Encoder::from(self.max_results).encode(), ); } - if let Some(inner_105) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_105)); + if let Some(inner_106) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_106)); } } #[allow(clippy::unnecessary_wraps)] @@ -6935,8 +6960,8 @@ impl ListStudiosInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_106) = &self.next_token { - query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_106)); + if let Some(inner_107) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_107)); } } #[allow(clippy::unnecessary_wraps)] @@ -7065,15 +7090,15 @@ impl ListTagsForResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_107 = &self.resource_arn; - let input_107 = - input_107 + let input_108 = &self.resource_arn; + let input_108 = + input_108 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "resource_arn", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_107, false); + let resource_arn = smithy_http::label::fmt_string(input_108, false); if resource_arn.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "resource_arn", @@ -7275,30 +7300,30 @@ impl PutLaunchProfileMembersInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_108 = &self.studio_id; - let input_108 = - input_108 + let input_109 = &self.studio_id; + let input_109 = + input_109 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_108, false); + let studio_id = smithy_http::label::fmt_string(input_109, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", }); } - let input_109 = &self.launch_profile_id; - let input_109 = - input_109 + let input_110 = &self.launch_profile_id; + let input_110 = + input_110 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", details: "cannot be empty or unset", })?; - let launch_profile_id = smithy_http::label::fmt_string(input_109, false); + let launch_profile_id = smithy_http::label::fmt_string(input_110, false); if launch_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", @@ -7318,11 +7343,11 @@ impl PutLaunchProfileMembersInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_110) = &self.client_token { - let formatted_111 = AsRef::::as_ref(inner_110); - if !formatted_111.is_empty() { + if let Some(inner_111) = &self.client_token { + let formatted_112 = AsRef::::as_ref(inner_111); + if !formatted_112.is_empty() { use std::convert::TryFrom; - let header_value = formatted_111; + let header_value = formatted_112; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -7510,15 +7535,15 @@ impl PutStudioMembersInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_112 = &self.studio_id; - let input_112 = - input_112 + let input_113 = &self.studio_id; + let input_113 = + input_113 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_112, false); + let studio_id = smithy_http::label::fmt_string(input_113, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", @@ -7537,11 +7562,11 @@ impl PutStudioMembersInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_113) = &self.client_token { - let formatted_114 = AsRef::::as_ref(inner_113); - if !formatted_114.is_empty() { + if let Some(inner_114) = &self.client_token { + let formatted_115 = AsRef::::as_ref(inner_114); + if !formatted_115.is_empty() { use std::convert::TryFrom; - let header_value = formatted_114; + let header_value = formatted_115; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -7698,15 +7723,15 @@ impl StartStudioSsoConfigurationRepairInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_115 = &self.studio_id; - let input_115 = - input_115 + let input_116 = &self.studio_id; + let input_116 = + input_116 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_115, false); + let studio_id = smithy_http::label::fmt_string(input_116, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", @@ -7725,11 +7750,11 @@ impl StartStudioSsoConfigurationRepairInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_116) = &self.client_token { - let formatted_117 = AsRef::::as_ref(inner_116); - if !formatted_117.is_empty() { + if let Some(inner_117) = &self.client_token { + let formatted_118 = AsRef::::as_ref(inner_117); + if !formatted_118.is_empty() { use std::convert::TryFrom; - let header_value = formatted_117; + let header_value = formatted_118; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -7895,15 +7920,15 @@ impl TagResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_118 = &self.resource_arn; - let input_118 = - input_118 + let input_119 = &self.resource_arn; + let input_119 = + input_119 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "resource_arn", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_118, false); + let resource_arn = smithy_http::label::fmt_string(input_119, false); if resource_arn.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "resource_arn", @@ -8056,15 +8081,15 @@ impl UntagResourceInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_119 = &self.resource_arn; - let input_119 = - input_119 + let input_120 = &self.resource_arn; + let input_120 = + input_120 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "resource_arn", details: "cannot be empty or unset", })?; - let resource_arn = smithy_http::label::fmt_string(input_119, false); + let resource_arn = smithy_http::label::fmt_string(input_120, false); if resource_arn.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "resource_arn", @@ -8081,9 +8106,9 @@ impl UntagResourceInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_120) = &self.tag_keys { - for inner_121 in inner_120 { - query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_121)); + if let Some(inner_121) = &self.tag_keys { + for inner_122 in inner_121 { + query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_122)); } } } @@ -8318,30 +8343,30 @@ impl UpdateLaunchProfileInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_122 = &self.studio_id; - let input_122 = - input_122 + let input_123 = &self.studio_id; + let input_123 = + input_123 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_122, false); + let studio_id = smithy_http::label::fmt_string(input_123, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", }); } - let input_123 = &self.launch_profile_id; - let input_123 = - input_123 + let input_124 = &self.launch_profile_id; + let input_124 = + input_124 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", details: "cannot be empty or unset", })?; - let launch_profile_id = smithy_http::label::fmt_string(input_123, false); + let launch_profile_id = smithy_http::label::fmt_string(input_124, false); if launch_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", @@ -8361,11 +8386,11 @@ impl UpdateLaunchProfileInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_124) = &self.client_token { - let formatted_125 = AsRef::::as_ref(inner_124); - if !formatted_125.is_empty() { + if let Some(inner_125) = &self.client_token { + let formatted_126 = AsRef::::as_ref(inner_125); + if !formatted_126.is_empty() { use std::convert::TryFrom; - let header_value = formatted_125; + let header_value = formatted_126; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -8565,45 +8590,45 @@ impl UpdateLaunchProfileMemberInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_126 = &self.studio_id; - let input_126 = - input_126 + let input_127 = &self.studio_id; + let input_127 = + input_127 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_126, false); + let studio_id = smithy_http::label::fmt_string(input_127, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", }); } - let input_127 = &self.launch_profile_id; - let input_127 = - input_127 + let input_128 = &self.launch_profile_id; + let input_128 = + input_128 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", details: "cannot be empty or unset", })?; - let launch_profile_id = smithy_http::label::fmt_string(input_127, false); + let launch_profile_id = smithy_http::label::fmt_string(input_128, false); if launch_profile_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "launch_profile_id", details: "cannot be empty or unset", }); } - let input_128 = &self.principal_id; - let input_128 = - input_128 + let input_129 = &self.principal_id; + let input_129 = + input_129 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "principal_id", details: "cannot be empty or unset", })?; - let principal_id = smithy_http::label::fmt_string(input_128, false); + let principal_id = smithy_http::label::fmt_string(input_129, false); if principal_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "principal_id", @@ -8617,11 +8642,11 @@ impl UpdateLaunchProfileMemberInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_129) = &self.client_token { - let formatted_130 = AsRef::::as_ref(inner_129); - if !formatted_130.is_empty() { + if let Some(inner_130) = &self.client_token { + let formatted_131 = AsRef::::as_ref(inner_130); + if !formatted_131.is_empty() { use std::convert::TryFrom; - let header_value = formatted_130; + let header_value = formatted_131; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -8816,30 +8841,30 @@ impl UpdateStreamingImageInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_131 = &self.studio_id; - let input_131 = - input_131 + let input_132 = &self.studio_id; + let input_132 = + input_132 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_131, false); + let studio_id = smithy_http::label::fmt_string(input_132, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", }); } - let input_132 = &self.streaming_image_id; - let input_132 = - input_132 + let input_133 = &self.streaming_image_id; + let input_133 = + input_133 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "streaming_image_id", details: "cannot be empty or unset", })?; - let streaming_image_id = smithy_http::label::fmt_string(input_132, false); + let streaming_image_id = smithy_http::label::fmt_string(input_133, false); if streaming_image_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "streaming_image_id", @@ -8859,11 +8884,11 @@ impl UpdateStreamingImageInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_133) = &self.client_token { - let formatted_134 = AsRef::::as_ref(inner_133); - if !formatted_134.is_empty() { + if let Some(inner_134) = &self.client_token { + let formatted_135 = AsRef::::as_ref(inner_134); + if !formatted_135.is_empty() { use std::convert::TryFrom; - let header_value = formatted_134; + let header_value = formatted_135; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -9059,15 +9084,15 @@ impl UpdateStudioInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_135 = &self.studio_id; - let input_135 = - input_135 + let input_136 = &self.studio_id; + let input_136 = + input_136 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_135, false); + let studio_id = smithy_http::label::fmt_string(input_136, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", @@ -9086,11 +9111,11 @@ impl UpdateStudioInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_136) = &self.client_token { - let formatted_137 = AsRef::::as_ref(inner_136); - if !formatted_137.is_empty() { + if let Some(inner_137) = &self.client_token { + let formatted_138 = AsRef::::as_ref(inner_137); + if !formatted_138.is_empty() { use std::convert::TryFrom; - let header_value = formatted_137; + let header_value = formatted_138; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -9382,30 +9407,30 @@ impl UpdateStudioComponentInput { }) } fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { - let input_138 = &self.studio_id; - let input_138 = - input_138 + let input_139 = &self.studio_id; + let input_139 = + input_139 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", })?; - let studio_id = smithy_http::label::fmt_string(input_138, false); + let studio_id = smithy_http::label::fmt_string(input_139, false); if studio_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_id", details: "cannot be empty or unset", }); } - let input_139 = &self.studio_component_id; - let input_139 = - input_139 + let input_140 = &self.studio_component_id; + let input_140 = + input_140 .as_ref() .ok_or(smithy_http::operation::BuildError::MissingField { field: "studio_component_id", details: "cannot be empty or unset", })?; - let studio_component_id = smithy_http::label::fmt_string(input_139, false); + let studio_component_id = smithy_http::label::fmt_string(input_140, false); if studio_component_id.is_empty() { return Err(smithy_http::operation::BuildError::MissingField { field: "studio_component_id", @@ -9425,11 +9450,11 @@ impl UpdateStudioComponentInput { &self, mut builder: http::request::Builder, ) -> std::result::Result { - if let Some(inner_140) = &self.client_token { - let formatted_141 = AsRef::::as_ref(inner_140); - if !formatted_141.is_empty() { + if let Some(inner_141) = &self.client_token { + let formatted_142 = AsRef::::as_ref(inner_141); + if !formatted_142.is_empty() { use std::convert::TryFrom; - let header_value = formatted_141; + let header_value = formatted_142; let header_value = http::header::HeaderValue::try_from(&*header_value).map_err(|err| { smithy_http::operation::BuildError::InvalidField { @@ -9827,10 +9852,12 @@ impl std::fmt::Debug for ListStudioComponentsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListStreamingSessionsInput { - ///

                                                        The user ID.

                                                        + ///

                                                        The user ID of the user that created the streaming session.

                                                        pub created_by: std::option::Option, ///

                                                        The token for the next set of results, or null if there are no more results.

                                                        pub next_token: std::option::Option, + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub owned_by: std::option::Option, ///

                                                        A collection of session IDs.

                                                        pub session_ids: std::option::Option, ///

                                                        The studio ID.

                                                        @@ -9841,6 +9868,7 @@ impl std::fmt::Debug for ListStreamingSessionsInput { let mut formatter = f.debug_struct("ListStreamingSessionsInput"); formatter.field("created_by", &self.created_by); formatter.field("next_token", &self.next_token); + formatter.field("owned_by", &self.owned_by); formatter.field("session_ids", &self.session_ids); formatter.field("studio_id", &self.studio_id); formatter.finish() @@ -10412,6 +10440,8 @@ pub struct CreateStreamingSessionInput { pub ec2_instance_type: std::option::Option, ///

                                                        The launch profile ID.

                                                        pub launch_profile_id: std::option::Option, + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub owned_by: std::option::Option, ///

                                                        The ID of the streaming image.

                                                        pub streaming_image_id: std::option::Option, ///

                                                        The studio ID.

                                                        @@ -10426,6 +10456,7 @@ impl std::fmt::Debug for CreateStreamingSessionInput { formatter.field("client_token", &self.client_token); formatter.field("ec2_instance_type", &self.ec2_instance_type); formatter.field("launch_profile_id", &self.launch_profile_id); + formatter.field("owned_by", &self.owned_by); formatter.field("streaming_image_id", &self.streaming_image_id); formatter.field("studio_id", &self.studio_id); formatter.field("tags", &self.tags); diff --git a/sdk/nimble/src/json_deser.rs b/sdk/nimble/src/json_deser.rs index 9ebe4eabb549..c0112751d8ed 100644 --- a/sdk/nimble/src/json_deser.rs +++ b/sdk/nimble/src/json_deser.rs @@ -2362,6 +2362,15 @@ where .transpose()?, ); } + "ownedBy" => { + builder = builder.set_owned_by( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "sessionId" => { builder = builder.set_session_id( smithy_json::deserialize::token::expect_string_or_null( @@ -2507,6 +2516,15 @@ where )?, ); } + "ownedBy" => { + builder = builder.set_owned_by( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "state" => { builder = builder.set_state( smithy_json::deserialize::token::expect_string_or_null( diff --git a/sdk/nimble/src/json_ser.rs b/sdk/nimble/src/json_ser.rs index 7935b5c01206..9c21be601cfd 100644 --- a/sdk/nimble/src/json_ser.rs +++ b/sdk/nimble/src/json_ser.rs @@ -101,17 +101,20 @@ pub fn serialize_structure_create_streaming_session_input( if let Some(var_29) = &input.launch_profile_id { object.key("launchProfileId").string(var_29); } - if let Some(var_30) = &input.streaming_image_id { - object.key("streamingImageId").string(var_30); + if let Some(var_30) = &input.owned_by { + object.key("ownedBy").string(var_30); } - if let Some(var_31) = &input.tags { - let mut object_32 = object.key("tags").start_object(); - for (key_33, value_34) in var_31 { + if let Some(var_31) = &input.streaming_image_id { + object.key("streamingImageId").string(var_31); + } + if let Some(var_32) = &input.tags { + let mut object_33 = object.key("tags").start_object(); + for (key_34, value_35) in var_32 { { - object_32.key(key_33).string(value_34); + object_33.key(key_34).string(value_35); } } - object_32.finish(); + object_33.finish(); } } @@ -131,34 +134,34 @@ pub fn serialize_structure_create_studio_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateStudioInput, ) { - if let Some(var_35) = &input.admin_role_arn { - object.key("adminRoleArn").string(var_35); + if let Some(var_36) = &input.admin_role_arn { + object.key("adminRoleArn").string(var_36); } - if let Some(var_36) = &input.display_name { - object.key("displayName").string(var_36); + if let Some(var_37) = &input.display_name { + object.key("displayName").string(var_37); } - if let Some(var_37) = &input.studio_encryption_configuration { - let mut object_38 = object.key("studioEncryptionConfiguration").start_object(); + if let Some(var_38) = &input.studio_encryption_configuration { + let mut object_39 = object.key("studioEncryptionConfiguration").start_object(); crate::json_ser::serialize_structure_studio_encryption_configuration( - &mut object_38, - var_37, + &mut object_39, + var_38, ); - object_38.finish(); + object_39.finish(); } - if let Some(var_39) = &input.studio_name { - object.key("studioName").string(var_39); + if let Some(var_40) = &input.studio_name { + object.key("studioName").string(var_40); } - if let Some(var_40) = &input.tags { - let mut object_41 = object.key("tags").start_object(); - for (key_42, value_43) in var_40 { + if let Some(var_41) = &input.tags { + let mut object_42 = object.key("tags").start_object(); + for (key_43, value_44) in var_41 { { - object_41.key(key_42).string(value_43); + object_42.key(key_43).string(value_44); } } - object_41.finish(); + object_42.finish(); } - if let Some(var_44) = &input.user_role_arn { - object.key("userRoleArn").string(var_44); + if let Some(var_45) = &input.user_role_arn { + object.key("userRoleArn").string(var_45); } } @@ -166,68 +169,68 @@ pub fn serialize_structure_create_studio_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateStudioComponentInput, ) { - if let Some(var_45) = &input.configuration { - let mut object_46 = object.key("configuration").start_object(); - crate::json_ser::serialize_structure_studio_component_configuration(&mut object_46, var_45); - object_46.finish(); + if let Some(var_46) = &input.configuration { + let mut object_47 = object.key("configuration").start_object(); + crate::json_ser::serialize_structure_studio_component_configuration(&mut object_47, var_46); + object_47.finish(); } - if let Some(var_47) = &input.description { - object.key("description").string(var_47); + if let Some(var_48) = &input.description { + object.key("description").string(var_48); } - if let Some(var_48) = &input.ec2_security_group_ids { - let mut array_49 = object.key("ec2SecurityGroupIds").start_array(); - for item_50 in var_48 { + if let Some(var_49) = &input.ec2_security_group_ids { + let mut array_50 = object.key("ec2SecurityGroupIds").start_array(); + for item_51 in var_49 { { - array_49.value().string(item_50); + array_50.value().string(item_51); } } - array_49.finish(); + array_50.finish(); } - if let Some(var_51) = &input.initialization_scripts { - let mut array_52 = object.key("initializationScripts").start_array(); - for item_53 in var_51 { + if let Some(var_52) = &input.initialization_scripts { + let mut array_53 = object.key("initializationScripts").start_array(); + for item_54 in var_52 { { - let mut object_54 = array_52.value().start_object(); + let mut object_55 = array_53.value().start_object(); crate::json_ser::serialize_structure_studio_component_initialization_script( - &mut object_54, - item_53, + &mut object_55, + item_54, ); - object_54.finish(); + object_55.finish(); } } - array_52.finish(); + array_53.finish(); } - if let Some(var_55) = &input.name { - object.key("name").string(var_55); + if let Some(var_56) = &input.name { + object.key("name").string(var_56); } - if let Some(var_56) = &input.script_parameters { - let mut array_57 = object.key("scriptParameters").start_array(); - for item_58 in var_56 { + if let Some(var_57) = &input.script_parameters { + let mut array_58 = object.key("scriptParameters").start_array(); + for item_59 in var_57 { { - let mut object_59 = array_57.value().start_object(); + let mut object_60 = array_58.value().start_object(); crate::json_ser::serialize_structure_script_parameter_key_value( - &mut object_59, - item_58, + &mut object_60, + item_59, ); - object_59.finish(); + object_60.finish(); } } - array_57.finish(); + array_58.finish(); } - if let Some(var_60) = &input.subtype { - object.key("subtype").string(var_60.as_str()); + if let Some(var_61) = &input.subtype { + object.key("subtype").string(var_61.as_str()); } - if let Some(var_61) = &input.tags { - let mut object_62 = object.key("tags").start_object(); - for (key_63, value_64) in var_61 { + if let Some(var_62) = &input.tags { + let mut object_63 = object.key("tags").start_object(); + for (key_64, value_65) in var_62 { { - object_62.key(key_63).string(value_64); + object_63.key(key_64).string(value_65); } } - object_62.finish(); + object_63.finish(); } - if let Some(var_65) = &input.r#type { - object.key("type").string(var_65.as_str()); + if let Some(var_66) = &input.r#type { + object.key("type").string(var_66.as_str()); } } @@ -235,22 +238,22 @@ pub fn serialize_structure_put_launch_profile_members_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutLaunchProfileMembersInput, ) { - if let Some(var_66) = &input.identity_store_id { - object.key("identityStoreId").string(var_66); + if let Some(var_67) = &input.identity_store_id { + object.key("identityStoreId").string(var_67); } - if let Some(var_67) = &input.members { - let mut array_68 = object.key("members").start_array(); - for item_69 in var_67 { + if let Some(var_68) = &input.members { + let mut array_69 = object.key("members").start_array(); + for item_70 in var_68 { { - let mut object_70 = array_68.value().start_object(); + let mut object_71 = array_69.value().start_object(); crate::json_ser::serialize_structure_new_launch_profile_member( - &mut object_70, - item_69, + &mut object_71, + item_70, ); - object_70.finish(); + object_71.finish(); } } - array_68.finish(); + array_69.finish(); } } @@ -258,19 +261,19 @@ pub fn serialize_structure_put_studio_members_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutStudioMembersInput, ) { - if let Some(var_71) = &input.identity_store_id { - object.key("identityStoreId").string(var_71); + if let Some(var_72) = &input.identity_store_id { + object.key("identityStoreId").string(var_72); } - if let Some(var_72) = &input.members { - let mut array_73 = object.key("members").start_array(); - for item_74 in var_72 { + if let Some(var_73) = &input.members { + let mut array_74 = object.key("members").start_array(); + for item_75 in var_73 { { - let mut object_75 = array_73.value().start_object(); - crate::json_ser::serialize_structure_new_studio_member(&mut object_75, item_74); - object_75.finish(); + let mut object_76 = array_74.value().start_object(); + crate::json_ser::serialize_structure_new_studio_member(&mut object_76, item_75); + object_76.finish(); } } - array_73.finish(); + array_74.finish(); } } @@ -278,14 +281,14 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_76) = &input.tags { - let mut object_77 = object.key("tags").start_object(); - for (key_78, value_79) in var_76 { + if let Some(var_77) = &input.tags { + let mut object_78 = object.key("tags").start_object(); + for (key_79, value_80) in var_77 { { - object_77.key(key_78).string(value_79); + object_78.key(key_79).string(value_80); } } - object_77.finish(); + object_78.finish(); } } @@ -293,34 +296,34 @@ pub fn serialize_structure_update_launch_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateLaunchProfileInput, ) { - if let Some(var_80) = &input.description { - object.key("description").string(var_80); + if let Some(var_81) = &input.description { + object.key("description").string(var_81); } - if let Some(var_81) = &input.launch_profile_protocol_versions { - let mut array_82 = object.key("launchProfileProtocolVersions").start_array(); - for item_83 in var_81 { + if let Some(var_82) = &input.launch_profile_protocol_versions { + let mut array_83 = object.key("launchProfileProtocolVersions").start_array(); + for item_84 in var_82 { { - array_82.value().string(item_83); + array_83.value().string(item_84); } } - array_82.finish(); + array_83.finish(); } - if let Some(var_84) = &input.name { - object.key("name").string(var_84); + if let Some(var_85) = &input.name { + object.key("name").string(var_85); } - if let Some(var_85) = &input.stream_configuration { - let mut object_86 = object.key("streamConfiguration").start_object(); - crate::json_ser::serialize_structure_stream_configuration_create(&mut object_86, var_85); - object_86.finish(); + if let Some(var_86) = &input.stream_configuration { + let mut object_87 = object.key("streamConfiguration").start_object(); + crate::json_ser::serialize_structure_stream_configuration_create(&mut object_87, var_86); + object_87.finish(); } - if let Some(var_87) = &input.studio_component_ids { - let mut array_88 = object.key("studioComponentIds").start_array(); - for item_89 in var_87 { + if let Some(var_88) = &input.studio_component_ids { + let mut array_89 = object.key("studioComponentIds").start_array(); + for item_90 in var_88 { { - array_88.value().string(item_89); + array_89.value().string(item_90); } } - array_88.finish(); + array_89.finish(); } } @@ -328,8 +331,8 @@ pub fn serialize_structure_update_launch_profile_member_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateLaunchProfileMemberInput, ) { - if let Some(var_90) = &input.persona { - object.key("persona").string(var_90.as_str()); + if let Some(var_91) = &input.persona { + object.key("persona").string(var_91.as_str()); } } @@ -337,11 +340,11 @@ pub fn serialize_structure_update_streaming_image_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateStreamingImageInput, ) { - if let Some(var_91) = &input.description { - object.key("description").string(var_91); + if let Some(var_92) = &input.description { + object.key("description").string(var_92); } - if let Some(var_92) = &input.name { - object.key("name").string(var_92); + if let Some(var_93) = &input.name { + object.key("name").string(var_93); } } @@ -349,14 +352,14 @@ pub fn serialize_structure_update_studio_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateStudioInput, ) { - if let Some(var_93) = &input.admin_role_arn { - object.key("adminRoleArn").string(var_93); + if let Some(var_94) = &input.admin_role_arn { + object.key("adminRoleArn").string(var_94); } - if let Some(var_94) = &input.display_name { - object.key("displayName").string(var_94); + if let Some(var_95) = &input.display_name { + object.key("displayName").string(var_95); } - if let Some(var_95) = &input.user_role_arn { - object.key("userRoleArn").string(var_95); + if let Some(var_96) = &input.user_role_arn { + object.key("userRoleArn").string(var_96); } } @@ -364,59 +367,59 @@ pub fn serialize_structure_update_studio_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateStudioComponentInput, ) { - if let Some(var_96) = &input.configuration { - let mut object_97 = object.key("configuration").start_object(); - crate::json_ser::serialize_structure_studio_component_configuration(&mut object_97, var_96); - object_97.finish(); + if let Some(var_97) = &input.configuration { + let mut object_98 = object.key("configuration").start_object(); + crate::json_ser::serialize_structure_studio_component_configuration(&mut object_98, var_97); + object_98.finish(); } - if let Some(var_98) = &input.description { - object.key("description").string(var_98); + if let Some(var_99) = &input.description { + object.key("description").string(var_99); } - if let Some(var_99) = &input.ec2_security_group_ids { - let mut array_100 = object.key("ec2SecurityGroupIds").start_array(); - for item_101 in var_99 { + if let Some(var_100) = &input.ec2_security_group_ids { + let mut array_101 = object.key("ec2SecurityGroupIds").start_array(); + for item_102 in var_100 { { - array_100.value().string(item_101); + array_101.value().string(item_102); } } - array_100.finish(); + array_101.finish(); } - if let Some(var_102) = &input.initialization_scripts { - let mut array_103 = object.key("initializationScripts").start_array(); - for item_104 in var_102 { + if let Some(var_103) = &input.initialization_scripts { + let mut array_104 = object.key("initializationScripts").start_array(); + for item_105 in var_103 { { - let mut object_105 = array_103.value().start_object(); + let mut object_106 = array_104.value().start_object(); crate::json_ser::serialize_structure_studio_component_initialization_script( - &mut object_105, - item_104, + &mut object_106, + item_105, ); - object_105.finish(); + object_106.finish(); } } - array_103.finish(); + array_104.finish(); } - if let Some(var_106) = &input.name { - object.key("name").string(var_106); + if let Some(var_107) = &input.name { + object.key("name").string(var_107); } - if let Some(var_107) = &input.script_parameters { - let mut array_108 = object.key("scriptParameters").start_array(); - for item_109 in var_107 { + if let Some(var_108) = &input.script_parameters { + let mut array_109 = object.key("scriptParameters").start_array(); + for item_110 in var_108 { { - let mut object_110 = array_108.value().start_object(); + let mut object_111 = array_109.value().start_object(); crate::json_ser::serialize_structure_script_parameter_key_value( - &mut object_110, - item_109, + &mut object_111, + item_110, ); - object_110.finish(); + object_111.finish(); } } - array_108.finish(); + array_109.finish(); } - if let Some(var_111) = &input.subtype { - object.key("subtype").string(var_111.as_str()); + if let Some(var_112) = &input.subtype { + object.key("subtype").string(var_112.as_str()); } - if let Some(var_112) = &input.r#type { - object.key("type").string(var_112.as_str()); + if let Some(var_113) = &input.r#type { + object.key("type").string(var_113.as_str()); } } @@ -424,17 +427,17 @@ pub fn serialize_structure_stream_configuration_create( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StreamConfigurationCreate, ) { - if let Some(var_113) = &input.clipboard_mode { - object.key("clipboardMode").string(var_113.as_str()); + if let Some(var_114) = &input.clipboard_mode { + object.key("clipboardMode").string(var_114.as_str()); } - if let Some(var_114) = &input.ec2_instance_types { - let mut array_115 = object.key("ec2InstanceTypes").start_array(); - for item_116 in var_114 { + if let Some(var_115) = &input.ec2_instance_types { + let mut array_116 = object.key("ec2InstanceTypes").start_array(); + for item_117 in var_115 { { - array_115.value().string(item_116.as_str()); + array_116.value().string(item_117.as_str()); } } - array_115.finish(); + array_116.finish(); } if input.max_session_length_in_minutes != 0 { object.key("maxSessionLengthInMinutes").number( @@ -442,14 +445,14 @@ pub fn serialize_structure_stream_configuration_create( smithy_types::Number::NegInt((input.max_session_length_in_minutes).into()), ); } - if let Some(var_117) = &input.streaming_image_ids { - let mut array_118 = object.key("streamingImageIds").start_array(); - for item_119 in var_117 { + if let Some(var_118) = &input.streaming_image_ids { + let mut array_119 = object.key("streamingImageIds").start_array(); + for item_120 in var_118 { { - array_118.value().string(item_119); + array_119.value().string(item_120); } } - array_118.finish(); + array_119.finish(); } } @@ -457,11 +460,11 @@ pub fn serialize_structure_studio_encryption_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StudioEncryptionConfiguration, ) { - if let Some(var_120) = &input.key_arn { - object.key("keyArn").string(var_120); + if let Some(var_121) = &input.key_arn { + object.key("keyArn").string(var_121); } - if let Some(var_121) = &input.key_type { - object.key("keyType").string(var_121.as_str()); + if let Some(var_122) = &input.key_type { + object.key("keyType").string(var_122.as_str()); } } @@ -469,34 +472,34 @@ pub fn serialize_structure_studio_component_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StudioComponentConfiguration, ) { - if let Some(var_122) = &input.active_directory_configuration { - let mut object_123 = object.key("activeDirectoryConfiguration").start_object(); + if let Some(var_123) = &input.active_directory_configuration { + let mut object_124 = object.key("activeDirectoryConfiguration").start_object(); crate::json_ser::serialize_structure_active_directory_configuration( - &mut object_123, - var_122, + &mut object_124, + var_123, ); - object_123.finish(); + object_124.finish(); } - if let Some(var_124) = &input.compute_farm_configuration { - let mut object_125 = object.key("computeFarmConfiguration").start_object(); - crate::json_ser::serialize_structure_compute_farm_configuration(&mut object_125, var_124); - object_125.finish(); + if let Some(var_125) = &input.compute_farm_configuration { + let mut object_126 = object.key("computeFarmConfiguration").start_object(); + crate::json_ser::serialize_structure_compute_farm_configuration(&mut object_126, var_125); + object_126.finish(); } - if let Some(var_126) = &input.license_service_configuration { - let mut object_127 = object.key("licenseServiceConfiguration").start_object(); + if let Some(var_127) = &input.license_service_configuration { + let mut object_128 = object.key("licenseServiceConfiguration").start_object(); crate::json_ser::serialize_structure_license_service_configuration( - &mut object_127, - var_126, + &mut object_128, + var_127, ); - object_127.finish(); + object_128.finish(); } - if let Some(var_128) = &input.shared_file_system_configuration { - let mut object_129 = object.key("sharedFileSystemConfiguration").start_object(); + if let Some(var_129) = &input.shared_file_system_configuration { + let mut object_130 = object.key("sharedFileSystemConfiguration").start_object(); crate::json_ser::serialize_structure_shared_file_system_configuration( - &mut object_129, - var_128, + &mut object_130, + var_129, ); - object_129.finish(); + object_130.finish(); } } @@ -504,17 +507,17 @@ pub fn serialize_structure_studio_component_initialization_script( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StudioComponentInitializationScript, ) { - if let Some(var_130) = &input.launch_profile_protocol_version { - object.key("launchProfileProtocolVersion").string(var_130); + if let Some(var_131) = &input.launch_profile_protocol_version { + object.key("launchProfileProtocolVersion").string(var_131); } - if let Some(var_131) = &input.platform { - object.key("platform").string(var_131.as_str()); + if let Some(var_132) = &input.platform { + object.key("platform").string(var_132.as_str()); } - if let Some(var_132) = &input.run_context { - object.key("runContext").string(var_132.as_str()); + if let Some(var_133) = &input.run_context { + object.key("runContext").string(var_133.as_str()); } - if let Some(var_133) = &input.script { - object.key("script").string(var_133); + if let Some(var_134) = &input.script { + object.key("script").string(var_134); } } @@ -522,11 +525,11 @@ pub fn serialize_structure_script_parameter_key_value( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScriptParameterKeyValue, ) { - if let Some(var_134) = &input.key { - object.key("key").string(var_134); + if let Some(var_135) = &input.key { + object.key("key").string(var_135); } - if let Some(var_135) = &input.value { - object.key("value").string(var_135); + if let Some(var_136) = &input.value { + object.key("value").string(var_136); } } @@ -534,11 +537,11 @@ pub fn serialize_structure_new_launch_profile_member( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NewLaunchProfileMember, ) { - if let Some(var_136) = &input.persona { - object.key("persona").string(var_136.as_str()); + if let Some(var_137) = &input.persona { + object.key("persona").string(var_137.as_str()); } - if let Some(var_137) = &input.principal_id { - object.key("principalId").string(var_137); + if let Some(var_138) = &input.principal_id { + object.key("principalId").string(var_138); } } @@ -546,11 +549,11 @@ pub fn serialize_structure_new_studio_member( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NewStudioMember, ) { - if let Some(var_138) = &input.persona { - object.key("persona").string(var_138.as_str()); + if let Some(var_139) = &input.persona { + object.key("persona").string(var_139.as_str()); } - if let Some(var_139) = &input.principal_id { - object.key("principalId").string(var_139); + if let Some(var_140) = &input.principal_id { + object.key("principalId").string(var_140); } } @@ -558,27 +561,27 @@ pub fn serialize_structure_active_directory_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ActiveDirectoryConfiguration, ) { - if let Some(var_140) = &input.computer_attributes { - let mut array_141 = object.key("computerAttributes").start_array(); - for item_142 in var_140 { + if let Some(var_141) = &input.computer_attributes { + let mut array_142 = object.key("computerAttributes").start_array(); + for item_143 in var_141 { { - let mut object_143 = array_141.value().start_object(); + let mut object_144 = array_142.value().start_object(); crate::json_ser::serialize_structure_active_directory_computer_attribute( - &mut object_143, - item_142, + &mut object_144, + item_143, ); - object_143.finish(); + object_144.finish(); } } - array_141.finish(); + array_142.finish(); } - if let Some(var_144) = &input.directory_id { - object.key("directoryId").string(var_144); + if let Some(var_145) = &input.directory_id { + object.key("directoryId").string(var_145); } - if let Some(var_145) = &input.organizational_unit_distinguished_name { + if let Some(var_146) = &input.organizational_unit_distinguished_name { object .key("organizationalUnitDistinguishedName") - .string(var_145); + .string(var_146); } } @@ -586,11 +589,11 @@ pub fn serialize_structure_compute_farm_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ComputeFarmConfiguration, ) { - if let Some(var_146) = &input.active_directory_user { - object.key("activeDirectoryUser").string(var_146); + if let Some(var_147) = &input.active_directory_user { + object.key("activeDirectoryUser").string(var_147); } - if let Some(var_147) = &input.endpoint { - object.key("endpoint").string(var_147); + if let Some(var_148) = &input.endpoint { + object.key("endpoint").string(var_148); } } @@ -598,8 +601,8 @@ pub fn serialize_structure_license_service_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LicenseServiceConfiguration, ) { - if let Some(var_148) = &input.endpoint { - object.key("endpoint").string(var_148); + if let Some(var_149) = &input.endpoint { + object.key("endpoint").string(var_149); } } @@ -607,20 +610,20 @@ pub fn serialize_structure_shared_file_system_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SharedFileSystemConfiguration, ) { - if let Some(var_149) = &input.endpoint { - object.key("endpoint").string(var_149); + if let Some(var_150) = &input.endpoint { + object.key("endpoint").string(var_150); } - if let Some(var_150) = &input.file_system_id { - object.key("fileSystemId").string(var_150); + if let Some(var_151) = &input.file_system_id { + object.key("fileSystemId").string(var_151); } - if let Some(var_151) = &input.linux_mount_point { - object.key("linuxMountPoint").string(var_151); + if let Some(var_152) = &input.linux_mount_point { + object.key("linuxMountPoint").string(var_152); } - if let Some(var_152) = &input.share_name { - object.key("shareName").string(var_152); + if let Some(var_153) = &input.share_name { + object.key("shareName").string(var_153); } - if let Some(var_153) = &input.windows_mount_drive { - object.key("windowsMountDrive").string(var_153); + if let Some(var_154) = &input.windows_mount_drive { + object.key("windowsMountDrive").string(var_154); } } @@ -628,10 +631,10 @@ pub fn serialize_structure_active_directory_computer_attribute( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ActiveDirectoryComputerAttribute, ) { - if let Some(var_154) = &input.name { - object.key("name").string(var_154); + if let Some(var_155) = &input.name { + object.key("name").string(var_155); } - if let Some(var_155) = &input.value { - object.key("value").string(var_155); + if let Some(var_156) = &input.value { + object.key("value").string(var_156); } } diff --git a/sdk/nimble/src/model.rs b/sdk/nimble/src/model.rs index d5c7fee291e7..0b1b1afac7ff 100644 --- a/sdk/nimble/src/model.rs +++ b/sdk/nimble/src/model.rs @@ -1288,7 +1288,7 @@ pub struct ActiveDirectoryConfiguration { ///

                                                        A collection of custom attributes for an Active Directory computer.

                                                        pub computer_attributes: std::option::Option>, - ///

                                                        The directory ID of the AWS Directory Service for Microsoft AD to access using this studio component.

                                                        + ///

                                                        The directory ID of the Directory Service for Microsoft Active Directory to access using this studio component.

                                                        pub directory_id: std::option::Option, ///

                                                        The distinguished name (DN) and organizational unit (OU) of an Active Directory computer.

                                                        pub organizational_unit_distinguished_name: std::option::Option, @@ -1335,7 +1335,7 @@ pub mod active_directory_configuration { self.computer_attributes = input; self } - ///

                                                        The directory ID of the AWS Directory Service for Microsoft AD to access using this studio component.

                                                        + ///

                                                        The directory ID of the Directory Service for Microsoft Active Directory to access using this studio component.

                                                        pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self @@ -1448,9 +1448,9 @@ pub struct Studio { pub created_at: std::option::Option, ///

                                                        A friendly name for the studio.

                                                        pub display_name: std::option::Option, - ///

                                                        The AWS region where the studio resource is located.

                                                        + ///

                                                        The Amazon Web Services Region where the studio resource is located.

                                                        pub home_region: std::option::Option, - ///

                                                        The AWS SSO application client ID used to integrate with AWS SSO to enable AWS SSO users to log in to Nimble portal.

                                                        + ///

                                                        The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble portal.

                                                        pub sso_client_id: std::option::Option, ///

                                                        The current state of the studio resource.

                                                        pub state: std::option::Option, @@ -1566,7 +1566,7 @@ pub mod studio { self.display_name = input; self } - ///

                                                        The AWS region where the studio resource is located.

                                                        + ///

                                                        The Amazon Web Services Region where the studio resource is located.

                                                        pub fn home_region(mut self, input: impl Into) -> Self { self.home_region = Some(input.into()); self @@ -1575,7 +1575,7 @@ pub mod studio { self.home_region = input; self } - ///

                                                        The AWS SSO application client ID used to integrate with AWS SSO to enable AWS SSO users to log in to Nimble portal.

                                                        + ///

                                                        The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble portal.

                                                        pub fn sso_client_id(mut self, input: impl Into) -> Self { self.sso_client_id = Some(input.into()); self @@ -3819,6 +3819,8 @@ pub struct StreamingSession { pub ec2_instance_type: std::option::Option, ///

                                                        The ID of the launch profile used to control access from the streaming session.

                                                        pub launch_profile_id: std::option::Option, + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub owned_by: std::option::Option, ///

                                                        The session ID.

                                                        pub session_id: std::option::Option, ///

                                                        The current state.

                                                        @@ -3847,6 +3849,7 @@ impl std::fmt::Debug for StreamingSession { formatter.field("created_by", &self.created_by); formatter.field("ec2_instance_type", &self.ec2_instance_type); formatter.field("launch_profile_id", &self.launch_profile_id); + formatter.field("owned_by", &self.owned_by); formatter.field("session_id", &self.session_id); formatter.field("state", &self.state); formatter.field("status_code", &self.status_code); @@ -3870,6 +3873,7 @@ pub mod streaming_session { pub(crate) created_by: std::option::Option, pub(crate) ec2_instance_type: std::option::Option, pub(crate) launch_profile_id: std::option::Option, + pub(crate) owned_by: std::option::Option, pub(crate) session_id: std::option::Option, pub(crate) state: std::option::Option, pub(crate) status_code: std::option::Option, @@ -3934,6 +3938,15 @@ pub mod streaming_session { self.launch_profile_id = input; self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.owned_by = Some(input.into()); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.owned_by = input; + self + } ///

                                                        The session ID.

                                                        pub fn session_id(mut self, input: impl Into) -> Self { self.session_id = Some(input.into()); @@ -4048,6 +4061,7 @@ pub mod streaming_session { created_by: self.created_by, ec2_instance_type: self.ec2_instance_type, launch_profile_id: self.launch_profile_id, + owned_by: self.owned_by, session_id: self.session_id, state: self.state, status_code: self.status_code, @@ -4463,6 +4477,8 @@ pub struct StreamingSessionStream { pub created_by: std::option::Option, ///

                                                        The Unix epoch timestamp in seconds for when the resource expires.

                                                        pub expires_at: std::option::Option, + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub owned_by: std::option::Option, ///

                                                        The current state.

                                                        pub state: std::option::Option, ///

                                                        The streaming session stream status code.

                                                        @@ -4478,6 +4494,7 @@ impl std::fmt::Debug for StreamingSessionStream { formatter.field("created_at", &self.created_at); formatter.field("created_by", &self.created_by); formatter.field("expires_at", &self.expires_at); + formatter.field("owned_by", &self.owned_by); formatter.field("state", &self.state); formatter.field("status_code", &self.status_code); formatter.field("stream_id", &self.stream_id); @@ -4494,6 +4511,7 @@ pub mod streaming_session_stream { pub(crate) created_at: std::option::Option, pub(crate) created_by: std::option::Option, pub(crate) expires_at: std::option::Option, + pub(crate) owned_by: std::option::Option, pub(crate) state: std::option::Option, pub(crate) status_code: std::option::Option, pub(crate) stream_id: std::option::Option, @@ -4527,6 +4545,15 @@ pub mod streaming_session_stream { self.expires_at = input; self } + ///

                                                        The user ID of the user that owns the streaming session.

                                                        + pub fn owned_by(mut self, input: impl Into) -> Self { + self.owned_by = Some(input.into()); + self + } + pub fn set_owned_by(mut self, input: std::option::Option) -> Self { + self.owned_by = input; + self + } ///

                                                        The current state.

                                                        pub fn state(mut self, input: crate::model::StreamingSessionStreamState) -> Self { self.state = Some(input); @@ -4578,6 +4605,7 @@ pub mod streaming_session_stream { created_at: self.created_at, created_by: self.created_by, expires_at: self.expires_at, + owned_by: self.owned_by, state: self.state, status_code: self.status_code, stream_id: self.stream_id, @@ -5033,7 +5061,7 @@ pub struct LaunchProfileInitializationActiveDirectory { ///

                                                        A collection of custom attributes for an Active Directory computer.

                                                        pub computer_attributes: std::option::Option>, - ///

                                                        The directory ID of the AWS Directory Service for Microsoft AD to access using this launch profile.

                                                        + ///

                                                        The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.

                                                        pub directory_id: std::option::Option, ///

                                                        The directory name.

                                                        pub directory_name: std::option::Option, @@ -5096,7 +5124,7 @@ pub mod launch_profile_initialization_active_directory { self.computer_attributes = input; self } - ///

                                                        The directory ID of the AWS Directory Service for Microsoft AD to access using this launch profile.

                                                        + ///

                                                        The directory ID of the Directory Service for Microsoft Active Directory to access using this launch profile.

                                                        pub fn directory_id(mut self, input: impl Into) -> Self { self.directory_id = Some(input.into()); self diff --git a/sdk/nimble/src/operation.rs b/sdk/nimble/src/operation.rs index ad8de793c56b..80e26e95f0a6 100644 --- a/sdk/nimble/src/operation.rs +++ b/sdk/nimble/src/operation.rs @@ -137,7 +137,7 @@ impl smithy_http::response::ParseStrictResponse for CreateStreamingSessionStream } } -///

                                                        Create a new Studio.

                                                        When creating a Studio, two IAM roles must be provided: the admin role and the user Role. These roles are assumed by your users when they log in to the Nimble Studio portal.

                                                        The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

                                                        The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

                                                        You may optionally specify a KMS key in the StudioEncryptionConfiguration.

                                                        In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an AWS KMS key. By default, this key is owned by AWS and managed on your behalf. You may provide your own AWS KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

                                                        When providing an AWS KMS key during studio creation, Nimble Studio creates KMS grants in your account to provide your studio user and admin roles access to these KMS keys.

                                                        If you delete this grant, the studio will no longer be accessible to your portal users.

                                                        If you delete the studio KMS key, your studio will no longer be accessible.

                                                        +///

                                                        Create a new Studio.

                                                        When creating a Studio, two IAM roles must be provided: the admin role and the user Role. These roles are assumed by your users when they log in to the Nimble Studio portal.

                                                        The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

                                                        The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

                                                        You may optionally specify a KMS key in the StudioEncryptionConfiguration.

                                                        In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an KMS key. By default, this key is owned by Amazon Web Services and managed on your behalf. You may provide your own KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

                                                        When providing an KMS key during studio creation, Nimble Studio creates KMS grants in your account to provide your studio user and admin roles access to these KMS keys.

                                                        If you delete this grant, the studio will no longer be accessible to your portal users.

                                                        If you delete the studio KMS key, your studio will no longer be accessible.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateStudio { _private: (), @@ -796,7 +796,7 @@ impl smithy_http::response::ParseStrictResponse for ListLaunchProfiles { } } -///

                                                        List the streaming image resources available to this studio.

                                                        This list will contain both images provided by AWS, as well as streaming images that you have created in your studio.

                                                        +///

                                                        List the streaming image resources available to this studio.

                                                        This list will contain both images provided by Amazon Web Services, as well as streaming images that you have created in your studio.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListStreamingImages { _private: (), @@ -908,7 +908,7 @@ impl smithy_http::response::ParseStrictResponse for ListStudioMembers { } } -///

                                                        List studios in your AWS account in the requested AWS Region.

                                                        +///

                                                        List studios in your Amazon Web Services account in the requested Amazon Web Services Region.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListStudios { _private: (), @@ -1018,7 +1018,7 @@ impl smithy_http::response::ParseStrictResponse for PutStudioMembers { } } -///

                                                        Repairs the SSO configuration for a given studio.

                                                        If the studio has a valid AWS SSO configuration currently associated with it, this operation will fail with a validation error.

                                                        If the studio does not have a valid AWS SSO configuration currently associated with it, then a new AWS SSO application is created for the studio and the studio is changed to the READY state.

                                                        After the AWS SSO application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

                                                        +///

                                                        Repairs the SSO configuration for a given studio.

                                                        If the studio has a valid Amazon Web Services SSO configuration currently associated with it, this operation will fail with a validation error.

                                                        If the studio does not have a valid Amazon Web Services SSO configuration currently associated with it, then a new Amazon Web Services SSO application is created for the studio and the studio is changed to the READY state.

                                                        After the Amazon Web Services SSO application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartStudioSSOConfigurationRepair { _private: (), diff --git a/sdk/opsworks/Cargo.toml b/sdk/opsworks/Cargo.toml index 77c30fc2aaf0..95295c3df4f7 100644 --- a/sdk/opsworks/Cargo.toml +++ b/sdk/opsworks/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-opsworks" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS OpsWorks\n

                                                        Welcome to the AWS OpsWorks Stacks API Reference. This guide provides descriptions, syntax, and\n usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error\n codes.

                                                        \n

                                                        AWS OpsWorks Stacks is an application management service that provides an integrated experience for\n overseeing the complete application lifecycle. For information about this product, go to the\n AWS OpsWorks details page.

                                                        \n\n

                                                        \n SDKs and CLI\n

                                                        \n

                                                        The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

                                                        \n \n\n

                                                        \n Endpoints\n

                                                        \n

                                                        AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks \n can only be accessed or managed within the endpoint in which they are created.

                                                        \n
                                                          \n
                                                        • \n

                                                          opsworks.us-east-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.us-east-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.us-west-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.us-west-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ca-central-1.amazonaws.com (API only; not available in the AWS console)

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.eu-west-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.eu-west-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.eu-west-3.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.eu-central-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ap-northeast-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ap-northeast-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ap-south-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ap-southeast-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.ap-southeast-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks.sa-east-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Chef Versions\n

                                                        \n

                                                        When you call CreateStack, CloneStack, or UpdateStack we recommend you\n use the ConfigurationManager parameter to specify the Chef version.\n The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information,\n see Chef Versions.

                                                        \n \n

                                                        You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

                                                        \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/opsworkscm/Cargo.toml b/sdk/opsworkscm/Cargo.toml index 09f1ff871a5c..d2140e37570c 100644 --- a/sdk/opsworkscm/Cargo.toml +++ b/sdk/opsworkscm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-opsworkscm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS OpsWorks CM\n

                                                        AWS OpsWorks for configuration management (CM) is a service that runs and manages\n configuration management servers. You can use AWS OpsWorks CM to create and manage AWS\n OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove\n nodes for the servers to manage.

                                                        \n

                                                        \n Glossary of terms\n

                                                        \n
                                                          \n
                                                        • \n

                                                          \n Server: A configuration management server that can be \n highly-available. The configuration management server runs on\n an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational\n Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration\n manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start\n or stop servers. After you create servers, they continue to run until they are deleted.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n Engine: The engine is the specific configuration manager \n that you want to use. Valid values in this release include ChefAutomate and Puppet.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n Backup: This\n is an application-level backup of the data that the configuration manager\n stores. AWS OpsWorks CM\n creates an S3 bucket for backups when you launch the first\n server. A backup maintains a snapshot of a server's configuration-related\n attributes at the time the backup starts.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n Events:\n Events are always related to a server. Events are written\n during server creation, when health checks run, when backups\n are created, when system maintenance is performed, etc. When you delete a server, the server's events are\n also deleted.

                                                          \n
                                                        • \n
                                                        • \n

                                                          \n Account attributes:\n Every account has attributes that are assigned in the AWS OpsWorks CM\n database. These attributes store information about configuration limits (servers,\n backups, etc.) and your customer account.\n

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Endpoints\n

                                                        \n

                                                        AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers\n can only be accessed or managed within the endpoint in which they are created.

                                                        \n
                                                          \n
                                                        • \n

                                                          opsworks-cm.us-east-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.us-east-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.us-west-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.us-west-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.ap-northeast-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.ap-southeast-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.ap-southeast-2.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.eu-central-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          opsworks-cm.eu-west-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        \n

                                                        For more information, see AWS OpsWorks endpoints and quotas in the AWS General Reference.

                                                        \n

                                                        \n Throttling limits\n

                                                        \n

                                                        All API operations allow for five requests per second with a burst of 10 requests per second.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/organizations/Cargo.toml b/sdk/organizations/Cargo.toml index c86e53dbdb6d..8b114d387aa9 100644 --- a/sdk/organizations/Cargo.toml +++ b/sdk/organizations/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-organizations" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts\n into an organization and centrally manage your accounts and their\n resources.

                                                        \n

                                                        This guide provides descriptions of the Organizations operations. For more information about\n using this service, see the AWS Organizations User Guide.

                                                        \n

                                                        \n Support and feedback for AWS Organizations\n

                                                        \n

                                                        We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in\n the AWS Organizations support forum. For\n more information about the AWS support forums, see Forums Help.

                                                        \n

                                                        \n Endpoint to call When using the AWS CLI or the AWS\n SDK\n

                                                        \n

                                                        For the current release of Organizations, specify the us-east-1 region for all\n AWS API and AWS CLI calls made from the commercial AWS Regions outside of China. If\n calling from one of the AWS Regions in China, then specify\n cn-northwest-1. You can do this in the AWS CLI by using these parameters and\n commands:

                                                        \n
                                                          \n
                                                        • \n

                                                          Use the following parameter with each command to specify both the endpoint and\n its region:

                                                          \n

                                                          \n --endpoint-url https://organizations.us-east-1.amazonaws.com\n (from commercial AWS Regions outside of China)\n

                                                          \n

                                                          or

                                                          \n

                                                          \n --endpoint-url\n https://organizations.cn-northwest-1.amazonaws.com.cn\n (from AWS Regions in China)\n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Use the default endpoint, but configure your default region with this\n command:

                                                          \n

                                                          \n aws configure set default.region us-east-1\n (from commercial AWS Regions outside of China)\n

                                                          \n

                                                          or

                                                          \n

                                                          \n aws configure set default.region cn-northwest-1\n (from AWS Regions in China)\n

                                                          \n
                                                        • \n
                                                        • \n

                                                          Use the following parameter with each command to specify the endpoint:

                                                          \n

                                                          \n --region us-east-1\n (from commercial AWS Regions outside of China)\n

                                                          \n

                                                          or

                                                          \n

                                                          \n --region cn-northwest-1\n (from AWS Regions in China)\n

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Recording API Requests\n

                                                        \n

                                                        AWS Organizations supports AWS CloudTrail, a service that records AWS API calls for your AWS\n account and delivers log files to an Amazon S3 bucket. By using information collected by\n AWS CloudTrail, you can determine which requests the Organizations service received, who made the request\n and when, and so on. For more about AWS Organizations and its support for AWS CloudTrail, see Logging\n AWS Organizations Events with AWS CloudTrail in the AWS Organizations User Guide.\n To learn more about AWS CloudTrail, including how to turn it on and find your log files, see the\n AWS CloudTrail User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/outposts/Cargo.toml b/sdk/outposts/Cargo.toml index b3c053767f09..a4b603f34bd1 100644 --- a/sdk/outposts/Cargo.toml +++ b/sdk/outposts/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-outposts" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        AWS Outposts is a fully managed service that extends AWS infrastructure, APIs, and tools\n to customer premises. By providing local access to AWS managed infrastructure, AWS Outposts\n enables customers to build and run applications on premises using the same programming\n interfaces as in AWS Regions, while using local compute and storage resources for lower\n latency and local data processing needs.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/personalize/Cargo.toml b/sdk/personalize/Cargo.toml index aae600c3f305..82858cc6c31f 100644 --- a/sdk/personalize/Cargo.toml +++ b/sdk/personalize/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-personalize" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Personalize is a machine learning service that makes it easy to add individualized\n recommendations to customers.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/personalizeevents/Cargo.toml b/sdk/personalizeevents/Cargo.toml index 0a9567c15fc5..09e7ef234f2e 100644 --- a/sdk/personalizeevents/Cargo.toml +++ b/sdk/personalizeevents/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-personalizeevents" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Personalize can consume real-time user event data, such as stream or click data, and use\n it for model training either alone or combined with historical data. For more information see \n Recording Events.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/personalizeruntime/Cargo.toml b/sdk/personalizeruntime/Cargo.toml index 94f9b99f115f..620933045dbc 100644 --- a/sdk/personalizeruntime/Cargo.toml +++ b/sdk/personalizeruntime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-personalizeruntime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/pi/Cargo.toml b/sdk/pi/Cargo.toml index 34c09f8ba468..55cbd6b85807 100644 --- a/sdk/pi/Cargo.toml +++ b/sdk/pi/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-pi" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon RDS Performance Insights\n \n

                                                        Amazon RDS Performance Insights enables you to monitor and explore different dimensions of\n database load based on data captured from a running DB instance. The guide provides detailed\n information about Performance Insights data types, parameters and errors.

                                                        \n \n

                                                        When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon\n CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific\n view of DB load.

                                                        \n

                                                        DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional\n time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time\n point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include\n SQL, Wait event, User, and Host.

                                                        \n\n
                                                          \n
                                                        • \n

                                                          To learn more about Performance Insights and Amazon Aurora DB instances, go to the Amazon Aurora User Guide.

                                                          \n
                                                        • \n
                                                        • \n

                                                          To learn more about Performance Insights and Amazon RDS DB instances, go to the Amazon RDS User Guide.

                                                          \n
                                                        • \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/pinpoint/Cargo.toml b/sdk/pinpoint/Cargo.toml index c5c5f77c2fff..31e2bf18f35b 100644 --- a/sdk/pinpoint/Cargo.toml +++ b/sdk/pinpoint/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-pinpoint" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Doc Engage API - Amazon Pinpoint API

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/pinpointemail/Cargo.toml b/sdk/pinpointemail/Cargo.toml index 37da8f750825..02b928020bbc 100644 --- a/sdk/pinpointemail/Cargo.toml +++ b/sdk/pinpointemail/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-pinpointemail" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Pinpoint Email Service\n

                                                        Welcome to the Amazon Pinpoint Email API Reference. This guide provides\n information about the Amazon Pinpoint Email API (version 1.0), including supported\n operations, data types, parameters, and schemas.

                                                        \n

                                                        \n Amazon Pinpoint is an AWS service that you\n can use to engage with your customers across multiple messaging channels. You can use\n Amazon Pinpoint to send email, SMS text messages, voice messages, and push notifications. The\n Amazon Pinpoint Email API provides programmatic access to options that are unique to the\n email channel and supplement the options provided by the Amazon Pinpoint API.

                                                        \n

                                                        If you're new to Amazon Pinpoint, you might find it helpful to also review the Amazon\n Pinpoint Developer Guide. The Amazon Pinpoint Developer\n Guide provides tutorials, code samples, and procedures that demonstrate\n how to use Amazon Pinpoint features programmatically and how to integrate Amazon Pinpoint functionality into\n mobile apps and other types of applications. The guide also provides information about\n key topics such as Amazon Pinpoint integration with other AWS services and the limits that apply\n to using the service.

                                                        \n

                                                        The Amazon Pinpoint Email API is available in several AWS Regions and it provides an endpoint\n for each of these Regions. For a list of all the Regions and endpoints where the API is\n currently available, see AWS Service Endpoints in\n the Amazon Web Services General Reference. To learn more about AWS Regions, see\n Managing AWS\n Regions in the Amazon Web Services General Reference.

                                                        \n

                                                        In each Region, AWS maintains multiple Availability Zones. These Availability Zones\n are physically isolated from each other, but are united by private, low-latency,\n high-throughput, and highly redundant network connections. These Availability Zones\n enable us to provide very high levels of availability and redundancy, while also\n minimizing latency. To learn more about the number of Availability Zones that are\n available in each Region, see AWS Global Infrastructure.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/pinpointsmsvoice/Cargo.toml b/sdk/pinpointsmsvoice/Cargo.toml index a9e3dc208b07..b778f225cedc 100644 --- a/sdk/pinpointsmsvoice/Cargo.toml +++ b/sdk/pinpointsmsvoice/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-pinpointsmsvoice" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Pinpoint SMS and Voice Messaging public facing APIs" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/polly/Cargo.toml b/sdk/polly/Cargo.toml index 58461fa5a4d4..06ab7153b641 100644 --- a/sdk/polly/Cargo.toml +++ b/sdk/polly/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-polly" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Polly is a web service that makes it easy to synthesize speech from\n text.

                                                        \n

                                                        The Amazon Polly service provides API operations for synthesizing high-quality speech\n from plain text and Speech Synthesis Markup Language (SSML), along with managing\n pronunciations lexicons that enable you to get the best results for your application\n domain.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/pricing/Cargo.toml b/sdk/pricing/Cargo.toml index cf7ad009654e..e72d5c96badf 100644 --- a/sdk/pricing/Cargo.toml +++ b/sdk/pricing/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-pricing" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Web Services Price List Service API (Amazon Web Services Price List Service) is a centralized and convenient way to\n programmatically query Amazon Web Services for services, products, and pricing information. The Amazon Web Services Price List Service\n uses standardized product attributes such as Location, Storage\n Class, and Operating System, and provides prices at the SKU\n level. You can use the Amazon Web Services Price List Service to build cost control and scenario planning tools, reconcile\n billing data, forecast future spend for budgeting purposes, and provide cost benefit\n analysis that compare your internal workloads with Amazon Web Services.

                                                        \n

                                                        Use GetServices without a service code to retrieve the service codes for all AWS services, then \n GetServices with a service code to retreive the attribute names for \n that service. After you have the service code and attribute names, you can use GetAttributeValues\n to see what values are available for an attribute. With the service code and an attribute name and value, \n you can use GetProducts to find specific products that you're interested in, such as \n an AmazonEC2 instance, with a Provisioned IOPS \n volumeType.

                                                        \n

                                                        Service Endpoint

                                                        \n

                                                        Amazon Web Services Price List Service API provides the following two endpoints:

                                                        \n
                                                          \n
                                                        • \n

                                                          https://api.pricing.us-east-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        • \n

                                                          https://api.pricing.ap-south-1.amazonaws.com

                                                          \n
                                                        • \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/protocol-test-helpers/src/lib.rs b/sdk/protocol-test-helpers/src/lib.rs index a690ebe6ab90..68a42e8082e0 100644 --- a/sdk/protocol-test-helpers/src/lib.rs +++ b/sdk/protocol-test-helpers/src/lib.rs @@ -182,9 +182,11 @@ pub fn require_query_params( pub fn validate_headers( request: &Request, - expected_headers: &[(&str, &str)], + expected_headers: &[(impl AsRef, impl AsRef)], ) -> Result<(), ProtocolTestFailure> { for (key, expected_value) in expected_headers { + let key = key.as_ref(); + let expected_value = expected_value.as_ref(); match normalized_header(request, key) { None => { return Err(ProtocolTestFailure::MissingHeader { diff --git a/sdk/proton/Cargo.toml b/sdk/proton/Cargo.toml index 6141a261436d..f69d065608a3 100644 --- a/sdk/proton/Cargo.toml +++ b/sdk/proton/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-proton" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        This is the AWS Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the actions and data types for the AWS Proton service.

                                                        \n

                                                        The documentation for each action shows the Query API request parameters and the XML response.

                                                        \n

                                                        Alternatively, you can use the AWS CLI to access an API. For more information, see the AWS Command Line Interface User Guide.

                                                        \n

                                                        The AWS Proton service is a two-pronged automation framework. Administrators create service templates to provide standardized\n infrastructure and deployment tooling for serverless and container based applications. Developers, in turn, select from the available\n service templates to automate their application or service deployments.

                                                        \n

                                                        Because administrators define the infrastructure and tooling that AWS Proton deploys and manages, they need permissions to use all of the\n listed API operations.

                                                        \n

                                                        When developers select a specific infrastructure and tooling set, AWS Proton deploys their applications. To monitor their applications\n that are running on AWS Proton, developers need permissions to the service create, list,\n update and delete API operations and the service instance list and\n update API operations.

                                                        \n

                                                        To learn more about AWS Proton administration, see the AWS Proton\n Administrator Guide.

                                                        \n

                                                        To learn more about deploying serverless and containerized applications on AWS Proton, see the AWS Proton User Guide.

                                                        \n

                                                        \n Ensuring Idempotency\n

                                                        \n

                                                        When you make a mutating API request, the request typically returns a result before the asynchronous workflows of the operation are\n complete. Operations might also time out or encounter other server issues before they're complete, even if the request already returned a\n result. This might make it difficult to determine whether the request succeeded. Moreover, you might need to retry the request multiple\n times to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the\n operation occurs multiple times. This means that you might create more resources than you intended.

                                                        \n

                                                        \n Idempotency ensures that an API request action completes no more than one time. With an idempotent request, if the\n original request action completes successfully, any subsequent retries complete successfully without performing any further actions.\n However, the result might contain updated information, such as the current creation status.

                                                        \n

                                                        The following lists of APIs are grouped according to methods that ensure idempotency.

                                                        \n

                                                        \n Idempotent create APIs with a client token\n

                                                        \n

                                                        The API actions in this list support idempotency with the use of a client token. The corresponding AWS CLI\n commands also support idempotency using a client token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. To\n make an idempotent API request using one of these actions, specify a client token in the request. We recommend that you\n don't reuse the same client token for other API requests. If you don’t provide a client token for these APIs, a\n default client token is automatically provided by SDKs.

                                                        \n

                                                        Given a request action that has succeeded:

                                                        \n

                                                        If you retry the request using the same client token and the same parameters, the retry succeeds without performing any further actions\n other than returning the original resource detail data in the response.

                                                        \n

                                                        If you retry the request using the same client token, but one or more of the parameters are different, the retry throws a\n ValidationException with an IdempotentParameterMismatch error.

                                                        \n

                                                        Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new resource is\n created.

                                                        \n

                                                        If the original resource is deleted and you retry the request, a new resource is created.

                                                        \n

                                                        Idempotent create APIs with a client token:

                                                        \n
                                                          \n
                                                        • \n

                                                          CreateEnvironmentTemplateVersion

                                                          \n
                                                        • \n
                                                        • \n

                                                          CreateServiceTemplateVersion

                                                          \n
                                                        • \n
                                                        • \n

                                                          CreateEnvironmentAccountConnection

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Idempotent create APIs\n

                                                        \n

                                                        Given a request action that has succeeded:

                                                        \n

                                                        If you retry the request with an API from this group, and the original resource hasn't been modified, the retry\n succeeds without performing any further actions other than returning the original resource detail data in the response.

                                                        \n

                                                        If the original resource has been modified, the retry throws a ConflictException.

                                                        \n

                                                        If you retry with different input parameters, the retry throws a ValidationException with an\n IdempotentParameterMismatch error.

                                                        \n

                                                        Idempotent create APIs:

                                                        \n
                                                          \n
                                                        • \n

                                                          CreateEnvironmentTemplate

                                                          \n
                                                        • \n
                                                        • \n

                                                          CreateServiceTemplate

                                                          \n
                                                        • \n
                                                        • \n

                                                          CreateEnvironment

                                                          \n
                                                        • \n
                                                        • \n

                                                          CreateService

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Idempotent delete APIs\n

                                                        \n

                                                        Given a request action that has succeeded:

                                                        \n

                                                        When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the response.

                                                        \n

                                                        If you retry and the resource doesn't exist, the response is empty.

                                                        \n

                                                        In both cases, the retry succeeds.

                                                        \n

                                                        Idempotent delete APIs:

                                                        \n
                                                          \n
                                                        • \n

                                                          DeleteEnvironmentTemplate

                                                          \n
                                                        • \n
                                                        • \n

                                                          DeleteEnvironmentTemplateVersion

                                                          \n
                                                        • \n
                                                        • \n

                                                          DeleteServiceTemplate

                                                          \n
                                                        • \n
                                                        • \n

                                                          DeleteServiceTemplateVersion

                                                          \n
                                                        • \n
                                                        • \n

                                                          DeleteEnvironmentAccountConnection

                                                          \n
                                                        • \n
                                                        \n

                                                        \n Asynchronous idempotent delete APIs\n

                                                        \n

                                                        Given a request action that has succeeded:

                                                        \n

                                                        If you retry the request with an API from this group, if the original request delete operation status is\n DELETE_IN_PROGRESS, the retry returns the resource detail data in the response without performing any further actions.

                                                        \n

                                                        If the original request delete operation is complete, a retry returns an empty response.

                                                        \n

                                                        Asynchronous idempotent delete APIs:

                                                        \n
                                                          \n
                                                        • \n

                                                          DeleteEnvironment

                                                          \n
                                                        • \n
                                                        • \n

                                                          DeleteService

                                                          \n
                                                        • \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/proton/src/model.rs b/sdk/proton/src/model.rs index 0458d519883d..c44c754cb98e 100644 --- a/sdk/proton/src/model.rs +++ b/sdk/proton/src/model.rs @@ -691,7 +691,7 @@ pub enum TemplateVersionSourceInput { } impl TemplateVersionSourceInput { #[allow(irrefutable_let_patterns)] - pub fn as_s3(&self) -> Result<&crate::model::S3ObjectSource, &Self> { + pub fn as_s3(&self) -> std::result::Result<&crate::model::S3ObjectSource, &Self> { if let TemplateVersionSourceInput::S3(val) = &self { Ok(&val) } else { diff --git a/sdk/qldb/Cargo.toml b/sdk/qldb/Cargo.toml index 0b89864c935d..1c8ffc553324 100644 --- a/sdk/qldb/Cargo.toml +++ b/sdk/qldb/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-qldb" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The control plane for Amazon QLDB

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/qldbsession/Cargo.toml b/sdk/qldbsession/Cargo.toml index 3f6b4bd2b349..b073eee21453 100644 --- a/sdk/qldbsession/Cargo.toml +++ b/sdk/qldbsession/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-qldbsession" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        The transactional data APIs for Amazon QLDB

                                                        \n \n

                                                        Instead of interacting directly with this API, we recommend using the QLDB driver\n or the QLDB shell to execute data transactions on a ledger.

                                                        \n
                                                          \n
                                                        • \n

                                                          If you are working with an AWS SDK, use the QLDB driver. The driver provides\n a high-level abstraction layer above this QLDB Session data\n plane and manages SendCommand API calls for you. For information and\n a list of supported programming languages, see Getting started\n with the driver in the Amazon QLDB Developer\n Guide.

                                                          \n
                                                        • \n
                                                        • \n

                                                          If you are working with the AWS Command Line Interface (AWS CLI), use the\n QLDB shell. The shell is a command line interface that uses the QLDB driver to\n interact with a ledger. For information, see Accessing Amazon QLDB using the\n QLDB shell.

                                                          \n
                                                        • \n
                                                        \n
                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/quicksight/Cargo.toml b/sdk/quicksight/Cargo.toml index 5479adb32729..70c11adaeb3d 100644 --- a/sdk/quicksight/Cargo.toml +++ b/sdk/quicksight/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-quicksight" -version = "0.0.15-alpha" -description = "Amazon QuickSight API Reference\n

                                                        Amazon QuickSight is a fully managed, serverless business intelligence service for the\n Cloud that makes it easy to extend data and insights to every user in your\n organization. This API reference contains documentation for a programming interface that\n you can use to manage Amazon QuickSight.

                                                        " +version = "0.0.16-alpha" +description = "Amazon QuickSight API Reference\n

                                                        Amazon QuickSight is a fully managed, serverless business intelligence service for the\n Amazon Web Services Cloud that makes it easy to extend data and insights to every user in your\n organization. This API reference contains documentation for a programming interface that\n you can use to manage Amazon QuickSight.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/quicksight/src/client.rs b/sdk/quicksight/src/client.rs index 5ff92faeaa85..a2c79f91128f 100644 --- a/sdk/quicksight/src/client.rs +++ b/sdk/quicksight/src/client.rs @@ -514,7 +514,7 @@ pub mod fluent_builders { self.inner = self.inner.set_namespace(input); self } - ///

                                                        The QuickSight customizations you're adding in the current Region;. You can add + ///

                                                        The QuickSight customizations you're adding in the current Amazon Web Services Region;. You can add /// these to an Amazon Web Services account; and a QuickSight namespace.

                                                        ///

                                                        For example, you can add a default theme by setting AccountCustomization /// to the midnight theme: "AccountCustomization": { "DefaultTheme": @@ -772,7 +772,7 @@ pub mod fluent_builders { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplateARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -906,7 +906,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        An ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); self @@ -1117,7 +1117,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        An ID for the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -1871,7 +1871,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        An ID for the template that you want to create. This template is unique per Region; in + ///

                                                        An ID for the template that you want to create. This template is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub fn template_id(mut self, input: impl Into) -> Self { self.inner = self.inner.template_id(input); @@ -1908,7 +1908,7 @@ pub mod fluent_builders { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        @@ -2067,7 +2067,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Region; in + ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub fn theme_id(mut self, input: impl Into) -> Self { self.inner = self.inner.theme_id(input); @@ -2260,7 +2260,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                        The ID for the Amazon Web Services account; that you want to delete QuickSight customizations from in - /// this Region;.

                                                        + /// this Amazon Web Services Region;.

                                                        pub fn aws_account_id(mut self, input: impl Into) -> Self { self.inner = self.inner.aws_account_id(input); self @@ -2467,7 +2467,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); self @@ -2520,7 +2520,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -3688,7 +3688,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); self @@ -3741,7 +3741,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); self @@ -3794,7 +3794,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -3850,7 +3850,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -7398,7 +7398,7 @@ pub mod fluent_builders { self.inner = self.inner.set_namespace(input); self } - ///

                                                        The QuickSight customizations you're updating in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're updating in the current Amazon Web Services Region;.

                                                        pub fn account_customization(mut self, input: crate::model::AccountCustomization) -> Self { self.inner = self.inner.account_customization(input); self @@ -7741,7 +7741,7 @@ pub mod fluent_builders { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplate ARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -8023,7 +8023,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID for the dataset that you want to update. This ID is unique per Region; for each + ///

                                                        The ID for the dataset that you want to update. This ID is unique per Amazon Web Services Region; for each /// Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); @@ -8212,7 +8212,7 @@ pub mod fluent_builders { self } ///

                                                        The ID for the dataset whose permissions you want to update. This ID is unique per - /// Region; for each Amazon Web Services account;.

                                                        + /// Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_set_id(input); self @@ -8295,7 +8295,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -8414,7 +8414,7 @@ pub mod fluent_builders { self.inner = self.inner.set_aws_account_id(input); self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.inner = self.inner.data_source_id(input); self @@ -8853,7 +8853,7 @@ pub mod fluent_builders { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        diff --git a/sdk/quicksight/src/input.rs b/sdk/quicksight/src/input.rs index 0a5cb2c05083..7692a0731357 100644 --- a/sdk/quicksight/src/input.rs +++ b/sdk/quicksight/src/input.rs @@ -235,7 +235,7 @@ pub mod create_account_customization_input { self.namespace = input; self } - ///

                                                        The QuickSight customizations you're adding in the current Region;. You can add + ///

                                                        The QuickSight customizations you're adding in the current Amazon Web Services Region;. You can add /// these to an Amazon Web Services account; and a QuickSight namespace.

                                                        ///

                                                        For example, you can add a default theme by setting AccountCustomization /// to the midnight theme: "AccountCustomization": { "DefaultTheme": @@ -759,7 +759,7 @@ pub mod create_dashboard_input { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplateARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -1047,7 +1047,7 @@ pub mod create_data_set_input { self.aws_account_id = input; self } - ///

                                                        An ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -1393,7 +1393,7 @@ pub mod create_data_source_input { self.aws_account_id = input; self } - ///

                                                        An ID for the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -3257,7 +3257,7 @@ pub mod create_template_input { self.aws_account_id = input; self } - ///

                                                        An ID for the template that you want to create. This template is unique per Region; in + ///

                                                        An ID for the template that you want to create. This template is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub fn template_id(mut self, input: impl Into) -> Self { self.template_id = Some(input.into()); @@ -3295,7 +3295,7 @@ pub mod create_template_input { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        @@ -3742,7 +3742,7 @@ pub mod create_theme_input { self.aws_account_id = input; self } - ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Region; in + ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub fn theme_id(mut self, input: impl Into) -> Self { self.theme_id = Some(input.into()); @@ -4215,7 +4215,7 @@ pub mod delete_account_customization_input { } impl Builder { ///

                                                        The ID for the Amazon Web Services account; that you want to delete QuickSight customizations from in - /// this Region;.

                                                        + /// this Amazon Web Services Region;.

                                                        pub fn aws_account_id(mut self, input: impl Into) -> Self { self.aws_account_id = Some(input.into()); self @@ -4824,7 +4824,7 @@ pub mod delete_data_set_input { self.aws_account_id = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -5000,7 +5000,7 @@ pub mod delete_data_source_input { self.aws_account_id = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -8728,7 +8728,7 @@ pub mod describe_data_set_input { self.aws_account_id = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -8906,7 +8906,7 @@ pub mod describe_data_set_permissions_input { self.aws_account_id = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -9085,7 +9085,7 @@ pub mod describe_data_source_input { self.aws_account_id = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -9266,7 +9266,7 @@ pub mod describe_data_source_permissions_input { self.aws_account_id = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -19215,7 +19215,7 @@ pub mod update_account_customization_input { self.namespace = input; self } - ///

                                                        The QuickSight customizations you're updating in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're updating in the current Amazon Web Services Region;.

                                                        pub fn account_customization(mut self, input: crate::model::AccountCustomization) -> Self { self.account_customization = Some(input); self @@ -20071,7 +20071,7 @@ pub mod update_dashboard_input { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplate ARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -20787,7 +20787,7 @@ pub mod update_data_set_input { self.aws_account_id = input; self } - ///

                                                        The ID for the dataset that you want to update. This ID is unique per Region; for each + ///

                                                        The ID for the dataset that you want to update. This ID is unique per Amazon Web Services Region; for each /// Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); @@ -21117,7 +21117,7 @@ pub mod update_data_set_permissions_input { self } ///

                                                        The ID for the dataset whose permissions you want to update. This ID is unique per - /// Region; for each Amazon Web Services account;.

                                                        + /// Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -21339,7 +21339,7 @@ pub mod update_data_source_input { self.aws_account_id = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -21595,7 +21595,7 @@ pub mod update_data_source_permissions_input { self.aws_account_id = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -22732,7 +22732,7 @@ pub mod update_template_input { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        @@ -24661,7 +24661,7 @@ pub struct UpdateTemplateInput { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        @@ -24806,7 +24806,7 @@ impl std::fmt::Debug for UpdateFolderInput { pub struct UpdateDataSourcePermissionsInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        A list of resource permissions that you want to grant on the data source.

                                                        pub grant_permissions: std::option::Option>, @@ -24829,7 +24829,7 @@ impl std::fmt::Debug for UpdateDataSourcePermissionsInput { pub struct UpdateDataSourceInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        A display name for the data source.

                                                        pub name: std::option::Option, @@ -24865,7 +24865,7 @@ pub struct UpdateDataSetPermissionsInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, ///

                                                        The ID for the dataset whose permissions you want to update. This ID is unique per - /// Region; for each Amazon Web Services account;.

                                                        + /// Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The resource permissions that you want to grant to the dataset.

                                                        pub grant_permissions: std::option::Option>, @@ -24888,7 +24888,7 @@ impl std::fmt::Debug for UpdateDataSetPermissionsInput { pub struct UpdateDataSetInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID for the dataset that you want to update. This ID is unique per Region; for each + ///

                                                        The ID for the dataset that you want to update. This ID is unique per Amazon Web Services Region; for each /// Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The display name for the dataset.

                                                        @@ -25009,7 +25009,7 @@ pub struct UpdateDashboardInput { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplate ARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -25161,7 +25161,7 @@ pub struct UpdateAccountCustomizationInput { pub aws_account_id: std::option::Option, ///

                                                        The namespace that you want to update QuickSight customizations for.

                                                        pub namespace: std::option::Option, - ///

                                                        The QuickSight customizations you're updating in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're updating in the current Amazon Web Services Region;.

                                                        pub account_customization: std::option::Option, } impl std::fmt::Debug for UpdateAccountCustomizationInput { @@ -26448,7 +26448,7 @@ impl std::fmt::Debug for DescribeFolderInput { pub struct DescribeDataSourcePermissionsInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, } impl std::fmt::Debug for DescribeDataSourcePermissionsInput { @@ -26465,7 +26465,7 @@ impl std::fmt::Debug for DescribeDataSourcePermissionsInput { pub struct DescribeDataSourceInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, } impl std::fmt::Debug for DescribeDataSourceInput { @@ -26482,7 +26482,7 @@ impl std::fmt::Debug for DescribeDataSourceInput { pub struct DescribeDataSetPermissionsInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, } impl std::fmt::Debug for DescribeDataSetPermissionsInput { @@ -26499,7 +26499,7 @@ impl std::fmt::Debug for DescribeDataSetPermissionsInput { pub struct DescribeDataSetInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, } impl std::fmt::Debug for DescribeDataSetInput { @@ -26891,7 +26891,7 @@ impl std::fmt::Debug for DeleteFolderInput { pub struct DeleteDataSourceInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, } impl std::fmt::Debug for DeleteDataSourceInput { @@ -26908,7 +26908,7 @@ impl std::fmt::Debug for DeleteDataSourceInput { pub struct DeleteDataSetInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, } impl std::fmt::Debug for DeleteDataSetInput { @@ -26976,7 +26976,7 @@ impl std::fmt::Debug for DeleteAnalysisInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteAccountCustomizationInput { ///

                                                        The ID for the Amazon Web Services account; that you want to delete QuickSight customizations from in - /// this Region;.

                                                        + /// this Amazon Web Services Region;.

                                                        pub aws_account_id: std::option::Option, ///

                                                        The QuickSight namespace that you're deleting the customizations from.

                                                        pub namespace: std::option::Option, @@ -27020,7 +27020,7 @@ impl std::fmt::Debug for CreateThemeAliasInput { pub struct CreateThemeInput { ///

                                                        The ID of the Amazon Web Services account; where you want to store the new theme.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Region; in + ///

                                                        An ID for the theme that you want to create. The theme ID is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub theme_id: std::option::Option, ///

                                                        A display name for the theme.

                                                        @@ -27090,7 +27090,7 @@ pub struct CreateTemplateInput { ///

                                                        The ID for the Amazon Web Services account; that the group is in. Currently, you use the ID for the /// Amazon Web Services account; that contains your Amazon QuickSight account.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        An ID for the template that you want to create. This template is unique per Region; in + ///

                                                        An ID for the template that you want to create. This template is unique per Amazon Web Services Region; in /// each Amazon Web Services account;.

                                                        pub template_id: std::option::Option, ///

                                                        A display name for the template.

                                                        @@ -27103,7 +27103,7 @@ pub struct CreateTemplateInput { /// analysis. Both of these require an Amazon Resource Name (ARN). For /// SourceTemplate, specify the ARN of the source template. For /// SourceAnalysis, specify the ARN of the source analysis. The SourceTemplate - /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Region;.

                                                        + /// ARN can contain any Amazon Web Services account; and any QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate or /// SourceAnalysis to list the replacement datasets for the placeholders listed /// in the original. The schema in each dataset must match its placeholder.

                                                        @@ -27335,7 +27335,7 @@ impl std::fmt::Debug for CreateFolderInput { pub struct CreateDataSourceInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        An ID for the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        A display name for the data source.

                                                        pub name: std::option::Option, @@ -27384,7 +27384,7 @@ impl std::fmt::Debug for CreateDataSourceInput { pub struct CreateDataSetInput { ///

                                                        The Amazon Web Services account; ID.

                                                        pub aws_account_id: std::option::Option, - ///

                                                        An ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The display name for the dataset.

                                                        pub name: std::option::Option, @@ -27473,7 +27473,7 @@ pub struct CreateDashboardInput { /// to a template by using the CreateTemplate API operation. For /// SourceTemplate, specify the Amazon Resource Name (ARN) of the source /// template. The SourceTemplateARN can contain any Amazon Web Services account; and any - /// QuickSight-supported Region;.

                                                        + /// QuickSight-supported Amazon Web Services Region;.

                                                        ///

                                                        Use the DataSetReferences entity within SourceTemplate to /// list the replacement datasets for the placeholders listed in the original. The schema in /// each dataset must match its placeholder.

                                                        @@ -27583,7 +27583,7 @@ pub struct CreateAccountCustomizationInput { pub aws_account_id: std::option::Option, ///

                                                        The QuickSight namespace that you want to add customizations to.

                                                        pub namespace: std::option::Option, - ///

                                                        The QuickSight customizations you're adding in the current Region;. You can add + ///

                                                        The QuickSight customizations you're adding in the current Amazon Web Services Region;. You can add /// these to an Amazon Web Services account; and a QuickSight namespace.

                                                        ///

                                                        For example, you can add a default theme by setting AccountCustomization /// to the midnight theme: "AccountCustomization": { "DefaultTheme": diff --git a/sdk/quicksight/src/lib.rs b/sdk/quicksight/src/lib.rs index 1d4f65d7cdc6..c1467b0c3908 100644 --- a/sdk/quicksight/src/lib.rs +++ b/sdk/quicksight/src/lib.rs @@ -6,7 +6,7 @@ #![allow(clippy::blacklisted_name)] //! Amazon QuickSight API Reference //!

                                                        Amazon QuickSight is a fully managed, serverless business intelligence service for the -//! Cloud that makes it easy to extend data and insights to every user in your +//! Amazon Web Services Cloud that makes it easy to extend data and insights to every user in your //! organization. This API reference contains documentation for a programming interface that //! you can use to manage Amazon QuickSight.

                                                        diff --git a/sdk/quicksight/src/model.rs b/sdk/quicksight/src/model.rs index c438940958cb..324dbede1dea 100644 --- a/sdk/quicksight/src/model.rs +++ b/sdk/quicksight/src/model.rs @@ -2304,7 +2304,7 @@ pub enum DataSourceParameters { impl DataSourceParameters { pub fn as_amazon_elasticsearch_parameters( &self, - ) -> Result<&crate::model::AmazonElasticsearchParameters, &Self> { + ) -> std::result::Result<&crate::model::AmazonElasticsearchParameters, &Self> { if let DataSourceParameters::AmazonElasticsearchParameters(val) = &self { Ok(&val) } else { @@ -2314,7 +2314,9 @@ impl DataSourceParameters { pub fn is_amazon_elasticsearch_parameters(&self) -> bool { self.as_amazon_elasticsearch_parameters().is_ok() } - pub fn as_athena_parameters(&self) -> Result<&crate::model::AthenaParameters, &Self> { + pub fn as_athena_parameters( + &self, + ) -> std::result::Result<&crate::model::AthenaParameters, &Self> { if let DataSourceParameters::AthenaParameters(val) = &self { Ok(&val) } else { @@ -2324,7 +2326,9 @@ impl DataSourceParameters { pub fn is_athena_parameters(&self) -> bool { self.as_athena_parameters().is_ok() } - pub fn as_aurora_parameters(&self) -> Result<&crate::model::AuroraParameters, &Self> { + pub fn as_aurora_parameters( + &self, + ) -> std::result::Result<&crate::model::AuroraParameters, &Self> { if let DataSourceParameters::AuroraParameters(val) = &self { Ok(&val) } else { @@ -2336,7 +2340,7 @@ impl DataSourceParameters { } pub fn as_aurora_postgre_sql_parameters( &self, - ) -> Result<&crate::model::AuroraPostgreSqlParameters, &Self> { + ) -> std::result::Result<&crate::model::AuroraPostgreSqlParameters, &Self> { if let DataSourceParameters::AuroraPostgreSqlParameters(val) = &self { Ok(&val) } else { @@ -2348,7 +2352,7 @@ impl DataSourceParameters { } pub fn as_aws_iot_analytics_parameters( &self, - ) -> Result<&crate::model::AwsIotAnalyticsParameters, &Self> { + ) -> std::result::Result<&crate::model::AwsIotAnalyticsParameters, &Self> { if let DataSourceParameters::AwsIotAnalyticsParameters(val) = &self { Ok(&val) } else { @@ -2358,7 +2362,7 @@ impl DataSourceParameters { pub fn is_aws_iot_analytics_parameters(&self) -> bool { self.as_aws_iot_analytics_parameters().is_ok() } - pub fn as_jira_parameters(&self) -> Result<&crate::model::JiraParameters, &Self> { + pub fn as_jira_parameters(&self) -> std::result::Result<&crate::model::JiraParameters, &Self> { if let DataSourceParameters::JiraParameters(val) = &self { Ok(&val) } else { @@ -2368,7 +2372,9 @@ impl DataSourceParameters { pub fn is_jira_parameters(&self) -> bool { self.as_jira_parameters().is_ok() } - pub fn as_maria_db_parameters(&self) -> Result<&crate::model::MariaDbParameters, &Self> { + pub fn as_maria_db_parameters( + &self, + ) -> std::result::Result<&crate::model::MariaDbParameters, &Self> { if let DataSourceParameters::MariaDbParameters(val) = &self { Ok(&val) } else { @@ -2378,7 +2384,9 @@ impl DataSourceParameters { pub fn is_maria_db_parameters(&self) -> bool { self.as_maria_db_parameters().is_ok() } - pub fn as_my_sql_parameters(&self) -> Result<&crate::model::MySqlParameters, &Self> { + pub fn as_my_sql_parameters( + &self, + ) -> std::result::Result<&crate::model::MySqlParameters, &Self> { if let DataSourceParameters::MySqlParameters(val) = &self { Ok(&val) } else { @@ -2388,7 +2396,9 @@ impl DataSourceParameters { pub fn is_my_sql_parameters(&self) -> bool { self.as_my_sql_parameters().is_ok() } - pub fn as_oracle_parameters(&self) -> Result<&crate::model::OracleParameters, &Self> { + pub fn as_oracle_parameters( + &self, + ) -> std::result::Result<&crate::model::OracleParameters, &Self> { if let DataSourceParameters::OracleParameters(val) = &self { Ok(&val) } else { @@ -2398,7 +2408,9 @@ impl DataSourceParameters { pub fn is_oracle_parameters(&self) -> bool { self.as_oracle_parameters().is_ok() } - pub fn as_postgre_sql_parameters(&self) -> Result<&crate::model::PostgreSqlParameters, &Self> { + pub fn as_postgre_sql_parameters( + &self, + ) -> std::result::Result<&crate::model::PostgreSqlParameters, &Self> { if let DataSourceParameters::PostgreSqlParameters(val) = &self { Ok(&val) } else { @@ -2408,7 +2420,9 @@ impl DataSourceParameters { pub fn is_postgre_sql_parameters(&self) -> bool { self.as_postgre_sql_parameters().is_ok() } - pub fn as_presto_parameters(&self) -> Result<&crate::model::PrestoParameters, &Self> { + pub fn as_presto_parameters( + &self, + ) -> std::result::Result<&crate::model::PrestoParameters, &Self> { if let DataSourceParameters::PrestoParameters(val) = &self { Ok(&val) } else { @@ -2418,7 +2432,7 @@ impl DataSourceParameters { pub fn is_presto_parameters(&self) -> bool { self.as_presto_parameters().is_ok() } - pub fn as_rds_parameters(&self) -> Result<&crate::model::RdsParameters, &Self> { + pub fn as_rds_parameters(&self) -> std::result::Result<&crate::model::RdsParameters, &Self> { if let DataSourceParameters::RdsParameters(val) = &self { Ok(&val) } else { @@ -2428,7 +2442,9 @@ impl DataSourceParameters { pub fn is_rds_parameters(&self) -> bool { self.as_rds_parameters().is_ok() } - pub fn as_redshift_parameters(&self) -> Result<&crate::model::RedshiftParameters, &Self> { + pub fn as_redshift_parameters( + &self, + ) -> std::result::Result<&crate::model::RedshiftParameters, &Self> { if let DataSourceParameters::RedshiftParameters(val) = &self { Ok(&val) } else { @@ -2438,7 +2454,7 @@ impl DataSourceParameters { pub fn is_redshift_parameters(&self) -> bool { self.as_redshift_parameters().is_ok() } - pub fn as_s3_parameters(&self) -> Result<&crate::model::S3Parameters, &Self> { + pub fn as_s3_parameters(&self) -> std::result::Result<&crate::model::S3Parameters, &Self> { if let DataSourceParameters::S3Parameters(val) = &self { Ok(&val) } else { @@ -2448,7 +2464,9 @@ impl DataSourceParameters { pub fn is_s3_parameters(&self) -> bool { self.as_s3_parameters().is_ok() } - pub fn as_service_now_parameters(&self) -> Result<&crate::model::ServiceNowParameters, &Self> { + pub fn as_service_now_parameters( + &self, + ) -> std::result::Result<&crate::model::ServiceNowParameters, &Self> { if let DataSourceParameters::ServiceNowParameters(val) = &self { Ok(&val) } else { @@ -2458,7 +2476,9 @@ impl DataSourceParameters { pub fn is_service_now_parameters(&self) -> bool { self.as_service_now_parameters().is_ok() } - pub fn as_snowflake_parameters(&self) -> Result<&crate::model::SnowflakeParameters, &Self> { + pub fn as_snowflake_parameters( + &self, + ) -> std::result::Result<&crate::model::SnowflakeParameters, &Self> { if let DataSourceParameters::SnowflakeParameters(val) = &self { Ok(&val) } else { @@ -2468,7 +2488,9 @@ impl DataSourceParameters { pub fn is_snowflake_parameters(&self) -> bool { self.as_snowflake_parameters().is_ok() } - pub fn as_spark_parameters(&self) -> Result<&crate::model::SparkParameters, &Self> { + pub fn as_spark_parameters( + &self, + ) -> std::result::Result<&crate::model::SparkParameters, &Self> { if let DataSourceParameters::SparkParameters(val) = &self { Ok(&val) } else { @@ -2478,7 +2500,9 @@ impl DataSourceParameters { pub fn is_spark_parameters(&self) -> bool { self.as_spark_parameters().is_ok() } - pub fn as_sql_server_parameters(&self) -> Result<&crate::model::SqlServerParameters, &Self> { + pub fn as_sql_server_parameters( + &self, + ) -> std::result::Result<&crate::model::SqlServerParameters, &Self> { if let DataSourceParameters::SqlServerParameters(val) = &self { Ok(&val) } else { @@ -2488,7 +2512,9 @@ impl DataSourceParameters { pub fn is_sql_server_parameters(&self) -> bool { self.as_sql_server_parameters().is_ok() } - pub fn as_teradata_parameters(&self) -> Result<&crate::model::TeradataParameters, &Self> { + pub fn as_teradata_parameters( + &self, + ) -> std::result::Result<&crate::model::TeradataParameters, &Self> { if let DataSourceParameters::TeradataParameters(val) = &self { Ok(&val) } else { @@ -2498,7 +2524,9 @@ impl DataSourceParameters { pub fn is_teradata_parameters(&self) -> bool { self.as_teradata_parameters().is_ok() } - pub fn as_twitter_parameters(&self) -> Result<&crate::model::TwitterParameters, &Self> { + pub fn as_twitter_parameters( + &self, + ) -> std::result::Result<&crate::model::TwitterParameters, &Self> { if let DataSourceParameters::TwitterParameters(val) = &self { Ok(&val) } else { @@ -5112,7 +5140,7 @@ pub enum TransformOperation { impl TransformOperation { pub fn as_cast_column_type_operation( &self, - ) -> Result<&crate::model::CastColumnTypeOperation, &Self> { + ) -> std::result::Result<&crate::model::CastColumnTypeOperation, &Self> { if let TransformOperation::CastColumnTypeOperation(val) = &self { Ok(&val) } else { @@ -5124,7 +5152,7 @@ impl TransformOperation { } pub fn as_create_columns_operation( &self, - ) -> Result<&crate::model::CreateColumnsOperation, &Self> { + ) -> std::result::Result<&crate::model::CreateColumnsOperation, &Self> { if let TransformOperation::CreateColumnsOperation(val) = &self { Ok(&val) } else { @@ -5134,7 +5162,9 @@ impl TransformOperation { pub fn is_create_columns_operation(&self) -> bool { self.as_create_columns_operation().is_ok() } - pub fn as_filter_operation(&self) -> Result<&crate::model::FilterOperation, &Self> { + pub fn as_filter_operation( + &self, + ) -> std::result::Result<&crate::model::FilterOperation, &Self> { if let TransformOperation::FilterOperation(val) = &self { Ok(&val) } else { @@ -5144,7 +5174,9 @@ impl TransformOperation { pub fn is_filter_operation(&self) -> bool { self.as_filter_operation().is_ok() } - pub fn as_project_operation(&self) -> Result<&crate::model::ProjectOperation, &Self> { + pub fn as_project_operation( + &self, + ) -> std::result::Result<&crate::model::ProjectOperation, &Self> { if let TransformOperation::ProjectOperation(val) = &self { Ok(&val) } else { @@ -5156,7 +5188,7 @@ impl TransformOperation { } pub fn as_rename_column_operation( &self, - ) -> Result<&crate::model::RenameColumnOperation, &Self> { + ) -> std::result::Result<&crate::model::RenameColumnOperation, &Self> { if let TransformOperation::RenameColumnOperation(val) = &self { Ok(&val) } else { @@ -5166,7 +5198,9 @@ impl TransformOperation { pub fn is_rename_column_operation(&self) -> bool { self.as_rename_column_operation().is_ok() } - pub fn as_tag_column_operation(&self) -> Result<&crate::model::TagColumnOperation, &Self> { + pub fn as_tag_column_operation( + &self, + ) -> std::result::Result<&crate::model::TagColumnOperation, &Self> { if let TransformOperation::TagColumnOperation(val) = &self { Ok(&val) } else { @@ -5879,7 +5913,7 @@ pub enum PhysicalTable { S3Source(crate::model::S3Source), } impl PhysicalTable { - pub fn as_custom_sql(&self) -> Result<&crate::model::CustomSql, &Self> { + pub fn as_custom_sql(&self) -> std::result::Result<&crate::model::CustomSql, &Self> { if let PhysicalTable::CustomSql(val) = &self { Ok(&val) } else { @@ -5889,7 +5923,9 @@ impl PhysicalTable { pub fn is_custom_sql(&self) -> bool { self.as_custom_sql().is_ok() } - pub fn as_relational_table(&self) -> Result<&crate::model::RelationalTable, &Self> { + pub fn as_relational_table( + &self, + ) -> std::result::Result<&crate::model::RelationalTable, &Self> { if let PhysicalTable::RelationalTable(val) = &self { Ok(&val) } else { @@ -5899,7 +5935,7 @@ impl PhysicalTable { pub fn is_relational_table(&self) -> bool { self.as_relational_table().is_ok() } - pub fn as_s3_source(&self) -> Result<&crate::model::S3Source, &Self> { + pub fn as_s3_source(&self) -> std::result::Result<&crate::model::S3Source, &Self> { if let PhysicalTable::S3Source(val) = &self { Ok(&val) } else { @@ -7504,7 +7540,7 @@ impl AnalysisSourceTemplate { } } -///

                                                        The Amazon QuickSight customizations associated with your Amazon Web Services account; or a QuickSight namespace in a specific Region;.

                                                        +///

                                                        The Amazon QuickSight customizations associated with your Amazon Web Services account; or a QuickSight namespace in a specific Amazon Web Services Region;.

                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AccountCustomization { @@ -8619,7 +8655,7 @@ pub struct ThemeSummary { pub arn: std::option::Option, ///

                                                        the display name for the theme.

                                                        pub name: std::option::Option, - ///

                                                        The ID of the theme. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the theme. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub theme_id: std::option::Option, ///

                                                        The latest version number for the theme.

                                                        pub latest_version_number: std::option::Option, @@ -8672,7 +8708,7 @@ pub mod theme_summary { self.name = input; self } - ///

                                                        The ID of the theme. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the theme. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn theme_id(mut self, input: impl Into) -> Self { self.theme_id = Some(input.into()); self @@ -8902,7 +8938,7 @@ impl TemplateVersionSummary { pub struct TemplateSummary { ///

                                                        A summary of a template.

                                                        pub arn: std::option::Option, - ///

                                                        The ID of the template. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the template. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub template_id: std::option::Option, ///

                                                        A display name for the template.

                                                        pub name: std::option::Option, @@ -8948,7 +8984,7 @@ pub mod template_summary { self.arn = input; self } - ///

                                                        The ID of the template. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the template. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn template_id(mut self, input: impl Into) -> Self { self.template_id = Some(input.into()); self @@ -9027,7 +9063,7 @@ pub struct NamespaceInfoV2 { pub name: std::option::Option, ///

                                                        The namespace ARN.

                                                        pub arn: std::option::Option, - ///

                                                        The namespace Region;.

                                                        + ///

                                                        The namespace Amazon Web Services Region;.

                                                        pub capacity_region: std::option::Option, ///

                                                        The creation status of a namespace that is not yet completely created.

                                                        pub creation_status: std::option::Option, @@ -9080,7 +9116,7 @@ pub mod namespace_info_v2 { self.arn = input; self } - ///

                                                        The namespace Region;.

                                                        + ///

                                                        The namespace Amazon Web Services Region;.

                                                        pub fn capacity_region(mut self, input: impl Into) -> Self { self.capacity_region = Some(input.into()); self @@ -10426,7 +10462,7 @@ impl MemberIdArnPair { pub struct DataSource { ///

                                                        The Amazon Resource Name (ARN) of the data source.

                                                        pub arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each /// Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        A display name for the data source.

                                                        @@ -10516,7 +10552,7 @@ pub mod data_source { self.arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each /// Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); @@ -12234,7 +12270,7 @@ pub struct Template { pub name: std::option::Option, ///

                                                        A structure describing the versions of the template.

                                                        pub version: std::option::Option, - ///

                                                        The ID for the template. This is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the template. This is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub template_id: std::option::Option, ///

                                                        Time when this was last updated.

                                                        pub last_updated_time: std::option::Option, @@ -12297,7 +12333,7 @@ pub mod template { self.version = input; self } - ///

                                                        The ID for the template. This is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the template. This is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn template_id(mut self, input: impl Into) -> Self { self.template_id = Some(input.into()); self diff --git a/sdk/quicksight/src/operation.rs b/sdk/quicksight/src/operation.rs index 9241623e62ab..3785d7f1f7f7 100644 --- a/sdk/quicksight/src/operation.rs +++ b/sdk/quicksight/src/operation.rs @@ -27,7 +27,7 @@ impl smithy_http::response::ParseStrictResponse for CancelIngestion { } } -///

                                                        Creates Amazon QuickSight customizations the current Region;. Currently, you can +///

                                                        Creates Amazon QuickSight customizations the current Amazon Web Services Region;. Currently, you can /// add a custom default theme by using the CreateAccountCustomization or /// UpdateAccountCustomization API operation. To further customize /// QuickSight by removing QuickSight sample assets and videos for all new users, see Customizing QuickSight in the Amazon QuickSight User @@ -517,7 +517,7 @@ impl smithy_http::response::ParseStrictResponse for CreateThemeAlias { } } -///

                                                        Deletes all Amazon QuickSight customizations in this Region; for the specified +///

                                                        Deletes all Amazon QuickSight customizations in this Amazon Web Services Region; for the specified /// Amazon Web Services account; and QuickSight namespace.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteAccountCustomization { @@ -1000,7 +1000,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteUserByPrincipalId { } ///

                                                        Describes the customizations associated with the provided Amazon Web Services account; and Amazon -/// QuickSight namespace in an Region;. The QuickSight console evaluates which +/// QuickSight namespace in an Amazon Web Services Region;. The QuickSight console evaluates which /// customizations to apply by running this API operation with the Resolved flag /// included.

                                                        ///

                                                        To determine what customizations display when you run this command, it can help to @@ -1009,19 +1009,19 @@ impl smithy_http::response::ParseStrictResponse for DeleteUserByPrincipalId { ///

                                                      • ///

                                                        /// Amazon Web Services account; - The Amazon Web Services account; exists at the top of the hierarchy. -/// It has the potential to use all of the Regions; and AWS Services. When you -/// subscribe to QuickSight, you choose one Region; to use as your home Region. +/// It has the potential to use all of the Amazon Web Services Regions; and AWS Services. When you +/// subscribe to QuickSight, you choose one Amazon Web Services Region; to use as your home Region. /// That's where your free SPICE capacity is located. You can use QuickSight in any -/// supported Region;.

                                                        +/// supported Amazon Web Services Region;.

                                                        ///
                                                      • ///
                                                      • ///

                                                        -/// Region; - In each Region; where you sign in to QuickSight +/// Amazon Web Services Region; - In each Amazon Web Services Region; where you sign in to QuickSight /// at least once, QuickSight acts as a separate instance of the same service. If /// you have a user directory, it resides in us-east-1, which is the US East (N. /// Virginia). Generally speaking, these users have access to QuickSight in any -/// Region;, unless they are constrained to a namespace.

                                                        -///

                                                        To run the command in a different Region;, you change your Region settings. +/// Amazon Web Services Region;, unless they are constrained to a namespace.

                                                        +///

                                                        To run the command in a different Amazon Web Services Region;, you change your Region settings. /// If you're using the AWS CLI, you can use one of the following options:

                                                        ///
                                                          ///
                                                        • @@ -1031,7 +1031,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteUserByPrincipalId { ///

                                                          Use named profiles.

                                                          ///
                                                        • ///
                                                        • -///

                                                          Run aws configure to change your default Region;. Use +///

                                                          Run aws configure to change your default Amazon Web Services Region;. Use /// Enter to key the same settings for your keys. For more information, see /// Configuring the AWS CLI.

                                                          ///
                                                        • @@ -1044,16 +1044,16 @@ impl smithy_http::response::ParseStrictResponse for DeleteUserByPrincipalId { /// assets that are in a specific namespace, users and groups must also be part of /// the same namespace. People who share a namespace are completely isolated from /// users and assets in other namespaces, even if they are in the same Amazon Web Services account; -/// and Region;.

                                                          +/// and Amazon Web Services Region;.

                                                          /// ///
                                                        • ///

                                                          -/// Applied customizations - Within an Region;, a set of +/// Applied customizations - Within an Amazon Web Services Region;, a set of /// QuickSight customizations can apply to an Amazon Web Services account; or to a namespace. /// Settings that you apply to a namespace override settings that you apply to an -/// Amazon Web Services account;. All settings are isolated to a single Region;. To apply them in -/// other Regions;, run the CreateAccountCustomization command in -/// each Region; where you want to apply the same customizations.

                                                          +/// Amazon Web Services account;. All settings are isolated to a single Amazon Web Services Region;. To apply them in +/// other Amazon Web Services Regions;, run the CreateAccountCustomization command in +/// each Amazon Web Services Region; where you want to apply the same customizations.

                                                          ///
                                                        • ///
                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -1835,7 +1835,7 @@ impl smithy_http::response::ParseStrictResponse for GenerateEmbedUrlForRegistere ///

                                                        The resulting user session is valid for 10 hours.

                                                        ///
                                                      • ///
                                                      -///

                                                      For more information, see Embedded Analytics in the Amazon QuickSight User +///

                                                      For more information, see Embedding Analytics Using GetDashboardEmbedUrl in the Amazon QuickSight User /// Guide.

                                                      ///

                                                      For more information about the high-level steps for embedding and for an interactive demo of the ways you can customize embedding, visit the Amazon QuickSight Developer Portal.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -1881,7 +1881,7 @@ impl smithy_http::response::ParseStrictResponse for GetDashboardEmbedUrl { ///
                                                        ///
                                                      • ///

                                                        -/// Embedding the Amazon QuickSight Console +/// Embedding the Amazon QuickSight Console Using GetSessionEmbedUrl ///

                                                        ///
                                                      • ///
                                                      • @@ -1997,7 +1997,7 @@ impl smithy_http::response::ParseStrictResponse for ListDashboardVersions { } } -///

                                                        Lists all of the datasets belonging to the current Amazon Web Services account; in an Region;.

                                                        +///

                                                        Lists all of the datasets belonging to the current Amazon Web Services account; in an Amazon Web Services Region;.

                                                        ///

                                                        The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDataSets { @@ -2024,7 +2024,7 @@ impl smithy_http::response::ParseStrictResponse for ListDataSets { } } -///

                                                        Lists data sources in current Region; that belong to this Amazon Web Services account;.

                                                        +///

                                                        Lists data sources in current Amazon Web Services Region; that belong to this Amazon Web Services account;.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDataSources { _private: (), @@ -2727,7 +2727,7 @@ impl smithy_http::response::ParseStrictResponse for UntagResource { } } -///

                                                        Updates Amazon QuickSight customizations the current Region;. Currently, the only +///

                                                        Updates Amazon QuickSight customizations the current Amazon Web Services Region;. Currently, the only /// customization you can use is a theme.

                                                        ///

                                                        You can use customizations for your Amazon Web Services account; or, if you specify a namespace, for a /// QuickSight namespace instead. Customizations that apply to a namespace override diff --git a/sdk/quicksight/src/output.rs b/sdk/quicksight/src/output.rs index d127767bd344..80d789725c84 100644 --- a/sdk/quicksight/src/output.rs +++ b/sdk/quicksight/src/output.rs @@ -1140,7 +1140,7 @@ impl UpdateFolderOutput { pub struct UpdateDataSourcePermissionsOutput { ///

                                                        The Amazon Resource Name (ARN) of the data source.

                                                        pub data_source_arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -1181,7 +1181,7 @@ pub mod update_data_source_permissions_output { self.data_source_arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -1234,7 +1234,7 @@ impl UpdateDataSourcePermissionsOutput { pub struct UpdateDataSourceOutput { ///

                                                        The Amazon Resource Name (ARN) of the data source.

                                                        pub arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        The update status of the data source's last update.

                                                        pub update_status: std::option::Option, @@ -1276,7 +1276,7 @@ pub mod update_data_source_output { self.arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -1343,7 +1343,7 @@ pub struct UpdateDataSetPermissionsOutput { ///

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        pub data_set_arn: std::option::Option, ///

                                                        The ID for the dataset whose permissions you want to update. This ID is unique per - /// Region; for each Amazon Web Services account;.

                                                        + /// Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -1382,7 +1382,7 @@ pub mod update_data_set_permissions_output { self } ///

                                                        The ID for the dataset whose permissions you want to update. This ID is unique per - /// Region; for each Amazon Web Services account;.

                                                        + /// Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -1432,7 +1432,7 @@ impl UpdateDataSetPermissionsOutput { pub struct UpdateDataSetOutput { ///

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        pub arn: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The ARN for the ingestion, which is triggered as a result of dataset creation if the import /// mode is SPICE.

                                                        @@ -1480,7 +1480,7 @@ pub mod update_data_set_output { self.arn = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -2153,7 +2153,7 @@ pub struct UpdateAccountCustomizationOutput { pub aws_account_id: std::option::Option, ///

                                                        The namespace associated with the customization that you're updating.

                                                        pub namespace: std::option::Option, - ///

                                                        The QuickSight customizations you're updating in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're updating in the current Amazon Web Services Region;.

                                                        pub account_customization: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -2217,7 +2217,7 @@ pub mod update_account_customization_output { self.namespace = input; self } - ///

                                                        The QuickSight customizations you're updating in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're updating in the current Amazon Web Services Region;.

                                                        pub fn account_customization(mut self, input: crate::model::AccountCustomization) -> Self { self.account_customization = Some(input); self @@ -3705,7 +3705,7 @@ impl ListTagsForResourceOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListNamespacesOutput { ///

                                                        The information about the namespaces in this Amazon Web Services account;. The response includes - /// the namespace ARN, name, Region;, notification email address, creation status, and + /// the namespace ARN, name, Amazon Web Services Region;, notification email address, creation status, and /// identity store.

                                                        pub namespaces: std::option::Option>, ///

                                                        A pagination token that can be used in a subsequent request.

                                                        @@ -5845,7 +5845,7 @@ impl DescribeTemplateOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeNamespaceOutput { ///

                                                        The information about the namespace that you're describing. The response includes - /// the namespace ARN, name, Region;, creation status, and identity store. DescribeNamespace also + /// the namespace ARN, name, Amazon Web Services Region;, creation status, and identity store. DescribeNamespace also /// works for namespaces that are in the process of being created. For incomplete namespaces, /// this API operation lists the namespace error types and messages associated with the creation process.

                                                        pub namespace: std::option::Option, @@ -5875,7 +5875,7 @@ pub mod describe_namespace_output { } impl Builder { ///

                                                        The information about the namespace that you're describing. The response includes - /// the namespace ARN, name, Region;, creation status, and identity store. DescribeNamespace also + /// the namespace ARN, name, Amazon Web Services Region;, creation status, and identity store. DescribeNamespace also /// works for namespaces that are in the process of being created. For incomplete namespaces, /// this API operation lists the namespace error types and messages associated with the creation process.

                                                        pub fn namespace(mut self, input: crate::model::NamespaceInfoV2) -> Self { @@ -6447,7 +6447,7 @@ impl DescribeFolderOutput { pub struct DescribeDataSourcePermissionsOutput { ///

                                                        The Amazon Resource Name (ARN) of the data source.

                                                        pub data_source_arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        A list of resource permissions on the data source.

                                                        pub permissions: std::option::Option>, @@ -6493,7 +6493,7 @@ pub mod describe_data_source_permissions_output { self.data_source_arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -6637,7 +6637,7 @@ impl DescribeDataSourceOutput { pub struct DescribeDataSetPermissionsOutput { ///

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        pub data_set_arn: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        A list of resource permissions on the dataset.

                                                        pub permissions: std::option::Option>, @@ -6680,7 +6680,7 @@ pub mod describe_data_set_permissions_output { self.data_set_arn = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -7194,7 +7194,7 @@ pub struct DescribeAccountSettingsOutput { /// QuickSight subscription. In the QuickSight console, the QuickSight subscription is sometimes /// referred to as a QuickSight "account" even though it's technically not an account /// by itself. Instead, it's a subscription to the QuickSight service for your Amazon Web Services account;. The - /// edition that you subscribe to applies to QuickSight in every Region; where you use it.

                                                        + /// edition that you subscribe to applies to QuickSight in every Amazon Web Services Region; where you use it.

                                                        pub account_settings: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -7226,7 +7226,7 @@ pub mod describe_account_settings_output { /// QuickSight subscription. In the QuickSight console, the QuickSight subscription is sometimes /// referred to as a QuickSight "account" even though it's technically not an account /// by itself. Instead, it's a subscription to the QuickSight service for your Amazon Web Services account;. The - /// edition that you subscribe to applies to QuickSight in every Region; where you use it.

                                                        + /// edition that you subscribe to applies to QuickSight in every Amazon Web Services Region; where you use it.

                                                        pub fn account_settings(mut self, input: crate::model::AccountSettings) -> Self { self.account_settings = Some(input); self @@ -7282,7 +7282,7 @@ pub struct DescribeAccountCustomizationOutput { pub aws_account_id: std::option::Option, ///

                                                        The QuickSight namespace that you're describing.

                                                        pub namespace: std::option::Option, - ///

                                                        The QuickSight customizations that exist in the current Region;.

                                                        + ///

                                                        The QuickSight customizations that exist in the current Amazon Web Services Region;.

                                                        pub account_customization: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -7345,7 +7345,7 @@ pub mod describe_account_customization_output { self.namespace = input; self } - ///

                                                        The QuickSight customizations that exist in the current Region;.

                                                        + ///

                                                        The QuickSight customizations that exist in the current Amazon Web Services Region;.

                                                        pub fn account_customization(mut self, input: crate::model::AccountCustomization) -> Self { self.account_customization = Some(input); self @@ -8305,7 +8305,7 @@ impl DeleteFolderOutput { pub struct DeleteDataSourceOutput { ///

                                                        The Amazon Resource Name (ARN) of the data source that you deleted.

                                                        pub arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -8343,7 +8343,7 @@ pub mod delete_data_source_output { self.arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -8396,7 +8396,7 @@ impl DeleteDataSourceOutput { pub struct DeleteDataSetOutput { ///

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        pub arn: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -8434,7 +8434,7 @@ pub mod delete_data_set_output { self.arn = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -9133,7 +9133,7 @@ pub struct CreateNamespaceOutput { pub arn: std::option::Option, ///

                                                        The name of the new namespace that you created.

                                                        pub name: std::option::Option, - ///

                                                        The Region; that you want to use for the free SPICE capacity for the new namespace. + ///

                                                        The Amazon Web Services Region; that you want to use for the free SPICE capacity for the new namespace. /// This is set to the region that you run CreateNamespace in.

                                                        pub capacity_region: std::option::Option, ///

                                                        The status of the creation of the namespace. This is an asynchronous process. A status @@ -9196,7 +9196,7 @@ pub mod create_namespace_output { self.name = input; self } - ///

                                                        The Region; that you want to use for the free SPICE capacity for the new namespace. + ///

                                                        The Amazon Web Services Region; that you want to use for the free SPICE capacity for the new namespace. /// This is set to the region that you run CreateNamespace in.

                                                        pub fn capacity_region(mut self, input: impl Into) -> Self { self.capacity_region = Some(input.into()); @@ -9889,7 +9889,7 @@ impl CreateFolderOutput { pub struct CreateDataSourceOutput { ///

                                                        The Amazon Resource Name (ARN) of the data source.

                                                        pub arn: std::option::Option, - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_source_id: std::option::Option, ///

                                                        The status of creating the data source.

                                                        pub creation_status: std::option::Option, @@ -9931,7 +9931,7 @@ pub mod create_data_source_output { self.arn = input; self } - ///

                                                        The ID of the data source. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID of the data source. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_source_id(mut self, input: impl Into) -> Self { self.data_source_id = Some(input.into()); self @@ -9997,7 +9997,7 @@ impl CreateDataSourceOutput { pub struct CreateDataSetOutput { ///

                                                        The Amazon Resource Name (ARN) of the dataset.

                                                        pub arn: std::option::Option, - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub data_set_id: std::option::Option, ///

                                                        The ARN for the ingestion, which is triggered as a result of dataset creation if the import /// mode is SPICE.

                                                        @@ -10045,7 +10045,7 @@ pub mod create_data_set_output { self.arn = input; self } - ///

                                                        The ID for the dataset that you want to create. This ID is unique per Region; for each Amazon Web Services account;.

                                                        + ///

                                                        The ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region; for each Amazon Web Services account;.

                                                        pub fn data_set_id(mut self, input: impl Into) -> Self { self.data_set_id = Some(input.into()); self @@ -10350,7 +10350,7 @@ pub struct CreateAccountCustomizationOutput { pub aws_account_id: std::option::Option, ///

                                                        The namespace associated with the customization you're creating.

                                                        pub namespace: std::option::Option, - ///

                                                        The QuickSight customizations you're adding in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're adding in the current Amazon Web Services Region;.

                                                        pub account_customization: std::option::Option, ///

                                                        The Amazon Web Services request ID for this operation.

                                                        pub request_id: std::option::Option, @@ -10413,7 +10413,7 @@ pub mod create_account_customization_output { self.namespace = input; self } - ///

                                                        The QuickSight customizations you're adding in the current Region;.

                                                        + ///

                                                        The QuickSight customizations you're adding in the current Amazon Web Services Region;.

                                                        pub fn account_customization(mut self, input: crate::model::AccountCustomization) -> Self { self.account_customization = Some(input); self diff --git a/sdk/ram/Cargo.toml b/sdk/ram/Cargo.toml index 0ce2797998c2..5378e6020fae 100644 --- a/sdk/ram/Cargo.toml +++ b/sdk/ram/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ram" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you\n create a resource share, associate the resource with the resource share, and specify the principals that\n can access the resources associated with the resource share. The following principals are supported:\n AWS accounts, organizational units (OU) from AWS Organizations, and organizations from\n AWS Organizations.

                                                        \n

                                                        For more information, see the AWS Resource Access Manager User Guide.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/rds/Cargo.toml b/sdk/rds/Cargo.toml index 59bf5d8c80b7..f1541fc40f01 100644 --- a/sdk/rds/Cargo.toml +++ b/sdk/rds/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-rds" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Relational Database Service\n

                                                        \n

                                                        Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and \n scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational \n database and manages common database administration tasks, freeing up developers to focus on what makes their applications \n and businesses unique.

                                                        \n

                                                        Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, \n Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools \n you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS \n automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS \n is flexible: you can scale your DB instance's compute resources and storage capacity to meet your \n application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for \n the resources you use.

                                                        \n

                                                        This interface reference for Amazon RDS contains documentation for a programming or command line interface \n you can use to manage Amazon RDS. Amazon RDS is asynchronous, which means that some interfaces might \n require techniques such as polling or callback functions to determine when a command has been applied. In this \n reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, \n or during the maintenance window. The reference structure is as follows, and we list following some related topics \n from the user guide.

                                                        \n \n

                                                        \n Amazon RDS API Reference\n

                                                        \n \n
                                                          \n
                                                        • \n

                                                          For the alphabetical list of API actions, see \n API Actions.

                                                          \n
                                                        • \n
                                                        • \n

                                                          For the alphabetical list of data types, see \n Data Types.

                                                          \n
                                                        • \n
                                                        • \n

                                                          For a list of common query parameters, see \n Common Parameters.

                                                          \n
                                                        • \n
                                                        • \n

                                                          For descriptions of the error codes, see \n Common Errors.

                                                          \n
                                                        • \n
                                                        \n \n

                                                        \n Amazon RDS User Guide\n

                                                        \n \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/rds/src/client.rs b/sdk/rds/src/client.rs index 521f68556057..bc0d1ab23aa7 100644 --- a/sdk/rds/src/client.rs +++ b/sdk/rds/src/client.rs @@ -3200,7 +3200,7 @@ pub mod fluent_builders { self.inner = self.inner.set_db_instance_identifier(input); self } - ///

                                                        The amount of storage (in gibibytes) to allocate for the DB instance.

                                                        + ///

                                                        The amount of storage in gibibytes (GiB) to allocate for the DB instance.

                                                        ///

                                                        Type: Integer

                                                        ///

                                                        /// Amazon Aurora @@ -4334,7 +4334,7 @@ pub mod fluent_builders { self.inner = self.inner.set_deletion_protection(input); self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -4986,7 +4986,7 @@ pub mod fluent_builders { self.inner = self.inner.set_replica_mode(input); self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -13083,7 +13083,7 @@ pub mod fluent_builders { self.inner = self.inner.set_db_instance_identifier(input); self } - ///

                                                        The new amount of storage (in gibibytes) to allocate for the DB instance. + ///

                                                        The new amount of storage in gibibytes (GiB) to allocate for the DB instance. ///

                                                        ///

                                                        For MariaDB, MySQL, Oracle, and PostgreSQL, /// the value supplied must be at least 10% greater than the current value. @@ -13908,7 +13908,7 @@ pub mod fluent_builders { self.inner = self.inner.set_deletion_protection(input); self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -18412,7 +18412,7 @@ pub mod fluent_builders { self.inner = self.inner.set_deletion_protection(input); self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -18985,7 +18985,7 @@ pub mod fluent_builders { self.inner = self.inner.set_source_dbi_resource_id(input); self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling diff --git a/sdk/rds/src/input.rs b/sdk/rds/src/input.rs index 64735a62c619..b41ba85471f9 100644 --- a/sdk/rds/src/input.rs +++ b/sdk/rds/src/input.rs @@ -4527,7 +4527,7 @@ pub mod create_db_instance_input { self.db_instance_identifier = input; self } - ///

                                                        The amount of storage (in gibibytes) to allocate for the DB instance.

                                                        + ///

                                                        The amount of storage in gibibytes (GiB) to allocate for the DB instance.

                                                        ///

                                                        Type: Integer

                                                        ///

                                                        /// Amazon Aurora @@ -5625,7 +5625,7 @@ pub mod create_db_instance_input { self.deletion_protection = input; self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -6446,7 +6446,7 @@ pub mod create_db_instance_read_replica_input { self.replica_mode = input; self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -22323,7 +22323,7 @@ pub mod modify_db_instance_input { self.db_instance_identifier = input; self } - ///

                                                        The new amount of storage (in gibibytes) to allocate for the DB instance. + ///

                                                        The new amount of storage in gibibytes (GiB) to allocate for the DB instance. ///

                                                        ///

                                                        For MariaDB, MySQL, Oracle, and PostgreSQL, /// the value supplied must be at least 10% greater than the current value. @@ -23134,7 +23134,7 @@ pub mod modify_db_instance_input { self.deletion_protection = input; self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -30521,7 +30521,7 @@ pub mod restore_db_instance_from_s3_input { self.deletion_protection = input; self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -31262,7 +31262,7 @@ pub mod restore_db_instance_to_point_in_time_input { self.source_dbi_resource_id = input; self } - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -33701,7 +33701,7 @@ pub struct RestoreDbInstanceToPointInTimeInput { pub deletion_protection: std::option::Option, ///

                                                        The resource ID of the source DB instance from which to restore.

                                                        pub source_dbi_resource_id: std::option::Option, - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -34087,7 +34087,7 @@ pub struct RestoreDbInstanceFromS3Input { /// Deleting a DB Instance. ///

                                                        pub deletion_protection: std::option::Option, - ///

                                                        The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        + ///

                                                        The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                        ///

                                                        For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -35940,7 +35940,7 @@ pub struct ModifyDbInstanceInput { ///

                                                      • ///
                                                      pub db_instance_identifier: std::option::Option, - ///

                                                      The new amount of storage (in gibibytes) to allocate for the DB instance. + ///

                                                      The new amount of storage in gibibytes (GiB) to allocate for the DB instance. ///

                                                      ///

                                                      For MariaDB, MySQL, Oracle, and PostgreSQL, /// the value supplied must be at least 10% greater than the current value. @@ -36412,7 +36412,7 @@ pub struct ModifyDbInstanceInput { /// Deleting a DB Instance. ///

                                                      pub deletion_protection: std::option::Option, - ///

                                                      The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      + ///

                                                      The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      ///

                                                      For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -40732,7 +40732,7 @@ pub struct CreateDbInstanceReadReplicaInput { /// For more information, see Working with Oracle Read Replicas for Amazon RDS /// in the Amazon RDS User Guide.

                                                      pub replica_mode: std::option::Option, - ///

                                                      The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      + ///

                                                      The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      ///

                                                      For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling @@ -40928,7 +40928,7 @@ pub struct CreateDbInstanceInput { ///

                                                      Example: mydbinstance ///

                                                      pub db_instance_identifier: std::option::Option, - ///

                                                      The amount of storage (in gibibytes) to allocate for the DB instance.

                                                      + ///

                                                      The amount of storage in gibibytes (GiB) to allocate for the DB instance.

                                                      ///

                                                      Type: Integer

                                                      ///

                                                      /// Amazon Aurora @@ -41664,7 +41664,7 @@ pub struct CreateDbInstanceInput { /// cluster can be deleted even when deletion protection is enabled for the DB cluster. ///

                                                      pub deletion_protection: std::option::Option, - ///

                                                      The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      + ///

                                                      The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      ///

                                                      For more information about this setting, including limitations that apply to it, see /// /// Managing capacity automatically with Amazon RDS storage autoscaling diff --git a/sdk/rds/src/model.rs b/sdk/rds/src/model.rs index 8ffb5cbab9c7..d14171e17128 100644 --- a/sdk/rds/src/model.rs +++ b/sdk/rds/src/model.rs @@ -660,6 +660,8 @@ pub struct DbInstance { /// in the Amazon RDS User Guide. ///

                                                      pub db_instance_status: std::option::Option, + ///

                                                      The time when a stopped DB instance is restarted automatically.

                                                      + pub automatic_restart_time: std::option::Option, ///

                                                      Contains the master username for the DB instance.

                                                      pub master_username: std::option::Option, ///

                                                      The meaning of this parameter differs according to the database engine you use.

                                                      @@ -674,8 +676,11 @@ pub struct DbInstance { ///

                                                      Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

                                                      pub db_name: std::option::Option, ///

                                                      Specifies the connection endpoint.

                                                      + /// + ///

                                                      The endpoint might not be shown for instances whose status is creating.

                                                      + ///
                                                      pub endpoint: std::option::Option, - ///

                                                      Specifies the allocated storage size specified in gibibytes.

                                                      + ///

                                                      Specifies the allocated storage size specified in gibibytes (GiB).

                                                      pub allocated_storage: i32, ///

                                                      Provides the date and time the DB instance was created.

                                                      pub instance_create_time: std::option::Option, @@ -857,7 +862,7 @@ pub struct DbInstance { pub associated_roles: std::option::Option>, ///

                                                      Specifies the listener connection endpoint for SQL Server Always On.

                                                      pub listener_endpoint: std::option::Option, - ///

                                                      The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      + ///

                                                      The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      pub max_allocated_storage: std::option::Option, ///

                                                      A list of tags. /// For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. @@ -899,6 +904,7 @@ impl std::fmt::Debug for DbInstance { formatter.field("db_instance_class", &self.db_instance_class); formatter.field("engine", &self.engine); formatter.field("db_instance_status", &self.db_instance_status); + formatter.field("automatic_restart_time", &self.automatic_restart_time); formatter.field("master_username", &self.master_username); formatter.field("db_name", &self.db_name); formatter.field("endpoint", &self.endpoint); @@ -1028,6 +1034,7 @@ pub mod db_instance { pub(crate) db_instance_class: std::option::Option, pub(crate) engine: std::option::Option, pub(crate) db_instance_status: std::option::Option, + pub(crate) automatic_restart_time: std::option::Option, pub(crate) master_username: std::option::Option, pub(crate) db_name: std::option::Option, pub(crate) endpoint: std::option::Option, @@ -1158,6 +1165,18 @@ pub mod db_instance { self.db_instance_status = input; self } + ///

                                                      The time when a stopped DB instance is restarted automatically.

                                                      + pub fn automatic_restart_time(mut self, input: smithy_types::Instant) -> Self { + self.automatic_restart_time = Some(input); + self + } + pub fn set_automatic_restart_time( + mut self, + input: std::option::Option, + ) -> Self { + self.automatic_restart_time = input; + self + } ///

                                                      Contains the master username for the DB instance.

                                                      pub fn master_username(mut self, input: impl Into) -> Self { self.master_username = Some(input.into()); @@ -1189,6 +1208,9 @@ pub mod db_instance { self } ///

                                                      Specifies the connection endpoint.

                                                      + /// + ///

                                                      The endpoint might not be shown for instances whose status is creating.

                                                      + ///
                                                      pub fn endpoint(mut self, input: crate::model::Endpoint) -> Self { self.endpoint = Some(input); self @@ -1197,7 +1219,7 @@ pub mod db_instance { self.endpoint = input; self } - ///

                                                      Specifies the allocated storage size specified in gibibytes.

                                                      + ///

                                                      Specifies the allocated storage size specified in gibibytes (GiB).

                                                      pub fn allocated_storage(mut self, input: i32) -> Self { self.allocated_storage = Some(input); self @@ -1892,7 +1914,7 @@ pub mod db_instance { self.listener_endpoint = input; self } - ///

                                                      The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      + ///

                                                      The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                      pub fn max_allocated_storage(mut self, input: i32) -> Self { self.max_allocated_storage = Some(input); self @@ -2039,6 +2061,7 @@ pub mod db_instance { db_instance_class: self.db_instance_class, engine: self.engine, db_instance_status: self.db_instance_status, + automatic_restart_time: self.automatic_restart_time, master_username: self.master_username, db_name: self.db_name, endpoint: self.endpoint, @@ -2957,7 +2980,7 @@ impl AsRef for ReplicaMode { pub struct PendingModifiedValues { ///

                                                      The name of the compute and memory capacity class for the DB instance.

                                                      pub db_instance_class: std::option::Option, - ///

                                                      The allocated storage size for the DB instance specified in gibibytes .

                                                      + ///

                                                      The allocated storage size for the DB instance specified in gibibytes (GiB).

                                                      pub allocated_storage: std::option::Option, ///

                                                      The master credentials for the DB instance.

                                                      pub master_user_password: std::option::Option, @@ -3059,7 +3082,7 @@ pub mod pending_modified_values { self.db_instance_class = input; self } - ///

                                                      The allocated storage size for the DB instance specified in gibibytes .

                                                      + ///

                                                      The allocated storage size for the DB instance specified in gibibytes (GiB).

                                                      pub fn allocated_storage(mut self, input: i32) -> Self { self.allocated_storage = Some(input); self @@ -3961,6 +3984,8 @@ pub struct DbCluster { pub db_subnet_group: std::option::Option, ///

                                                      Specifies the current state of this DB cluster.

                                                      pub status: std::option::Option, + ///

                                                      The time when a stopped DB cluster is restarted automatically.

                                                      + pub automatic_restart_time: std::option::Option, ///

                                                      Specifies the progress of the operation as a percentage.

                                                      pub percent_progress: std::option::Option, ///

                                                      The earliest time to which a database can be restored with point-in-time @@ -4120,6 +4145,7 @@ impl std::fmt::Debug for DbCluster { ); formatter.field("db_subnet_group", &self.db_subnet_group); formatter.field("status", &self.status); + formatter.field("automatic_restart_time", &self.automatic_restart_time); formatter.field("percent_progress", &self.percent_progress); formatter.field("earliest_restorable_time", &self.earliest_restorable_time); formatter.field("endpoint", &self.endpoint); @@ -4218,6 +4244,7 @@ pub mod db_cluster { pub(crate) db_cluster_parameter_group: std::option::Option, pub(crate) db_subnet_group: std::option::Option, pub(crate) status: std::option::Option, + pub(crate) automatic_restart_time: std::option::Option, pub(crate) percent_progress: std::option::Option, pub(crate) earliest_restorable_time: std::option::Option, pub(crate) endpoint: std::option::Option, @@ -4379,6 +4406,18 @@ pub mod db_cluster { self.status = input; self } + ///

                                                      The time when a stopped DB cluster is restarted automatically.

                                                      + pub fn automatic_restart_time(mut self, input: smithy_types::Instant) -> Self { + self.automatic_restart_time = Some(input); + self + } + pub fn set_automatic_restart_time( + mut self, + input: std::option::Option, + ) -> Self { + self.automatic_restart_time = input; + self + } ///

                                                      Specifies the progress of the operation as a percentage.

                                                      pub fn percent_progress(mut self, input: impl Into) -> Self { self.percent_progress = Some(input.into()); @@ -4997,6 +5036,7 @@ pub mod db_cluster { db_cluster_parameter_group: self.db_cluster_parameter_group, db_subnet_group: self.db_subnet_group, status: self.status, + automatic_restart_time: self.automatic_restart_time, percent_progress: self.percent_progress, earliest_restorable_time: self.earliest_restorable_time, endpoint: self.endpoint, @@ -11703,7 +11743,7 @@ pub struct ValidStorageOptions { /// For example, gp2, io1. ///

                                                      pub storage_type: std::option::Option, - ///

                                                      The valid range of storage in gibibytes. + ///

                                                      The valid range of storage in gibibytes (GiB). /// For example, 100 to 16384. ///

                                                      pub storage_size: std::option::Option>, diff --git a/sdk/rds/src/xml_deser.rs b/sdk/rds/src/xml_deser.rs index d0b83363ff76..daa250fc86a4 100644 --- a/sdk/rds/src/xml_deser.rs +++ b/sdk/rds/src/xml_deser.rs @@ -13216,8 +13216,22 @@ pub fn deser_structure_db_cluster( builder = builder.set_status(var_462); } , - s if s.matches("PercentProgress") /* PercentProgress com.amazonaws.rds#DBCluster$PercentProgress */ => { + s if s.matches("AutomaticRestartTime") /* AutomaticRestartTime com.amazonaws.rds#DBCluster$AutomaticRestartTime */ => { let var_463 = + Some( + smithy_types::Instant::from_str( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + , smithy_types::instant::Format::DateTime + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (timestamp: `com.amazonaws.rds#TStamp`)")) + ? + ) + ; + builder = builder.set_automatic_restart_time(var_463); + } + , + s if s.matches("PercentProgress") /* PercentProgress com.amazonaws.rds#DBCluster$PercentProgress */ => { + let var_464 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13226,11 +13240,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_percent_progress(var_463); + builder = builder.set_percent_progress(var_464); } , s if s.matches("EarliestRestorableTime") /* EarliestRestorableTime com.amazonaws.rds#DBCluster$EarliestRestorableTime */ => { - let var_464 = + let var_465 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13240,11 +13254,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_earliest_restorable_time(var_464); + builder = builder.set_earliest_restorable_time(var_465); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBCluster$Endpoint */ => { - let var_465 = + let var_466 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13253,11 +13267,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_endpoint(var_465); + builder = builder.set_endpoint(var_466); } , s if s.matches("ReaderEndpoint") /* ReaderEndpoint com.amazonaws.rds#DBCluster$ReaderEndpoint */ => { - let var_466 = + let var_467 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13266,21 +13280,21 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_reader_endpoint(var_466); + builder = builder.set_reader_endpoint(var_467); } , s if s.matches("CustomEndpoints") /* CustomEndpoints com.amazonaws.rds#DBCluster$CustomEndpoints */ => { - let var_467 = + let var_468 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_custom_endpoints(var_467); + builder = builder.set_custom_endpoints(var_468); } , s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.rds#DBCluster$MultiAZ */ => { - let var_468 = + let var_469 = Some( { ::parse_smithy_primitive( @@ -13291,11 +13305,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_multi_az(var_468); + builder = builder.set_multi_az(var_469); } , s if s.matches("Engine") /* Engine com.amazonaws.rds#DBCluster$Engine */ => { - let var_469 = + let var_470 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13304,11 +13318,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_engine(var_469); + builder = builder.set_engine(var_470); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#DBCluster$EngineVersion */ => { - let var_470 = + let var_471 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13317,11 +13331,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_engine_version(var_470); + builder = builder.set_engine_version(var_471); } , s if s.matches("LatestRestorableTime") /* LatestRestorableTime com.amazonaws.rds#DBCluster$LatestRestorableTime */ => { - let var_471 = + let var_472 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13331,11 +13345,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_latest_restorable_time(var_471); + builder = builder.set_latest_restorable_time(var_472); } , s if s.matches("Port") /* Port com.amazonaws.rds#DBCluster$Port */ => { - let var_472 = + let var_473 = Some( { ::parse_smithy_primitive( @@ -13346,11 +13360,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_port(var_472); + builder = builder.set_port(var_473); } , s if s.matches("MasterUsername") /* MasterUsername com.amazonaws.rds#DBCluster$MasterUsername */ => { - let var_473 = + let var_474 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13359,21 +13373,21 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_master_username(var_473); + builder = builder.set_master_username(var_474); } , s if s.matches("DBClusterOptionGroupMemberships") /* DBClusterOptionGroupMemberships com.amazonaws.rds#DBCluster$DBClusterOptionGroupMemberships */ => { - let var_474 = + let var_475 = Some( crate::xml_deser::deser_list_db_cluster_option_group_memberships(&mut tag) ? ) ; - builder = builder.set_db_cluster_option_group_memberships(var_474); + builder = builder.set_db_cluster_option_group_memberships(var_475); } , s if s.matches("PreferredBackupWindow") /* PreferredBackupWindow com.amazonaws.rds#DBCluster$PreferredBackupWindow */ => { - let var_475 = + let var_476 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13382,11 +13396,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_preferred_backup_window(var_475); + builder = builder.set_preferred_backup_window(var_476); } , s if s.matches("PreferredMaintenanceWindow") /* PreferredMaintenanceWindow com.amazonaws.rds#DBCluster$PreferredMaintenanceWindow */ => { - let var_476 = + let var_477 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13395,11 +13409,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_preferred_maintenance_window(var_476); + builder = builder.set_preferred_maintenance_window(var_477); } , s if s.matches("ReplicationSourceIdentifier") /* ReplicationSourceIdentifier com.amazonaws.rds#DBCluster$ReplicationSourceIdentifier */ => { - let var_477 = + let var_478 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13408,41 +13422,41 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_replication_source_identifier(var_477); + builder = builder.set_replication_source_identifier(var_478); } , s if s.matches("ReadReplicaIdentifiers") /* ReadReplicaIdentifiers com.amazonaws.rds#DBCluster$ReadReplicaIdentifiers */ => { - let var_478 = + let var_479 = Some( crate::xml_deser::deser_list_read_replica_identifier_list(&mut tag) ? ) ; - builder = builder.set_read_replica_identifiers(var_478); + builder = builder.set_read_replica_identifiers(var_479); } , s if s.matches("DBClusterMembers") /* DBClusterMembers com.amazonaws.rds#DBCluster$DBClusterMembers */ => { - let var_479 = + let var_480 = Some( crate::xml_deser::deser_list_db_cluster_member_list(&mut tag) ? ) ; - builder = builder.set_db_cluster_members(var_479); + builder = builder.set_db_cluster_members(var_480); } , s if s.matches("VpcSecurityGroups") /* VpcSecurityGroups com.amazonaws.rds#DBCluster$VpcSecurityGroups */ => { - let var_480 = + let var_481 = Some( crate::xml_deser::deser_list_vpc_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_vpc_security_groups(var_480); + builder = builder.set_vpc_security_groups(var_481); } , s if s.matches("HostedZoneId") /* HostedZoneId com.amazonaws.rds#DBCluster$HostedZoneId */ => { - let var_481 = + let var_482 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13451,11 +13465,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_hosted_zone_id(var_481); + builder = builder.set_hosted_zone_id(var_482); } , s if s.matches("StorageEncrypted") /* StorageEncrypted com.amazonaws.rds#DBCluster$StorageEncrypted */ => { - let var_482 = + let var_483 = Some( { ::parse_smithy_primitive( @@ -13466,11 +13480,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_storage_encrypted(var_482); + builder = builder.set_storage_encrypted(var_483); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.rds#DBCluster$KmsKeyId */ => { - let var_483 = + let var_484 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13479,11 +13493,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_kms_key_id(var_483); + builder = builder.set_kms_key_id(var_484); } , s if s.matches("DbClusterResourceId") /* DbClusterResourceId com.amazonaws.rds#DBCluster$DbClusterResourceId */ => { - let var_484 = + let var_485 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13492,11 +13506,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_db_cluster_resource_id(var_484); + builder = builder.set_db_cluster_resource_id(var_485); } , s if s.matches("DBClusterArn") /* DBClusterArn com.amazonaws.rds#DBCluster$DBClusterArn */ => { - let var_485 = + let var_486 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13505,21 +13519,21 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_db_cluster_arn(var_485); + builder = builder.set_db_cluster_arn(var_486); } , s if s.matches("AssociatedRoles") /* AssociatedRoles com.amazonaws.rds#DBCluster$AssociatedRoles */ => { - let var_486 = + let var_487 = Some( crate::xml_deser::deser_list_db_cluster_roles(&mut tag) ? ) ; - builder = builder.set_associated_roles(var_486); + builder = builder.set_associated_roles(var_487); } , s if s.matches("IAMDatabaseAuthenticationEnabled") /* IAMDatabaseAuthenticationEnabled com.amazonaws.rds#DBCluster$IAMDatabaseAuthenticationEnabled */ => { - let var_487 = + let var_488 = Some( { ::parse_smithy_primitive( @@ -13530,11 +13544,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_iam_database_authentication_enabled(var_487); + builder = builder.set_iam_database_authentication_enabled(var_488); } , s if s.matches("CloneGroupId") /* CloneGroupId com.amazonaws.rds#DBCluster$CloneGroupId */ => { - let var_488 = + let var_489 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13543,11 +13557,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_clone_group_id(var_488); + builder = builder.set_clone_group_id(var_489); } , s if s.matches("ClusterCreateTime") /* ClusterCreateTime com.amazonaws.rds#DBCluster$ClusterCreateTime */ => { - let var_489 = + let var_490 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13557,11 +13571,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_cluster_create_time(var_489); + builder = builder.set_cluster_create_time(var_490); } , s if s.matches("EarliestBacktrackTime") /* EarliestBacktrackTime com.amazonaws.rds#DBCluster$EarliestBacktrackTime */ => { - let var_490 = + let var_491 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13571,11 +13585,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_earliest_backtrack_time(var_490); + builder = builder.set_earliest_backtrack_time(var_491); } , s if s.matches("BacktrackWindow") /* BacktrackWindow com.amazonaws.rds#DBCluster$BacktrackWindow */ => { - let var_491 = + let var_492 = Some( { ::parse_smithy_primitive( @@ -13586,11 +13600,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_backtrack_window(var_491); + builder = builder.set_backtrack_window(var_492); } , s if s.matches("BacktrackConsumedChangeRecords") /* BacktrackConsumedChangeRecords com.amazonaws.rds#DBCluster$BacktrackConsumedChangeRecords */ => { - let var_492 = + let var_493 = Some( { ::parse_smithy_primitive( @@ -13601,21 +13615,21 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_backtrack_consumed_change_records(var_492); + builder = builder.set_backtrack_consumed_change_records(var_493); } , s if s.matches("EnabledCloudwatchLogsExports") /* EnabledCloudwatchLogsExports com.amazonaws.rds#DBCluster$EnabledCloudwatchLogsExports */ => { - let var_493 = + let var_494 = Some( crate::xml_deser::deser_list_log_type_list(&mut tag) ? ) ; - builder = builder.set_enabled_cloudwatch_logs_exports(var_493); + builder = builder.set_enabled_cloudwatch_logs_exports(var_494); } , s if s.matches("Capacity") /* Capacity com.amazonaws.rds#DBCluster$Capacity */ => { - let var_494 = + let var_495 = Some( { ::parse_smithy_primitive( @@ -13626,11 +13640,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_capacity(var_494); + builder = builder.set_capacity(var_495); } , s if s.matches("EngineMode") /* EngineMode com.amazonaws.rds#DBCluster$EngineMode */ => { - let var_495 = + let var_496 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13639,21 +13653,21 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_engine_mode(var_495); + builder = builder.set_engine_mode(var_496); } , s if s.matches("ScalingConfigurationInfo") /* ScalingConfigurationInfo com.amazonaws.rds#DBCluster$ScalingConfigurationInfo */ => { - let var_496 = + let var_497 = Some( crate::xml_deser::deser_structure_scaling_configuration_info(&mut tag) ? ) ; - builder = builder.set_scaling_configuration_info(var_496); + builder = builder.set_scaling_configuration_info(var_497); } , s if s.matches("DeletionProtection") /* DeletionProtection com.amazonaws.rds#DBCluster$DeletionProtection */ => { - let var_497 = + let var_498 = Some( { ::parse_smithy_primitive( @@ -13664,11 +13678,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_deletion_protection(var_497); + builder = builder.set_deletion_protection(var_498); } , s if s.matches("HttpEndpointEnabled") /* HttpEndpointEnabled com.amazonaws.rds#DBCluster$HttpEndpointEnabled */ => { - let var_498 = + let var_499 = Some( { ::parse_smithy_primitive( @@ -13679,11 +13693,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_http_endpoint_enabled(var_498); + builder = builder.set_http_endpoint_enabled(var_499); } , s if s.matches("ActivityStreamMode") /* ActivityStreamMode com.amazonaws.rds#DBCluster$ActivityStreamMode */ => { - let var_499 = + let var_500 = Some( Result::::Ok( crate::model::ActivityStreamMode::from( @@ -13693,11 +13707,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_activity_stream_mode(var_499); + builder = builder.set_activity_stream_mode(var_500); } , s if s.matches("ActivityStreamStatus") /* ActivityStreamStatus com.amazonaws.rds#DBCluster$ActivityStreamStatus */ => { - let var_500 = + let var_501 = Some( Result::::Ok( crate::model::ActivityStreamStatus::from( @@ -13707,11 +13721,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_activity_stream_status(var_500); + builder = builder.set_activity_stream_status(var_501); } , s if s.matches("ActivityStreamKmsKeyId") /* ActivityStreamKmsKeyId com.amazonaws.rds#DBCluster$ActivityStreamKmsKeyId */ => { - let var_501 = + let var_502 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13720,11 +13734,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_activity_stream_kms_key_id(var_501); + builder = builder.set_activity_stream_kms_key_id(var_502); } , s if s.matches("ActivityStreamKinesisStreamName") /* ActivityStreamKinesisStreamName com.amazonaws.rds#DBCluster$ActivityStreamKinesisStreamName */ => { - let var_502 = + let var_503 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13733,11 +13747,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_activity_stream_kinesis_stream_name(var_502); + builder = builder.set_activity_stream_kinesis_stream_name(var_503); } , s if s.matches("CopyTagsToSnapshot") /* CopyTagsToSnapshot com.amazonaws.rds#DBCluster$CopyTagsToSnapshot */ => { - let var_503 = + let var_504 = Some( { ::parse_smithy_primitive( @@ -13748,11 +13762,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_copy_tags_to_snapshot(var_503); + builder = builder.set_copy_tags_to_snapshot(var_504); } , s if s.matches("CrossAccountClone") /* CrossAccountClone com.amazonaws.rds#DBCluster$CrossAccountClone */ => { - let var_504 = + let var_505 = Some( { ::parse_smithy_primitive( @@ -13763,31 +13777,31 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_cross_account_clone(var_504); + builder = builder.set_cross_account_clone(var_505); } , s if s.matches("DomainMemberships") /* DomainMemberships com.amazonaws.rds#DBCluster$DomainMemberships */ => { - let var_505 = + let var_506 = Some( crate::xml_deser::deser_list_domain_membership_list(&mut tag) ? ) ; - builder = builder.set_domain_memberships(var_505); + builder = builder.set_domain_memberships(var_506); } , s if s.matches("TagList") /* TagList com.amazonaws.rds#DBCluster$TagList */ => { - let var_506 = + let var_507 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tag_list(var_506); + builder = builder.set_tag_list(var_507); } , s if s.matches("GlobalWriteForwardingStatus") /* GlobalWriteForwardingStatus com.amazonaws.rds#DBCluster$GlobalWriteForwardingStatus */ => { - let var_507 = + let var_508 = Some( Result::::Ok( crate::model::WriteForwardingStatus::from( @@ -13797,11 +13811,11 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_global_write_forwarding_status(var_507); + builder = builder.set_global_write_forwarding_status(var_508); } , s if s.matches("GlobalWriteForwardingRequested") /* GlobalWriteForwardingRequested com.amazonaws.rds#DBCluster$GlobalWriteForwardingRequested */ => { - let var_508 = + let var_509 = Some( { ::parse_smithy_primitive( @@ -13812,17 +13826,17 @@ pub fn deser_structure_db_cluster( ? ) ; - builder = builder.set_global_write_forwarding_requested(var_508); + builder = builder.set_global_write_forwarding_requested(var_509); } , s if s.matches("PendingModifiedValues") /* PendingModifiedValues com.amazonaws.rds#DBCluster$PendingModifiedValues */ => { - let var_509 = + let var_510 = Some( crate::xml_deser::deser_structure_cluster_pending_modified_values(&mut tag) ? ) ; - builder = builder.set_pending_modified_values(var_509); + builder = builder.set_pending_modified_values(var_510); } , _ => {} @@ -13839,7 +13853,7 @@ pub fn deser_structure_db_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBInstanceIdentifier") /* DBInstanceIdentifier com.amazonaws.rds#DBInstance$DBInstanceIdentifier */ => { - let var_510 = + let var_511 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13848,11 +13862,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_instance_identifier(var_510); + builder = builder.set_db_instance_identifier(var_511); } , s if s.matches("DBInstanceClass") /* DBInstanceClass com.amazonaws.rds#DBInstance$DBInstanceClass */ => { - let var_511 = + let var_512 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13861,11 +13875,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_instance_class(var_511); + builder = builder.set_db_instance_class(var_512); } , s if s.matches("Engine") /* Engine com.amazonaws.rds#DBInstance$Engine */ => { - let var_512 = + let var_513 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13874,11 +13888,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_engine(var_512); + builder = builder.set_engine(var_513); } , s if s.matches("DBInstanceStatus") /* DBInstanceStatus com.amazonaws.rds#DBInstance$DBInstanceStatus */ => { - let var_513 = + let var_514 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13887,11 +13901,25 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_instance_status(var_513); + builder = builder.set_db_instance_status(var_514); + } + , + s if s.matches("AutomaticRestartTime") /* AutomaticRestartTime com.amazonaws.rds#DBInstance$AutomaticRestartTime */ => { + let var_515 = + Some( + smithy_types::Instant::from_str( + smithy_xml::decode::try_data(&mut tag)?.as_ref() + , smithy_types::instant::Format::DateTime + ) + .map_err(|_|smithy_xml::decode::XmlError::custom("expected (timestamp: `com.amazonaws.rds#TStamp`)")) + ? + ) + ; + builder = builder.set_automatic_restart_time(var_515); } , s if s.matches("MasterUsername") /* MasterUsername com.amazonaws.rds#DBInstance$MasterUsername */ => { - let var_514 = + let var_516 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13900,11 +13928,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_master_username(var_514); + builder = builder.set_master_username(var_516); } , s if s.matches("DBName") /* DBName com.amazonaws.rds#DBInstance$DBName */ => { - let var_515 = + let var_517 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13913,21 +13941,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_name(var_515); + builder = builder.set_db_name(var_517); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBInstance$Endpoint */ => { - let var_516 = + let var_518 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_endpoint(var_516); + builder = builder.set_endpoint(var_518); } , s if s.matches("AllocatedStorage") /* AllocatedStorage com.amazonaws.rds#DBInstance$AllocatedStorage */ => { - let var_517 = + let var_519 = Some( { ::parse_smithy_primitive( @@ -13938,11 +13966,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_allocated_storage(var_517); + builder = builder.set_allocated_storage(var_519); } , s if s.matches("InstanceCreateTime") /* InstanceCreateTime com.amazonaws.rds#DBInstance$InstanceCreateTime */ => { - let var_518 = + let var_520 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13952,11 +13980,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_instance_create_time(var_518); + builder = builder.set_instance_create_time(var_520); } , s if s.matches("PreferredBackupWindow") /* PreferredBackupWindow com.amazonaws.rds#DBInstance$PreferredBackupWindow */ => { - let var_519 = + let var_521 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -13965,11 +13993,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_preferred_backup_window(var_519); + builder = builder.set_preferred_backup_window(var_521); } , s if s.matches("BackupRetentionPeriod") /* BackupRetentionPeriod com.amazonaws.rds#DBInstance$BackupRetentionPeriod */ => { - let var_520 = + let var_522 = Some( { ::parse_smithy_primitive( @@ -13980,41 +14008,41 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_backup_retention_period(var_520); + builder = builder.set_backup_retention_period(var_522); } , s if s.matches("DBSecurityGroups") /* DBSecurityGroups com.amazonaws.rds#DBInstance$DBSecurityGroups */ => { - let var_521 = + let var_523 = Some( crate::xml_deser::deser_list_db_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_db_security_groups(var_521); + builder = builder.set_db_security_groups(var_523); } , s if s.matches("VpcSecurityGroups") /* VpcSecurityGroups com.amazonaws.rds#DBInstance$VpcSecurityGroups */ => { - let var_522 = + let var_524 = Some( crate::xml_deser::deser_list_vpc_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_vpc_security_groups(var_522); + builder = builder.set_vpc_security_groups(var_524); } , s if s.matches("DBParameterGroups") /* DBParameterGroups com.amazonaws.rds#DBInstance$DBParameterGroups */ => { - let var_523 = + let var_525 = Some( crate::xml_deser::deser_list_db_parameter_group_status_list(&mut tag) ? ) ; - builder = builder.set_db_parameter_groups(var_523); + builder = builder.set_db_parameter_groups(var_525); } , s if s.matches("AvailabilityZone") /* AvailabilityZone com.amazonaws.rds#DBInstance$AvailabilityZone */ => { - let var_524 = + let var_526 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14023,21 +14051,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_availability_zone(var_524); + builder = builder.set_availability_zone(var_526); } , s if s.matches("DBSubnetGroup") /* DBSubnetGroup com.amazonaws.rds#DBInstance$DBSubnetGroup */ => { - let var_525 = + let var_527 = Some( crate::xml_deser::deser_structure_db_subnet_group(&mut tag) ? ) ; - builder = builder.set_db_subnet_group(var_525); + builder = builder.set_db_subnet_group(var_527); } , s if s.matches("PreferredMaintenanceWindow") /* PreferredMaintenanceWindow com.amazonaws.rds#DBInstance$PreferredMaintenanceWindow */ => { - let var_526 = + let var_528 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14046,21 +14074,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_preferred_maintenance_window(var_526); + builder = builder.set_preferred_maintenance_window(var_528); } , s if s.matches("PendingModifiedValues") /* PendingModifiedValues com.amazonaws.rds#DBInstance$PendingModifiedValues */ => { - let var_527 = + let var_529 = Some( crate::xml_deser::deser_structure_pending_modified_values(&mut tag) ? ) ; - builder = builder.set_pending_modified_values(var_527); + builder = builder.set_pending_modified_values(var_529); } , s if s.matches("LatestRestorableTime") /* LatestRestorableTime com.amazonaws.rds#DBInstance$LatestRestorableTime */ => { - let var_528 = + let var_530 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14070,11 +14098,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_latest_restorable_time(var_528); + builder = builder.set_latest_restorable_time(var_530); } , s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.rds#DBInstance$MultiAZ */ => { - let var_529 = + let var_531 = Some( { ::parse_smithy_primitive( @@ -14085,11 +14113,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_multi_az(var_529); + builder = builder.set_multi_az(var_531); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#DBInstance$EngineVersion */ => { - let var_530 = + let var_532 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14098,11 +14126,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_engine_version(var_530); + builder = builder.set_engine_version(var_532); } , s if s.matches("AutoMinorVersionUpgrade") /* AutoMinorVersionUpgrade com.amazonaws.rds#DBInstance$AutoMinorVersionUpgrade */ => { - let var_531 = + let var_533 = Some( { ::parse_smithy_primitive( @@ -14113,11 +14141,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_auto_minor_version_upgrade(var_531); + builder = builder.set_auto_minor_version_upgrade(var_533); } , s if s.matches("ReadReplicaSourceDBInstanceIdentifier") /* ReadReplicaSourceDBInstanceIdentifier com.amazonaws.rds#DBInstance$ReadReplicaSourceDBInstanceIdentifier */ => { - let var_532 = + let var_534 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14126,31 +14154,31 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_read_replica_source_db_instance_identifier(var_532); + builder = builder.set_read_replica_source_db_instance_identifier(var_534); } , s if s.matches("ReadReplicaDBInstanceIdentifiers") /* ReadReplicaDBInstanceIdentifiers com.amazonaws.rds#DBInstance$ReadReplicaDBInstanceIdentifiers */ => { - let var_533 = + let var_535 = Some( crate::xml_deser::deser_list_read_replica_db_instance_identifier_list(&mut tag) ? ) ; - builder = builder.set_read_replica_db_instance_identifiers(var_533); + builder = builder.set_read_replica_db_instance_identifiers(var_535); } , s if s.matches("ReadReplicaDBClusterIdentifiers") /* ReadReplicaDBClusterIdentifiers com.amazonaws.rds#DBInstance$ReadReplicaDBClusterIdentifiers */ => { - let var_534 = + let var_536 = Some( crate::xml_deser::deser_list_read_replica_db_cluster_identifier_list(&mut tag) ? ) ; - builder = builder.set_read_replica_db_cluster_identifiers(var_534); + builder = builder.set_read_replica_db_cluster_identifiers(var_536); } , s if s.matches("ReplicaMode") /* ReplicaMode com.amazonaws.rds#DBInstance$ReplicaMode */ => { - let var_535 = + let var_537 = Some( Result::::Ok( crate::model::ReplicaMode::from( @@ -14160,11 +14188,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_replica_mode(var_535); + builder = builder.set_replica_mode(var_537); } , s if s.matches("LicenseModel") /* LicenseModel com.amazonaws.rds#DBInstance$LicenseModel */ => { - let var_536 = + let var_538 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14173,11 +14201,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_license_model(var_536); + builder = builder.set_license_model(var_538); } , s if s.matches("Iops") /* Iops com.amazonaws.rds#DBInstance$Iops */ => { - let var_537 = + let var_539 = Some( { ::parse_smithy_primitive( @@ -14188,21 +14216,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_iops(var_537); + builder = builder.set_iops(var_539); } , s if s.matches("OptionGroupMemberships") /* OptionGroupMemberships com.amazonaws.rds#DBInstance$OptionGroupMemberships */ => { - let var_538 = + let var_540 = Some( crate::xml_deser::deser_list_option_group_membership_list(&mut tag) ? ) ; - builder = builder.set_option_group_memberships(var_538); + builder = builder.set_option_group_memberships(var_540); } , s if s.matches("CharacterSetName") /* CharacterSetName com.amazonaws.rds#DBInstance$CharacterSetName */ => { - let var_539 = + let var_541 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14211,11 +14239,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_character_set_name(var_539); + builder = builder.set_character_set_name(var_541); } , s if s.matches("NcharCharacterSetName") /* NcharCharacterSetName com.amazonaws.rds#DBInstance$NcharCharacterSetName */ => { - let var_540 = + let var_542 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14224,11 +14252,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_nchar_character_set_name(var_540); + builder = builder.set_nchar_character_set_name(var_542); } , s if s.matches("SecondaryAvailabilityZone") /* SecondaryAvailabilityZone com.amazonaws.rds#DBInstance$SecondaryAvailabilityZone */ => { - let var_541 = + let var_543 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14237,11 +14265,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_secondary_availability_zone(var_541); + builder = builder.set_secondary_availability_zone(var_543); } , s if s.matches("PubliclyAccessible") /* PubliclyAccessible com.amazonaws.rds#DBInstance$PubliclyAccessible */ => { - let var_542 = + let var_544 = Some( { ::parse_smithy_primitive( @@ -14252,21 +14280,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_publicly_accessible(var_542); + builder = builder.set_publicly_accessible(var_544); } , s if s.matches("StatusInfos") /* StatusInfos com.amazonaws.rds#DBInstance$StatusInfos */ => { - let var_543 = + let var_545 = Some( crate::xml_deser::deser_list_db_instance_status_info_list(&mut tag) ? ) ; - builder = builder.set_status_infos(var_543); + builder = builder.set_status_infos(var_545); } , s if s.matches("StorageType") /* StorageType com.amazonaws.rds#DBInstance$StorageType */ => { - let var_544 = + let var_546 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14275,11 +14303,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_storage_type(var_544); + builder = builder.set_storage_type(var_546); } , s if s.matches("TdeCredentialArn") /* TdeCredentialArn com.amazonaws.rds#DBInstance$TdeCredentialArn */ => { - let var_545 = + let var_547 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14288,11 +14316,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_tde_credential_arn(var_545); + builder = builder.set_tde_credential_arn(var_547); } , s if s.matches("DbInstancePort") /* DbInstancePort com.amazonaws.rds#DBInstance$DbInstancePort */ => { - let var_546 = + let var_548 = Some( { ::parse_smithy_primitive( @@ -14303,11 +14331,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_instance_port(var_546); + builder = builder.set_db_instance_port(var_548); } , s if s.matches("DBClusterIdentifier") /* DBClusterIdentifier com.amazonaws.rds#DBInstance$DBClusterIdentifier */ => { - let var_547 = + let var_549 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14316,11 +14344,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_cluster_identifier(var_547); + builder = builder.set_db_cluster_identifier(var_549); } , s if s.matches("StorageEncrypted") /* StorageEncrypted com.amazonaws.rds#DBInstance$StorageEncrypted */ => { - let var_548 = + let var_550 = Some( { ::parse_smithy_primitive( @@ -14331,11 +14359,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_storage_encrypted(var_548); + builder = builder.set_storage_encrypted(var_550); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.rds#DBInstance$KmsKeyId */ => { - let var_549 = + let var_551 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14344,11 +14372,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_kms_key_id(var_549); + builder = builder.set_kms_key_id(var_551); } , s if s.matches("DbiResourceId") /* DbiResourceId com.amazonaws.rds#DBInstance$DbiResourceId */ => { - let var_550 = + let var_552 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14357,11 +14385,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_dbi_resource_id(var_550); + builder = builder.set_dbi_resource_id(var_552); } , s if s.matches("CACertificateIdentifier") /* CACertificateIdentifier com.amazonaws.rds#DBInstance$CACertificateIdentifier */ => { - let var_551 = + let var_553 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14370,21 +14398,21 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_ca_certificate_identifier(var_551); + builder = builder.set_ca_certificate_identifier(var_553); } , s if s.matches("DomainMemberships") /* DomainMemberships com.amazonaws.rds#DBInstance$DomainMemberships */ => { - let var_552 = + let var_554 = Some( crate::xml_deser::deser_list_domain_membership_list(&mut tag) ? ) ; - builder = builder.set_domain_memberships(var_552); + builder = builder.set_domain_memberships(var_554); } , s if s.matches("CopyTagsToSnapshot") /* CopyTagsToSnapshot com.amazonaws.rds#DBInstance$CopyTagsToSnapshot */ => { - let var_553 = + let var_555 = Some( { ::parse_smithy_primitive( @@ -14395,11 +14423,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_copy_tags_to_snapshot(var_553); + builder = builder.set_copy_tags_to_snapshot(var_555); } , s if s.matches("MonitoringInterval") /* MonitoringInterval com.amazonaws.rds#DBInstance$MonitoringInterval */ => { - let var_554 = + let var_556 = Some( { ::parse_smithy_primitive( @@ -14410,11 +14438,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_monitoring_interval(var_554); + builder = builder.set_monitoring_interval(var_556); } , s if s.matches("EnhancedMonitoringResourceArn") /* EnhancedMonitoringResourceArn com.amazonaws.rds#DBInstance$EnhancedMonitoringResourceArn */ => { - let var_555 = + let var_557 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14423,11 +14451,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_enhanced_monitoring_resource_arn(var_555); + builder = builder.set_enhanced_monitoring_resource_arn(var_557); } , s if s.matches("MonitoringRoleArn") /* MonitoringRoleArn com.amazonaws.rds#DBInstance$MonitoringRoleArn */ => { - let var_556 = + let var_558 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14436,11 +14464,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_monitoring_role_arn(var_556); + builder = builder.set_monitoring_role_arn(var_558); } , s if s.matches("PromotionTier") /* PromotionTier com.amazonaws.rds#DBInstance$PromotionTier */ => { - let var_557 = + let var_559 = Some( { ::parse_smithy_primitive( @@ -14451,11 +14479,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_promotion_tier(var_557); + builder = builder.set_promotion_tier(var_559); } , s if s.matches("DBInstanceArn") /* DBInstanceArn com.amazonaws.rds#DBInstance$DBInstanceArn */ => { - let var_558 = + let var_560 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14464,11 +14492,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_db_instance_arn(var_558); + builder = builder.set_db_instance_arn(var_560); } , s if s.matches("Timezone") /* Timezone com.amazonaws.rds#DBInstance$Timezone */ => { - let var_559 = + let var_561 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14477,11 +14505,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_timezone(var_559); + builder = builder.set_timezone(var_561); } , s if s.matches("IAMDatabaseAuthenticationEnabled") /* IAMDatabaseAuthenticationEnabled com.amazonaws.rds#DBInstance$IAMDatabaseAuthenticationEnabled */ => { - let var_560 = + let var_562 = Some( { ::parse_smithy_primitive( @@ -14492,11 +14520,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_iam_database_authentication_enabled(var_560); + builder = builder.set_iam_database_authentication_enabled(var_562); } , s if s.matches("PerformanceInsightsEnabled") /* PerformanceInsightsEnabled com.amazonaws.rds#DBInstance$PerformanceInsightsEnabled */ => { - let var_561 = + let var_563 = Some( { ::parse_smithy_primitive( @@ -14507,11 +14535,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_performance_insights_enabled(var_561); + builder = builder.set_performance_insights_enabled(var_563); } , s if s.matches("PerformanceInsightsKMSKeyId") /* PerformanceInsightsKMSKeyId com.amazonaws.rds#DBInstance$PerformanceInsightsKMSKeyId */ => { - let var_562 = + let var_564 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14520,11 +14548,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_performance_insights_kms_key_id(var_562); + builder = builder.set_performance_insights_kms_key_id(var_564); } , s if s.matches("PerformanceInsightsRetentionPeriod") /* PerformanceInsightsRetentionPeriod com.amazonaws.rds#DBInstance$PerformanceInsightsRetentionPeriod */ => { - let var_563 = + let var_565 = Some( { ::parse_smithy_primitive( @@ -14535,31 +14563,31 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_performance_insights_retention_period(var_563); + builder = builder.set_performance_insights_retention_period(var_565); } , s if s.matches("EnabledCloudwatchLogsExports") /* EnabledCloudwatchLogsExports com.amazonaws.rds#DBInstance$EnabledCloudwatchLogsExports */ => { - let var_564 = + let var_566 = Some( crate::xml_deser::deser_list_log_type_list(&mut tag) ? ) ; - builder = builder.set_enabled_cloudwatch_logs_exports(var_564); + builder = builder.set_enabled_cloudwatch_logs_exports(var_566); } , s if s.matches("ProcessorFeatures") /* ProcessorFeatures com.amazonaws.rds#DBInstance$ProcessorFeatures */ => { - let var_565 = + let var_567 = Some( crate::xml_deser::deser_list_processor_feature_list(&mut tag) ? ) ; - builder = builder.set_processor_features(var_565); + builder = builder.set_processor_features(var_567); } , s if s.matches("DeletionProtection") /* DeletionProtection com.amazonaws.rds#DBInstance$DeletionProtection */ => { - let var_566 = + let var_568 = Some( { ::parse_smithy_primitive( @@ -14570,31 +14598,31 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_deletion_protection(var_566); + builder = builder.set_deletion_protection(var_568); } , s if s.matches("AssociatedRoles") /* AssociatedRoles com.amazonaws.rds#DBInstance$AssociatedRoles */ => { - let var_567 = + let var_569 = Some( crate::xml_deser::deser_list_db_instance_roles(&mut tag) ? ) ; - builder = builder.set_associated_roles(var_567); + builder = builder.set_associated_roles(var_569); } , s if s.matches("ListenerEndpoint") /* ListenerEndpoint com.amazonaws.rds#DBInstance$ListenerEndpoint */ => { - let var_568 = + let var_570 = Some( crate::xml_deser::deser_structure_endpoint(&mut tag) ? ) ; - builder = builder.set_listener_endpoint(var_568); + builder = builder.set_listener_endpoint(var_570); } , s if s.matches("MaxAllocatedStorage") /* MaxAllocatedStorage com.amazonaws.rds#DBInstance$MaxAllocatedStorage */ => { - let var_569 = + let var_571 = Some( { ::parse_smithy_primitive( @@ -14605,31 +14633,31 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_max_allocated_storage(var_569); + builder = builder.set_max_allocated_storage(var_571); } , s if s.matches("TagList") /* TagList com.amazonaws.rds#DBInstance$TagList */ => { - let var_570 = + let var_572 = Some( crate::xml_deser::deser_list_tag_list(&mut tag) ? ) ; - builder = builder.set_tag_list(var_570); + builder = builder.set_tag_list(var_572); } , s if s.matches("DBInstanceAutomatedBackupsReplications") /* DBInstanceAutomatedBackupsReplications com.amazonaws.rds#DBInstance$DBInstanceAutomatedBackupsReplications */ => { - let var_571 = + let var_573 = Some( crate::xml_deser::deser_list_db_instance_automated_backups_replication_list(&mut tag) ? ) ; - builder = builder.set_db_instance_automated_backups_replications(var_571); + builder = builder.set_db_instance_automated_backups_replications(var_573); } , s if s.matches("CustomerOwnedIpEnabled") /* CustomerOwnedIpEnabled com.amazonaws.rds#DBInstance$CustomerOwnedIpEnabled */ => { - let var_572 = + let var_574 = Some( { ::parse_smithy_primitive( @@ -14640,11 +14668,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_customer_owned_ip_enabled(var_572); + builder = builder.set_customer_owned_ip_enabled(var_574); } , s if s.matches("AwsBackupRecoveryPointArn") /* AwsBackupRecoveryPointArn com.amazonaws.rds#DBInstance$AwsBackupRecoveryPointArn */ => { - let var_573 = + let var_575 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14653,11 +14681,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_aws_backup_recovery_point_arn(var_573); + builder = builder.set_aws_backup_recovery_point_arn(var_575); } , s if s.matches("ActivityStreamStatus") /* ActivityStreamStatus com.amazonaws.rds#DBInstance$ActivityStreamStatus */ => { - let var_574 = + let var_576 = Some( Result::::Ok( crate::model::ActivityStreamStatus::from( @@ -14667,11 +14695,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_activity_stream_status(var_574); + builder = builder.set_activity_stream_status(var_576); } , s if s.matches("ActivityStreamKmsKeyId") /* ActivityStreamKmsKeyId com.amazonaws.rds#DBInstance$ActivityStreamKmsKeyId */ => { - let var_575 = + let var_577 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14680,11 +14708,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_activity_stream_kms_key_id(var_575); + builder = builder.set_activity_stream_kms_key_id(var_577); } , s if s.matches("ActivityStreamKinesisStreamName") /* ActivityStreamKinesisStreamName com.amazonaws.rds#DBInstance$ActivityStreamKinesisStreamName */ => { - let var_576 = + let var_578 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14693,11 +14721,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_activity_stream_kinesis_stream_name(var_576); + builder = builder.set_activity_stream_kinesis_stream_name(var_578); } , s if s.matches("ActivityStreamMode") /* ActivityStreamMode com.amazonaws.rds#DBInstance$ActivityStreamMode */ => { - let var_577 = + let var_579 = Some( Result::::Ok( crate::model::ActivityStreamMode::from( @@ -14707,11 +14735,11 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_activity_stream_mode(var_577); + builder = builder.set_activity_stream_mode(var_579); } , s if s.matches("ActivityStreamEngineNativeAuditFieldsIncluded") /* ActivityStreamEngineNativeAuditFieldsIncluded com.amazonaws.rds#DBInstance$ActivityStreamEngineNativeAuditFieldsIncluded */ => { - let var_578 = + let var_580 = Some( { ::parse_smithy_primitive( @@ -14722,7 +14750,7 @@ pub fn deser_structure_db_instance( ? ) ; - builder = builder.set_activity_stream_engine_native_audit_fields_included(var_578); + builder = builder.set_activity_stream_engine_native_audit_fields_included(var_580); } , _ => {} @@ -14739,7 +14767,7 @@ pub fn deser_structure_db_proxy( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBProxyName") /* DBProxyName com.amazonaws.rds#DBProxy$DBProxyName */ => { - let var_579 = + let var_581 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14748,11 +14776,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_db_proxy_name(var_579); + builder = builder.set_db_proxy_name(var_581); } , s if s.matches("DBProxyArn") /* DBProxyArn com.amazonaws.rds#DBProxy$DBProxyArn */ => { - let var_580 = + let var_582 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14761,11 +14789,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_db_proxy_arn(var_580); + builder = builder.set_db_proxy_arn(var_582); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBProxy$Status */ => { - let var_581 = + let var_583 = Some( Result::::Ok( crate::model::DbProxyStatus::from( @@ -14775,11 +14803,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_status(var_581); + builder = builder.set_status(var_583); } , s if s.matches("EngineFamily") /* EngineFamily com.amazonaws.rds#DBProxy$EngineFamily */ => { - let var_582 = + let var_584 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14788,11 +14816,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_engine_family(var_582); + builder = builder.set_engine_family(var_584); } , s if s.matches("VpcId") /* VpcId com.amazonaws.rds#DBProxy$VpcId */ => { - let var_583 = + let var_585 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14801,41 +14829,41 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_vpc_id(var_583); + builder = builder.set_vpc_id(var_585); } , s if s.matches("VpcSecurityGroupIds") /* VpcSecurityGroupIds com.amazonaws.rds#DBProxy$VpcSecurityGroupIds */ => { - let var_584 = + let var_586 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_vpc_security_group_ids(var_584); + builder = builder.set_vpc_security_group_ids(var_586); } , s if s.matches("VpcSubnetIds") /* VpcSubnetIds com.amazonaws.rds#DBProxy$VpcSubnetIds */ => { - let var_585 = + let var_587 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_vpc_subnet_ids(var_585); + builder = builder.set_vpc_subnet_ids(var_587); } , s if s.matches("Auth") /* Auth com.amazonaws.rds#DBProxy$Auth */ => { - let var_586 = + let var_588 = Some( crate::xml_deser::deser_list_user_auth_config_info_list(&mut tag) ? ) ; - builder = builder.set_auth(var_586); + builder = builder.set_auth(var_588); } , s if s.matches("RoleArn") /* RoleArn com.amazonaws.rds#DBProxy$RoleArn */ => { - let var_587 = + let var_589 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14844,11 +14872,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_role_arn(var_587); + builder = builder.set_role_arn(var_589); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBProxy$Endpoint */ => { - let var_588 = + let var_590 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14857,11 +14885,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_endpoint(var_588); + builder = builder.set_endpoint(var_590); } , s if s.matches("RequireTLS") /* RequireTLS com.amazonaws.rds#DBProxy$RequireTLS */ => { - let var_589 = + let var_591 = Some( { ::parse_smithy_primitive( @@ -14872,11 +14900,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_require_tls(var_589); + builder = builder.set_require_tls(var_591); } , s if s.matches("IdleClientTimeout") /* IdleClientTimeout com.amazonaws.rds#DBProxy$IdleClientTimeout */ => { - let var_590 = + let var_592 = Some( { ::parse_smithy_primitive( @@ -14887,11 +14915,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_idle_client_timeout(var_590); + builder = builder.set_idle_client_timeout(var_592); } , s if s.matches("DebugLogging") /* DebugLogging com.amazonaws.rds#DBProxy$DebugLogging */ => { - let var_591 = + let var_593 = Some( { ::parse_smithy_primitive( @@ -14902,11 +14930,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_debug_logging(var_591); + builder = builder.set_debug_logging(var_593); } , s if s.matches("CreatedDate") /* CreatedDate com.amazonaws.rds#DBProxy$CreatedDate */ => { - let var_592 = + let var_594 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14916,11 +14944,11 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_created_date(var_592); + builder = builder.set_created_date(var_594); } , s if s.matches("UpdatedDate") /* UpdatedDate com.amazonaws.rds#DBProxy$UpdatedDate */ => { - let var_593 = + let var_595 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14930,7 +14958,7 @@ pub fn deser_structure_db_proxy( ? ) ; - builder = builder.set_updated_date(var_593); + builder = builder.set_updated_date(var_595); } , _ => {} @@ -14947,7 +14975,7 @@ pub fn deser_structure_db_proxy_endpoint( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBProxyEndpointName") /* DBProxyEndpointName com.amazonaws.rds#DBProxyEndpoint$DBProxyEndpointName */ => { - let var_594 = + let var_596 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14956,11 +14984,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_db_proxy_endpoint_name(var_594); + builder = builder.set_db_proxy_endpoint_name(var_596); } , s if s.matches("DBProxyEndpointArn") /* DBProxyEndpointArn com.amazonaws.rds#DBProxyEndpoint$DBProxyEndpointArn */ => { - let var_595 = + let var_597 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14969,11 +14997,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_db_proxy_endpoint_arn(var_595); + builder = builder.set_db_proxy_endpoint_arn(var_597); } , s if s.matches("DBProxyName") /* DBProxyName com.amazonaws.rds#DBProxyEndpoint$DBProxyName */ => { - let var_596 = + let var_598 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -14982,11 +15010,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_db_proxy_name(var_596); + builder = builder.set_db_proxy_name(var_598); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBProxyEndpoint$Status */ => { - let var_597 = + let var_599 = Some( Result::::Ok( crate::model::DbProxyEndpointStatus::from( @@ -14996,11 +15024,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_status(var_597); + builder = builder.set_status(var_599); } , s if s.matches("VpcId") /* VpcId com.amazonaws.rds#DBProxyEndpoint$VpcId */ => { - let var_598 = + let var_600 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15009,31 +15037,31 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_vpc_id(var_598); + builder = builder.set_vpc_id(var_600); } , s if s.matches("VpcSecurityGroupIds") /* VpcSecurityGroupIds com.amazonaws.rds#DBProxyEndpoint$VpcSecurityGroupIds */ => { - let var_599 = + let var_601 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_vpc_security_group_ids(var_599); + builder = builder.set_vpc_security_group_ids(var_601); } , s if s.matches("VpcSubnetIds") /* VpcSubnetIds com.amazonaws.rds#DBProxyEndpoint$VpcSubnetIds */ => { - let var_600 = + let var_602 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_vpc_subnet_ids(var_600); + builder = builder.set_vpc_subnet_ids(var_602); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBProxyEndpoint$Endpoint */ => { - let var_601 = + let var_603 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15042,11 +15070,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_endpoint(var_601); + builder = builder.set_endpoint(var_603); } , s if s.matches("CreatedDate") /* CreatedDate com.amazonaws.rds#DBProxyEndpoint$CreatedDate */ => { - let var_602 = + let var_604 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15056,11 +15084,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_created_date(var_602); + builder = builder.set_created_date(var_604); } , s if s.matches("TargetRole") /* TargetRole com.amazonaws.rds#DBProxyEndpoint$TargetRole */ => { - let var_603 = + let var_605 = Some( Result::::Ok( crate::model::DbProxyEndpointTargetRole::from( @@ -15070,11 +15098,11 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_target_role(var_603); + builder = builder.set_target_role(var_605); } , s if s.matches("IsDefault") /* IsDefault com.amazonaws.rds#DBProxyEndpoint$IsDefault */ => { - let var_604 = + let var_606 = Some( { ::parse_smithy_primitive( @@ -15085,7 +15113,7 @@ pub fn deser_structure_db_proxy_endpoint( ? ) ; - builder = builder.set_is_default(var_604); + builder = builder.set_is_default(var_606); } , _ => {} @@ -15102,7 +15130,7 @@ pub fn deser_structure_db_subnet_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBSubnetGroupName") /* DBSubnetGroupName com.amazonaws.rds#DBSubnetGroup$DBSubnetGroupName */ => { - let var_605 = + let var_607 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15111,11 +15139,11 @@ pub fn deser_structure_db_subnet_group( ? ) ; - builder = builder.set_db_subnet_group_name(var_605); + builder = builder.set_db_subnet_group_name(var_607); } , s if s.matches("DBSubnetGroupDescription") /* DBSubnetGroupDescription com.amazonaws.rds#DBSubnetGroup$DBSubnetGroupDescription */ => { - let var_606 = + let var_608 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15124,11 +15152,11 @@ pub fn deser_structure_db_subnet_group( ? ) ; - builder = builder.set_db_subnet_group_description(var_606); + builder = builder.set_db_subnet_group_description(var_608); } , s if s.matches("VpcId") /* VpcId com.amazonaws.rds#DBSubnetGroup$VpcId */ => { - let var_607 = + let var_609 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15137,11 +15165,11 @@ pub fn deser_structure_db_subnet_group( ? ) ; - builder = builder.set_vpc_id(var_607); + builder = builder.set_vpc_id(var_609); } , s if s.matches("SubnetGroupStatus") /* SubnetGroupStatus com.amazonaws.rds#DBSubnetGroup$SubnetGroupStatus */ => { - let var_608 = + let var_610 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15150,21 +15178,21 @@ pub fn deser_structure_db_subnet_group( ? ) ; - builder = builder.set_subnet_group_status(var_608); + builder = builder.set_subnet_group_status(var_610); } , s if s.matches("Subnets") /* Subnets com.amazonaws.rds#DBSubnetGroup$Subnets */ => { - let var_609 = + let var_611 = Some( crate::xml_deser::deser_list_subnet_list(&mut tag) ? ) ; - builder = builder.set_subnets(var_609); + builder = builder.set_subnets(var_611); } , s if s.matches("DBSubnetGroupArn") /* DBSubnetGroupArn com.amazonaws.rds#DBSubnetGroup$DBSubnetGroupArn */ => { - let var_610 = + let var_612 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15173,7 +15201,7 @@ pub fn deser_structure_db_subnet_group( ? ) ; - builder = builder.set_db_subnet_group_arn(var_610); + builder = builder.set_db_subnet_group_arn(var_612); } , _ => {} @@ -15190,7 +15218,7 @@ pub fn deser_structure_global_cluster( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("GlobalClusterIdentifier") /* GlobalClusterIdentifier com.amazonaws.rds#GlobalCluster$GlobalClusterIdentifier */ => { - let var_611 = + let var_613 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15199,11 +15227,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_global_cluster_identifier(var_611); + builder = builder.set_global_cluster_identifier(var_613); } , s if s.matches("GlobalClusterResourceId") /* GlobalClusterResourceId com.amazonaws.rds#GlobalCluster$GlobalClusterResourceId */ => { - let var_612 = + let var_614 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15212,11 +15240,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_global_cluster_resource_id(var_612); + builder = builder.set_global_cluster_resource_id(var_614); } , s if s.matches("GlobalClusterArn") /* GlobalClusterArn com.amazonaws.rds#GlobalCluster$GlobalClusterArn */ => { - let var_613 = + let var_615 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15225,11 +15253,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_global_cluster_arn(var_613); + builder = builder.set_global_cluster_arn(var_615); } , s if s.matches("Status") /* Status com.amazonaws.rds#GlobalCluster$Status */ => { - let var_614 = + let var_616 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15238,11 +15266,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_status(var_614); + builder = builder.set_status(var_616); } , s if s.matches("Engine") /* Engine com.amazonaws.rds#GlobalCluster$Engine */ => { - let var_615 = + let var_617 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15251,11 +15279,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_engine(var_615); + builder = builder.set_engine(var_617); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#GlobalCluster$EngineVersion */ => { - let var_616 = + let var_618 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15264,11 +15292,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_engine_version(var_616); + builder = builder.set_engine_version(var_618); } , s if s.matches("DatabaseName") /* DatabaseName com.amazonaws.rds#GlobalCluster$DatabaseName */ => { - let var_617 = + let var_619 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15277,11 +15305,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_database_name(var_617); + builder = builder.set_database_name(var_619); } , s if s.matches("StorageEncrypted") /* StorageEncrypted com.amazonaws.rds#GlobalCluster$StorageEncrypted */ => { - let var_618 = + let var_620 = Some( { ::parse_smithy_primitive( @@ -15292,11 +15320,11 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_storage_encrypted(var_618); + builder = builder.set_storage_encrypted(var_620); } , s if s.matches("DeletionProtection") /* DeletionProtection com.amazonaws.rds#GlobalCluster$DeletionProtection */ => { - let var_619 = + let var_621 = Some( { ::parse_smithy_primitive( @@ -15307,27 +15335,27 @@ pub fn deser_structure_global_cluster( ? ) ; - builder = builder.set_deletion_protection(var_619); + builder = builder.set_deletion_protection(var_621); } , s if s.matches("GlobalClusterMembers") /* GlobalClusterMembers com.amazonaws.rds#GlobalCluster$GlobalClusterMembers */ => { - let var_620 = + let var_622 = Some( crate::xml_deser::deser_list_global_cluster_member_list(&mut tag) ? ) ; - builder = builder.set_global_cluster_members(var_620); + builder = builder.set_global_cluster_members(var_622); } , s if s.matches("FailoverState") /* FailoverState com.amazonaws.rds#GlobalCluster$FailoverState */ => { - let var_621 = + let var_623 = Some( crate::xml_deser::deser_structure_failover_state(&mut tag) ? ) ; - builder = builder.set_failover_state(var_621); + builder = builder.set_failover_state(var_623); } , _ => {} @@ -15344,7 +15372,7 @@ pub fn deser_structure_db_instance_automated_backup( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBInstanceArn") /* DBInstanceArn com.amazonaws.rds#DBInstanceAutomatedBackup$DBInstanceArn */ => { - let var_622 = + let var_624 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15353,11 +15381,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_db_instance_arn(var_622); + builder = builder.set_db_instance_arn(var_624); } , s if s.matches("DbiResourceId") /* DbiResourceId com.amazonaws.rds#DBInstanceAutomatedBackup$DbiResourceId */ => { - let var_623 = + let var_625 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15366,11 +15394,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_dbi_resource_id(var_623); + builder = builder.set_dbi_resource_id(var_625); } , s if s.matches("Region") /* Region com.amazonaws.rds#DBInstanceAutomatedBackup$Region */ => { - let var_624 = + let var_626 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15379,11 +15407,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_region(var_624); + builder = builder.set_region(var_626); } , s if s.matches("DBInstanceIdentifier") /* DBInstanceIdentifier com.amazonaws.rds#DBInstanceAutomatedBackup$DBInstanceIdentifier */ => { - let var_625 = + let var_627 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15392,21 +15420,21 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_db_instance_identifier(var_625); + builder = builder.set_db_instance_identifier(var_627); } , s if s.matches("RestoreWindow") /* RestoreWindow com.amazonaws.rds#DBInstanceAutomatedBackup$RestoreWindow */ => { - let var_626 = + let var_628 = Some( crate::xml_deser::deser_structure_restore_window(&mut tag) ? ) ; - builder = builder.set_restore_window(var_626); + builder = builder.set_restore_window(var_628); } , s if s.matches("AllocatedStorage") /* AllocatedStorage com.amazonaws.rds#DBInstanceAutomatedBackup$AllocatedStorage */ => { - let var_627 = + let var_629 = Some( { ::parse_smithy_primitive( @@ -15417,11 +15445,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_allocated_storage(var_627); + builder = builder.set_allocated_storage(var_629); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBInstanceAutomatedBackup$Status */ => { - let var_628 = + let var_630 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15430,11 +15458,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_status(var_628); + builder = builder.set_status(var_630); } , s if s.matches("Port") /* Port com.amazonaws.rds#DBInstanceAutomatedBackup$Port */ => { - let var_629 = + let var_631 = Some( { ::parse_smithy_primitive( @@ -15445,11 +15473,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_port(var_629); + builder = builder.set_port(var_631); } , s if s.matches("AvailabilityZone") /* AvailabilityZone com.amazonaws.rds#DBInstanceAutomatedBackup$AvailabilityZone */ => { - let var_630 = + let var_632 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15458,11 +15486,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_availability_zone(var_630); + builder = builder.set_availability_zone(var_632); } , s if s.matches("VpcId") /* VpcId com.amazonaws.rds#DBInstanceAutomatedBackup$VpcId */ => { - let var_631 = + let var_633 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15471,11 +15499,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_vpc_id(var_631); + builder = builder.set_vpc_id(var_633); } , s if s.matches("InstanceCreateTime") /* InstanceCreateTime com.amazonaws.rds#DBInstanceAutomatedBackup$InstanceCreateTime */ => { - let var_632 = + let var_634 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15485,11 +15513,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_instance_create_time(var_632); + builder = builder.set_instance_create_time(var_634); } , s if s.matches("MasterUsername") /* MasterUsername com.amazonaws.rds#DBInstanceAutomatedBackup$MasterUsername */ => { - let var_633 = + let var_635 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15498,11 +15526,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_master_username(var_633); + builder = builder.set_master_username(var_635); } , s if s.matches("Engine") /* Engine com.amazonaws.rds#DBInstanceAutomatedBackup$Engine */ => { - let var_634 = + let var_636 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15511,11 +15539,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_engine(var_634); + builder = builder.set_engine(var_636); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#DBInstanceAutomatedBackup$EngineVersion */ => { - let var_635 = + let var_637 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15524,11 +15552,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_engine_version(var_635); + builder = builder.set_engine_version(var_637); } , s if s.matches("LicenseModel") /* LicenseModel com.amazonaws.rds#DBInstanceAutomatedBackup$LicenseModel */ => { - let var_636 = + let var_638 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15537,11 +15565,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_license_model(var_636); + builder = builder.set_license_model(var_638); } , s if s.matches("Iops") /* Iops com.amazonaws.rds#DBInstanceAutomatedBackup$Iops */ => { - let var_637 = + let var_639 = Some( { ::parse_smithy_primitive( @@ -15552,11 +15580,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_iops(var_637); + builder = builder.set_iops(var_639); } , s if s.matches("OptionGroupName") /* OptionGroupName com.amazonaws.rds#DBInstanceAutomatedBackup$OptionGroupName */ => { - let var_638 = + let var_640 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15565,11 +15593,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_option_group_name(var_638); + builder = builder.set_option_group_name(var_640); } , s if s.matches("TdeCredentialArn") /* TdeCredentialArn com.amazonaws.rds#DBInstanceAutomatedBackup$TdeCredentialArn */ => { - let var_639 = + let var_641 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15578,11 +15606,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_tde_credential_arn(var_639); + builder = builder.set_tde_credential_arn(var_641); } , s if s.matches("Encrypted") /* Encrypted com.amazonaws.rds#DBInstanceAutomatedBackup$Encrypted */ => { - let var_640 = + let var_642 = Some( { ::parse_smithy_primitive( @@ -15593,11 +15621,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_encrypted(var_640); + builder = builder.set_encrypted(var_642); } , s if s.matches("StorageType") /* StorageType com.amazonaws.rds#DBInstanceAutomatedBackup$StorageType */ => { - let var_641 = + let var_643 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15606,11 +15634,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_storage_type(var_641); + builder = builder.set_storage_type(var_643); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.rds#DBInstanceAutomatedBackup$KmsKeyId */ => { - let var_642 = + let var_644 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15619,11 +15647,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_kms_key_id(var_642); + builder = builder.set_kms_key_id(var_644); } , s if s.matches("Timezone") /* Timezone com.amazonaws.rds#DBInstanceAutomatedBackup$Timezone */ => { - let var_643 = + let var_645 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15632,11 +15660,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_timezone(var_643); + builder = builder.set_timezone(var_645); } , s if s.matches("IAMDatabaseAuthenticationEnabled") /* IAMDatabaseAuthenticationEnabled com.amazonaws.rds#DBInstanceAutomatedBackup$IAMDatabaseAuthenticationEnabled */ => { - let var_644 = + let var_646 = Some( { ::parse_smithy_primitive( @@ -15647,11 +15675,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_iam_database_authentication_enabled(var_644); + builder = builder.set_iam_database_authentication_enabled(var_646); } , s if s.matches("BackupRetentionPeriod") /* BackupRetentionPeriod com.amazonaws.rds#DBInstanceAutomatedBackup$BackupRetentionPeriod */ => { - let var_645 = + let var_647 = Some( { ::parse_smithy_primitive( @@ -15662,11 +15690,11 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_backup_retention_period(var_645); + builder = builder.set_backup_retention_period(var_647); } , s if s.matches("DBInstanceAutomatedBackupsArn") /* DBInstanceAutomatedBackupsArn com.amazonaws.rds#DBInstanceAutomatedBackup$DBInstanceAutomatedBackupsArn */ => { - let var_646 = + let var_648 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15675,17 +15703,17 @@ pub fn deser_structure_db_instance_automated_backup( ? ) ; - builder = builder.set_db_instance_automated_backups_arn(var_646); + builder = builder.set_db_instance_automated_backups_arn(var_648); } , s if s.matches("DBInstanceAutomatedBackupsReplications") /* DBInstanceAutomatedBackupsReplications com.amazonaws.rds#DBInstanceAutomatedBackup$DBInstanceAutomatedBackupsReplications */ => { - let var_647 = + let var_649 = Some( crate::xml_deser::deser_list_db_instance_automated_backups_replication_list(&mut tag) ? ) ; - builder = builder.set_db_instance_automated_backups_replications(var_647); + builder = builder.set_db_instance_automated_backups_replications(var_649); } , _ => {} @@ -15702,7 +15730,7 @@ pub fn deser_structure_installation_media_failure_cause( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Message") /* Message com.amazonaws.rds#InstallationMediaFailureCause$Message */ => { - let var_648 = + let var_650 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15711,7 +15739,7 @@ pub fn deser_structure_installation_media_failure_cause( ? ) ; - builder = builder.set_message(var_648); + builder = builder.set_message(var_650); } , _ => {} @@ -15880,7 +15908,7 @@ pub fn deser_structure_db_cluster_snapshot_attributes_result( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBClusterSnapshotIdentifier") /* DBClusterSnapshotIdentifier com.amazonaws.rds#DBClusterSnapshotAttributesResult$DBClusterSnapshotIdentifier */ => { - let var_649 = + let var_651 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -15889,17 +15917,17 @@ pub fn deser_structure_db_cluster_snapshot_attributes_result( ? ) ; - builder = builder.set_db_cluster_snapshot_identifier(var_649); + builder = builder.set_db_cluster_snapshot_identifier(var_651); } , s if s.matches("DBClusterSnapshotAttributes") /* DBClusterSnapshotAttributes com.amazonaws.rds#DBClusterSnapshotAttributesResult$DBClusterSnapshotAttributes */ => { - let var_650 = + let var_652 = Some( crate::xml_deser::deser_list_db_cluster_snapshot_attribute_list(&mut tag) ? ) ; - builder = builder.set_db_cluster_snapshot_attributes(var_650); + builder = builder.set_db_cluster_snapshot_attributes(var_652); } , _ => {} @@ -16125,7 +16153,7 @@ pub fn deser_structure_db_snapshot_attributes_result( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBSnapshotIdentifier") /* DBSnapshotIdentifier com.amazonaws.rds#DBSnapshotAttributesResult$DBSnapshotIdentifier */ => { - let var_651 = + let var_653 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16134,17 +16162,17 @@ pub fn deser_structure_db_snapshot_attributes_result( ? ) ; - builder = builder.set_db_snapshot_identifier(var_651); + builder = builder.set_db_snapshot_identifier(var_653); } , s if s.matches("DBSnapshotAttributes") /* DBSnapshotAttributes com.amazonaws.rds#DBSnapshotAttributesResult$DBSnapshotAttributes */ => { - let var_652 = + let var_654 = Some( crate::xml_deser::deser_list_db_snapshot_attribute_list(&mut tag) ? ) ; - builder = builder.set_db_snapshot_attributes(var_652); + builder = builder.set_db_snapshot_attributes(var_654); } , _ => {} @@ -16199,7 +16227,7 @@ pub fn deser_structure_engine_defaults( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBParameterGroupFamily") /* DBParameterGroupFamily com.amazonaws.rds#EngineDefaults$DBParameterGroupFamily */ => { - let var_653 = + let var_655 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16208,11 +16236,11 @@ pub fn deser_structure_engine_defaults( ? ) ; - builder = builder.set_db_parameter_group_family(var_653); + builder = builder.set_db_parameter_group_family(var_655); } , s if s.matches("Marker") /* Marker com.amazonaws.rds#EngineDefaults$Marker */ => { - let var_654 = + let var_656 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16221,17 +16249,17 @@ pub fn deser_structure_engine_defaults( ? ) ; - builder = builder.set_marker(var_654); + builder = builder.set_marker(var_656); } , s if s.matches("Parameters") /* Parameters com.amazonaws.rds#EngineDefaults$Parameters */ => { - let var_655 = + let var_657 = Some( crate::xml_deser::deser_list_parameters_list(&mut tag) ? ) ; - builder = builder.set_parameters(var_655); + builder = builder.set_parameters(var_657); } , _ => {} @@ -16499,23 +16527,23 @@ pub fn deser_structure_valid_db_instance_modifications_message( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Storage") /* Storage com.amazonaws.rds#ValidDBInstanceModificationsMessage$Storage */ => { - let var_656 = + let var_658 = Some( crate::xml_deser::deser_list_valid_storage_options_list(&mut tag) ? ) ; - builder = builder.set_storage(var_656); + builder = builder.set_storage(var_658); } , s if s.matches("ValidProcessorFeatures") /* ValidProcessorFeatures com.amazonaws.rds#ValidDBInstanceModificationsMessage$ValidProcessorFeatures */ => { - let var_657 = + let var_659 = Some( crate::xml_deser::deser_list_available_processor_feature_list(&mut tag) ? ) ; - builder = builder.set_valid_processor_features(var_657); + builder = builder.set_valid_processor_features(var_659); } , _ => {} @@ -16551,7 +16579,7 @@ pub fn deser_structure_certificate( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CertificateIdentifier") /* CertificateIdentifier com.amazonaws.rds#Certificate$CertificateIdentifier */ => { - let var_658 = + let var_660 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16560,11 +16588,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_certificate_identifier(var_658); + builder = builder.set_certificate_identifier(var_660); } , s if s.matches("CertificateType") /* CertificateType com.amazonaws.rds#Certificate$CertificateType */ => { - let var_659 = + let var_661 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16573,11 +16601,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_certificate_type(var_659); + builder = builder.set_certificate_type(var_661); } , s if s.matches("Thumbprint") /* Thumbprint com.amazonaws.rds#Certificate$Thumbprint */ => { - let var_660 = + let var_662 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16586,11 +16614,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_thumbprint(var_660); + builder = builder.set_thumbprint(var_662); } , s if s.matches("ValidFrom") /* ValidFrom com.amazonaws.rds#Certificate$ValidFrom */ => { - let var_661 = + let var_663 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16600,11 +16628,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_valid_from(var_661); + builder = builder.set_valid_from(var_663); } , s if s.matches("ValidTill") /* ValidTill com.amazonaws.rds#Certificate$ValidTill */ => { - let var_662 = + let var_664 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16614,11 +16642,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_valid_till(var_662); + builder = builder.set_valid_till(var_664); } , s if s.matches("CertificateArn") /* CertificateArn com.amazonaws.rds#Certificate$CertificateArn */ => { - let var_663 = + let var_665 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16627,11 +16655,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_certificate_arn(var_663); + builder = builder.set_certificate_arn(var_665); } , s if s.matches("CustomerOverride") /* CustomerOverride com.amazonaws.rds#Certificate$CustomerOverride */ => { - let var_664 = + let var_666 = Some( { ::parse_smithy_primitive( @@ -16642,11 +16670,11 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_customer_override(var_664); + builder = builder.set_customer_override(var_666); } , s if s.matches("CustomerOverrideValidTill") /* CustomerOverrideValidTill com.amazonaws.rds#Certificate$CustomerOverrideValidTill */ => { - let var_665 = + let var_667 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16656,7 +16684,7 @@ pub fn deser_structure_certificate( ? ) ; - builder = builder.set_customer_override_valid_till(var_665); + builder = builder.set_customer_override_valid_till(var_667); } , _ => {} @@ -16673,7 +16701,7 @@ pub fn deser_structure_db_proxy_target_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBProxyName") /* DBProxyName com.amazonaws.rds#DBProxyTargetGroup$DBProxyName */ => { - let var_666 = + let var_668 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16682,11 +16710,11 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_db_proxy_name(var_666); + builder = builder.set_db_proxy_name(var_668); } , s if s.matches("TargetGroupName") /* TargetGroupName com.amazonaws.rds#DBProxyTargetGroup$TargetGroupName */ => { - let var_667 = + let var_669 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16695,11 +16723,11 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_target_group_name(var_667); + builder = builder.set_target_group_name(var_669); } , s if s.matches("TargetGroupArn") /* TargetGroupArn com.amazonaws.rds#DBProxyTargetGroup$TargetGroupArn */ => { - let var_668 = + let var_670 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16708,11 +16736,11 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_target_group_arn(var_668); + builder = builder.set_target_group_arn(var_670); } , s if s.matches("IsDefault") /* IsDefault com.amazonaws.rds#DBProxyTargetGroup$IsDefault */ => { - let var_669 = + let var_671 = Some( { ::parse_smithy_primitive( @@ -16723,11 +16751,11 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_is_default(var_669); + builder = builder.set_is_default(var_671); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBProxyTargetGroup$Status */ => { - let var_670 = + let var_672 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16736,21 +16764,21 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_status(var_670); + builder = builder.set_status(var_672); } , s if s.matches("ConnectionPoolConfig") /* ConnectionPoolConfig com.amazonaws.rds#DBProxyTargetGroup$ConnectionPoolConfig */ => { - let var_671 = + let var_673 = Some( crate::xml_deser::deser_structure_connection_pool_configuration_info(&mut tag) ? ) ; - builder = builder.set_connection_pool_config(var_671); + builder = builder.set_connection_pool_config(var_673); } , s if s.matches("CreatedDate") /* CreatedDate com.amazonaws.rds#DBProxyTargetGroup$CreatedDate */ => { - let var_672 = + let var_674 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16760,11 +16788,11 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_created_date(var_672); + builder = builder.set_created_date(var_674); } , s if s.matches("UpdatedDate") /* UpdatedDate com.amazonaws.rds#DBProxyTargetGroup$UpdatedDate */ => { - let var_673 = + let var_675 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16774,7 +16802,7 @@ pub fn deser_structure_db_proxy_target_group( ? ) ; - builder = builder.set_updated_date(var_673); + builder = builder.set_updated_date(var_675); } , _ => {} @@ -16791,7 +16819,7 @@ pub fn deser_structure_reserved_db_instance( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReservedDBInstanceId") /* ReservedDBInstanceId com.amazonaws.rds#ReservedDBInstance$ReservedDBInstanceId */ => { - let var_674 = + let var_676 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16800,11 +16828,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_reserved_db_instance_id(var_674); + builder = builder.set_reserved_db_instance_id(var_676); } , s if s.matches("ReservedDBInstancesOfferingId") /* ReservedDBInstancesOfferingId com.amazonaws.rds#ReservedDBInstance$ReservedDBInstancesOfferingId */ => { - let var_675 = + let var_677 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16813,11 +16841,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_reserved_db_instances_offering_id(var_675); + builder = builder.set_reserved_db_instances_offering_id(var_677); } , s if s.matches("DBInstanceClass") /* DBInstanceClass com.amazonaws.rds#ReservedDBInstance$DBInstanceClass */ => { - let var_676 = + let var_678 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16826,11 +16854,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_db_instance_class(var_676); + builder = builder.set_db_instance_class(var_678); } , s if s.matches("StartTime") /* StartTime com.amazonaws.rds#ReservedDBInstance$StartTime */ => { - let var_677 = + let var_679 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16840,11 +16868,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_start_time(var_677); + builder = builder.set_start_time(var_679); } , s if s.matches("Duration") /* Duration com.amazonaws.rds#ReservedDBInstance$Duration */ => { - let var_678 = + let var_680 = Some( { ::parse_smithy_primitive( @@ -16855,11 +16883,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_duration(var_678); + builder = builder.set_duration(var_680); } , s if s.matches("FixedPrice") /* FixedPrice com.amazonaws.rds#ReservedDBInstance$FixedPrice */ => { - let var_679 = + let var_681 = Some( { ::parse_smithy_primitive( @@ -16870,11 +16898,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_fixed_price(var_679); + builder = builder.set_fixed_price(var_681); } , s if s.matches("UsagePrice") /* UsagePrice com.amazonaws.rds#ReservedDBInstance$UsagePrice */ => { - let var_680 = + let var_682 = Some( { ::parse_smithy_primitive( @@ -16885,11 +16913,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_usage_price(var_680); + builder = builder.set_usage_price(var_682); } , s if s.matches("CurrencyCode") /* CurrencyCode com.amazonaws.rds#ReservedDBInstance$CurrencyCode */ => { - let var_681 = + let var_683 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16898,11 +16926,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_currency_code(var_681); + builder = builder.set_currency_code(var_683); } , s if s.matches("DBInstanceCount") /* DBInstanceCount com.amazonaws.rds#ReservedDBInstance$DBInstanceCount */ => { - let var_682 = + let var_684 = Some( { ::parse_smithy_primitive( @@ -16913,11 +16941,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_db_instance_count(var_682); + builder = builder.set_db_instance_count(var_684); } , s if s.matches("ProductDescription") /* ProductDescription com.amazonaws.rds#ReservedDBInstance$ProductDescription */ => { - let var_683 = + let var_685 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16926,11 +16954,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_product_description(var_683); + builder = builder.set_product_description(var_685); } , s if s.matches("OfferingType") /* OfferingType com.amazonaws.rds#ReservedDBInstance$OfferingType */ => { - let var_684 = + let var_686 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16939,11 +16967,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_offering_type(var_684); + builder = builder.set_offering_type(var_686); } , s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.rds#ReservedDBInstance$MultiAZ */ => { - let var_685 = + let var_687 = Some( { ::parse_smithy_primitive( @@ -16954,11 +16982,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_multi_az(var_685); + builder = builder.set_multi_az(var_687); } , s if s.matches("State") /* State com.amazonaws.rds#ReservedDBInstance$State */ => { - let var_686 = + let var_688 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16967,21 +16995,21 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_state(var_686); + builder = builder.set_state(var_688); } , s if s.matches("RecurringCharges") /* RecurringCharges com.amazonaws.rds#ReservedDBInstance$RecurringCharges */ => { - let var_687 = + let var_689 = Some( crate::xml_deser::deser_list_recurring_charge_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_687); + builder = builder.set_recurring_charges(var_689); } , s if s.matches("ReservedDBInstanceArn") /* ReservedDBInstanceArn com.amazonaws.rds#ReservedDBInstance$ReservedDBInstanceArn */ => { - let var_688 = + let var_690 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -16990,11 +17018,11 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_reserved_db_instance_arn(var_688); + builder = builder.set_reserved_db_instance_arn(var_690); } , s if s.matches("LeaseId") /* LeaseId com.amazonaws.rds#ReservedDBInstance$LeaseId */ => { - let var_689 = + let var_691 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17003,7 +17031,7 @@ pub fn deser_structure_reserved_db_instance( ? ) ; - builder = builder.set_lease_id(var_689); + builder = builder.set_lease_id(var_691); } , _ => {} @@ -17181,7 +17209,7 @@ pub fn deser_structure_vpn_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("VpnId") /* VpnId com.amazonaws.rds#VpnDetails$VpnId */ => { - let var_690 = + let var_692 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17190,11 +17218,11 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_id(var_690); + builder = builder.set_vpn_id(var_692); } , s if s.matches("VpnTunnelOriginatorIP") /* VpnTunnelOriginatorIP com.amazonaws.rds#VpnDetails$VpnTunnelOriginatorIP */ => { - let var_691 = + let var_693 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17203,11 +17231,11 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_tunnel_originator_ip(var_691); + builder = builder.set_vpn_tunnel_originator_ip(var_693); } , s if s.matches("VpnGatewayIp") /* VpnGatewayIp com.amazonaws.rds#VpnDetails$VpnGatewayIp */ => { - let var_692 = + let var_694 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17216,11 +17244,11 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_gateway_ip(var_692); + builder = builder.set_vpn_gateway_ip(var_694); } , s if s.matches("VpnPSK") /* VpnPSK com.amazonaws.rds#VpnDetails$VpnPSK */ => { - let var_693 = + let var_695 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17229,11 +17257,11 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_psk(var_693); + builder = builder.set_vpn_psk(var_695); } , s if s.matches("VpnName") /* VpnName com.amazonaws.rds#VpnDetails$VpnName */ => { - let var_694 = + let var_696 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17242,11 +17270,11 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_name(var_694); + builder = builder.set_vpn_name(var_696); } , s if s.matches("VpnState") /* VpnState com.amazonaws.rds#VpnDetails$VpnState */ => { - let var_695 = + let var_697 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17255,7 +17283,7 @@ pub fn deser_structure_vpn_details( ? ) ; - builder = builder.set_vpn_state(var_695); + builder = builder.set_vpn_state(var_697); } , _ => {} @@ -17392,7 +17420,7 @@ pub fn deser_structure_scaling_configuration_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("MinCapacity") /* MinCapacity com.amazonaws.rds#ScalingConfigurationInfo$MinCapacity */ => { - let var_696 = + let var_698 = Some( { ::parse_smithy_primitive( @@ -17403,11 +17431,11 @@ pub fn deser_structure_scaling_configuration_info( ? ) ; - builder = builder.set_min_capacity(var_696); + builder = builder.set_min_capacity(var_698); } , s if s.matches("MaxCapacity") /* MaxCapacity com.amazonaws.rds#ScalingConfigurationInfo$MaxCapacity */ => { - let var_697 = + let var_699 = Some( { ::parse_smithy_primitive( @@ -17418,11 +17446,11 @@ pub fn deser_structure_scaling_configuration_info( ? ) ; - builder = builder.set_max_capacity(var_697); + builder = builder.set_max_capacity(var_699); } , s if s.matches("AutoPause") /* AutoPause com.amazonaws.rds#ScalingConfigurationInfo$AutoPause */ => { - let var_698 = + let var_700 = Some( { ::parse_smithy_primitive( @@ -17433,11 +17461,11 @@ pub fn deser_structure_scaling_configuration_info( ? ) ; - builder = builder.set_auto_pause(var_698); + builder = builder.set_auto_pause(var_700); } , s if s.matches("SecondsUntilAutoPause") /* SecondsUntilAutoPause com.amazonaws.rds#ScalingConfigurationInfo$SecondsUntilAutoPause */ => { - let var_699 = + let var_701 = Some( { ::parse_smithy_primitive( @@ -17448,11 +17476,11 @@ pub fn deser_structure_scaling_configuration_info( ? ) ; - builder = builder.set_seconds_until_auto_pause(var_699); + builder = builder.set_seconds_until_auto_pause(var_701); } , s if s.matches("TimeoutAction") /* TimeoutAction com.amazonaws.rds#ScalingConfigurationInfo$TimeoutAction */ => { - let var_700 = + let var_702 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17461,7 +17489,7 @@ pub fn deser_structure_scaling_configuration_info( ? ) ; - builder = builder.set_timeout_action(var_700); + builder = builder.set_timeout_action(var_702); } , _ => {} @@ -17497,17 +17525,17 @@ pub fn deser_structure_cluster_pending_modified_values( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("PendingCloudwatchLogsExports") /* PendingCloudwatchLogsExports com.amazonaws.rds#ClusterPendingModifiedValues$PendingCloudwatchLogsExports */ => { - let var_701 = + let var_703 = Some( crate::xml_deser::deser_structure_pending_cloudwatch_logs_exports(&mut tag) ? ) ; - builder = builder.set_pending_cloudwatch_logs_exports(var_701); + builder = builder.set_pending_cloudwatch_logs_exports(var_703); } , s if s.matches("DBClusterIdentifier") /* DBClusterIdentifier com.amazonaws.rds#ClusterPendingModifiedValues$DBClusterIdentifier */ => { - let var_702 = + let var_704 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17516,11 +17544,11 @@ pub fn deser_structure_cluster_pending_modified_values( ? ) ; - builder = builder.set_db_cluster_identifier(var_702); + builder = builder.set_db_cluster_identifier(var_704); } , s if s.matches("MasterUserPassword") /* MasterUserPassword com.amazonaws.rds#ClusterPendingModifiedValues$MasterUserPassword */ => { - let var_703 = + let var_705 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17529,11 +17557,11 @@ pub fn deser_structure_cluster_pending_modified_values( ? ) ; - builder = builder.set_master_user_password(var_703); + builder = builder.set_master_user_password(var_705); } , s if s.matches("IAMDatabaseAuthenticationEnabled") /* IAMDatabaseAuthenticationEnabled com.amazonaws.rds#ClusterPendingModifiedValues$IAMDatabaseAuthenticationEnabled */ => { - let var_704 = + let var_706 = Some( { ::parse_smithy_primitive( @@ -17544,11 +17572,11 @@ pub fn deser_structure_cluster_pending_modified_values( ? ) ; - builder = builder.set_iam_database_authentication_enabled(var_704); + builder = builder.set_iam_database_authentication_enabled(var_706); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#ClusterPendingModifiedValues$EngineVersion */ => { - let var_705 = + let var_707 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17557,7 +17585,7 @@ pub fn deser_structure_cluster_pending_modified_values( ? ) ; - builder = builder.set_engine_version(var_705); + builder = builder.set_engine_version(var_707); } , _ => {} @@ -17574,7 +17602,7 @@ pub fn deser_structure_endpoint( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Address") /* Address com.amazonaws.rds#Endpoint$Address */ => { - let var_706 = + let var_708 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17583,11 +17611,11 @@ pub fn deser_structure_endpoint( ? ) ; - builder = builder.set_address(var_706); + builder = builder.set_address(var_708); } , s if s.matches("Port") /* Port com.amazonaws.rds#Endpoint$Port */ => { - let var_707 = + let var_709 = Some( { ::parse_smithy_primitive( @@ -17598,11 +17626,11 @@ pub fn deser_structure_endpoint( ? ) ; - builder = builder.set_port(var_707); + builder = builder.set_port(var_709); } , s if s.matches("HostedZoneId") /* HostedZoneId com.amazonaws.rds#Endpoint$HostedZoneId */ => { - let var_708 = + let var_710 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17611,7 +17639,7 @@ pub fn deser_structure_endpoint( ? ) ; - builder = builder.set_hosted_zone_id(var_708); + builder = builder.set_hosted_zone_id(var_710); } , _ => {} @@ -17666,7 +17694,7 @@ pub fn deser_structure_pending_modified_values( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBInstanceClass") /* DBInstanceClass com.amazonaws.rds#PendingModifiedValues$DBInstanceClass */ => { - let var_709 = + let var_711 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17675,11 +17703,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_db_instance_class(var_709); + builder = builder.set_db_instance_class(var_711); } , s if s.matches("AllocatedStorage") /* AllocatedStorage com.amazonaws.rds#PendingModifiedValues$AllocatedStorage */ => { - let var_710 = + let var_712 = Some( { ::parse_smithy_primitive( @@ -17690,11 +17718,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_allocated_storage(var_710); + builder = builder.set_allocated_storage(var_712); } , s if s.matches("MasterUserPassword") /* MasterUserPassword com.amazonaws.rds#PendingModifiedValues$MasterUserPassword */ => { - let var_711 = + let var_713 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17703,11 +17731,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_master_user_password(var_711); + builder = builder.set_master_user_password(var_713); } , s if s.matches("Port") /* Port com.amazonaws.rds#PendingModifiedValues$Port */ => { - let var_712 = + let var_714 = Some( { ::parse_smithy_primitive( @@ -17718,11 +17746,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_port(var_712); + builder = builder.set_port(var_714); } , s if s.matches("BackupRetentionPeriod") /* BackupRetentionPeriod com.amazonaws.rds#PendingModifiedValues$BackupRetentionPeriod */ => { - let var_713 = + let var_715 = Some( { ::parse_smithy_primitive( @@ -17733,11 +17761,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_backup_retention_period(var_713); + builder = builder.set_backup_retention_period(var_715); } , s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.rds#PendingModifiedValues$MultiAZ */ => { - let var_714 = + let var_716 = Some( { ::parse_smithy_primitive( @@ -17748,11 +17776,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_multi_az(var_714); + builder = builder.set_multi_az(var_716); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#PendingModifiedValues$EngineVersion */ => { - let var_715 = + let var_717 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17761,11 +17789,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_engine_version(var_715); + builder = builder.set_engine_version(var_717); } , s if s.matches("LicenseModel") /* LicenseModel com.amazonaws.rds#PendingModifiedValues$LicenseModel */ => { - let var_716 = + let var_718 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17774,11 +17802,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_license_model(var_716); + builder = builder.set_license_model(var_718); } , s if s.matches("Iops") /* Iops com.amazonaws.rds#PendingModifiedValues$Iops */ => { - let var_717 = + let var_719 = Some( { ::parse_smithy_primitive( @@ -17789,11 +17817,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_iops(var_717); + builder = builder.set_iops(var_719); } , s if s.matches("DBInstanceIdentifier") /* DBInstanceIdentifier com.amazonaws.rds#PendingModifiedValues$DBInstanceIdentifier */ => { - let var_718 = + let var_720 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17802,11 +17830,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_db_instance_identifier(var_718); + builder = builder.set_db_instance_identifier(var_720); } , s if s.matches("StorageType") /* StorageType com.amazonaws.rds#PendingModifiedValues$StorageType */ => { - let var_719 = + let var_721 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17815,11 +17843,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_storage_type(var_719); + builder = builder.set_storage_type(var_721); } , s if s.matches("CACertificateIdentifier") /* CACertificateIdentifier com.amazonaws.rds#PendingModifiedValues$CACertificateIdentifier */ => { - let var_720 = + let var_722 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17828,11 +17856,11 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_ca_certificate_identifier(var_720); + builder = builder.set_ca_certificate_identifier(var_722); } , s if s.matches("DBSubnetGroupName") /* DBSubnetGroupName com.amazonaws.rds#PendingModifiedValues$DBSubnetGroupName */ => { - let var_721 = + let var_723 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -17841,31 +17869,31 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_db_subnet_group_name(var_721); + builder = builder.set_db_subnet_group_name(var_723); } , s if s.matches("PendingCloudwatchLogsExports") /* PendingCloudwatchLogsExports com.amazonaws.rds#PendingModifiedValues$PendingCloudwatchLogsExports */ => { - let var_722 = + let var_724 = Some( crate::xml_deser::deser_structure_pending_cloudwatch_logs_exports(&mut tag) ? ) ; - builder = builder.set_pending_cloudwatch_logs_exports(var_722); + builder = builder.set_pending_cloudwatch_logs_exports(var_724); } , s if s.matches("ProcessorFeatures") /* ProcessorFeatures com.amazonaws.rds#PendingModifiedValues$ProcessorFeatures */ => { - let var_723 = + let var_725 = Some( crate::xml_deser::deser_list_processor_feature_list(&mut tag) ? ) ; - builder = builder.set_processor_features(var_723); + builder = builder.set_processor_features(var_725); } , s if s.matches("IAMDatabaseAuthenticationEnabled") /* IAMDatabaseAuthenticationEnabled com.amazonaws.rds#PendingModifiedValues$IAMDatabaseAuthenticationEnabled */ => { - let var_724 = + let var_726 = Some( { ::parse_smithy_primitive( @@ -17876,7 +17904,7 @@ pub fn deser_structure_pending_modified_values( ? ) ; - builder = builder.set_iam_database_authentication_enabled(var_724); + builder = builder.set_iam_database_authentication_enabled(var_726); } , _ => {} @@ -18073,7 +18101,7 @@ pub fn deser_structure_failover_state( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.rds#FailoverState$Status */ => { - let var_725 = + let var_727 = Some( Result::::Ok( crate::model::FailoverStatus::from( @@ -18083,11 +18111,11 @@ pub fn deser_structure_failover_state( ? ) ; - builder = builder.set_status(var_725); + builder = builder.set_status(var_727); } , s if s.matches("FromDbClusterArn") /* FromDbClusterArn com.amazonaws.rds#FailoverState$FromDbClusterArn */ => { - let var_726 = + let var_728 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18096,11 +18124,11 @@ pub fn deser_structure_failover_state( ? ) ; - builder = builder.set_from_db_cluster_arn(var_726); + builder = builder.set_from_db_cluster_arn(var_728); } , s if s.matches("ToDbClusterArn") /* ToDbClusterArn com.amazonaws.rds#FailoverState$ToDbClusterArn */ => { - let var_727 = + let var_729 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18109,7 +18137,7 @@ pub fn deser_structure_failover_state( ? ) ; - builder = builder.set_to_db_cluster_arn(var_727); + builder = builder.set_to_db_cluster_arn(var_729); } , _ => {} @@ -18126,7 +18154,7 @@ pub fn deser_structure_restore_window( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("EarliestTime") /* EarliestTime com.amazonaws.rds#RestoreWindow$EarliestTime */ => { - let var_728 = + let var_730 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18136,11 +18164,11 @@ pub fn deser_structure_restore_window( ? ) ; - builder = builder.set_earliest_time(var_728); + builder = builder.set_earliest_time(var_730); } , s if s.matches("LatestTime") /* LatestTime com.amazonaws.rds#RestoreWindow$LatestTime */ => { - let var_729 = + let var_731 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18150,7 +18178,7 @@ pub fn deser_structure_restore_window( ? ) ; - builder = builder.set_latest_time(var_729); + builder = builder.set_latest_time(var_731); } , _ => {} @@ -18167,7 +18195,7 @@ pub fn deser_structure_account_quota( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AccountQuotaName") /* AccountQuotaName com.amazonaws.rds#AccountQuota$AccountQuotaName */ => { - let var_730 = + let var_732 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18176,11 +18204,11 @@ pub fn deser_structure_account_quota( ? ) ; - builder = builder.set_account_quota_name(var_730); + builder = builder.set_account_quota_name(var_732); } , s if s.matches("Used") /* Used com.amazonaws.rds#AccountQuota$Used */ => { - let var_731 = + let var_733 = Some( { ::parse_smithy_primitive( @@ -18191,11 +18219,11 @@ pub fn deser_structure_account_quota( ? ) ; - builder = builder.set_used(var_731); + builder = builder.set_used(var_733); } , s if s.matches("Max") /* Max com.amazonaws.rds#AccountQuota$Max */ => { - let var_732 = + let var_734 = Some( { ::parse_smithy_primitive( @@ -18206,7 +18234,7 @@ pub fn deser_structure_account_quota( ? ) ; - builder = builder.set_max(var_732); + builder = builder.set_max(var_734); } , _ => {} @@ -18223,7 +18251,7 @@ pub fn deser_structure_db_cluster_backtrack( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBClusterIdentifier") /* DBClusterIdentifier com.amazonaws.rds#DBClusterBacktrack$DBClusterIdentifier */ => { - let var_733 = + let var_735 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18232,11 +18260,11 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_db_cluster_identifier(var_733); + builder = builder.set_db_cluster_identifier(var_735); } , s if s.matches("BacktrackIdentifier") /* BacktrackIdentifier com.amazonaws.rds#DBClusterBacktrack$BacktrackIdentifier */ => { - let var_734 = + let var_736 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18245,11 +18273,11 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_backtrack_identifier(var_734); + builder = builder.set_backtrack_identifier(var_736); } , s if s.matches("BacktrackTo") /* BacktrackTo com.amazonaws.rds#DBClusterBacktrack$BacktrackTo */ => { - let var_735 = + let var_737 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18259,11 +18287,11 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_backtrack_to(var_735); + builder = builder.set_backtrack_to(var_737); } , s if s.matches("BacktrackedFrom") /* BacktrackedFrom com.amazonaws.rds#DBClusterBacktrack$BacktrackedFrom */ => { - let var_736 = + let var_738 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18273,11 +18301,11 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_backtracked_from(var_736); + builder = builder.set_backtracked_from(var_738); } , s if s.matches("BacktrackRequestCreationTime") /* BacktrackRequestCreationTime com.amazonaws.rds#DBClusterBacktrack$BacktrackRequestCreationTime */ => { - let var_737 = + let var_739 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18287,11 +18315,11 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_backtrack_request_creation_time(var_737); + builder = builder.set_backtrack_request_creation_time(var_739); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBClusterBacktrack$Status */ => { - let var_738 = + let var_740 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18300,7 +18328,7 @@ pub fn deser_structure_db_cluster_backtrack( ? ) ; - builder = builder.set_status(var_738); + builder = builder.set_status(var_740); } , _ => {} @@ -18317,7 +18345,7 @@ pub fn deser_structure_db_cluster_endpoint( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBClusterEndpointIdentifier") /* DBClusterEndpointIdentifier com.amazonaws.rds#DBClusterEndpoint$DBClusterEndpointIdentifier */ => { - let var_739 = + let var_741 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18326,11 +18354,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_db_cluster_endpoint_identifier(var_739); + builder = builder.set_db_cluster_endpoint_identifier(var_741); } , s if s.matches("DBClusterIdentifier") /* DBClusterIdentifier com.amazonaws.rds#DBClusterEndpoint$DBClusterIdentifier */ => { - let var_740 = + let var_742 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18339,11 +18367,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_db_cluster_identifier(var_740); + builder = builder.set_db_cluster_identifier(var_742); } , s if s.matches("DBClusterEndpointResourceIdentifier") /* DBClusterEndpointResourceIdentifier com.amazonaws.rds#DBClusterEndpoint$DBClusterEndpointResourceIdentifier */ => { - let var_741 = + let var_743 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18352,11 +18380,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_db_cluster_endpoint_resource_identifier(var_741); + builder = builder.set_db_cluster_endpoint_resource_identifier(var_743); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBClusterEndpoint$Endpoint */ => { - let var_742 = + let var_744 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18365,11 +18393,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_endpoint(var_742); + builder = builder.set_endpoint(var_744); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBClusterEndpoint$Status */ => { - let var_743 = + let var_745 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18378,11 +18406,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_status(var_743); + builder = builder.set_status(var_745); } , s if s.matches("EndpointType") /* EndpointType com.amazonaws.rds#DBClusterEndpoint$EndpointType */ => { - let var_744 = + let var_746 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18391,11 +18419,11 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_endpoint_type(var_744); + builder = builder.set_endpoint_type(var_746); } , s if s.matches("CustomEndpointType") /* CustomEndpointType com.amazonaws.rds#DBClusterEndpoint$CustomEndpointType */ => { - let var_745 = + let var_747 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18404,31 +18432,31 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_custom_endpoint_type(var_745); + builder = builder.set_custom_endpoint_type(var_747); } , s if s.matches("StaticMembers") /* StaticMembers com.amazonaws.rds#DBClusterEndpoint$StaticMembers */ => { - let var_746 = + let var_748 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_static_members(var_746); + builder = builder.set_static_members(var_748); } , s if s.matches("ExcludedMembers") /* ExcludedMembers com.amazonaws.rds#DBClusterEndpoint$ExcludedMembers */ => { - let var_747 = + let var_749 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_excluded_members(var_747); + builder = builder.set_excluded_members(var_749); } , s if s.matches("DBClusterEndpointArn") /* DBClusterEndpointArn com.amazonaws.rds#DBClusterEndpoint$DBClusterEndpointArn */ => { - let var_748 = + let var_750 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18437,7 +18465,7 @@ pub fn deser_structure_db_cluster_endpoint( ? ) ; - builder = builder.set_db_cluster_endpoint_arn(var_748); + builder = builder.set_db_cluster_endpoint_arn(var_750); } , _ => {} @@ -18454,7 +18482,7 @@ pub fn deser_structure_parameter( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ParameterName") /* ParameterName com.amazonaws.rds#Parameter$ParameterName */ => { - let var_749 = + let var_751 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18463,11 +18491,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_parameter_name(var_749); + builder = builder.set_parameter_name(var_751); } , s if s.matches("ParameterValue") /* ParameterValue com.amazonaws.rds#Parameter$ParameterValue */ => { - let var_750 = + let var_752 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18476,11 +18504,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_parameter_value(var_750); + builder = builder.set_parameter_value(var_752); } , s if s.matches("Description") /* Description com.amazonaws.rds#Parameter$Description */ => { - let var_751 = + let var_753 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18489,11 +18517,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_description(var_751); + builder = builder.set_description(var_753); } , s if s.matches("Source") /* Source com.amazonaws.rds#Parameter$Source */ => { - let var_752 = + let var_754 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18502,11 +18530,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_source(var_752); + builder = builder.set_source(var_754); } , s if s.matches("ApplyType") /* ApplyType com.amazonaws.rds#Parameter$ApplyType */ => { - let var_753 = + let var_755 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18515,11 +18543,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_apply_type(var_753); + builder = builder.set_apply_type(var_755); } , s if s.matches("DataType") /* DataType com.amazonaws.rds#Parameter$DataType */ => { - let var_754 = + let var_756 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18528,11 +18556,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_data_type(var_754); + builder = builder.set_data_type(var_756); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.rds#Parameter$AllowedValues */ => { - let var_755 = + let var_757 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18541,11 +18569,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_allowed_values(var_755); + builder = builder.set_allowed_values(var_757); } , s if s.matches("IsModifiable") /* IsModifiable com.amazonaws.rds#Parameter$IsModifiable */ => { - let var_756 = + let var_758 = Some( { ::parse_smithy_primitive( @@ -18556,11 +18584,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_is_modifiable(var_756); + builder = builder.set_is_modifiable(var_758); } , s if s.matches("MinimumEngineVersion") /* MinimumEngineVersion com.amazonaws.rds#Parameter$MinimumEngineVersion */ => { - let var_757 = + let var_759 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18569,11 +18597,11 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_minimum_engine_version(var_757); + builder = builder.set_minimum_engine_version(var_759); } , s if s.matches("ApplyMethod") /* ApplyMethod com.amazonaws.rds#Parameter$ApplyMethod */ => { - let var_758 = + let var_760 = Some( Result::::Ok( crate::model::ApplyMethod::from( @@ -18583,17 +18611,17 @@ pub fn deser_structure_parameter( ? ) ; - builder = builder.set_apply_method(var_758); + builder = builder.set_apply_method(var_760); } , s if s.matches("SupportedEngineModes") /* SupportedEngineModes com.amazonaws.rds#Parameter$SupportedEngineModes */ => { - let var_759 = + let var_761 = Some( crate::xml_deser::deser_list_engine_mode_list(&mut tag) ? ) ; - builder = builder.set_supported_engine_modes(var_759); + builder = builder.set_supported_engine_modes(var_761); } , _ => {} @@ -18629,7 +18657,7 @@ pub fn deser_structure_db_engine_version( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Engine") /* Engine com.amazonaws.rds#DBEngineVersion$Engine */ => { - let var_760 = + let var_762 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18638,11 +18666,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_engine(var_760); + builder = builder.set_engine(var_762); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#DBEngineVersion$EngineVersion */ => { - let var_761 = + let var_763 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18651,11 +18679,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_engine_version(var_761); + builder = builder.set_engine_version(var_763); } , s if s.matches("DBParameterGroupFamily") /* DBParameterGroupFamily com.amazonaws.rds#DBEngineVersion$DBParameterGroupFamily */ => { - let var_762 = + let var_764 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18664,11 +18692,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_db_parameter_group_family(var_762); + builder = builder.set_db_parameter_group_family(var_764); } , s if s.matches("DBEngineDescription") /* DBEngineDescription com.amazonaws.rds#DBEngineVersion$DBEngineDescription */ => { - let var_763 = + let var_765 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18677,11 +18705,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_db_engine_description(var_763); + builder = builder.set_db_engine_description(var_765); } , s if s.matches("DBEngineVersionDescription") /* DBEngineVersionDescription com.amazonaws.rds#DBEngineVersion$DBEngineVersionDescription */ => { - let var_764 = + let var_766 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18690,71 +18718,71 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_db_engine_version_description(var_764); + builder = builder.set_db_engine_version_description(var_766); } , s if s.matches("DefaultCharacterSet") /* DefaultCharacterSet com.amazonaws.rds#DBEngineVersion$DefaultCharacterSet */ => { - let var_765 = + let var_767 = Some( crate::xml_deser::deser_structure_character_set(&mut tag) ? ) ; - builder = builder.set_default_character_set(var_765); + builder = builder.set_default_character_set(var_767); } , s if s.matches("SupportedCharacterSets") /* SupportedCharacterSets com.amazonaws.rds#DBEngineVersion$SupportedCharacterSets */ => { - let var_766 = + let var_768 = Some( crate::xml_deser::deser_list_supported_character_sets_list(&mut tag) ? ) ; - builder = builder.set_supported_character_sets(var_766); + builder = builder.set_supported_character_sets(var_768); } , s if s.matches("SupportedNcharCharacterSets") /* SupportedNcharCharacterSets com.amazonaws.rds#DBEngineVersion$SupportedNcharCharacterSets */ => { - let var_767 = + let var_769 = Some( crate::xml_deser::deser_list_supported_character_sets_list(&mut tag) ? ) ; - builder = builder.set_supported_nchar_character_sets(var_767); + builder = builder.set_supported_nchar_character_sets(var_769); } , s if s.matches("ValidUpgradeTarget") /* ValidUpgradeTarget com.amazonaws.rds#DBEngineVersion$ValidUpgradeTarget */ => { - let var_768 = + let var_770 = Some( crate::xml_deser::deser_list_valid_upgrade_target_list(&mut tag) ? ) ; - builder = builder.set_valid_upgrade_target(var_768); + builder = builder.set_valid_upgrade_target(var_770); } , s if s.matches("SupportedTimezones") /* SupportedTimezones com.amazonaws.rds#DBEngineVersion$SupportedTimezones */ => { - let var_769 = + let var_771 = Some( crate::xml_deser::deser_list_supported_timezones_list(&mut tag) ? ) ; - builder = builder.set_supported_timezones(var_769); + builder = builder.set_supported_timezones(var_771); } , s if s.matches("ExportableLogTypes") /* ExportableLogTypes com.amazonaws.rds#DBEngineVersion$ExportableLogTypes */ => { - let var_770 = + let var_772 = Some( crate::xml_deser::deser_list_log_type_list(&mut tag) ? ) ; - builder = builder.set_exportable_log_types(var_770); + builder = builder.set_exportable_log_types(var_772); } , s if s.matches("SupportsLogExportsToCloudwatchLogs") /* SupportsLogExportsToCloudwatchLogs com.amazonaws.rds#DBEngineVersion$SupportsLogExportsToCloudwatchLogs */ => { - let var_771 = + let var_773 = Some( { ::parse_smithy_primitive( @@ -18765,11 +18793,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_supports_log_exports_to_cloudwatch_logs(var_771); + builder = builder.set_supports_log_exports_to_cloudwatch_logs(var_773); } , s if s.matches("SupportsReadReplica") /* SupportsReadReplica com.amazonaws.rds#DBEngineVersion$SupportsReadReplica */ => { - let var_772 = + let var_774 = Some( { ::parse_smithy_primitive( @@ -18780,31 +18808,31 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_supports_read_replica(var_772); + builder = builder.set_supports_read_replica(var_774); } , s if s.matches("SupportedEngineModes") /* SupportedEngineModes com.amazonaws.rds#DBEngineVersion$SupportedEngineModes */ => { - let var_773 = + let var_775 = Some( crate::xml_deser::deser_list_engine_mode_list(&mut tag) ? ) ; - builder = builder.set_supported_engine_modes(var_773); + builder = builder.set_supported_engine_modes(var_775); } , s if s.matches("SupportedFeatureNames") /* SupportedFeatureNames com.amazonaws.rds#DBEngineVersion$SupportedFeatureNames */ => { - let var_774 = + let var_776 = Some( crate::xml_deser::deser_list_feature_name_list(&mut tag) ? ) ; - builder = builder.set_supported_feature_names(var_774); + builder = builder.set_supported_feature_names(var_776); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBEngineVersion$Status */ => { - let var_775 = + let var_777 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18813,11 +18841,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_status(var_775); + builder = builder.set_status(var_777); } , s if s.matches("SupportsParallelQuery") /* SupportsParallelQuery com.amazonaws.rds#DBEngineVersion$SupportsParallelQuery */ => { - let var_776 = + let var_778 = Some( { ::parse_smithy_primitive( @@ -18828,11 +18856,11 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_supports_parallel_query(var_776); + builder = builder.set_supports_parallel_query(var_778); } , s if s.matches("SupportsGlobalDatabases") /* SupportsGlobalDatabases com.amazonaws.rds#DBEngineVersion$SupportsGlobalDatabases */ => { - let var_777 = + let var_779 = Some( { ::parse_smithy_primitive( @@ -18843,7 +18871,7 @@ pub fn deser_structure_db_engine_version( ? ) ; - builder = builder.set_supports_global_databases(var_777); + builder = builder.set_supports_global_databases(var_779); } , _ => {} @@ -18860,7 +18888,7 @@ pub fn deser_structure_describe_db_log_files_details( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LogFileName") /* LogFileName com.amazonaws.rds#DescribeDBLogFilesDetails$LogFileName */ => { - let var_778 = + let var_780 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18869,11 +18897,11 @@ pub fn deser_structure_describe_db_log_files_details( ? ) ; - builder = builder.set_log_file_name(var_778); + builder = builder.set_log_file_name(var_780); } , s if s.matches("LastWritten") /* LastWritten com.amazonaws.rds#DescribeDBLogFilesDetails$LastWritten */ => { - let var_779 = + let var_781 = Some( { ::parse_smithy_primitive( @@ -18884,11 +18912,11 @@ pub fn deser_structure_describe_db_log_files_details( ? ) ; - builder = builder.set_last_written(var_779); + builder = builder.set_last_written(var_781); } , s if s.matches("Size") /* Size com.amazonaws.rds#DescribeDBLogFilesDetails$Size */ => { - let var_780 = + let var_782 = Some( { ::parse_smithy_primitive( @@ -18899,7 +18927,7 @@ pub fn deser_structure_describe_db_log_files_details( ? ) ; - builder = builder.set_size(var_780); + builder = builder.set_size(var_782); } , _ => {} @@ -18916,7 +18944,7 @@ pub fn deser_structure_db_proxy_target( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TargetArn") /* TargetArn com.amazonaws.rds#DBProxyTarget$TargetArn */ => { - let var_781 = + let var_783 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18925,11 +18953,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_target_arn(var_781); + builder = builder.set_target_arn(var_783); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#DBProxyTarget$Endpoint */ => { - let var_782 = + let var_784 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18938,11 +18966,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_endpoint(var_782); + builder = builder.set_endpoint(var_784); } , s if s.matches("TrackedClusterId") /* TrackedClusterId com.amazonaws.rds#DBProxyTarget$TrackedClusterId */ => { - let var_783 = + let var_785 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18951,11 +18979,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_tracked_cluster_id(var_783); + builder = builder.set_tracked_cluster_id(var_785); } , s if s.matches("RdsResourceId") /* RdsResourceId com.amazonaws.rds#DBProxyTarget$RdsResourceId */ => { - let var_784 = + let var_786 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -18964,11 +18992,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_rds_resource_id(var_784); + builder = builder.set_rds_resource_id(var_786); } , s if s.matches("Port") /* Port com.amazonaws.rds#DBProxyTarget$Port */ => { - let var_785 = + let var_787 = Some( { ::parse_smithy_primitive( @@ -18979,11 +19007,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_port(var_785); + builder = builder.set_port(var_787); } , s if s.matches("Type") /* Type com.amazonaws.rds#DBProxyTarget$Type */ => { - let var_786 = + let var_788 = Some( Result::::Ok( crate::model::TargetType::from( @@ -18993,11 +19021,11 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_type(var_786); + builder = builder.set_type(var_788); } , s if s.matches("Role") /* Role com.amazonaws.rds#DBProxyTarget$Role */ => { - let var_787 = + let var_789 = Some( Result::::Ok( crate::model::TargetRole::from( @@ -19007,17 +19035,17 @@ pub fn deser_structure_db_proxy_target( ? ) ; - builder = builder.set_role(var_787); + builder = builder.set_role(var_789); } , s if s.matches("TargetHealth") /* TargetHealth com.amazonaws.rds#DBProxyTarget$TargetHealth */ => { - let var_788 = + let var_790 = Some( crate::xml_deser::deser_structure_target_health(&mut tag) ? ) ; - builder = builder.set_target_health(var_788); + builder = builder.set_target_health(var_790); } , _ => {} @@ -19053,7 +19081,7 @@ pub fn deser_structure_event_categories_map( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SourceType") /* SourceType com.amazonaws.rds#EventCategoriesMap$SourceType */ => { - let var_789 = + let var_791 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19062,17 +19090,17 @@ pub fn deser_structure_event_categories_map( ? ) ; - builder = builder.set_source_type(var_789); + builder = builder.set_source_type(var_791); } , s if s.matches("EventCategories") /* EventCategories com.amazonaws.rds#EventCategoriesMap$EventCategories */ => { - let var_790 = + let var_792 = Some( crate::xml_deser::deser_list_event_categories_list(&mut tag) ? ) ; - builder = builder.set_event_categories(var_790); + builder = builder.set_event_categories(var_792); } , _ => {} @@ -19089,7 +19117,7 @@ pub fn deser_structure_event( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SourceIdentifier") /* SourceIdentifier com.amazonaws.rds#Event$SourceIdentifier */ => { - let var_791 = + let var_793 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19098,11 +19126,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_source_identifier(var_791); + builder = builder.set_source_identifier(var_793); } , s if s.matches("SourceType") /* SourceType com.amazonaws.rds#Event$SourceType */ => { - let var_792 = + let var_794 = Some( Result::::Ok( crate::model::SourceType::from( @@ -19112,11 +19140,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_source_type(var_792); + builder = builder.set_source_type(var_794); } , s if s.matches("Message") /* Message com.amazonaws.rds#Event$Message */ => { - let var_793 = + let var_795 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19125,21 +19153,21 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_message(var_793); + builder = builder.set_message(var_795); } , s if s.matches("EventCategories") /* EventCategories com.amazonaws.rds#Event$EventCategories */ => { - let var_794 = + let var_796 = Some( crate::xml_deser::deser_list_event_categories_list(&mut tag) ? ) ; - builder = builder.set_event_categories(var_794); + builder = builder.set_event_categories(var_796); } , s if s.matches("Date") /* Date com.amazonaws.rds#Event$Date */ => { - let var_795 = + let var_797 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19149,11 +19177,11 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_date(var_795); + builder = builder.set_date(var_797); } , s if s.matches("SourceArn") /* SourceArn com.amazonaws.rds#Event$SourceArn */ => { - let var_796 = + let var_798 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19162,7 +19190,7 @@ pub fn deser_structure_event( ? ) ; - builder = builder.set_source_arn(var_796); + builder = builder.set_source_arn(var_798); } , _ => {} @@ -19179,7 +19207,7 @@ pub fn deser_structure_export_task( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ExportTaskIdentifier") /* ExportTaskIdentifier com.amazonaws.rds#ExportTask$ExportTaskIdentifier */ => { - let var_797 = + let var_799 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19188,11 +19216,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_export_task_identifier(var_797); + builder = builder.set_export_task_identifier(var_799); } , s if s.matches("SourceArn") /* SourceArn com.amazonaws.rds#ExportTask$SourceArn */ => { - let var_798 = + let var_800 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19201,21 +19229,21 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_source_arn(var_798); + builder = builder.set_source_arn(var_800); } , s if s.matches("ExportOnly") /* ExportOnly com.amazonaws.rds#ExportTask$ExportOnly */ => { - let var_799 = + let var_801 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_export_only(var_799); + builder = builder.set_export_only(var_801); } , s if s.matches("SnapshotTime") /* SnapshotTime com.amazonaws.rds#ExportTask$SnapshotTime */ => { - let var_800 = + let var_802 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19225,11 +19253,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_snapshot_time(var_800); + builder = builder.set_snapshot_time(var_802); } , s if s.matches("TaskStartTime") /* TaskStartTime com.amazonaws.rds#ExportTask$TaskStartTime */ => { - let var_801 = + let var_803 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19239,11 +19267,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_task_start_time(var_801); + builder = builder.set_task_start_time(var_803); } , s if s.matches("TaskEndTime") /* TaskEndTime com.amazonaws.rds#ExportTask$TaskEndTime */ => { - let var_802 = + let var_804 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19253,11 +19281,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_task_end_time(var_802); + builder = builder.set_task_end_time(var_804); } , s if s.matches("S3Bucket") /* S3Bucket com.amazonaws.rds#ExportTask$S3Bucket */ => { - let var_803 = + let var_805 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19266,11 +19294,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_s3_bucket(var_803); + builder = builder.set_s3_bucket(var_805); } , s if s.matches("S3Prefix") /* S3Prefix com.amazonaws.rds#ExportTask$S3Prefix */ => { - let var_804 = + let var_806 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19279,11 +19307,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_s3_prefix(var_804); + builder = builder.set_s3_prefix(var_806); } , s if s.matches("IamRoleArn") /* IamRoleArn com.amazonaws.rds#ExportTask$IamRoleArn */ => { - let var_805 = + let var_807 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19292,11 +19320,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_iam_role_arn(var_805); + builder = builder.set_iam_role_arn(var_807); } , s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.rds#ExportTask$KmsKeyId */ => { - let var_806 = + let var_808 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19305,11 +19333,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_kms_key_id(var_806); + builder = builder.set_kms_key_id(var_808); } , s if s.matches("Status") /* Status com.amazonaws.rds#ExportTask$Status */ => { - let var_807 = + let var_809 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19318,11 +19346,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_status(var_807); + builder = builder.set_status(var_809); } , s if s.matches("PercentProgress") /* PercentProgress com.amazonaws.rds#ExportTask$PercentProgress */ => { - let var_808 = + let var_810 = Some( { ::parse_smithy_primitive( @@ -19333,11 +19361,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_percent_progress(var_808); + builder = builder.set_percent_progress(var_810); } , s if s.matches("TotalExtractedDataInGB") /* TotalExtractedDataInGB com.amazonaws.rds#ExportTask$TotalExtractedDataInGB */ => { - let var_809 = + let var_811 = Some( { ::parse_smithy_primitive( @@ -19348,11 +19376,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_total_extracted_data_in_gb(var_809); + builder = builder.set_total_extracted_data_in_gb(var_811); } , s if s.matches("FailureCause") /* FailureCause com.amazonaws.rds#ExportTask$FailureCause */ => { - let var_810 = + let var_812 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19361,11 +19389,11 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_failure_cause(var_810); + builder = builder.set_failure_cause(var_812); } , s if s.matches("WarningMessage") /* WarningMessage com.amazonaws.rds#ExportTask$WarningMessage */ => { - let var_811 = + let var_813 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19374,7 +19402,7 @@ pub fn deser_structure_export_task( ? ) ; - builder = builder.set_warning_message(var_811); + builder = builder.set_warning_message(var_813); } , _ => {} @@ -19391,7 +19419,7 @@ pub fn deser_structure_installation_media( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("InstallationMediaId") /* InstallationMediaId com.amazonaws.rds#InstallationMedia$InstallationMediaId */ => { - let var_812 = + let var_814 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19400,11 +19428,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_installation_media_id(var_812); + builder = builder.set_installation_media_id(var_814); } , s if s.matches("CustomAvailabilityZoneId") /* CustomAvailabilityZoneId com.amazonaws.rds#InstallationMedia$CustomAvailabilityZoneId */ => { - let var_813 = + let var_815 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19413,11 +19441,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_custom_availability_zone_id(var_813); + builder = builder.set_custom_availability_zone_id(var_815); } , s if s.matches("Engine") /* Engine com.amazonaws.rds#InstallationMedia$Engine */ => { - let var_814 = + let var_816 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19426,11 +19454,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_engine(var_814); + builder = builder.set_engine(var_816); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#InstallationMedia$EngineVersion */ => { - let var_815 = + let var_817 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19439,11 +19467,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_engine_version(var_815); + builder = builder.set_engine_version(var_817); } , s if s.matches("EngineInstallationMediaPath") /* EngineInstallationMediaPath com.amazonaws.rds#InstallationMedia$EngineInstallationMediaPath */ => { - let var_816 = + let var_818 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19452,11 +19480,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_engine_installation_media_path(var_816); + builder = builder.set_engine_installation_media_path(var_818); } , s if s.matches("OSInstallationMediaPath") /* OSInstallationMediaPath com.amazonaws.rds#InstallationMedia$OSInstallationMediaPath */ => { - let var_817 = + let var_819 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19465,11 +19493,11 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_os_installation_media_path(var_817); + builder = builder.set_os_installation_media_path(var_819); } , s if s.matches("Status") /* Status com.amazonaws.rds#InstallationMedia$Status */ => { - let var_818 = + let var_820 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19478,17 +19506,17 @@ pub fn deser_structure_installation_media( ? ) ; - builder = builder.set_status(var_818); + builder = builder.set_status(var_820); } , s if s.matches("FailureCause") /* FailureCause com.amazonaws.rds#InstallationMedia$FailureCause */ => { - let var_819 = + let var_821 = Some( crate::xml_deser::deser_structure_installation_media_failure_cause(&mut tag) ? ) ; - builder = builder.set_failure_cause(var_819); + builder = builder.set_failure_cause(var_821); } , _ => {} @@ -19505,7 +19533,7 @@ pub fn deser_structure_option_group_option( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.rds#OptionGroupOption$Name */ => { - let var_820 = + let var_822 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19514,11 +19542,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_name(var_820); + builder = builder.set_name(var_822); } , s if s.matches("Description") /* Description com.amazonaws.rds#OptionGroupOption$Description */ => { - let var_821 = + let var_823 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19527,11 +19555,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_description(var_821); + builder = builder.set_description(var_823); } , s if s.matches("EngineName") /* EngineName com.amazonaws.rds#OptionGroupOption$EngineName */ => { - let var_822 = + let var_824 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19540,11 +19568,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_engine_name(var_822); + builder = builder.set_engine_name(var_824); } , s if s.matches("MajorEngineVersion") /* MajorEngineVersion com.amazonaws.rds#OptionGroupOption$MajorEngineVersion */ => { - let var_823 = + let var_825 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19553,11 +19581,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_major_engine_version(var_823); + builder = builder.set_major_engine_version(var_825); } , s if s.matches("MinimumRequiredMinorEngineVersion") /* MinimumRequiredMinorEngineVersion com.amazonaws.rds#OptionGroupOption$MinimumRequiredMinorEngineVersion */ => { - let var_824 = + let var_826 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19566,11 +19594,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_minimum_required_minor_engine_version(var_824); + builder = builder.set_minimum_required_minor_engine_version(var_826); } , s if s.matches("PortRequired") /* PortRequired com.amazonaws.rds#OptionGroupOption$PortRequired */ => { - let var_825 = + let var_827 = Some( { ::parse_smithy_primitive( @@ -19581,11 +19609,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_port_required(var_825); + builder = builder.set_port_required(var_827); } , s if s.matches("DefaultPort") /* DefaultPort com.amazonaws.rds#OptionGroupOption$DefaultPort */ => { - let var_826 = + let var_828 = Some( { ::parse_smithy_primitive( @@ -19596,31 +19624,31 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_default_port(var_826); + builder = builder.set_default_port(var_828); } , s if s.matches("OptionsDependedOn") /* OptionsDependedOn com.amazonaws.rds#OptionGroupOption$OptionsDependedOn */ => { - let var_827 = + let var_829 = Some( crate::xml_deser::deser_list_options_depended_on(&mut tag) ? ) ; - builder = builder.set_options_depended_on(var_827); + builder = builder.set_options_depended_on(var_829); } , s if s.matches("OptionsConflictsWith") /* OptionsConflictsWith com.amazonaws.rds#OptionGroupOption$OptionsConflictsWith */ => { - let var_828 = + let var_830 = Some( crate::xml_deser::deser_list_options_conflicts_with(&mut tag) ? ) ; - builder = builder.set_options_conflicts_with(var_828); + builder = builder.set_options_conflicts_with(var_830); } , s if s.matches("Persistent") /* Persistent com.amazonaws.rds#OptionGroupOption$Persistent */ => { - let var_829 = + let var_831 = Some( { ::parse_smithy_primitive( @@ -19631,11 +19659,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_persistent(var_829); + builder = builder.set_persistent(var_831); } , s if s.matches("Permanent") /* Permanent com.amazonaws.rds#OptionGroupOption$Permanent */ => { - let var_830 = + let var_832 = Some( { ::parse_smithy_primitive( @@ -19646,11 +19674,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_permanent(var_830); + builder = builder.set_permanent(var_832); } , s if s.matches("RequiresAutoMinorEngineVersionUpgrade") /* RequiresAutoMinorEngineVersionUpgrade com.amazonaws.rds#OptionGroupOption$RequiresAutoMinorEngineVersionUpgrade */ => { - let var_831 = + let var_833 = Some( { ::parse_smithy_primitive( @@ -19661,11 +19689,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_requires_auto_minor_engine_version_upgrade(var_831); + builder = builder.set_requires_auto_minor_engine_version_upgrade(var_833); } , s if s.matches("VpcOnly") /* VpcOnly com.amazonaws.rds#OptionGroupOption$VpcOnly */ => { - let var_832 = + let var_834 = Some( { ::parse_smithy_primitive( @@ -19676,11 +19704,11 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_vpc_only(var_832); + builder = builder.set_vpc_only(var_834); } , s if s.matches("SupportsOptionVersionDowngrade") /* SupportsOptionVersionDowngrade com.amazonaws.rds#OptionGroupOption$SupportsOptionVersionDowngrade */ => { - let var_833 = + let var_835 = Some( { ::parse_smithy_primitive( @@ -19691,27 +19719,27 @@ pub fn deser_structure_option_group_option( ? ) ; - builder = builder.set_supports_option_version_downgrade(var_833); + builder = builder.set_supports_option_version_downgrade(var_835); } , s if s.matches("OptionGroupOptionSettings") /* OptionGroupOptionSettings com.amazonaws.rds#OptionGroupOption$OptionGroupOptionSettings */ => { - let var_834 = + let var_836 = Some( crate::xml_deser::deser_list_option_group_option_settings_list(&mut tag) ? ) ; - builder = builder.set_option_group_option_settings(var_834); + builder = builder.set_option_group_option_settings(var_836); } , s if s.matches("OptionGroupOptionVersions") /* OptionGroupOptionVersions com.amazonaws.rds#OptionGroupOption$OptionGroupOptionVersions */ => { - let var_835 = + let var_837 = Some( crate::xml_deser::deser_list_option_group_option_versions_list(&mut tag) ? ) ; - builder = builder.set_option_group_option_versions(var_835); + builder = builder.set_option_group_option_versions(var_837); } , _ => {} @@ -19728,7 +19756,7 @@ pub fn deser_structure_orderable_db_instance_option( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Engine") /* Engine com.amazonaws.rds#OrderableDBInstanceOption$Engine */ => { - let var_836 = + let var_838 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19737,11 +19765,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_engine(var_836); + builder = builder.set_engine(var_838); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#OrderableDBInstanceOption$EngineVersion */ => { - let var_837 = + let var_839 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19750,11 +19778,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_engine_version(var_837); + builder = builder.set_engine_version(var_839); } , s if s.matches("DBInstanceClass") /* DBInstanceClass com.amazonaws.rds#OrderableDBInstanceOption$DBInstanceClass */ => { - let var_838 = + let var_840 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19763,11 +19791,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_db_instance_class(var_838); + builder = builder.set_db_instance_class(var_840); } , s if s.matches("LicenseModel") /* LicenseModel com.amazonaws.rds#OrderableDBInstanceOption$LicenseModel */ => { - let var_839 = + let var_841 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19776,11 +19804,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_license_model(var_839); + builder = builder.set_license_model(var_841); } , s if s.matches("AvailabilityZoneGroup") /* AvailabilityZoneGroup com.amazonaws.rds#OrderableDBInstanceOption$AvailabilityZoneGroup */ => { - let var_840 = + let var_842 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19789,21 +19817,21 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_availability_zone_group(var_840); + builder = builder.set_availability_zone_group(var_842); } , s if s.matches("AvailabilityZones") /* AvailabilityZones com.amazonaws.rds#OrderableDBInstanceOption$AvailabilityZones */ => { - let var_841 = + let var_843 = Some( crate::xml_deser::deser_list_availability_zone_list(&mut tag) ? ) ; - builder = builder.set_availability_zones(var_841); + builder = builder.set_availability_zones(var_843); } , s if s.matches("MultiAZCapable") /* MultiAZCapable com.amazonaws.rds#OrderableDBInstanceOption$MultiAZCapable */ => { - let var_842 = + let var_844 = Some( { ::parse_smithy_primitive( @@ -19814,11 +19842,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_multi_az_capable(var_842); + builder = builder.set_multi_az_capable(var_844); } , s if s.matches("ReadReplicaCapable") /* ReadReplicaCapable com.amazonaws.rds#OrderableDBInstanceOption$ReadReplicaCapable */ => { - let var_843 = + let var_845 = Some( { ::parse_smithy_primitive( @@ -19829,11 +19857,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_read_replica_capable(var_843); + builder = builder.set_read_replica_capable(var_845); } , s if s.matches("Vpc") /* Vpc com.amazonaws.rds#OrderableDBInstanceOption$Vpc */ => { - let var_844 = + let var_846 = Some( { ::parse_smithy_primitive( @@ -19844,11 +19872,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_vpc(var_844); + builder = builder.set_vpc(var_846); } , s if s.matches("SupportsStorageEncryption") /* SupportsStorageEncryption com.amazonaws.rds#OrderableDBInstanceOption$SupportsStorageEncryption */ => { - let var_845 = + let var_847 = Some( { ::parse_smithy_primitive( @@ -19859,11 +19887,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_storage_encryption(var_845); + builder = builder.set_supports_storage_encryption(var_847); } , s if s.matches("StorageType") /* StorageType com.amazonaws.rds#OrderableDBInstanceOption$StorageType */ => { - let var_846 = + let var_848 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -19872,11 +19900,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_storage_type(var_846); + builder = builder.set_storage_type(var_848); } , s if s.matches("SupportsIops") /* SupportsIops com.amazonaws.rds#OrderableDBInstanceOption$SupportsIops */ => { - let var_847 = + let var_849 = Some( { ::parse_smithy_primitive( @@ -19887,11 +19915,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_iops(var_847); + builder = builder.set_supports_iops(var_849); } , s if s.matches("SupportsEnhancedMonitoring") /* SupportsEnhancedMonitoring com.amazonaws.rds#OrderableDBInstanceOption$SupportsEnhancedMonitoring */ => { - let var_848 = + let var_850 = Some( { ::parse_smithy_primitive( @@ -19902,11 +19930,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_enhanced_monitoring(var_848); + builder = builder.set_supports_enhanced_monitoring(var_850); } , s if s.matches("SupportsIAMDatabaseAuthentication") /* SupportsIAMDatabaseAuthentication com.amazonaws.rds#OrderableDBInstanceOption$SupportsIAMDatabaseAuthentication */ => { - let var_849 = + let var_851 = Some( { ::parse_smithy_primitive( @@ -19917,11 +19945,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_iam_database_authentication(var_849); + builder = builder.set_supports_iam_database_authentication(var_851); } , s if s.matches("SupportsPerformanceInsights") /* SupportsPerformanceInsights com.amazonaws.rds#OrderableDBInstanceOption$SupportsPerformanceInsights */ => { - let var_850 = + let var_852 = Some( { ::parse_smithy_primitive( @@ -19932,11 +19960,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_performance_insights(var_850); + builder = builder.set_supports_performance_insights(var_852); } , s if s.matches("MinStorageSize") /* MinStorageSize com.amazonaws.rds#OrderableDBInstanceOption$MinStorageSize */ => { - let var_851 = + let var_853 = Some( { ::parse_smithy_primitive( @@ -19947,11 +19975,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_min_storage_size(var_851); + builder = builder.set_min_storage_size(var_853); } , s if s.matches("MaxStorageSize") /* MaxStorageSize com.amazonaws.rds#OrderableDBInstanceOption$MaxStorageSize */ => { - let var_852 = + let var_854 = Some( { ::parse_smithy_primitive( @@ -19962,11 +19990,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_max_storage_size(var_852); + builder = builder.set_max_storage_size(var_854); } , s if s.matches("MinIopsPerDbInstance") /* MinIopsPerDbInstance com.amazonaws.rds#OrderableDBInstanceOption$MinIopsPerDbInstance */ => { - let var_853 = + let var_855 = Some( { ::parse_smithy_primitive( @@ -19977,11 +20005,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_min_iops_per_db_instance(var_853); + builder = builder.set_min_iops_per_db_instance(var_855); } , s if s.matches("MaxIopsPerDbInstance") /* MaxIopsPerDbInstance com.amazonaws.rds#OrderableDBInstanceOption$MaxIopsPerDbInstance */ => { - let var_854 = + let var_856 = Some( { ::parse_smithy_primitive( @@ -19992,11 +20020,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_max_iops_per_db_instance(var_854); + builder = builder.set_max_iops_per_db_instance(var_856); } , s if s.matches("MinIopsPerGib") /* MinIopsPerGib com.amazonaws.rds#OrderableDBInstanceOption$MinIopsPerGib */ => { - let var_855 = + let var_857 = Some( { ::parse_smithy_primitive( @@ -20007,11 +20035,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_min_iops_per_gib(var_855); + builder = builder.set_min_iops_per_gib(var_857); } , s if s.matches("MaxIopsPerGib") /* MaxIopsPerGib com.amazonaws.rds#OrderableDBInstanceOption$MaxIopsPerGib */ => { - let var_856 = + let var_858 = Some( { ::parse_smithy_primitive( @@ -20022,31 +20050,31 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_max_iops_per_gib(var_856); + builder = builder.set_max_iops_per_gib(var_858); } , s if s.matches("AvailableProcessorFeatures") /* AvailableProcessorFeatures com.amazonaws.rds#OrderableDBInstanceOption$AvailableProcessorFeatures */ => { - let var_857 = + let var_859 = Some( crate::xml_deser::deser_list_available_processor_feature_list(&mut tag) ? ) ; - builder = builder.set_available_processor_features(var_857); + builder = builder.set_available_processor_features(var_859); } , s if s.matches("SupportedEngineModes") /* SupportedEngineModes com.amazonaws.rds#OrderableDBInstanceOption$SupportedEngineModes */ => { - let var_858 = + let var_860 = Some( crate::xml_deser::deser_list_engine_mode_list(&mut tag) ? ) ; - builder = builder.set_supported_engine_modes(var_858); + builder = builder.set_supported_engine_modes(var_860); } , s if s.matches("SupportsStorageAutoscaling") /* SupportsStorageAutoscaling com.amazonaws.rds#OrderableDBInstanceOption$SupportsStorageAutoscaling */ => { - let var_859 = + let var_861 = Some( { ::parse_smithy_primitive( @@ -20057,11 +20085,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_storage_autoscaling(var_859); + builder = builder.set_supports_storage_autoscaling(var_861); } , s if s.matches("SupportsKerberosAuthentication") /* SupportsKerberosAuthentication com.amazonaws.rds#OrderableDBInstanceOption$SupportsKerberosAuthentication */ => { - let var_860 = + let var_862 = Some( { ::parse_smithy_primitive( @@ -20072,11 +20100,11 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_kerberos_authentication(var_860); + builder = builder.set_supports_kerberos_authentication(var_862); } , s if s.matches("OutpostCapable") /* OutpostCapable com.amazonaws.rds#OrderableDBInstanceOption$OutpostCapable */ => { - let var_861 = + let var_863 = Some( { ::parse_smithy_primitive( @@ -20087,21 +20115,21 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_outpost_capable(var_861); + builder = builder.set_outpost_capable(var_863); } , s if s.matches("SupportedActivityStreamModes") /* SupportedActivityStreamModes com.amazonaws.rds#OrderableDBInstanceOption$SupportedActivityStreamModes */ => { - let var_862 = + let var_864 = Some( crate::xml_deser::deser_list_activity_stream_mode_list(&mut tag) ? ) ; - builder = builder.set_supported_activity_stream_modes(var_862); + builder = builder.set_supported_activity_stream_modes(var_864); } , s if s.matches("SupportsGlobalDatabases") /* SupportsGlobalDatabases com.amazonaws.rds#OrderableDBInstanceOption$SupportsGlobalDatabases */ => { - let var_863 = + let var_865 = Some( { ::parse_smithy_primitive( @@ -20112,7 +20140,7 @@ pub fn deser_structure_orderable_db_instance_option( ? ) ; - builder = builder.set_supports_global_databases(var_863); + builder = builder.set_supports_global_databases(var_865); } , _ => {} @@ -20129,7 +20157,7 @@ pub fn deser_structure_reserved_db_instances_offering( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("ReservedDBInstancesOfferingId") /* ReservedDBInstancesOfferingId com.amazonaws.rds#ReservedDBInstancesOffering$ReservedDBInstancesOfferingId */ => { - let var_864 = + let var_866 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20138,11 +20166,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_reserved_db_instances_offering_id(var_864); + builder = builder.set_reserved_db_instances_offering_id(var_866); } , s if s.matches("DBInstanceClass") /* DBInstanceClass com.amazonaws.rds#ReservedDBInstancesOffering$DBInstanceClass */ => { - let var_865 = + let var_867 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20151,11 +20179,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_db_instance_class(var_865); + builder = builder.set_db_instance_class(var_867); } , s if s.matches("Duration") /* Duration com.amazonaws.rds#ReservedDBInstancesOffering$Duration */ => { - let var_866 = + let var_868 = Some( { ::parse_smithy_primitive( @@ -20166,11 +20194,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_duration(var_866); + builder = builder.set_duration(var_868); } , s if s.matches("FixedPrice") /* FixedPrice com.amazonaws.rds#ReservedDBInstancesOffering$FixedPrice */ => { - let var_867 = + let var_869 = Some( { ::parse_smithy_primitive( @@ -20181,11 +20209,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_fixed_price(var_867); + builder = builder.set_fixed_price(var_869); } , s if s.matches("UsagePrice") /* UsagePrice com.amazonaws.rds#ReservedDBInstancesOffering$UsagePrice */ => { - let var_868 = + let var_870 = Some( { ::parse_smithy_primitive( @@ -20196,11 +20224,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_usage_price(var_868); + builder = builder.set_usage_price(var_870); } , s if s.matches("CurrencyCode") /* CurrencyCode com.amazonaws.rds#ReservedDBInstancesOffering$CurrencyCode */ => { - let var_869 = + let var_871 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20209,11 +20237,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_currency_code(var_869); + builder = builder.set_currency_code(var_871); } , s if s.matches("ProductDescription") /* ProductDescription com.amazonaws.rds#ReservedDBInstancesOffering$ProductDescription */ => { - let var_870 = + let var_872 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20222,11 +20250,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_product_description(var_870); + builder = builder.set_product_description(var_872); } , s if s.matches("OfferingType") /* OfferingType com.amazonaws.rds#ReservedDBInstancesOffering$OfferingType */ => { - let var_871 = + let var_873 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20235,11 +20263,11 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_offering_type(var_871); + builder = builder.set_offering_type(var_873); } , s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.rds#ReservedDBInstancesOffering$MultiAZ */ => { - let var_872 = + let var_874 = Some( { ::parse_smithy_primitive( @@ -20250,17 +20278,17 @@ pub fn deser_structure_reserved_db_instances_offering( ? ) ; - builder = builder.set_multi_az(var_872); + builder = builder.set_multi_az(var_874); } , s if s.matches("RecurringCharges") /* RecurringCharges com.amazonaws.rds#ReservedDBInstancesOffering$RecurringCharges */ => { - let var_873 = + let var_875 = Some( crate::xml_deser::deser_list_recurring_charge_list(&mut tag) ? ) ; - builder = builder.set_recurring_charges(var_873); + builder = builder.set_recurring_charges(var_875); } , _ => {} @@ -20277,7 +20305,7 @@ pub fn deser_structure_source_region( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("RegionName") /* RegionName com.amazonaws.rds#SourceRegion$RegionName */ => { - let var_874 = + let var_876 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20286,11 +20314,11 @@ pub fn deser_structure_source_region( ? ) ; - builder = builder.set_region_name(var_874); + builder = builder.set_region_name(var_876); } , s if s.matches("Endpoint") /* Endpoint com.amazonaws.rds#SourceRegion$Endpoint */ => { - let var_875 = + let var_877 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20299,11 +20327,11 @@ pub fn deser_structure_source_region( ? ) ; - builder = builder.set_endpoint(var_875); + builder = builder.set_endpoint(var_877); } , s if s.matches("Status") /* Status com.amazonaws.rds#SourceRegion$Status */ => { - let var_876 = + let var_878 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20312,11 +20340,11 @@ pub fn deser_structure_source_region( ? ) ; - builder = builder.set_status(var_876); + builder = builder.set_status(var_878); } , s if s.matches("SupportsDBInstanceAutomatedBackupsReplication") /* SupportsDBInstanceAutomatedBackupsReplication com.amazonaws.rds#SourceRegion$SupportsDBInstanceAutomatedBackupsReplication */ => { - let var_877 = + let var_879 = Some( { ::parse_smithy_primitive( @@ -20327,7 +20355,7 @@ pub fn deser_structure_source_region( ? ) ; - builder = builder.set_supports_db_instance_automated_backups_replication(var_877); + builder = builder.set_supports_db_instance_automated_backups_replication(var_879); } , _ => {} @@ -20382,7 +20410,7 @@ pub fn deser_structure_tag( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Key") /* Key com.amazonaws.rds#Tag$Key */ => { - let var_878 = + let var_880 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20391,11 +20419,11 @@ pub fn deser_structure_tag( ? ) ; - builder = builder.set_key(var_878); + builder = builder.set_key(var_880); } , s if s.matches("Value") /* Value com.amazonaws.rds#Tag$Value */ => { - let var_879 = + let var_881 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20404,7 +20432,7 @@ pub fn deser_structure_tag( ? ) ; - builder = builder.set_value(var_879); + builder = builder.set_value(var_881); } , _ => {} @@ -20421,7 +20449,7 @@ pub fn deser_structure_connection_pool_configuration_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("MaxConnectionsPercent") /* MaxConnectionsPercent com.amazonaws.rds#ConnectionPoolConfigurationInfo$MaxConnectionsPercent */ => { - let var_880 = + let var_882 = Some( { ::parse_smithy_primitive( @@ -20432,11 +20460,11 @@ pub fn deser_structure_connection_pool_configuration_info( ? ) ; - builder = builder.set_max_connections_percent(var_880); + builder = builder.set_max_connections_percent(var_882); } , s if s.matches("MaxIdleConnectionsPercent") /* MaxIdleConnectionsPercent com.amazonaws.rds#ConnectionPoolConfigurationInfo$MaxIdleConnectionsPercent */ => { - let var_881 = + let var_883 = Some( { ::parse_smithy_primitive( @@ -20447,11 +20475,11 @@ pub fn deser_structure_connection_pool_configuration_info( ? ) ; - builder = builder.set_max_idle_connections_percent(var_881); + builder = builder.set_max_idle_connections_percent(var_883); } , s if s.matches("ConnectionBorrowTimeout") /* ConnectionBorrowTimeout com.amazonaws.rds#ConnectionPoolConfigurationInfo$ConnectionBorrowTimeout */ => { - let var_882 = + let var_884 = Some( { ::parse_smithy_primitive( @@ -20462,21 +20490,21 @@ pub fn deser_structure_connection_pool_configuration_info( ? ) ; - builder = builder.set_connection_borrow_timeout(var_882); + builder = builder.set_connection_borrow_timeout(var_884); } , s if s.matches("SessionPinningFilters") /* SessionPinningFilters com.amazonaws.rds#ConnectionPoolConfigurationInfo$SessionPinningFilters */ => { - let var_883 = + let var_885 = Some( crate::xml_deser::deser_list_string_list(&mut tag) ? ) ; - builder = builder.set_session_pinning_filters(var_883); + builder = builder.set_session_pinning_filters(var_885); } , s if s.matches("InitQuery") /* InitQuery com.amazonaws.rds#ConnectionPoolConfigurationInfo$InitQuery */ => { - let var_884 = + let var_886 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20485,7 +20513,7 @@ pub fn deser_structure_connection_pool_configuration_info( ? ) ; - builder = builder.set_init_query(var_884); + builder = builder.set_init_query(var_886); } , _ => {} @@ -20521,7 +20549,7 @@ pub fn deser_structure_pending_maintenance_action( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Action") /* Action com.amazonaws.rds#PendingMaintenanceAction$Action */ => { - let var_885 = + let var_887 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20530,11 +20558,11 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_action(var_885); + builder = builder.set_action(var_887); } , s if s.matches("AutoAppliedAfterDate") /* AutoAppliedAfterDate com.amazonaws.rds#PendingMaintenanceAction$AutoAppliedAfterDate */ => { - let var_886 = + let var_888 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20544,11 +20572,11 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_auto_applied_after_date(var_886); + builder = builder.set_auto_applied_after_date(var_888); } , s if s.matches("ForcedApplyDate") /* ForcedApplyDate com.amazonaws.rds#PendingMaintenanceAction$ForcedApplyDate */ => { - let var_887 = + let var_889 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20558,11 +20586,11 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_forced_apply_date(var_887); + builder = builder.set_forced_apply_date(var_889); } , s if s.matches("OptInStatus") /* OptInStatus com.amazonaws.rds#PendingMaintenanceAction$OptInStatus */ => { - let var_888 = + let var_890 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20571,11 +20599,11 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_opt_in_status(var_888); + builder = builder.set_opt_in_status(var_890); } , s if s.matches("CurrentApplyDate") /* CurrentApplyDate com.amazonaws.rds#PendingMaintenanceAction$CurrentApplyDate */ => { - let var_889 = + let var_891 = Some( smithy_types::Instant::from_str( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20585,11 +20613,11 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_current_apply_date(var_889); + builder = builder.set_current_apply_date(var_891); } , s if s.matches("Description") /* Description com.amazonaws.rds#PendingMaintenanceAction$Description */ => { - let var_890 = + let var_892 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20598,7 +20626,7 @@ pub fn deser_structure_pending_maintenance_action( ? ) ; - builder = builder.set_description(var_890); + builder = builder.set_description(var_892); } , _ => {} @@ -20615,7 +20643,7 @@ pub fn deser_structure_ec2_security_group( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.rds#EC2SecurityGroup$Status */ => { - let var_891 = + let var_893 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20624,11 +20652,11 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_status(var_891); + builder = builder.set_status(var_893); } , s if s.matches("EC2SecurityGroupName") /* EC2SecurityGroupName com.amazonaws.rds#EC2SecurityGroup$EC2SecurityGroupName */ => { - let var_892 = + let var_894 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20637,11 +20665,11 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_ec2_security_group_name(var_892); + builder = builder.set_ec2_security_group_name(var_894); } , s if s.matches("EC2SecurityGroupId") /* EC2SecurityGroupId com.amazonaws.rds#EC2SecurityGroup$EC2SecurityGroupId */ => { - let var_893 = + let var_895 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20650,11 +20678,11 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_ec2_security_group_id(var_893); + builder = builder.set_ec2_security_group_id(var_895); } , s if s.matches("EC2SecurityGroupOwnerId") /* EC2SecurityGroupOwnerId com.amazonaws.rds#EC2SecurityGroup$EC2SecurityGroupOwnerId */ => { - let var_894 = + let var_896 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20663,7 +20691,7 @@ pub fn deser_structure_ec2_security_group( ? ) ; - builder = builder.set_ec2_security_group_owner_id(var_894); + builder = builder.set_ec2_security_group_owner_id(var_896); } , _ => {} @@ -20680,7 +20708,7 @@ pub fn deser_structure_ip_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Status") /* Status com.amazonaws.rds#IPRange$Status */ => { - let var_895 = + let var_897 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20689,11 +20717,11 @@ pub fn deser_structure_ip_range( ? ) ; - builder = builder.set_status(var_895); + builder = builder.set_status(var_897); } , s if s.matches("CIDRIP") /* CIDRIP com.amazonaws.rds#IPRange$CIDRIP */ => { - let var_896 = + let var_898 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20702,7 +20730,7 @@ pub fn deser_structure_ip_range( ? ) ; - builder = builder.set_cidrip(var_896); + builder = builder.set_cidrip(var_898); } , _ => {} @@ -20719,7 +20747,7 @@ pub fn deser_structure_processor_feature( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.rds#ProcessorFeature$Name */ => { - let var_897 = + let var_899 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20728,11 +20756,11 @@ pub fn deser_structure_processor_feature( ? ) ; - builder = builder.set_name(var_897); + builder = builder.set_name(var_899); } , s if s.matches("Value") /* Value com.amazonaws.rds#ProcessorFeature$Value */ => { - let var_898 = + let var_900 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20741,7 +20769,7 @@ pub fn deser_structure_processor_feature( ? ) ; - builder = builder.set_value(var_898); + builder = builder.set_value(var_900); } , _ => {} @@ -20758,7 +20786,7 @@ pub fn deser_structure_option( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("OptionName") /* OptionName com.amazonaws.rds#Option$OptionName */ => { - let var_899 = + let var_901 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20767,11 +20795,11 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_option_name(var_899); + builder = builder.set_option_name(var_901); } , s if s.matches("OptionDescription") /* OptionDescription com.amazonaws.rds#Option$OptionDescription */ => { - let var_900 = + let var_902 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20780,11 +20808,11 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_option_description(var_900); + builder = builder.set_option_description(var_902); } , s if s.matches("Persistent") /* Persistent com.amazonaws.rds#Option$Persistent */ => { - let var_901 = + let var_903 = Some( { ::parse_smithy_primitive( @@ -20795,11 +20823,11 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_persistent(var_901); + builder = builder.set_persistent(var_903); } , s if s.matches("Permanent") /* Permanent com.amazonaws.rds#Option$Permanent */ => { - let var_902 = + let var_904 = Some( { ::parse_smithy_primitive( @@ -20810,11 +20838,11 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_permanent(var_902); + builder = builder.set_permanent(var_904); } , s if s.matches("Port") /* Port com.amazonaws.rds#Option$Port */ => { - let var_903 = + let var_905 = Some( { ::parse_smithy_primitive( @@ -20825,11 +20853,11 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_port(var_903); + builder = builder.set_port(var_905); } , s if s.matches("OptionVersion") /* OptionVersion com.amazonaws.rds#Option$OptionVersion */ => { - let var_904 = + let var_906 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20838,37 +20866,37 @@ pub fn deser_structure_option( ? ) ; - builder = builder.set_option_version(var_904); + builder = builder.set_option_version(var_906); } , s if s.matches("OptionSettings") /* OptionSettings com.amazonaws.rds#Option$OptionSettings */ => { - let var_905 = + let var_907 = Some( crate::xml_deser::deser_list_option_setting_configuration_list(&mut tag) ? ) ; - builder = builder.set_option_settings(var_905); + builder = builder.set_option_settings(var_907); } , s if s.matches("DBSecurityGroupMemberships") /* DBSecurityGroupMemberships com.amazonaws.rds#Option$DBSecurityGroupMemberships */ => { - let var_906 = + let var_908 = Some( crate::xml_deser::deser_list_db_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_db_security_group_memberships(var_906); + builder = builder.set_db_security_group_memberships(var_908); } , s if s.matches("VpcSecurityGroupMemberships") /* VpcSecurityGroupMemberships com.amazonaws.rds#Option$VpcSecurityGroupMemberships */ => { - let var_907 = + let var_909 = Some( crate::xml_deser::deser_list_vpc_security_group_membership_list(&mut tag) ? ) ; - builder = builder.set_vpc_security_group_memberships(var_907); + builder = builder.set_vpc_security_group_memberships(var_909); } , _ => {} @@ -20885,7 +20913,7 @@ pub fn deser_structure_db_cluster_option_group_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBClusterOptionGroupName") /* DBClusterOptionGroupName com.amazonaws.rds#DBClusterOptionGroupStatus$DBClusterOptionGroupName */ => { - let var_908 = + let var_910 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20894,11 +20922,11 @@ pub fn deser_structure_db_cluster_option_group_status( ? ) ; - builder = builder.set_db_cluster_option_group_name(var_908); + builder = builder.set_db_cluster_option_group_name(var_910); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBClusterOptionGroupStatus$Status */ => { - let var_909 = + let var_911 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20907,7 +20935,7 @@ pub fn deser_structure_db_cluster_option_group_status( ? ) ; - builder = builder.set_status(var_909); + builder = builder.set_status(var_911); } , _ => {} @@ -20924,7 +20952,7 @@ pub fn deser_structure_db_cluster_member( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBInstanceIdentifier") /* DBInstanceIdentifier com.amazonaws.rds#DBClusterMember$DBInstanceIdentifier */ => { - let var_910 = + let var_912 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20933,11 +20961,11 @@ pub fn deser_structure_db_cluster_member( ? ) ; - builder = builder.set_db_instance_identifier(var_910); + builder = builder.set_db_instance_identifier(var_912); } , s if s.matches("IsClusterWriter") /* IsClusterWriter com.amazonaws.rds#DBClusterMember$IsClusterWriter */ => { - let var_911 = + let var_913 = Some( { ::parse_smithy_primitive( @@ -20948,11 +20976,11 @@ pub fn deser_structure_db_cluster_member( ? ) ; - builder = builder.set_is_cluster_writer(var_911); + builder = builder.set_is_cluster_writer(var_913); } , s if s.matches("DBClusterParameterGroupStatus") /* DBClusterParameterGroupStatus com.amazonaws.rds#DBClusterMember$DBClusterParameterGroupStatus */ => { - let var_912 = + let var_914 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -20961,11 +20989,11 @@ pub fn deser_structure_db_cluster_member( ? ) ; - builder = builder.set_db_cluster_parameter_group_status(var_912); + builder = builder.set_db_cluster_parameter_group_status(var_914); } , s if s.matches("PromotionTier") /* PromotionTier com.amazonaws.rds#DBClusterMember$PromotionTier */ => { - let var_913 = + let var_915 = Some( { ::parse_smithy_primitive( @@ -20976,7 +21004,7 @@ pub fn deser_structure_db_cluster_member( ? ) ; - builder = builder.set_promotion_tier(var_913); + builder = builder.set_promotion_tier(var_915); } , _ => {} @@ -20993,7 +21021,7 @@ pub fn deser_structure_vpc_security_group_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("VpcSecurityGroupId") /* VpcSecurityGroupId com.amazonaws.rds#VpcSecurityGroupMembership$VpcSecurityGroupId */ => { - let var_914 = + let var_916 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21002,11 +21030,11 @@ pub fn deser_structure_vpc_security_group_membership( ? ) ; - builder = builder.set_vpc_security_group_id(var_914); + builder = builder.set_vpc_security_group_id(var_916); } , s if s.matches("Status") /* Status com.amazonaws.rds#VpcSecurityGroupMembership$Status */ => { - let var_915 = + let var_917 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21015,7 +21043,7 @@ pub fn deser_structure_vpc_security_group_membership( ? ) ; - builder = builder.set_status(var_915); + builder = builder.set_status(var_917); } , _ => {} @@ -21032,7 +21060,7 @@ pub fn deser_structure_db_cluster_role( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("RoleArn") /* RoleArn com.amazonaws.rds#DBClusterRole$RoleArn */ => { - let var_916 = + let var_918 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21041,11 +21069,11 @@ pub fn deser_structure_db_cluster_role( ? ) ; - builder = builder.set_role_arn(var_916); + builder = builder.set_role_arn(var_918); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBClusterRole$Status */ => { - let var_917 = + let var_919 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21054,11 +21082,11 @@ pub fn deser_structure_db_cluster_role( ? ) ; - builder = builder.set_status(var_917); + builder = builder.set_status(var_919); } , s if s.matches("FeatureName") /* FeatureName com.amazonaws.rds#DBClusterRole$FeatureName */ => { - let var_918 = + let var_920 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21067,7 +21095,7 @@ pub fn deser_structure_db_cluster_role( ? ) ; - builder = builder.set_feature_name(var_918); + builder = builder.set_feature_name(var_920); } , _ => {} @@ -21084,7 +21112,7 @@ pub fn deser_structure_domain_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Domain") /* Domain com.amazonaws.rds#DomainMembership$Domain */ => { - let var_919 = + let var_921 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21093,11 +21121,11 @@ pub fn deser_structure_domain_membership( ? ) ; - builder = builder.set_domain(var_919); + builder = builder.set_domain(var_921); } , s if s.matches("Status") /* Status com.amazonaws.rds#DomainMembership$Status */ => { - let var_920 = + let var_922 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21106,11 +21134,11 @@ pub fn deser_structure_domain_membership( ? ) ; - builder = builder.set_status(var_920); + builder = builder.set_status(var_922); } , s if s.matches("FQDN") /* FQDN com.amazonaws.rds#DomainMembership$FQDN */ => { - let var_921 = + let var_923 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21119,11 +21147,11 @@ pub fn deser_structure_domain_membership( ? ) ; - builder = builder.set_fqdn(var_921); + builder = builder.set_fqdn(var_923); } , s if s.matches("IAMRoleName") /* IAMRoleName com.amazonaws.rds#DomainMembership$IAMRoleName */ => { - let var_922 = + let var_924 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21132,7 +21160,7 @@ pub fn deser_structure_domain_membership( ? ) ; - builder = builder.set_iam_role_name(var_922); + builder = builder.set_iam_role_name(var_924); } , _ => {} @@ -21149,23 +21177,23 @@ pub fn deser_structure_pending_cloudwatch_logs_exports( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("LogTypesToEnable") /* LogTypesToEnable com.amazonaws.rds#PendingCloudwatchLogsExports$LogTypesToEnable */ => { - let var_923 = + let var_925 = Some( crate::xml_deser::deser_list_log_type_list(&mut tag) ? ) ; - builder = builder.set_log_types_to_enable(var_923); + builder = builder.set_log_types_to_enable(var_925); } , s if s.matches("LogTypesToDisable") /* LogTypesToDisable com.amazonaws.rds#PendingCloudwatchLogsExports$LogTypesToDisable */ => { - let var_924 = + let var_926 = Some( crate::xml_deser::deser_list_log_type_list(&mut tag) ? ) ; - builder = builder.set_log_types_to_disable(var_924); + builder = builder.set_log_types_to_disable(var_926); } , _ => {} @@ -21182,7 +21210,7 @@ pub fn deser_structure_db_security_group_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBSecurityGroupName") /* DBSecurityGroupName com.amazonaws.rds#DBSecurityGroupMembership$DBSecurityGroupName */ => { - let var_925 = + let var_927 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21191,11 +21219,11 @@ pub fn deser_structure_db_security_group_membership( ? ) ; - builder = builder.set_db_security_group_name(var_925); + builder = builder.set_db_security_group_name(var_927); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBSecurityGroupMembership$Status */ => { - let var_926 = + let var_928 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21204,7 +21232,7 @@ pub fn deser_structure_db_security_group_membership( ? ) ; - builder = builder.set_status(var_926); + builder = builder.set_status(var_928); } , _ => {} @@ -21221,7 +21249,7 @@ pub fn deser_structure_db_parameter_group_status( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBParameterGroupName") /* DBParameterGroupName com.amazonaws.rds#DBParameterGroupStatus$DBParameterGroupName */ => { - let var_927 = + let var_929 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21230,11 +21258,11 @@ pub fn deser_structure_db_parameter_group_status( ? ) ; - builder = builder.set_db_parameter_group_name(var_927); + builder = builder.set_db_parameter_group_name(var_929); } , s if s.matches("ParameterApplyStatus") /* ParameterApplyStatus com.amazonaws.rds#DBParameterGroupStatus$ParameterApplyStatus */ => { - let var_928 = + let var_930 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21243,7 +21271,7 @@ pub fn deser_structure_db_parameter_group_status( ? ) ; - builder = builder.set_parameter_apply_status(var_928); + builder = builder.set_parameter_apply_status(var_930); } , _ => {} @@ -21260,7 +21288,7 @@ pub fn deser_structure_option_group_membership( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("OptionGroupName") /* OptionGroupName com.amazonaws.rds#OptionGroupMembership$OptionGroupName */ => { - let var_929 = + let var_931 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21269,11 +21297,11 @@ pub fn deser_structure_option_group_membership( ? ) ; - builder = builder.set_option_group_name(var_929); + builder = builder.set_option_group_name(var_931); } , s if s.matches("Status") /* Status com.amazonaws.rds#OptionGroupMembership$Status */ => { - let var_930 = + let var_932 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21282,7 +21310,7 @@ pub fn deser_structure_option_group_membership( ? ) ; - builder = builder.set_status(var_930); + builder = builder.set_status(var_932); } , _ => {} @@ -21299,7 +21327,7 @@ pub fn deser_structure_db_instance_status_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("StatusType") /* StatusType com.amazonaws.rds#DBInstanceStatusInfo$StatusType */ => { - let var_931 = + let var_933 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21308,11 +21336,11 @@ pub fn deser_structure_db_instance_status_info( ? ) ; - builder = builder.set_status_type(var_931); + builder = builder.set_status_type(var_933); } , s if s.matches("Normal") /* Normal com.amazonaws.rds#DBInstanceStatusInfo$Normal */ => { - let var_932 = + let var_934 = Some( { ::parse_smithy_primitive( @@ -21323,11 +21351,11 @@ pub fn deser_structure_db_instance_status_info( ? ) ; - builder = builder.set_normal(var_932); + builder = builder.set_normal(var_934); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBInstanceStatusInfo$Status */ => { - let var_933 = + let var_935 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21336,11 +21364,11 @@ pub fn deser_structure_db_instance_status_info( ? ) ; - builder = builder.set_status(var_933); + builder = builder.set_status(var_935); } , s if s.matches("Message") /* Message com.amazonaws.rds#DBInstanceStatusInfo$Message */ => { - let var_934 = + let var_936 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21349,7 +21377,7 @@ pub fn deser_structure_db_instance_status_info( ? ) ; - builder = builder.set_message(var_934); + builder = builder.set_message(var_936); } , _ => {} @@ -21366,7 +21394,7 @@ pub fn deser_structure_db_instance_role( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("RoleArn") /* RoleArn com.amazonaws.rds#DBInstanceRole$RoleArn */ => { - let var_935 = + let var_937 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21375,11 +21403,11 @@ pub fn deser_structure_db_instance_role( ? ) ; - builder = builder.set_role_arn(var_935); + builder = builder.set_role_arn(var_937); } , s if s.matches("FeatureName") /* FeatureName com.amazonaws.rds#DBInstanceRole$FeatureName */ => { - let var_936 = + let var_938 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21388,11 +21416,11 @@ pub fn deser_structure_db_instance_role( ? ) ; - builder = builder.set_feature_name(var_936); + builder = builder.set_feature_name(var_938); } , s if s.matches("Status") /* Status com.amazonaws.rds#DBInstanceRole$Status */ => { - let var_937 = + let var_939 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21401,7 +21429,7 @@ pub fn deser_structure_db_instance_role( ? ) ; - builder = builder.set_status(var_937); + builder = builder.set_status(var_939); } , _ => {} @@ -21418,7 +21446,7 @@ pub fn deser_structure_db_instance_automated_backups_replication( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBInstanceAutomatedBackupsArn") /* DBInstanceAutomatedBackupsArn com.amazonaws.rds#DBInstanceAutomatedBackupsReplication$DBInstanceAutomatedBackupsArn */ => { - let var_938 = + let var_940 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21427,7 +21455,7 @@ pub fn deser_structure_db_instance_automated_backups_replication( ? ) ; - builder = builder.set_db_instance_automated_backups_arn(var_938); + builder = builder.set_db_instance_automated_backups_arn(var_940); } , _ => {} @@ -21444,7 +21472,7 @@ pub fn deser_structure_user_auth_config_info( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Description") /* Description com.amazonaws.rds#UserAuthConfigInfo$Description */ => { - let var_939 = + let var_941 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21453,11 +21481,11 @@ pub fn deser_structure_user_auth_config_info( ? ) ; - builder = builder.set_description(var_939); + builder = builder.set_description(var_941); } , s if s.matches("UserName") /* UserName com.amazonaws.rds#UserAuthConfigInfo$UserName */ => { - let var_940 = + let var_942 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21466,11 +21494,11 @@ pub fn deser_structure_user_auth_config_info( ? ) ; - builder = builder.set_user_name(var_940); + builder = builder.set_user_name(var_942); } , s if s.matches("AuthScheme") /* AuthScheme com.amazonaws.rds#UserAuthConfigInfo$AuthScheme */ => { - let var_941 = + let var_943 = Some( Result::::Ok( crate::model::AuthScheme::from( @@ -21480,11 +21508,11 @@ pub fn deser_structure_user_auth_config_info( ? ) ; - builder = builder.set_auth_scheme(var_941); + builder = builder.set_auth_scheme(var_943); } , s if s.matches("SecretArn") /* SecretArn com.amazonaws.rds#UserAuthConfigInfo$SecretArn */ => { - let var_942 = + let var_944 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21493,11 +21521,11 @@ pub fn deser_structure_user_auth_config_info( ? ) ; - builder = builder.set_secret_arn(var_942); + builder = builder.set_secret_arn(var_944); } , s if s.matches("IAMAuth") /* IAMAuth com.amazonaws.rds#UserAuthConfigInfo$IAMAuth */ => { - let var_943 = + let var_945 = Some( Result::::Ok( crate::model::IamAuthMode::from( @@ -21507,7 +21535,7 @@ pub fn deser_structure_user_auth_config_info( ? ) ; - builder = builder.set_iam_auth(var_943); + builder = builder.set_iam_auth(var_945); } , _ => {} @@ -21524,7 +21552,7 @@ pub fn deser_structure_subnet( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SubnetIdentifier") /* SubnetIdentifier com.amazonaws.rds#Subnet$SubnetIdentifier */ => { - let var_944 = + let var_946 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21533,31 +21561,31 @@ pub fn deser_structure_subnet( ? ) ; - builder = builder.set_subnet_identifier(var_944); + builder = builder.set_subnet_identifier(var_946); } , s if s.matches("SubnetAvailabilityZone") /* SubnetAvailabilityZone com.amazonaws.rds#Subnet$SubnetAvailabilityZone */ => { - let var_945 = + let var_947 = Some( crate::xml_deser::deser_structure_availability_zone(&mut tag) ? ) ; - builder = builder.set_subnet_availability_zone(var_945); + builder = builder.set_subnet_availability_zone(var_947); } , s if s.matches("SubnetOutpost") /* SubnetOutpost com.amazonaws.rds#Subnet$SubnetOutpost */ => { - let var_946 = + let var_948 = Some( crate::xml_deser::deser_structure_outpost(&mut tag) ? ) ; - builder = builder.set_subnet_outpost(var_946); + builder = builder.set_subnet_outpost(var_948); } , s if s.matches("SubnetStatus") /* SubnetStatus com.amazonaws.rds#Subnet$SubnetStatus */ => { - let var_947 = + let var_949 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21566,7 +21594,7 @@ pub fn deser_structure_subnet( ? ) ; - builder = builder.set_subnet_status(var_947); + builder = builder.set_subnet_status(var_949); } , _ => {} @@ -21583,7 +21611,7 @@ pub fn deser_structure_global_cluster_member( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("DBClusterArn") /* DBClusterArn com.amazonaws.rds#GlobalClusterMember$DBClusterArn */ => { - let var_948 = + let var_950 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21592,21 +21620,21 @@ pub fn deser_structure_global_cluster_member( ? ) ; - builder = builder.set_db_cluster_arn(var_948); + builder = builder.set_db_cluster_arn(var_950); } , s if s.matches("Readers") /* Readers com.amazonaws.rds#GlobalClusterMember$Readers */ => { - let var_949 = + let var_951 = Some( crate::xml_deser::deser_list_readers_arn_list(&mut tag) ? ) ; - builder = builder.set_readers(var_949); + builder = builder.set_readers(var_951); } , s if s.matches("IsWriter") /* IsWriter com.amazonaws.rds#GlobalClusterMember$IsWriter */ => { - let var_950 = + let var_952 = Some( { ::parse_smithy_primitive( @@ -21617,11 +21645,11 @@ pub fn deser_structure_global_cluster_member( ? ) ; - builder = builder.set_is_writer(var_950); + builder = builder.set_is_writer(var_952); } , s if s.matches("GlobalWriteForwardingStatus") /* GlobalWriteForwardingStatus com.amazonaws.rds#GlobalClusterMember$GlobalWriteForwardingStatus */ => { - let var_951 = + let var_953 = Some( Result::::Ok( crate::model::WriteForwardingStatus::from( @@ -21631,7 +21659,7 @@ pub fn deser_structure_global_cluster_member( ? ) ; - builder = builder.set_global_write_forwarding_status(var_951); + builder = builder.set_global_write_forwarding_status(var_953); } , _ => {} @@ -21670,7 +21698,7 @@ pub fn deser_structure_db_cluster_snapshot_attribute( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AttributeName") /* AttributeName com.amazonaws.rds#DBClusterSnapshotAttribute$AttributeName */ => { - let var_952 = + let var_954 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21679,17 +21707,17 @@ pub fn deser_structure_db_cluster_snapshot_attribute( ? ) ; - builder = builder.set_attribute_name(var_952); + builder = builder.set_attribute_name(var_954); } , s if s.matches("AttributeValues") /* AttributeValues com.amazonaws.rds#DBClusterSnapshotAttribute$AttributeValues */ => { - let var_953 = + let var_955 = Some( crate::xml_deser::deser_list_attribute_value_list(&mut tag) ? ) ; - builder = builder.set_attribute_values(var_953); + builder = builder.set_attribute_values(var_955); } , _ => {} @@ -21706,7 +21734,7 @@ pub fn deser_structure_character_set( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("CharacterSetName") /* CharacterSetName com.amazonaws.rds#CharacterSet$CharacterSetName */ => { - let var_954 = + let var_956 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21715,11 +21743,11 @@ pub fn deser_structure_character_set( ? ) ; - builder = builder.set_character_set_name(var_954); + builder = builder.set_character_set_name(var_956); } , s if s.matches("CharacterSetDescription") /* CharacterSetDescription com.amazonaws.rds#CharacterSet$CharacterSetDescription */ => { - let var_955 = + let var_957 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21728,7 +21756,7 @@ pub fn deser_structure_character_set( ? ) ; - builder = builder.set_character_set_description(var_955); + builder = builder.set_character_set_description(var_957); } , _ => {} @@ -21824,7 +21852,7 @@ pub fn deser_structure_target_health( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("State") /* State com.amazonaws.rds#TargetHealth$State */ => { - let var_956 = + let var_958 = Some( Result::::Ok( crate::model::TargetState::from( @@ -21834,11 +21862,11 @@ pub fn deser_structure_target_health( ? ) ; - builder = builder.set_state(var_956); + builder = builder.set_state(var_958); } , s if s.matches("Reason") /* Reason com.amazonaws.rds#TargetHealth$Reason */ => { - let var_957 = + let var_959 = Some( Result::::Ok( crate::model::TargetHealthReason::from( @@ -21848,11 +21876,11 @@ pub fn deser_structure_target_health( ? ) ; - builder = builder.set_reason(var_957); + builder = builder.set_reason(var_959); } , s if s.matches("Description") /* Description com.amazonaws.rds#TargetHealth$Description */ => { - let var_958 = + let var_960 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21861,7 +21889,7 @@ pub fn deser_structure_target_health( ? ) ; - builder = builder.set_description(var_958); + builder = builder.set_description(var_960); } , _ => {} @@ -21878,7 +21906,7 @@ pub fn deser_structure_db_snapshot_attribute( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AttributeName") /* AttributeName com.amazonaws.rds#DBSnapshotAttribute$AttributeName */ => { - let var_959 = + let var_961 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -21887,17 +21915,17 @@ pub fn deser_structure_db_snapshot_attribute( ? ) ; - builder = builder.set_attribute_name(var_959); + builder = builder.set_attribute_name(var_961); } , s if s.matches("AttributeValues") /* AttributeValues com.amazonaws.rds#DBSnapshotAttribute$AttributeValues */ => { - let var_960 = + let var_962 = Some( crate::xml_deser::deser_list_attribute_value_list(&mut tag) ? ) ; - builder = builder.set_attribute_values(var_960); + builder = builder.set_attribute_values(var_962); } , _ => {} @@ -22037,7 +22065,7 @@ pub fn deser_structure_valid_storage_options( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("StorageType") /* StorageType com.amazonaws.rds#ValidStorageOptions$StorageType */ => { - let var_961 = + let var_963 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22046,41 +22074,41 @@ pub fn deser_structure_valid_storage_options( ? ) ; - builder = builder.set_storage_type(var_961); + builder = builder.set_storage_type(var_963); } , s if s.matches("StorageSize") /* StorageSize com.amazonaws.rds#ValidStorageOptions$StorageSize */ => { - let var_962 = + let var_964 = Some( crate::xml_deser::deser_list_range_list(&mut tag) ? ) ; - builder = builder.set_storage_size(var_962); + builder = builder.set_storage_size(var_964); } , s if s.matches("ProvisionedIops") /* ProvisionedIops com.amazonaws.rds#ValidStorageOptions$ProvisionedIops */ => { - let var_963 = + let var_965 = Some( crate::xml_deser::deser_list_range_list(&mut tag) ? ) ; - builder = builder.set_provisioned_iops(var_963); + builder = builder.set_provisioned_iops(var_965); } , s if s.matches("IopsToStorageRatio") /* IopsToStorageRatio com.amazonaws.rds#ValidStorageOptions$IopsToStorageRatio */ => { - let var_964 = + let var_966 = Some( crate::xml_deser::deser_list_double_range_list(&mut tag) ? ) ; - builder = builder.set_iops_to_storage_ratio(var_964); + builder = builder.set_iops_to_storage_ratio(var_966); } , s if s.matches("SupportsStorageAutoscaling") /* SupportsStorageAutoscaling com.amazonaws.rds#ValidStorageOptions$SupportsStorageAutoscaling */ => { - let var_965 = + let var_967 = Some( { ::parse_smithy_primitive( @@ -22091,7 +22119,7 @@ pub fn deser_structure_valid_storage_options( ? ) ; - builder = builder.set_supports_storage_autoscaling(var_965); + builder = builder.set_supports_storage_autoscaling(var_967); } , _ => {} @@ -22108,7 +22136,7 @@ pub fn deser_structure_available_processor_feature( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.rds#AvailableProcessorFeature$Name */ => { - let var_966 = + let var_968 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22117,11 +22145,11 @@ pub fn deser_structure_available_processor_feature( ? ) ; - builder = builder.set_name(var_966); + builder = builder.set_name(var_968); } , s if s.matches("DefaultValue") /* DefaultValue com.amazonaws.rds#AvailableProcessorFeature$DefaultValue */ => { - let var_967 = + let var_969 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22130,11 +22158,11 @@ pub fn deser_structure_available_processor_feature( ? ) ; - builder = builder.set_default_value(var_967); + builder = builder.set_default_value(var_969); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.rds#AvailableProcessorFeature$AllowedValues */ => { - let var_968 = + let var_970 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22143,7 +22171,7 @@ pub fn deser_structure_available_processor_feature( ? ) ; - builder = builder.set_allowed_values(var_968); + builder = builder.set_allowed_values(var_970); } , _ => {} @@ -22160,7 +22188,7 @@ pub fn deser_structure_recurring_charge( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("RecurringChargeAmount") /* RecurringChargeAmount com.amazonaws.rds#RecurringCharge$RecurringChargeAmount */ => { - let var_969 = + let var_971 = Some( { ::parse_smithy_primitive( @@ -22171,11 +22199,11 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_recurring_charge_amount(var_969); + builder = builder.set_recurring_charge_amount(var_971); } , s if s.matches("RecurringChargeFrequency") /* RecurringChargeFrequency com.amazonaws.rds#RecurringCharge$RecurringChargeFrequency */ => { - let var_970 = + let var_972 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22184,7 +22212,7 @@ pub fn deser_structure_recurring_charge( ? ) ; - builder = builder.set_recurring_charge_frequency(var_970); + builder = builder.set_recurring_charge_frequency(var_972); } , _ => {} @@ -22220,7 +22248,7 @@ pub fn deser_structure_availability_zone( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.rds#AvailabilityZone$Name */ => { - let var_971 = + let var_973 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22229,7 +22257,7 @@ pub fn deser_structure_availability_zone( ? ) ; - builder = builder.set_name(var_971); + builder = builder.set_name(var_973); } , _ => {} @@ -22246,7 +22274,7 @@ pub fn deser_structure_outpost( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Arn") /* Arn com.amazonaws.rds#Outpost$Arn */ => { - let var_972 = + let var_974 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22255,7 +22283,7 @@ pub fn deser_structure_outpost( ? ) ; - builder = builder.set_arn(var_972); + builder = builder.set_arn(var_974); } , _ => {} @@ -22316,7 +22344,7 @@ pub fn deser_structure_upgrade_target( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Engine") /* Engine com.amazonaws.rds#UpgradeTarget$Engine */ => { - let var_973 = + let var_975 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22325,11 +22353,11 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_engine(var_973); + builder = builder.set_engine(var_975); } , s if s.matches("EngineVersion") /* EngineVersion com.amazonaws.rds#UpgradeTarget$EngineVersion */ => { - let var_974 = + let var_976 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22338,11 +22366,11 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_engine_version(var_974); + builder = builder.set_engine_version(var_976); } , s if s.matches("Description") /* Description com.amazonaws.rds#UpgradeTarget$Description */ => { - let var_975 = + let var_977 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22351,11 +22379,11 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_description(var_975); + builder = builder.set_description(var_977); } , s if s.matches("AutoUpgrade") /* AutoUpgrade com.amazonaws.rds#UpgradeTarget$AutoUpgrade */ => { - let var_976 = + let var_978 = Some( { ::parse_smithy_primitive( @@ -22366,11 +22394,11 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_auto_upgrade(var_976); + builder = builder.set_auto_upgrade(var_978); } , s if s.matches("IsMajorVersionUpgrade") /* IsMajorVersionUpgrade com.amazonaws.rds#UpgradeTarget$IsMajorVersionUpgrade */ => { - let var_977 = + let var_979 = Some( { ::parse_smithy_primitive( @@ -22381,21 +22409,21 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_is_major_version_upgrade(var_977); + builder = builder.set_is_major_version_upgrade(var_979); } , s if s.matches("SupportedEngineModes") /* SupportedEngineModes com.amazonaws.rds#UpgradeTarget$SupportedEngineModes */ => { - let var_978 = + let var_980 = Some( crate::xml_deser::deser_list_engine_mode_list(&mut tag) ? ) ; - builder = builder.set_supported_engine_modes(var_978); + builder = builder.set_supported_engine_modes(var_980); } , s if s.matches("SupportsParallelQuery") /* SupportsParallelQuery com.amazonaws.rds#UpgradeTarget$SupportsParallelQuery */ => { - let var_979 = + let var_981 = Some( { ::parse_smithy_primitive( @@ -22406,11 +22434,11 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_supports_parallel_query(var_979); + builder = builder.set_supports_parallel_query(var_981); } , s if s.matches("SupportsGlobalDatabases") /* SupportsGlobalDatabases com.amazonaws.rds#UpgradeTarget$SupportsGlobalDatabases */ => { - let var_980 = + let var_982 = Some( { ::parse_smithy_primitive( @@ -22421,7 +22449,7 @@ pub fn deser_structure_upgrade_target( ? ) ; - builder = builder.set_supports_global_databases(var_980); + builder = builder.set_supports_global_databases(var_982); } , _ => {} @@ -22438,7 +22466,7 @@ pub fn deser_structure_timezone( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("TimezoneName") /* TimezoneName com.amazonaws.rds#Timezone$TimezoneName */ => { - let var_981 = + let var_983 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22447,7 +22475,7 @@ pub fn deser_structure_timezone( ? ) ; - builder = builder.set_timezone_name(var_981); + builder = builder.set_timezone_name(var_983); } , _ => {} @@ -22464,7 +22492,7 @@ pub fn deser_structure_option_group_option_setting( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("SettingName") /* SettingName com.amazonaws.rds#OptionGroupOptionSetting$SettingName */ => { - let var_982 = + let var_984 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22473,11 +22501,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_setting_name(var_982); + builder = builder.set_setting_name(var_984); } , s if s.matches("SettingDescription") /* SettingDescription com.amazonaws.rds#OptionGroupOptionSetting$SettingDescription */ => { - let var_983 = + let var_985 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22486,11 +22514,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_setting_description(var_983); + builder = builder.set_setting_description(var_985); } , s if s.matches("DefaultValue") /* DefaultValue com.amazonaws.rds#OptionGroupOptionSetting$DefaultValue */ => { - let var_984 = + let var_986 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22499,11 +22527,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_default_value(var_984); + builder = builder.set_default_value(var_986); } , s if s.matches("ApplyType") /* ApplyType com.amazonaws.rds#OptionGroupOptionSetting$ApplyType */ => { - let var_985 = + let var_987 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22512,11 +22540,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_apply_type(var_985); + builder = builder.set_apply_type(var_987); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.rds#OptionGroupOptionSetting$AllowedValues */ => { - let var_986 = + let var_988 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22525,11 +22553,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_allowed_values(var_986); + builder = builder.set_allowed_values(var_988); } , s if s.matches("IsModifiable") /* IsModifiable com.amazonaws.rds#OptionGroupOptionSetting$IsModifiable */ => { - let var_987 = + let var_989 = Some( { ::parse_smithy_primitive( @@ -22540,11 +22568,11 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_is_modifiable(var_987); + builder = builder.set_is_modifiable(var_989); } , s if s.matches("IsRequired") /* IsRequired com.amazonaws.rds#OptionGroupOptionSetting$IsRequired */ => { - let var_988 = + let var_990 = Some( { ::parse_smithy_primitive( @@ -22555,17 +22583,17 @@ pub fn deser_structure_option_group_option_setting( ? ) ; - builder = builder.set_is_required(var_988); + builder = builder.set_is_required(var_990); } , s if s.matches("MinimumEngineVersionPerAllowedValue") /* MinimumEngineVersionPerAllowedValue com.amazonaws.rds#OptionGroupOptionSetting$MinimumEngineVersionPerAllowedValue */ => { - let var_989 = + let var_991 = Some( crate::xml_deser::deser_list_minimum_engine_version_per_allowed_value_list(&mut tag) ? ) ; - builder = builder.set_minimum_engine_version_per_allowed_value(var_989); + builder = builder.set_minimum_engine_version_per_allowed_value(var_991); } , _ => {} @@ -22582,7 +22610,7 @@ pub fn deser_structure_option_version( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Version") /* Version com.amazonaws.rds#OptionVersion$Version */ => { - let var_990 = + let var_992 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22591,11 +22619,11 @@ pub fn deser_structure_option_version( ? ) ; - builder = builder.set_version(var_990); + builder = builder.set_version(var_992); } , s if s.matches("IsDefault") /* IsDefault com.amazonaws.rds#OptionVersion$IsDefault */ => { - let var_991 = + let var_993 = Some( { ::parse_smithy_primitive( @@ -22606,7 +22634,7 @@ pub fn deser_structure_option_version( ? ) ; - builder = builder.set_is_default(var_991); + builder = builder.set_is_default(var_993); } , _ => {} @@ -22661,7 +22689,7 @@ pub fn deser_structure_option_setting( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("Name") /* Name com.amazonaws.rds#OptionSetting$Name */ => { - let var_992 = + let var_994 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22670,11 +22698,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_name(var_992); + builder = builder.set_name(var_994); } , s if s.matches("Value") /* Value com.amazonaws.rds#OptionSetting$Value */ => { - let var_993 = + let var_995 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22683,11 +22711,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_value(var_993); + builder = builder.set_value(var_995); } , s if s.matches("DefaultValue") /* DefaultValue com.amazonaws.rds#OptionSetting$DefaultValue */ => { - let var_994 = + let var_996 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22696,11 +22724,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_default_value(var_994); + builder = builder.set_default_value(var_996); } , s if s.matches("Description") /* Description com.amazonaws.rds#OptionSetting$Description */ => { - let var_995 = + let var_997 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22709,11 +22737,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_description(var_995); + builder = builder.set_description(var_997); } , s if s.matches("ApplyType") /* ApplyType com.amazonaws.rds#OptionSetting$ApplyType */ => { - let var_996 = + let var_998 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22722,11 +22750,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_apply_type(var_996); + builder = builder.set_apply_type(var_998); } , s if s.matches("DataType") /* DataType com.amazonaws.rds#OptionSetting$DataType */ => { - let var_997 = + let var_999 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22735,11 +22763,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_data_type(var_997); + builder = builder.set_data_type(var_999); } , s if s.matches("AllowedValues") /* AllowedValues com.amazonaws.rds#OptionSetting$AllowedValues */ => { - let var_998 = + let var_1000 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22748,11 +22776,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_allowed_values(var_998); + builder = builder.set_allowed_values(var_1000); } , s if s.matches("IsModifiable") /* IsModifiable com.amazonaws.rds#OptionSetting$IsModifiable */ => { - let var_999 = + let var_1001 = Some( { ::parse_smithy_primitive( @@ -22763,11 +22791,11 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_is_modifiable(var_999); + builder = builder.set_is_modifiable(var_1001); } , s if s.matches("IsCollection") /* IsCollection com.amazonaws.rds#OptionSetting$IsCollection */ => { - let var_1000 = + let var_1002 = Some( { ::parse_smithy_primitive( @@ -22778,7 +22806,7 @@ pub fn deser_structure_option_setting( ? ) ; - builder = builder.set_is_collection(var_1000); + builder = builder.set_is_collection(var_1002); } , _ => {} @@ -22817,7 +22845,7 @@ pub fn deser_structure_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("From") /* From com.amazonaws.rds#Range$From */ => { - let var_1001 = + let var_1003 = Some( { ::parse_smithy_primitive( @@ -22828,11 +22856,11 @@ pub fn deser_structure_range( ? ) ; - builder = builder.set_from(var_1001); + builder = builder.set_from(var_1003); } , s if s.matches("To") /* To com.amazonaws.rds#Range$To */ => { - let var_1002 = + let var_1004 = Some( { ::parse_smithy_primitive( @@ -22843,11 +22871,11 @@ pub fn deser_structure_range( ? ) ; - builder = builder.set_to(var_1002); + builder = builder.set_to(var_1004); } , s if s.matches("Step") /* Step com.amazonaws.rds#Range$Step */ => { - let var_1003 = + let var_1005 = Some( { ::parse_smithy_primitive( @@ -22858,7 +22886,7 @@ pub fn deser_structure_range( ? ) ; - builder = builder.set_step(var_1003); + builder = builder.set_step(var_1005); } , _ => {} @@ -22875,7 +22903,7 @@ pub fn deser_structure_double_range( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("From") /* From com.amazonaws.rds#DoubleRange$From */ => { - let var_1004 = + let var_1006 = Some( { ::parse_smithy_primitive( @@ -22886,11 +22914,11 @@ pub fn deser_structure_double_range( ? ) ; - builder = builder.set_from(var_1004); + builder = builder.set_from(var_1006); } , s if s.matches("To") /* To com.amazonaws.rds#DoubleRange$To */ => { - let var_1005 = + let var_1007 = Some( { ::parse_smithy_primitive( @@ -22901,7 +22929,7 @@ pub fn deser_structure_double_range( ? ) ; - builder = builder.set_to(var_1005); + builder = builder.set_to(var_1007); } , _ => {} @@ -22918,7 +22946,7 @@ pub fn deser_structure_minimum_engine_version_per_allowed_value( while let Some(mut tag) = decoder.next_tag() { match tag.start_el() { s if s.matches("AllowedValue") /* AllowedValue com.amazonaws.rds#MinimumEngineVersionPerAllowedValue$AllowedValue */ => { - let var_1006 = + let var_1008 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22927,11 +22955,11 @@ pub fn deser_structure_minimum_engine_version_per_allowed_value( ? ) ; - builder = builder.set_allowed_value(var_1006); + builder = builder.set_allowed_value(var_1008); } , s if s.matches("MinimumEngineVersion") /* MinimumEngineVersion com.amazonaws.rds#MinimumEngineVersionPerAllowedValue$MinimumEngineVersion */ => { - let var_1007 = + let var_1009 = Some( Result::::Ok( smithy_xml::decode::try_data(&mut tag)?.as_ref() @@ -22940,7 +22968,7 @@ pub fn deser_structure_minimum_engine_version_per_allowed_value( ? ) ; - builder = builder.set_minimum_engine_version(var_1007); + builder = builder.set_minimum_engine_version(var_1009); } , _ => {} diff --git a/sdk/rdsdata/Cargo.toml b/sdk/rdsdata/Cargo.toml index 2f5959d8b8b2..0f2acfdb01ff 100644 --- a/sdk/rdsdata/Cargo.toml +++ b/sdk/rdsdata/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-rdsdata" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon RDS Data Service\n

                                                      Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora\n Serverless DB cluster. To run these statements, you work with the Data Service\n API.

                                                      \n

                                                      For more information about the Data Service API, see Using the Data API for Aurora\n Serverless in the Amazon Aurora User Guide.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/rdsdata/src/model.rs b/sdk/rdsdata/src/model.rs index 59baaa399cc7..5ab0fac77731 100644 --- a/sdk/rdsdata/src/model.rs +++ b/sdk/rdsdata/src/model.rs @@ -18,7 +18,7 @@ pub enum Field { StringValue(std::string::String), } impl Field { - pub fn as_array_value(&self) -> Result<&crate::model::ArrayValue, &Self> { + pub fn as_array_value(&self) -> std::result::Result<&crate::model::ArrayValue, &Self> { if let Field::ArrayValue(val) = &self { Ok(&val) } else { @@ -28,7 +28,7 @@ impl Field { pub fn is_array_value(&self) -> bool { self.as_array_value().is_ok() } - pub fn as_blob_value(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_blob_value(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let Field::BlobValue(val) = &self { Ok(&val) } else { @@ -38,7 +38,7 @@ impl Field { pub fn is_blob_value(&self) -> bool { self.as_blob_value().is_ok() } - pub fn as_boolean_value(&self) -> Result<&bool, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&bool, &Self> { if let Field::BooleanValue(val) = &self { Ok(&val) } else { @@ -48,7 +48,7 @@ impl Field { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_double_value(&self) -> Result<&f64, &Self> { + pub fn as_double_value(&self) -> std::result::Result<&f64, &Self> { if let Field::DoubleValue(val) = &self { Ok(&val) } else { @@ -58,7 +58,7 @@ impl Field { pub fn is_double_value(&self) -> bool { self.as_double_value().is_ok() } - pub fn as_is_null(&self) -> Result<&bool, &Self> { + pub fn as_is_null(&self) -> std::result::Result<&bool, &Self> { if let Field::IsNull(val) = &self { Ok(&val) } else { @@ -68,7 +68,7 @@ impl Field { pub fn is_is_null(&self) -> bool { self.as_is_null().is_ok() } - pub fn as_long_value(&self) -> Result<&i64, &Self> { + pub fn as_long_value(&self) -> std::result::Result<&i64, &Self> { if let Field::LongValue(val) = &self { Ok(&val) } else { @@ -78,7 +78,7 @@ impl Field { pub fn is_long_value(&self) -> bool { self.as_long_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let Field::StringValue(val) = &self { Ok(&val) } else { @@ -105,7 +105,9 @@ pub enum ArrayValue { StringValues(std::vec::Vec), } impl ArrayValue { - pub fn as_array_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_array_values( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let ArrayValue::ArrayValues(val) = &self { Ok(&val) } else { @@ -115,7 +117,7 @@ impl ArrayValue { pub fn is_array_values(&self) -> bool { self.as_array_values().is_ok() } - pub fn as_boolean_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_boolean_values(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let ArrayValue::BooleanValues(val) = &self { Ok(&val) } else { @@ -125,7 +127,7 @@ impl ArrayValue { pub fn is_boolean_values(&self) -> bool { self.as_boolean_values().is_ok() } - pub fn as_double_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_double_values(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let ArrayValue::DoubleValues(val) = &self { Ok(&val) } else { @@ -135,7 +137,7 @@ impl ArrayValue { pub fn is_double_values(&self) -> bool { self.as_double_values().is_ok() } - pub fn as_long_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_long_values(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let ArrayValue::LongValues(val) = &self { Ok(&val) } else { @@ -145,7 +147,9 @@ impl ArrayValue { pub fn is_long_values(&self) -> bool { self.as_long_values().is_ok() } - pub fn as_string_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_string_values( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let ArrayValue::StringValues(val) = &self { Ok(&val) } else { @@ -918,7 +922,9 @@ pub enum Value { StructValue(crate::model::StructValue), } impl Value { - pub fn as_array_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_array_values( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let Value::ArrayValues(val) = &self { Ok(&val) } else { @@ -928,7 +934,7 @@ impl Value { pub fn is_array_values(&self) -> bool { self.as_array_values().is_ok() } - pub fn as_big_int_value(&self) -> Result<&i64, &Self> { + pub fn as_big_int_value(&self) -> std::result::Result<&i64, &Self> { if let Value::BigIntValue(val) = &self { Ok(&val) } else { @@ -938,7 +944,7 @@ impl Value { pub fn is_big_int_value(&self) -> bool { self.as_big_int_value().is_ok() } - pub fn as_bit_value(&self) -> Result<&bool, &Self> { + pub fn as_bit_value(&self) -> std::result::Result<&bool, &Self> { if let Value::BitValue(val) = &self { Ok(&val) } else { @@ -948,7 +954,7 @@ impl Value { pub fn is_bit_value(&self) -> bool { self.as_bit_value().is_ok() } - pub fn as_blob_value(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_blob_value(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let Value::BlobValue(val) = &self { Ok(&val) } else { @@ -958,7 +964,7 @@ impl Value { pub fn is_blob_value(&self) -> bool { self.as_blob_value().is_ok() } - pub fn as_double_value(&self) -> Result<&f64, &Self> { + pub fn as_double_value(&self) -> std::result::Result<&f64, &Self> { if let Value::DoubleValue(val) = &self { Ok(&val) } else { @@ -968,7 +974,7 @@ impl Value { pub fn is_double_value(&self) -> bool { self.as_double_value().is_ok() } - pub fn as_int_value(&self) -> Result<&i32, &Self> { + pub fn as_int_value(&self) -> std::result::Result<&i32, &Self> { if let Value::IntValue(val) = &self { Ok(&val) } else { @@ -978,7 +984,7 @@ impl Value { pub fn is_int_value(&self) -> bool { self.as_int_value().is_ok() } - pub fn as_is_null(&self) -> Result<&bool, &Self> { + pub fn as_is_null(&self) -> std::result::Result<&bool, &Self> { if let Value::IsNull(val) = &self { Ok(&val) } else { @@ -988,7 +994,7 @@ impl Value { pub fn is_is_null(&self) -> bool { self.as_is_null().is_ok() } - pub fn as_real_value(&self) -> Result<&f32, &Self> { + pub fn as_real_value(&self) -> std::result::Result<&f32, &Self> { if let Value::RealValue(val) = &self { Ok(&val) } else { @@ -998,7 +1004,7 @@ impl Value { pub fn is_real_value(&self) -> bool { self.as_real_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let Value::StringValue(val) = &self { Ok(&val) } else { @@ -1008,7 +1014,7 @@ impl Value { pub fn is_string_value(&self) -> bool { self.as_string_value().is_ok() } - pub fn as_struct_value(&self) -> Result<&crate::model::StructValue, &Self> { + pub fn as_struct_value(&self) -> std::result::Result<&crate::model::StructValue, &Self> { if let Value::StructValue(val) = &self { Ok(&val) } else { diff --git a/sdk/redshift/Cargo.toml b/sdk/redshift/Cargo.toml index d038f27f341c..89abdcac0c7e 100644 --- a/sdk/redshift/Cargo.toml +++ b/sdk/redshift/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-redshift" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Redshift\n

                                                      \n Overview\n

                                                      \n

                                                      This is an interface reference for Amazon Redshift. It contains documentation for one of\n the programming or command line interfaces you can use to manage Amazon Redshift clusters.\n Note that Amazon Redshift is asynchronous, which means that some interfaces may require\n techniques, such as polling or asynchronous callback handlers, to determine when a\n command has been applied. In this reference, the parameter descriptions indicate whether\n a change is applied immediately, on the next instance reboot, or during the next\n maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to\n Using the\n Amazon Redshift Management Interfaces.

                                                      \n

                                                      Amazon Redshift manages all the work of setting up, operating, and scaling a data\n warehouse: provisioning capacity, monitoring and backing up the cluster, and applying\n patches and upgrades to the Amazon Redshift engine. You can focus on using your data to\n acquire new insights for your business and customers.

                                                      \n

                                                      If you are a first-time user of Amazon Redshift, we recommend that you begin by reading\n the Amazon Redshift Getting Started Guide.

                                                      \n\n

                                                      If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design,\n build, query, and maintain the databases that make up your data warehouse.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/redshiftdata/Cargo.toml b/sdk/redshiftdata/Cargo.toml index 501037863a1b..3e6d0347eb41 100644 --- a/sdk/redshiftdata/Cargo.toml +++ b/sdk/redshiftdata/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-redshiftdata" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                      You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You\n can run SQL statements, which are committed if the statement succeeds.

                                                      \n

                                                      For more information about the Amazon Redshift Data API, see \n Using the Amazon Redshift Data API in the \n Amazon Redshift Cluster Management Guide.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/redshiftdata/src/model.rs b/sdk/redshiftdata/src/model.rs index 8bc58c00f6fd..73b5254a83d6 100644 --- a/sdk/redshiftdata/src/model.rs +++ b/sdk/redshiftdata/src/model.rs @@ -642,7 +642,7 @@ pub enum Field { StringValue(std::string::String), } impl Field { - pub fn as_blob_value(&self) -> Result<&smithy_types::Blob, &Self> { + pub fn as_blob_value(&self) -> std::result::Result<&smithy_types::Blob, &Self> { if let Field::BlobValue(val) = &self { Ok(&val) } else { @@ -652,7 +652,7 @@ impl Field { pub fn is_blob_value(&self) -> bool { self.as_blob_value().is_ok() } - pub fn as_boolean_value(&self) -> Result<&bool, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&bool, &Self> { if let Field::BooleanValue(val) = &self { Ok(&val) } else { @@ -662,7 +662,7 @@ impl Field { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_double_value(&self) -> Result<&f64, &Self> { + pub fn as_double_value(&self) -> std::result::Result<&f64, &Self> { if let Field::DoubleValue(val) = &self { Ok(&val) } else { @@ -672,7 +672,7 @@ impl Field { pub fn is_double_value(&self) -> bool { self.as_double_value().is_ok() } - pub fn as_is_null(&self) -> Result<&bool, &Self> { + pub fn as_is_null(&self) -> std::result::Result<&bool, &Self> { if let Field::IsNull(val) = &self { Ok(&val) } else { @@ -682,7 +682,7 @@ impl Field { pub fn is_is_null(&self) -> bool { self.as_is_null().is_ok() } - pub fn as_long_value(&self) -> Result<&i64, &Self> { + pub fn as_long_value(&self) -> std::result::Result<&i64, &Self> { if let Field::LongValue(val) = &self { Ok(&val) } else { @@ -692,7 +692,7 @@ impl Field { pub fn is_long_value(&self) -> bool { self.as_long_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let Field::StringValue(val) = &self { Ok(&val) } else { diff --git a/sdk/rekognition/Cargo.toml b/sdk/rekognition/Cargo.toml index abc8a6c716b9..b09bb41da6a8 100644 --- a/sdk/rekognition/Cargo.toml +++ b/sdk/rekognition/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-rekognition" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                      This is the Amazon Rekognition API reference.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/rekognition/src/client.rs b/sdk/rekognition/src/client.rs index 9b04f60e6c48..47a411dffd96 100644 --- a/sdk/rekognition/src/client.rs +++ b/sdk/rekognition/src/client.rs @@ -442,7 +442,9 @@ pub mod fluent_builders { self.inner = self.inner.set_version_name(input); self } - ///

                                                      The Amazon S3 location to store the results of training.

                                                      + ///

                                                      The Amazon S3 bucket location to store the results of training. + /// The S3 bucket can be in any AWS account as long as the caller has + /// s3:PutObject permissions on the S3 bucket.

                                                      pub fn output_config(mut self, input: crate::model::OutputConfig) -> Self { self.inner = self.inner.output_config(input); self @@ -500,10 +502,25 @@ pub mod fluent_builders { } ///

                                                      The identifier for your AWS Key Management Service (AWS KMS) customer master key (CMK). /// You can supply the Amazon Resource Name (ARN) of your CMK, the ID of your CMK, - /// or an alias for your CMK. - /// The key is used to encrypt training and test images copied into the service for model training. Your - /// source images are unaffected. The key is also used to encrypt training results and manifest files written - /// to the output Amazon S3 bucket (OutputConfig).

                                                      + /// an alias for your CMK, or an alias ARN. + /// The key is used to encrypt training and test images copied into the service for model training. + /// Your source images are unaffected. The key is also used to encrypt training results + /// and manifest files written to the output Amazon S3 bucket (OutputConfig).

                                                      + ///

                                                      If you choose to use your own CMK, you need the following permissions on the CMK.

                                                      + ///
                                                        + ///
                                                      • + ///

                                                        kms:CreateGrant

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:DescribeKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:GenerateDataKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:Decrypt

                                                        + ///
                                                      • + ///
                                                      ///

                                                      If you don't specify a value for KmsKeyId, images copied into the service are encrypted /// using a key that AWS owns and manages.

                                                      pub fn kms_key_id(mut self, input: impl Into) -> Self { @@ -1629,7 +1646,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                      The identifier for the unsafe content job. Use JobId to identify the job in + ///

                                                      The identifier for the inappropriate, unwanted, or offensive content moderation job. Use JobId to identify the job in /// a subsequent call to GetContentModeration.

                                                      pub fn job_id(mut self, input: impl Into) -> Self { self.inner = self.inner.job_id(input); @@ -1652,7 +1669,7 @@ pub mod fluent_builders { } ///

                                                      If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition /// returns a pagination token in the response. You can use this pagination token - /// to retrieve the next set of unsafe content labels.

                                                      + /// to retrieve the next set of content moderation labels.

                                                      pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -2713,7 +2730,7 @@ pub mod fluent_builders { self } ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// celebrity recognition analysis to.

                                                      + /// celebrity recognition analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -2767,7 +2784,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                      The video in which you want to detect unsafe content. The video must be stored + ///

                                                      The video in which you want to detect inappropriate, unwanted, or offensive content. The video must be stored /// in an Amazon S3 bucket.

                                                      pub fn video(mut self, input: crate::model::Video) -> Self { self.inner = self.inner.video(input); @@ -2805,7 +2822,7 @@ pub mod fluent_builders { self } ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// unsafe content analysis to.

                                                      + /// content analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -2884,7 +2901,7 @@ pub mod fluent_builders { self } ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// face detection operation.

                                                      + /// face detection operation. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -2999,7 +3016,7 @@ pub mod fluent_builders { self.inner = self.inner.set_collection_id(input); self } - ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

                                                      + ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -3092,7 +3109,7 @@ pub mod fluent_builders { self } ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -3171,7 +3188,7 @@ pub mod fluent_builders { self } ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -3307,7 +3324,7 @@ pub mod fluent_builders { self } ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// segment detection operation.

                                                      + /// segment detection operation. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self @@ -3451,7 +3468,8 @@ pub mod fluent_builders { self } ///

                                                      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see - /// api-video.

                                                      + /// api-video. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic. + /// For more information, see Giving access to multiple Amazon SNS topics.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.inner = self.inner.notification_channel(input); self diff --git a/sdk/rekognition/src/input.rs b/sdk/rekognition/src/input.rs index 6fce705e0965..425f0e71c5e7 100644 --- a/sdk/rekognition/src/input.rs +++ b/sdk/rekognition/src/input.rs @@ -532,7 +532,9 @@ pub mod create_project_version_input { self.version_name = input; self } - ///

                                                      The Amazon S3 location to store the results of training.

                                                      + ///

                                                      The Amazon S3 bucket location to store the results of training. + /// The S3 bucket can be in any AWS account as long as the caller has + /// s3:PutObject permissions on the S3 bucket.

                                                      pub fn output_config(mut self, input: crate::model::OutputConfig) -> Self { self.output_config = Some(input); self @@ -589,10 +591,25 @@ pub mod create_project_version_input { } ///

                                                      The identifier for your AWS Key Management Service (AWS KMS) customer master key (CMK). /// You can supply the Amazon Resource Name (ARN) of your CMK, the ID of your CMK, - /// or an alias for your CMK. - /// The key is used to encrypt training and test images copied into the service for model training. Your - /// source images are unaffected. The key is also used to encrypt training results and manifest files written - /// to the output Amazon S3 bucket (OutputConfig).

                                                      + /// an alias for your CMK, or an alias ARN. + /// The key is used to encrypt training and test images copied into the service for model training. + /// Your source images are unaffected. The key is also used to encrypt training results + /// and manifest files written to the output Amazon S3 bucket (OutputConfig).

                                                      + ///

                                                      If you choose to use your own CMK, you need the following permissions on the CMK.

                                                      + ///
                                                        + ///
                                                      • + ///

                                                        kms:CreateGrant

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:DescribeKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:GenerateDataKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:Decrypt

                                                        + ///
                                                      • + ///
                                                      ///

                                                      If you don't specify a value for KmsKeyId, images copied into the service are encrypted /// using a key that AWS owns and manages.

                                                      pub fn kms_key_id(mut self, input: impl Into) -> Self { @@ -3616,7 +3633,7 @@ pub mod get_content_moderation_input { pub(crate) sort_by: std::option::Option, } impl Builder { - ///

                                                      The identifier for the unsafe content job. Use JobId to identify the job in + ///

                                                      The identifier for the inappropriate, unwanted, or offensive content moderation job. Use JobId to identify the job in /// a subsequent call to GetContentModeration.

                                                      pub fn job_id(mut self, input: impl Into) -> Self { self.job_id = Some(input.into()); @@ -3639,7 +3656,7 @@ pub mod get_content_moderation_input { } ///

                                                      If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition /// returns a pagination token in the response. You can use this pagination token - /// to retrieve the next set of unsafe content labels.

                                                      + /// to retrieve the next set of content moderation labels.

                                                      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -6219,7 +6236,7 @@ pub mod start_celebrity_recognition_input { self } ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// celebrity recognition analysis to.

                                                      + /// celebrity recognition analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -6379,7 +6396,7 @@ pub mod start_content_moderation_input { pub(crate) job_tag: std::option::Option, } impl Builder { - ///

                                                      The video in which you want to detect unsafe content. The video must be stored + ///

                                                      The video in which you want to detect inappropriate, unwanted, or offensive content. The video must be stored /// in an Amazon S3 bucket.

                                                      pub fn video(mut self, input: crate::model::Video) -> Self { self.video = Some(input); @@ -6417,7 +6434,7 @@ pub mod start_content_moderation_input { self } ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// unsafe content analysis to.

                                                      + /// content analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -6602,7 +6619,7 @@ pub mod start_face_detection_input { self } ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// face detection operation.

                                                      + /// face detection operation. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -6824,7 +6841,7 @@ pub mod start_face_search_input { self.collection_id = input; self } - ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

                                                      + ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -7023,7 +7040,7 @@ pub mod start_label_detection_input { self } ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -7207,7 +7224,7 @@ pub mod start_person_tracking_input { self } ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -7549,7 +7566,7 @@ pub mod start_segment_detection_input { self } ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// segment detection operation.

                                                      + /// segment detection operation. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -7897,7 +7914,8 @@ pub mod start_text_detection_input { self } ///

                                                      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see - /// api-video.

                                                      + /// api-video. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic. + /// For more information, see Giving access to multiple Amazon SNS topics.

                                                      pub fn notification_channel(mut self, input: crate::model::NotificationChannel) -> Self { self.notification_channel = Some(input); self @@ -8735,7 +8753,8 @@ pub struct StartTextDetectionInput { /// from being accidentaly started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see - /// api-video.

                                                      + /// api-video. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic. + /// For more information, see Giving access to multiple Amazon SNS topics.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier returned in the completion status published by your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs /// and identify them in the completion notification.

                                                      @@ -8780,7 +8799,7 @@ pub struct StartSegmentDetectionInput { /// ClientRequestToken to prevent the same job from being accidently started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// segment detection operation.

                                                      + /// segment detection operation. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -8835,7 +8854,7 @@ pub struct StartPersonTrackingInput { /// ClientRequestToken to prevent the same job from being accidently started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -8870,7 +8889,7 @@ pub struct StartLabelDetectionInput { /// values greater than or equal to 50 percent.

                                                      pub min_confidence: std::option::Option, ///

                                                      The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection - /// operation to.

                                                      + /// operation to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -8902,7 +8921,7 @@ pub struct StartFaceSearchInput { pub face_match_threshold: std::option::Option, ///

                                                      ID of the collection that contains the faces you want to search for.

                                                      pub collection_id: std::option::Option, - ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

                                                      + ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -8932,7 +8951,7 @@ pub struct StartFaceDetectionInput { /// ClientRequestToken to prevent the same job from being accidently started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the - /// face detection operation.

                                                      + /// face detection operation. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub notification_channel: std::option::Option, ///

                                                      The face attributes you want returned.

                                                      ///

                                                      @@ -8959,7 +8978,7 @@ impl std::fmt::Debug for StartFaceDetectionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartContentModerationInput { - ///

                                                      The video in which you want to detect unsafe content. The video must be stored + ///

                                                      The video in which you want to detect inappropriate, unwanted, or offensive content. The video must be stored /// in an Amazon S3 bucket.

                                                      pub video: std::option::Option, ///

                                                      Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence @@ -8973,7 +8992,7 @@ pub struct StartContentModerationInput { /// ClientRequestToken to prevent the same job from being accidently started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// unsafe content analysis to.

                                                      + /// content analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -9002,7 +9021,7 @@ pub struct StartCelebrityRecognitionInput { /// ClientRequestToken to prevent the same job from being accidently started more than once.

                                                      pub client_request_token: std::option::Option, ///

                                                      The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the - /// celebrity recognition analysis to.

                                                      + /// celebrity recognition analysis to. The Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy.

                                                      pub notification_channel: std::option::Option, ///

                                                      An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. /// For example, you can use JobTag to group related jobs and identify them in the completion notification.

                                                      @@ -9404,7 +9423,7 @@ impl std::fmt::Debug for GetFaceDetectionInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetContentModerationInput { - ///

                                                      The identifier for the unsafe content job. Use JobId to identify the job in + ///

                                                      The identifier for the inappropriate, unwanted, or offensive content moderation job. Use JobId to identify the job in /// a subsequent call to GetContentModeration.

                                                      pub job_id: std::option::Option, ///

                                                      Maximum number of results to return per paginated call. The largest value you can specify is 1000. @@ -9413,7 +9432,7 @@ pub struct GetContentModerationInput { pub max_results: std::option::Option, ///

                                                      If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition /// returns a pagination token in the response. You can use this pagination token - /// to retrieve the next set of unsafe content labels.

                                                      + /// to retrieve the next set of content moderation labels.

                                                      pub next_token: std::option::Option, ///

                                                      Sort to use for elements in the ModerationLabelDetections array. /// Use TIMESTAMP to sort array elements by the time labels are detected. @@ -9845,7 +9864,9 @@ pub struct CreateProjectVersionInput { pub project_arn: std::option::Option, ///

                                                      A name for the version of the model. This value must be unique.

                                                      pub version_name: std::option::Option, - ///

                                                      The Amazon S3 location to store the results of training.

                                                      + ///

                                                      The Amazon S3 bucket location to store the results of training. + /// The S3 bucket can be in any AWS account as long as the caller has + /// s3:PutObject permissions on the S3 bucket.

                                                      pub output_config: std::option::Option, ///

                                                      The dataset to use for training.

                                                      pub training_data: std::option::Option, @@ -9858,10 +9879,25 @@ pub struct CreateProjectVersionInput { std::option::Option>, ///

                                                      The identifier for your AWS Key Management Service (AWS KMS) customer master key (CMK). /// You can supply the Amazon Resource Name (ARN) of your CMK, the ID of your CMK, - /// or an alias for your CMK. - /// The key is used to encrypt training and test images copied into the service for model training. Your - /// source images are unaffected. The key is also used to encrypt training results and manifest files written - /// to the output Amazon S3 bucket (OutputConfig).

                                                      + /// an alias for your CMK, or an alias ARN. + /// The key is used to encrypt training and test images copied into the service for model training. + /// Your source images are unaffected. The key is also used to encrypt training results + /// and manifest files written to the output Amazon S3 bucket (OutputConfig).

                                                      + ///

                                                      If you choose to use your own CMK, you need the following permissions on the CMK.

                                                      + ///
                                                        + ///
                                                      • + ///

                                                        kms:CreateGrant

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:DescribeKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:GenerateDataKey

                                                        + ///
                                                      • + ///
                                                      • + ///

                                                        kms:Decrypt

                                                        + ///
                                                      • + ///
                                                      ///

                                                      If you don't specify a value for KmsKeyId, images copied into the service are encrypted /// using a key that AWS owns and manages.

                                                      pub kms_key_id: std::option::Option, diff --git a/sdk/rekognition/src/json_deser.rs b/sdk/rekognition/src/json_deser.rs index a83d62facb3e..b4bc794f99db 100644 --- a/sdk/rekognition/src/json_deser.rs +++ b/sdk/rekognition/src/json_deser.rs @@ -4141,6 +4141,19 @@ where .map(|v| v.to_i64()), ); } + "ColorRange" => { + builder = builder.set_color_range( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::VideoColorRange::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -6419,6 +6432,30 @@ where crate::json_deser::deser_structure_shot_segment(tokens)?, ); } + "StartFrameNumber" => { + builder = builder.set_start_frame_number( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "EndFrameNumber" => { + builder = builder.set_end_frame_number( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "DurationFrames" => { + builder = builder.set_duration_frames( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } diff --git a/sdk/rekognition/src/json_ser.rs b/sdk/rekognition/src/json_ser.rs index f53cb207b52f..7a135d9ca79d 100644 --- a/sdk/rekognition/src/json_ser.rs +++ b/sdk/rekognition/src/json_ser.rs @@ -1331,16 +1331,21 @@ pub fn serialize_structure_start_technical_cue_detection_filter( smithy_types::Number::Float((*var_280).into()), ); } + if let Some(var_281) = &input.black_frame { + let mut object_282 = object.key("BlackFrame").start_object(); + crate::json_ser::serialize_structure_black_frame(&mut object_282, var_281); + object_282.finish(); + } } pub fn serialize_structure_start_shot_detection_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::StartShotDetectionFilter, ) { - if let Some(var_281) = &input.min_segment_confidence { + if let Some(var_283) = &input.min_segment_confidence { object.key("MinSegmentConfidence").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_281).into()), + smithy_types::Number::Float((*var_283).into()), ); } } @@ -1349,10 +1354,10 @@ pub fn serialize_structure_ground_truth_manifest( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GroundTruthManifest, ) { - if let Some(var_282) = &input.s3_object { - let mut object_283 = object.key("S3Object").start_object(); - crate::json_ser::serialize_structure_s3_object(&mut object_283, var_282); - object_283.finish(); + if let Some(var_284) = &input.s3_object { + let mut object_285 = object.key("S3Object").start_object(); + crate::json_ser::serialize_structure_s3_object(&mut object_285, var_284); + object_285.finish(); } } @@ -1360,28 +1365,46 @@ pub fn serialize_structure_bounding_box( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BoundingBox, ) { - if let Some(var_284) = &input.width { + if let Some(var_286) = &input.width { object.key("Width").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_284).into()), + smithy_types::Number::Float((*var_286).into()), ); } - if let Some(var_285) = &input.height { + if let Some(var_287) = &input.height { object.key("Height").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_285).into()), + smithy_types::Number::Float((*var_287).into()), ); } - if let Some(var_286) = &input.left { + if let Some(var_288) = &input.left { object.key("Left").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_286).into()), + smithy_types::Number::Float((*var_288).into()), ); } - if let Some(var_287) = &input.top { + if let Some(var_289) = &input.top { object.key("Top").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_287).into()), + smithy_types::Number::Float((*var_289).into()), + ); + } +} + +pub fn serialize_structure_black_frame( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::BlackFrame, +) { + if let Some(var_290) = &input.max_pixel_threshold { + object.key("MaxPixelThreshold").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((*var_290).into()), + ); + } + if let Some(var_291) = &input.min_coverage_percentage { + object.key("MinCoveragePercentage").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::Float((*var_291).into()), ); } } diff --git a/sdk/rekognition/src/model.rs b/sdk/rekognition/src/model.rs index 180213267258..f5d90315e991 100644 --- a/sdk/rekognition/src/model.rs +++ b/sdk/rekognition/src/model.rs @@ -399,7 +399,8 @@ impl DetectionFilter { } ///

                                                      The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see -/// api-video.

                                                      +/// api-video. Note that the Amazon SNS topic must have a topic name that begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole permissions policy to access the topic. +/// For more information, see Giving access to multiple Amazon SNS topics.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct NotificationChannel { @@ -784,11 +785,17 @@ pub struct StartTechnicalCueDetectionFilter { ///

                                                      If you don't specify MinSegmentConfidence, GetSegmentDetection returns /// segments with confidence values greater than or equal to 50 percent.

                                                      pub min_segment_confidence: std::option::Option, + ///

                                                      + /// A filter that allows you to control the black frame detection by specifying the black levels and pixel coverage of black pixels in a frame. + /// Videos can come from multiple sources, formats, and time periods, with different standards and varying noise levels for black frames that need to be accounted for. + ///

                                                      + pub black_frame: std::option::Option, } impl std::fmt::Debug for StartTechnicalCueDetectionFilter { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut formatter = f.debug_struct("StartTechnicalCueDetectionFilter"); formatter.field("min_segment_confidence", &self.min_segment_confidence); + formatter.field("black_frame", &self.black_frame); formatter.finish() } } @@ -799,6 +806,7 @@ pub mod start_technical_cue_detection_filter { #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { pub(crate) min_segment_confidence: std::option::Option, + pub(crate) black_frame: std::option::Option, } impl Builder { ///

                                                      Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected segment. Confidence @@ -815,10 +823,26 @@ pub mod start_technical_cue_detection_filter { self.min_segment_confidence = input; self } + ///

                                                      + /// A filter that allows you to control the black frame detection by specifying the black levels and pixel coverage of black pixels in a frame. + /// Videos can come from multiple sources, formats, and time periods, with different standards and varying noise levels for black frames that need to be accounted for. + ///

                                                      + pub fn black_frame(mut self, input: crate::model::BlackFrame) -> Self { + self.black_frame = Some(input); + self + } + pub fn set_black_frame( + mut self, + input: std::option::Option, + ) -> Self { + self.black_frame = input; + self + } /// Consumes the builder and constructs a [`StartTechnicalCueDetectionFilter`](crate::model::StartTechnicalCueDetectionFilter) pub fn build(self) -> crate::model::StartTechnicalCueDetectionFilter { crate::model::StartTechnicalCueDetectionFilter { min_segment_confidence: self.min_segment_confidence, + black_frame: self.black_frame, } } } @@ -830,6 +854,96 @@ impl StartTechnicalCueDetectionFilter { } } +///

                                                      +/// A filter that allows you to control the black frame detection by specifying the black levels +/// and pixel coverage of black pixels in a frame. As videos can come from multiple sources, formats, +/// and time periods, they may contain different standards and varying noise levels for black frames that need to be accounted for. +/// For more information, see StartSegmentDetection. +///

                                                      +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct BlackFrame { + ///

                                                      + /// A threshold used to determine the maximum luminance value for a pixel to be considered black. In a full color range video, + /// luminance values range from 0-255. A pixel value of 0 is pure black, and the most strict filter. The maximum black pixel + /// value is computed as follows: max_black_pixel_value = minimum_luminance + MaxPixelThreshold *luminance_range. + ///

                                                      + ///

                                                      For example, for a full range video with BlackPixelThreshold = 0.1, max_black_pixel_value is 0 + 0.1 * (255-0) = 25.5.

                                                      + ///

                                                      The default value of MaxPixelThreshold is 0.2, which maps to a max_black_pixel_value of 51 for a full range video. + /// You can lower this threshold to be more strict on black levels.

                                                      + pub max_pixel_threshold: std::option::Option, + ///

                                                      + /// The minimum percentage of pixels in a frame that need to have a luminance below the max_black_pixel_value for a frame to be considered + /// a black frame. Luminance is calculated using the BT.709 matrix. + ///

                                                      + ///

                                                      The default value is 99, which means at least 99% of all pixels in the frame are black pixels as per the MaxPixelThreshold + /// set. You can reduce this value to allow more noise on the black frame.

                                                      + pub min_coverage_percentage: std::option::Option, +} +impl std::fmt::Debug for BlackFrame { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("BlackFrame"); + formatter.field("max_pixel_threshold", &self.max_pixel_threshold); + formatter.field("min_coverage_percentage", &self.min_coverage_percentage); + formatter.finish() + } +} +/// See [`BlackFrame`](crate::model::BlackFrame) +pub mod black_frame { + /// A builder for [`BlackFrame`](crate::model::BlackFrame) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) max_pixel_threshold: std::option::Option, + pub(crate) min_coverage_percentage: std::option::Option, + } + impl Builder { + ///

                                                      + /// A threshold used to determine the maximum luminance value for a pixel to be considered black. In a full color range video, + /// luminance values range from 0-255. A pixel value of 0 is pure black, and the most strict filter. The maximum black pixel + /// value is computed as follows: max_black_pixel_value = minimum_luminance + MaxPixelThreshold *luminance_range. + ///

                                                      + ///

                                                      For example, for a full range video with BlackPixelThreshold = 0.1, max_black_pixel_value is 0 + 0.1 * (255-0) = 25.5.

                                                      + ///

                                                      The default value of MaxPixelThreshold is 0.2, which maps to a max_black_pixel_value of 51 for a full range video. + /// You can lower this threshold to be more strict on black levels.

                                                      + pub fn max_pixel_threshold(mut self, input: f32) -> Self { + self.max_pixel_threshold = Some(input); + self + } + pub fn set_max_pixel_threshold(mut self, input: std::option::Option) -> Self { + self.max_pixel_threshold = input; + self + } + ///

                                                      + /// The minimum percentage of pixels in a frame that need to have a luminance below the max_black_pixel_value for a frame to be considered + /// a black frame. Luminance is calculated using the BT.709 matrix. + ///

                                                      + ///

                                                      The default value is 99, which means at least 99% of all pixels in the frame are black pixels as per the MaxPixelThreshold + /// set. You can reduce this value to allow more noise on the black frame.

                                                      + pub fn min_coverage_percentage(mut self, input: f32) -> Self { + self.min_coverage_percentage = Some(input); + self + } + pub fn set_min_coverage_percentage(mut self, input: std::option::Option) -> Self { + self.min_coverage_percentage = input; + self + } + /// Consumes the builder and constructs a [`BlackFrame`](crate::model::BlackFrame) + pub fn build(self) -> crate::model::BlackFrame { + crate::model::BlackFrame { + max_pixel_threshold: self.max_pixel_threshold, + min_coverage_percentage: self.min_coverage_percentage, + } + } + } +} +impl BlackFrame { + /// Creates a new builder-style object to manufacture [`BlackFrame`](crate::model::BlackFrame) + pub fn builder() -> crate::model::black_frame::Builder { + crate::model::black_frame::Builder::default() + } +} + #[non_exhaustive] #[derive( std::clone::Clone, @@ -3760,6 +3874,10 @@ pub struct VideoMetadata { pub frame_height: std::option::Option, ///

                                                      Horizontal pixel dimension of the video.

                                                      pub frame_width: std::option::Option, + ///

                                                      + /// A description of the range of luminance values in a video, either LIMITED (16 to 235) or FULL (0 to 255). + ///

                                                      + pub color_range: std::option::Option, } impl std::fmt::Debug for VideoMetadata { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -3770,6 +3888,7 @@ impl std::fmt::Debug for VideoMetadata { formatter.field("frame_rate", &self.frame_rate); formatter.field("frame_height", &self.frame_height); formatter.field("frame_width", &self.frame_width); + formatter.field("color_range", &self.color_range); formatter.finish() } } @@ -3785,6 +3904,7 @@ pub mod video_metadata { pub(crate) frame_rate: std::option::Option, pub(crate) frame_height: std::option::Option, pub(crate) frame_width: std::option::Option, + pub(crate) color_range: std::option::Option, } impl Builder { ///

                                                      Type of compression used in the analyzed video.

                                                      @@ -3841,6 +3961,20 @@ pub mod video_metadata { self.frame_width = input; self } + ///

                                                      + /// A description of the range of luminance values in a video, either LIMITED (16 to 235) or FULL (0 to 255). + ///

                                                      + pub fn color_range(mut self, input: crate::model::VideoColorRange) -> Self { + self.color_range = Some(input); + self + } + pub fn set_color_range( + mut self, + input: std::option::Option, + ) -> Self { + self.color_range = input; + self + } /// Consumes the builder and constructs a [`VideoMetadata`](crate::model::VideoMetadata) pub fn build(self) -> crate::model::VideoMetadata { crate::model::VideoMetadata { @@ -3850,6 +3984,7 @@ pub mod video_metadata { frame_rate: self.frame_rate, frame_height: self.frame_height, frame_width: self.frame_width, + color_range: self.color_range, } } } @@ -3861,6 +3996,56 @@ impl VideoMetadata { } } +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum VideoColorRange { + Full, + Limited, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for VideoColorRange { + fn from(s: &str) -> Self { + match s { + "FULL" => VideoColorRange::Full, + "LIMITED" => VideoColorRange::Limited, + other => VideoColorRange::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for VideoColorRange { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(VideoColorRange::from(s)) + } +} +impl VideoColorRange { + pub fn as_str(&self) -> &str { + match self { + VideoColorRange::Full => "FULL", + VideoColorRange::Limited => "LIMITED", + VideoColorRange::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["FULL", "LIMITED"] + } +} +impl AsRef for VideoColorRange { + fn as_ref(&self) -> &str { + self.as_str() + } +} + #[non_exhaustive] #[derive( std::clone::Clone, @@ -4011,6 +4196,18 @@ pub struct SegmentDetection { pub technical_cue_segment: std::option::Option, ///

                                                      If the segment is a shot detection, contains information about the shot detection.

                                                      pub shot_segment: std::option::Option, + ///

                                                      + /// The frame number of the start of a video segment, using a frame index that starts with 0. + ///

                                                      + pub start_frame_number: std::option::Option, + ///

                                                      + /// The frame number at the end of a video segment, using a frame index that starts with 0. + ///

                                                      + pub end_frame_number: std::option::Option, + ///

                                                      + /// The duration of a video segment, expressed in frames. + ///

                                                      + pub duration_frames: std::option::Option, } impl std::fmt::Debug for SegmentDetection { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -4024,6 +4221,9 @@ impl std::fmt::Debug for SegmentDetection { formatter.field("duration_smpte", &self.duration_smpte); formatter.field("technical_cue_segment", &self.technical_cue_segment); formatter.field("shot_segment", &self.shot_segment); + formatter.field("start_frame_number", &self.start_frame_number); + formatter.field("end_frame_number", &self.end_frame_number); + formatter.field("duration_frames", &self.duration_frames); formatter.finish() } } @@ -4042,6 +4242,9 @@ pub mod segment_detection { pub(crate) duration_smpte: std::option::Option, pub(crate) technical_cue_segment: std::option::Option, pub(crate) shot_segment: std::option::Option, + pub(crate) start_frame_number: std::option::Option, + pub(crate) end_frame_number: std::option::Option, + pub(crate) duration_frames: std::option::Option, } impl Builder { ///

                                                      The type of the segment. Valid values are TECHNICAL_CUE and SHOT.

                                                      @@ -4147,6 +4350,39 @@ pub mod segment_detection { self.shot_segment = input; self } + ///

                                                      + /// The frame number of the start of a video segment, using a frame index that starts with 0. + ///

                                                      + pub fn start_frame_number(mut self, input: i64) -> Self { + self.start_frame_number = Some(input); + self + } + pub fn set_start_frame_number(mut self, input: std::option::Option) -> Self { + self.start_frame_number = input; + self + } + ///

                                                      + /// The frame number at the end of a video segment, using a frame index that starts with 0. + ///

                                                      + pub fn end_frame_number(mut self, input: i64) -> Self { + self.end_frame_number = Some(input); + self + } + pub fn set_end_frame_number(mut self, input: std::option::Option) -> Self { + self.end_frame_number = input; + self + } + ///

                                                      + /// The duration of a video segment, expressed in frames. + ///

                                                      + pub fn duration_frames(mut self, input: i64) -> Self { + self.duration_frames = Some(input); + self + } + pub fn set_duration_frames(mut self, input: std::option::Option) -> Self { + self.duration_frames = input; + self + } /// Consumes the builder and constructs a [`SegmentDetection`](crate::model::SegmentDetection) pub fn build(self) -> crate::model::SegmentDetection { crate::model::SegmentDetection { @@ -4159,6 +4395,9 @@ pub mod segment_detection { duration_smpte: self.duration_smpte, technical_cue_segment: self.technical_cue_segment, shot_segment: self.shot_segment, + start_frame_number: self.start_frame_number, + end_frame_number: self.end_frame_number, + duration_frames: self.duration_frames, } } } @@ -4309,7 +4548,11 @@ impl TechnicalCueSegment { pub enum TechnicalCueType { BlackFrames, ColorBars, + Content, EndCredits, + OpeningCredits, + Slate, + StudioLogo, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), } @@ -4318,7 +4561,11 @@ impl std::convert::From<&str> for TechnicalCueType { match s { "BlackFrames" => TechnicalCueType::BlackFrames, "ColorBars" => TechnicalCueType::ColorBars, + "Content" => TechnicalCueType::Content, "EndCredits" => TechnicalCueType::EndCredits, + "OpeningCredits" => TechnicalCueType::OpeningCredits, + "Slate" => TechnicalCueType::Slate, + "StudioLogo" => TechnicalCueType::StudioLogo, other => TechnicalCueType::Unknown(other.to_owned()), } } @@ -4335,12 +4582,24 @@ impl TechnicalCueType { match self { TechnicalCueType::BlackFrames => "BlackFrames", TechnicalCueType::ColorBars => "ColorBars", + TechnicalCueType::Content => "Content", TechnicalCueType::EndCredits => "EndCredits", + TechnicalCueType::OpeningCredits => "OpeningCredits", + TechnicalCueType::Slate => "Slate", + TechnicalCueType::StudioLogo => "StudioLogo", TechnicalCueType::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["BlackFrames", "ColorBars", "EndCredits"] + &[ + "BlackFrames", + "ColorBars", + "Content", + "EndCredits", + "OpeningCredits", + "Slate", + "StudioLogo", + ] } } impl AsRef for TechnicalCueType { @@ -5152,13 +5411,13 @@ impl FaceDetection { } } -///

                                                      Information about an unsafe content label detection in a stored video.

                                                      +///

                                                      Information about an inappropriate, unwanted, or offensive content label detection in a stored video.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ContentModerationDetection { - ///

                                                      Time, in milliseconds from the beginning of the video, that the unsafe content label was detected.

                                                      + ///

                                                      Time, in milliseconds from the beginning of the video, that the content moderation label was detected.

                                                      pub timestamp: i64, - ///

                                                      The unsafe content label detected by in the stored video.

                                                      + ///

                                                      The content moderation label detected by in the stored video.

                                                      pub moderation_label: std::option::Option, } impl std::fmt::Debug for ContentModerationDetection { @@ -5179,7 +5438,7 @@ pub mod content_moderation_detection { pub(crate) moderation_label: std::option::Option, } impl Builder { - ///

                                                      Time, in milliseconds from the beginning of the video, that the unsafe content label was detected.

                                                      + ///

                                                      Time, in milliseconds from the beginning of the video, that the content moderation label was detected.

                                                      pub fn timestamp(mut self, input: i64) -> Self { self.timestamp = Some(input); self @@ -5188,7 +5447,7 @@ pub mod content_moderation_detection { self.timestamp = input; self } - ///

                                                      The unsafe content label detected by in the stored video.

                                                      + ///

                                                      The content moderation label detected by in the stored video.

                                                      pub fn moderation_label(mut self, input: crate::model::ModerationLabel) -> Self { self.moderation_label = Some(input); self @@ -5216,9 +5475,9 @@ impl ContentModerationDetection { } } -///

                                                      Provides information about a single type of unsafe content found in an image or video. Each type of +///

                                                      Provides information about a single type of inappropriate, unwanted, or offensive content found in an image or video. Each type of /// moderated content has a label within a hierarchical taxonomy. For more information, see -/// Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

                                                      +/// Content moderation in the Amazon Rekognition Developer Guide.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ModerationLabel { diff --git a/sdk/rekognition/src/operation.rs b/sdk/rekognition/src/operation.rs index 3ff5095c1782..3cecd5b88a4b 100644 --- a/sdk/rekognition/src/operation.rs +++ b/sdk/rekognition/src/operation.rs @@ -797,7 +797,7 @@ impl smithy_http::response::ParseStrictResponse for DetectProtectiveEquipment { /// TextDetection element provides information about a single word or line of text /// that was detected in the image.

                                                      ///

                                                      A word is one or more ISO basic latin script characters that are not separated by spaces. -/// DetectText can detect up to 50 words in an image.

                                                      +/// DetectText can detect up to 100 words in an image.

                                                      ///

                                                      A line is a string of equally spaced words. A line isn't necessarily a complete /// sentence. For example, a driver's license number is detected as a line. A line ends when there /// is no aligned text after it. Also, a line ends when there is a large gap between words, @@ -929,19 +929,20 @@ impl smithy_http::response::ParseStrictResponse for GetCelebrityRecognition { } } -///

                                                      Gets the unsafe content analysis results for a Amazon Rekognition Video analysis started by -/// StartContentModeration.

                                                      -///

                                                      Unsafe content analysis of a video is an asynchronous operation. You start analysis by calling +///

                                                      Gets the inappropriate, unwanted, or offensive content analysis results for a Amazon Rekognition Video analysis started by +/// StartContentModeration. For a list of moderation labels in Amazon Rekognition, see +/// Using the image and video moderation APIs.

                                                      +///

                                                      Amazon Rekognition Video inappropriate or offensive content detection in a stored video is an asynchronous operation. You start analysis by calling /// StartContentModeration which returns a job identifier (JobId). /// When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service /// topic registered in the initial call to StartContentModeration. -/// To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS +/// To get the results of the content analysis, first check that the status value published to the Amazon SNS /// topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier /// (JobId) from the initial call to StartContentModeration.

                                                      ///

                                                      For more information, see Working with Stored Videos in the /// Amazon Rekognition Devlopers Guide.

                                                      ///

                                                      -/// GetContentModeration returns detected unsafe content labels, +/// GetContentModeration returns detected inappropriate, unwanted, or offensive content moderation labels, /// and the time they are detected, in an array, ModerationLabels, of /// ContentModerationDetection objects. ///

                                                      @@ -954,7 +955,7 @@ impl smithy_http::response::ParseStrictResponse for GetCelebrityRecognition { /// pagination token for getting the next set of results. To get the next page of results, call GetContentModeration /// and populate the NextToken request parameter with the value of NextToken /// returned from the previous call to GetContentModeration.

                                                      -///

                                                      For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

                                                      +///

                                                      For more information, see Content moderation in the Amazon Rekognition Developer Guide.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetContentModeration { _private: (), @@ -1712,16 +1713,17 @@ impl smithy_http::response::ParseStrictResponse for StartCelebrityRecognition { } } -///

                                                      Starts asynchronous detection of unsafe content in a stored video.

                                                      +///

                                                      Starts asynchronous detection of inappropriate, unwanted, or offensive content in a stored video. For a list of moderation labels in Amazon Rekognition, see +/// Using the image and video moderation APIs.

                                                      ///

                                                      Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name /// and the filename of the video. StartContentModeration /// returns a job identifier (JobId) which you use to get the results of the analysis. -/// When unsafe content analysis is finished, Amazon Rekognition Video publishes a completion status +/// When content analysis is finished, Amazon Rekognition Video publishes a completion status /// to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

                                                      -///

                                                      To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS +///

                                                      To get the results of the content analysis, first check that the status value published to the Amazon SNS /// topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier /// (JobId) from the initial call to StartContentModeration.

                                                      -///

                                                      For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

                                                      +///

                                                      For more information, see Content moderation in the Amazon Rekognition Developer Guide.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartContentModeration { _private: (), diff --git a/sdk/rekognition/src/output.rs b/sdk/rekognition/src/output.rs index da744df01248..15ce43b63348 100644 --- a/sdk/rekognition/src/output.rs +++ b/sdk/rekognition/src/output.rs @@ -500,7 +500,7 @@ impl StartFaceDetectionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartContentModerationOutput { - ///

                                                      The identifier for the unsafe content analysis job. Use JobId to identify the job in + ///

                                                      The identifier for the content analysis job. Use JobId to identify the job in /// a subsequent call to GetContentModeration.

                                                      pub job_id: std::option::Option, } @@ -520,7 +520,7 @@ pub mod start_content_moderation_output { pub(crate) job_id: std::option::Option, } impl Builder { - ///

                                                      The identifier for the unsafe content analysis job. Use JobId to identify the job in + ///

                                                      The identifier for the content analysis job. Use JobId to identify the job in /// a subsequent call to GetContentModeration.

                                                      pub fn job_id(mut self, input: impl Into) -> Self { self.job_id = Some(input.into()); @@ -2161,20 +2161,20 @@ impl GetFaceDetectionOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetContentModerationOutput { - ///

                                                      The current status of the unsafe content analysis job.

                                                      + ///

                                                      The current status of the content moderation analysis job.

                                                      pub job_status: std::option::Option, ///

                                                      If the job fails, StatusMessage provides a descriptive error message.

                                                      pub status_message: std::option::Option, ///

                                                      Information about a video that Amazon Rekognition analyzed. Videometadata /// is returned in every page of paginated responses from GetContentModeration.

                                                      pub video_metadata: std::option::Option, - ///

                                                      The detected unsafe content labels and the time(s) they were detected.

                                                      + ///

                                                      The detected inappropriate, unwanted, or offensive content moderation labels and the time(s) they were detected.

                                                      pub moderation_labels: std::option::Option>, ///

                                                      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent - /// request to retrieve the next set of unsafe content labels.

                                                      + /// request to retrieve the next set of content moderation labels.

                                                      pub next_token: std::option::Option, - ///

                                                      Version number of the moderation detection model that was used to detect unsafe content.

                                                      + ///

                                                      Version number of the moderation detection model that was used to detect inappropriate, unwanted, or offensive content.

                                                      pub moderation_model_version: std::option::Option, } impl std::fmt::Debug for GetContentModerationOutput { @@ -2204,7 +2204,7 @@ pub mod get_content_moderation_output { pub(crate) moderation_model_version: std::option::Option, } impl Builder { - ///

                                                      The current status of the unsafe content analysis job.

                                                      + ///

                                                      The current status of the content moderation analysis job.

                                                      pub fn job_status(mut self, input: crate::model::VideoJobStatus) -> Self { self.job_status = Some(input); self @@ -2258,7 +2258,7 @@ pub mod get_content_moderation_output { self } ///

                                                      If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent - /// request to retrieve the next set of unsafe content labels.

                                                      + /// request to retrieve the next set of content moderation labels.

                                                      pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -2267,7 +2267,7 @@ pub mod get_content_moderation_output { self.next_token = input; self } - ///

                                                      Version number of the moderation detection model that was used to detect unsafe content.

                                                      + ///

                                                      Version number of the moderation detection model that was used to detect inappropriate, unwanted, or offensive content.

                                                      pub fn moderation_model_version(mut self, input: impl Into) -> Self { self.moderation_model_version = Some(input.into()); self diff --git a/sdk/resourcegroups/Cargo.toml b/sdk/resourcegroups/Cargo.toml index 62831d597e1a..41633020f33e 100644 --- a/sdk/resourcegroups/Cargo.toml +++ b/sdk/resourcegroups/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-resourcegroups" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Resource Groups\n\n

                                                      AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service\n databases, and Amazon S3 buckets into groups using criteria that you define as tags. A\n resource group is a collection of resources that match the resource types specified in a\n query, and share one or more tags or portions of tags. You can create a group of\n resources based on their roles in your cloud infrastructure, lifecycle stages, regions,\n application layers, or virtually any criteria. Resource Groups enable you to automate management\n tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in\n AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in\n AWS Systems Manager that shows AWS Config compliance and other monitoring data about member\n resources.

                                                      \n

                                                      To create a resource group, build a resource query, and specify tags that identify the\n criteria that members of the group have in common. Tags are key-value pairs.

                                                      \n

                                                      For more information about Resource Groups, see the AWS Resource Groups User Guide.

                                                      \n

                                                      AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of\n operations.

                                                      \n
                                                        \n
                                                      • \n

                                                        Create, Read, Update, and Delete (CRUD) operations on resource groups and\n resource query entities

                                                        \n
                                                      • \n
                                                      • \n

                                                        Applying, editing, and removing tags from resource groups

                                                        \n
                                                      • \n
                                                      • \n

                                                        Resolving resource group member ARNs so they can be returned as search\n results

                                                        \n
                                                      • \n
                                                      • \n

                                                        Getting data about resources that are members of a group

                                                        \n
                                                      • \n
                                                      • \n

                                                        Searching AWS resources based on a resource query

                                                        \n
                                                      • \n
                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/resourcegroupstagging/Cargo.toml b/sdk/resourcegroupstagging/Cargo.toml index 490bba17ec54..c1e38087d095 100644 --- a/sdk/resourcegroupstagging/Cargo.toml +++ b/sdk/resourcegroupstagging/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-resourcegroupstagging" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Resource Groups Tagging API" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/robomaker/Cargo.toml b/sdk/robomaker/Cargo.toml index 596150ce02a2..05b915f53a6d 100644 --- a/sdk/robomaker/Cargo.toml +++ b/sdk/robomaker/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-robomaker" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                      This section provides documentation for the AWS RoboMaker API operations.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53/Cargo.toml b/sdk/route53/Cargo.toml index 94115b3dfbab..c7978228fe2a 100644 --- a/sdk/route53/Cargo.toml +++ b/sdk/route53/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                      Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.

                                                      " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53/src/client.rs b/sdk/route53/src/client.rs index 063f7deb2572..b95e15d20f4f 100644 --- a/sdk/route53/src/client.rs +++ b/sdk/route53/src/client.rs @@ -1623,8 +1623,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, the ID of the hosted zone.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, the ID of the hosted zone.

                                                      pub fn hosted_zone_id(mut self, input: impl Into) -> Self { self.inner = self.inner.hosted_zone_id(input); self @@ -1636,8 +1636,8 @@ pub mod fluent_builders { self.inner = self.inner.set_hosted_zone_id(input); self } - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, a complex type that includes the ID and region of the VPC.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, a complex type that includes the ID and region of the VPC.

                                                      pub fn vpc(mut self, input: crate::model::Vpc) -> Self { self.inner = self.inner.vpc(input); self @@ -2908,7 +2908,7 @@ pub mod fluent_builders { } ///

                                                      (Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to /// specify the name of the first hosted zone in the response. If you don't include the dnsname parameter, Amazon Route 53 returns all of - /// the hosted zones that were created by the current account, in ASCII order. For subsequent requests, include both dnsname and + /// the hosted zones that were created by the current Amazon Web Services account, in ASCII order. For subsequent requests, include both dnsname and /// hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

                                                      pub fn dns_name(mut self, input: impl Into) -> Self { self.inner = self.inner.dns_name(input); @@ -3056,7 +3056,7 @@ pub mod fluent_builders { ///

                                                      (Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in /// HostedZoneId.

                                                      ///

                                                      If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations - /// that are associated with the current account.

                                                      + /// that are associated with the current Amazon Web Services account.

                                                      pub fn hosted_zone_id(mut self, input: impl Into) -> Self { self.inner = self.inner.hosted_zone_id(input); self @@ -3068,7 +3068,7 @@ pub mod fluent_builders { self.inner = self.inner.set_hosted_zone_id(input); self } - ///

                                                      (Optional) If the current account has more than MaxResults query logging configurations, use NextToken + ///

                                                      (Optional) If the current Amazon Web Services account has more than MaxResults query logging configurations, use NextToken /// to get the second and subsequent pages of results.

                                                      ///

                                                      For the first ListQueryLoggingConfigs request, omit this value.

                                                      ///

                                                      For the second and subsequent requests, get the value of NextToken from the previous response and specify that value @@ -3082,7 +3082,7 @@ pub mod fluent_builders { self } ///

                                                      (Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. - /// If the current account has more than MaxResults configurations, use the value of + /// If the current Amazon Web Services account has more than MaxResults configurations, use the value of /// NextToken /// in the response to get the next page of results.

                                                      ///

                                                      If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

                                                      diff --git a/sdk/route53/src/error.rs b/sdk/route53/src/error.rs index bbfd4a1109a2..c954e5b05177 100644 --- a/sdk/route53/src/error.rs +++ b/sdk/route53/src/error.rs @@ -10246,7 +10246,7 @@ impl ConflictingDomainExists { ///

                                                      For information about how to get the current limit for an account, see /// GetAccountLimit. To request a /// higher limit, create a case with the Amazon Web Services Support Center.

                                                      -///

                                                      You have reached the maximum number of active health checks for an account. To request a higher limit, +///

                                                      You have reached the maximum number of active health checks for an Amazon Web Services account. To request a higher limit, /// create a case with the Amazon Web Services Support Center.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/route53/src/input.rs b/sdk/route53/src/input.rs index 7585b4ee6fa6..5485b1aa9d4a 100644 --- a/sdk/route53/src/input.rs +++ b/sdk/route53/src/input.rs @@ -3604,8 +3604,8 @@ pub mod delete_vpc_association_authorization_input { pub(crate) vpc: std::option::Option, } impl Builder { - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, the ID of the hosted zone.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, the ID of the hosted zone.

                                                      pub fn hosted_zone_id(mut self, input: impl Into) -> Self { self.hosted_zone_id = Some(input.into()); self @@ -3617,8 +3617,8 @@ pub mod delete_vpc_association_authorization_input { self.hosted_zone_id = input; self } - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, a complex type that includes the ID and region of the VPC.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, a complex type that includes the ID and region of the VPC.

                                                      pub fn vpc(mut self, input: crate::model::Vpc) -> Self { self.vpc = Some(input); self @@ -7515,7 +7515,7 @@ pub mod list_hosted_zones_by_name_input { impl Builder { ///

                                                      (Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to /// specify the name of the first hosted zone in the response. If you don't include the dnsname parameter, Amazon Route 53 returns all of - /// the hosted zones that were created by the current account, in ASCII order. For subsequent requests, include both dnsname and + /// the hosted zones that were created by the current Amazon Web Services account, in ASCII order. For subsequent requests, include both dnsname and /// hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

                                                      pub fn dns_name(mut self, input: impl Into) -> Self { self.dns_name = Some(input.into()); @@ -7882,7 +7882,7 @@ pub mod list_query_logging_configs_input { ///

                                                      (Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in /// HostedZoneId.

                                                      ///

                                                      If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations - /// that are associated with the current account.

                                                      + /// that are associated with the current Amazon Web Services account.

                                                      pub fn hosted_zone_id(mut self, input: impl Into) -> Self { self.hosted_zone_id = Some(input.into()); self @@ -7894,7 +7894,7 @@ pub mod list_query_logging_configs_input { self.hosted_zone_id = input; self } - ///

                                                      (Optional) If the current account has more than MaxResults query logging configurations, use NextToken + ///

                                                      (Optional) If the current Amazon Web Services account has more than MaxResults query logging configurations, use NextToken /// to get the second and subsequent pages of results.

                                                      ///

                                                      For the first ListQueryLoggingConfigs request, omit this value.

                                                      ///

                                                      For the second and subsequent requests, get the value of NextToken from the previous response and specify that value @@ -7908,7 +7908,7 @@ pub mod list_query_logging_configs_input { self } ///

                                                      (Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. - /// If the current account has more than MaxResults configurations, use the value of + /// If the current Amazon Web Services account has more than MaxResults configurations, use the value of /// NextToken /// in the response to get the next page of results.

                                                      ///

                                                      If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

                                                      @@ -11975,7 +11975,7 @@ impl std::fmt::Debug for ListTrafficPolicyInstancesByHostedZoneInput { } } -///

                                                      A request to get information about the traffic policy instances that you created by using the current account.

                                                      +///

                                                      A request to get information about the traffic policy instances that you created by using the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTrafficPolicyInstancesInput { @@ -12022,7 +12022,7 @@ impl std::fmt::Debug for ListTrafficPolicyInstancesInput { } ///

                                                      A complex type that contains the information about the request to list the traffic policies that are associated -/// with the current account.

                                                      +/// with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTrafficPoliciesInput { @@ -12099,7 +12099,7 @@ impl std::fmt::Debug for ListTagsForResourceInput { } } -///

                                                      A request to get a list of the reusable delegation sets that are associated with the current account.

                                                      +///

                                                      A request to get a list of the reusable delegation sets that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListReusableDelegationSetsInput { @@ -12202,16 +12202,16 @@ pub struct ListQueryLoggingConfigsInput { ///

                                                      (Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in /// HostedZoneId.

                                                      ///

                                                      If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations - /// that are associated with the current account.

                                                      + /// that are associated with the current Amazon Web Services account.

                                                      pub hosted_zone_id: std::option::Option, - ///

                                                      (Optional) If the current account has more than MaxResults query logging configurations, use NextToken + ///

                                                      (Optional) If the current Amazon Web Services account has more than MaxResults query logging configurations, use NextToken /// to get the second and subsequent pages of results.

                                                      ///

                                                      For the first ListQueryLoggingConfigs request, omit this value.

                                                      ///

                                                      For the second and subsequent requests, get the value of NextToken from the previous response and specify that value /// for NextToken in the request.

                                                      pub next_token: std::option::Option, ///

                                                      (Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. - /// If the current account has more than MaxResults configurations, use the value of + /// If the current Amazon Web Services account has more than MaxResults configurations, use the value of /// NextToken /// in the response to get the next page of results.

                                                      ///

                                                      If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

                                                      @@ -12227,7 +12227,7 @@ impl std::fmt::Debug for ListQueryLoggingConfigsInput { } } -///

                                                      Lists all the private hosted zones that a specified VPC is associated with, regardless of which account created the hosted zones.

                                                      +///

                                                      Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web Services account created the hosted zones.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListHostedZonesByVpcInput { @@ -12256,14 +12256,14 @@ impl std::fmt::Debug for ListHostedZonesByVpcInput { } } -///

                                                      Retrieves a list of the public and private hosted zones that are associated with the current account in ASCII order by domain +///

                                                      Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web Services account in ASCII order by domain /// name.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListHostedZonesByNameInput { ///

                                                      (Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to /// specify the name of the first hosted zone in the response. If you don't include the dnsname parameter, Amazon Route 53 returns all of - /// the hosted zones that were created by the current account, in ASCII order. For subsequent requests, include both dnsname and + /// the hosted zones that were created by the current Amazon Web Services account, in ASCII order. For subsequent requests, include both dnsname and /// hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

                                                      pub dns_name: std::option::Option, ///

                                                      (Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter.

                                                      @@ -12287,7 +12287,7 @@ impl std::fmt::Debug for ListHostedZonesByNameInput { } } -///

                                                      A request to retrieve a list of the public and private hosted zones that are associated with the current account.

                                                      +///

                                                      A request to retrieve a list of the public and private hosted zones that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListHostedZonesInput { @@ -12315,7 +12315,7 @@ impl std::fmt::Debug for ListHostedZonesInput { } } -///

                                                      A request to retrieve a list of the health checks that are associated with the current account.

                                                      +///

                                                      A request to retrieve a list of the health checks that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListHealthChecksInput { @@ -12373,7 +12373,7 @@ impl std::fmt::Debug for ListGeoLocationsInput { } } -///

                                                      Request to get the number of traffic policy instances that are associated with the current account.

                                                      +///

                                                      Request to get the number of traffic policy instances that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetTrafficPolicyInstanceCountInput {} @@ -12495,7 +12495,7 @@ impl std::fmt::Debug for GetHostedZoneLimitInput { } } -///

                                                      A request to retrieve a count of all the hosted zones that are associated with the current account.

                                                      +///

                                                      A request to retrieve a count of all the hosted zones that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetHostedZoneCountInput {} @@ -12561,7 +12561,7 @@ impl std::fmt::Debug for GetHealthCheckLastFailureReasonInput { } } -///

                                                      A request for the number of health checks that are associated with the current account.

                                                      +///

                                                      A request for the number of health checks that are associated with the current Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetHealthCheckCountInput {} @@ -12777,15 +12777,15 @@ impl std::fmt::Debug for DisableHostedZoneDnssecInput { } ///

                                                      A complex type that contains information about the request to remove authorization to associate a VPC -/// that was created by one account with a hosted zone that was created with a different account.

                                                      +/// that was created by one Amazon Web Services account with a hosted zone that was created with a different Amazon Web Services account.

                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteVpcAssociationAuthorizationInput { - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, the ID of the hosted zone.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, the ID of the hosted zone.

                                                      pub hosted_zone_id: std::option::Option, - ///

                                                      When removing authorization to associate a VPC that was created by one account with a hosted zone - /// that was created with a different account, a complex type that includes the ID and region of the VPC.

                                                      + ///

                                                      When removing authorization to associate a VPC that was created by one Amazon Web Services account with a hosted zone + /// that was created with a different Amazon Web Services account, a complex type that includes the ID and region of the VPC.

                                                      pub vpc: std::option::Option, } impl std::fmt::Debug for DeleteVpcAssociationAuthorizationInput { diff --git a/sdk/route53/src/model.rs b/sdk/route53/src/model.rs index 41729fc3d91d..4681b8cf9ff9 100644 --- a/sdk/route53/src/model.rs +++ b/sdk/route53/src/model.rs @@ -1319,8 +1319,8 @@ pub struct HealthCheckConfig { ///

                                                      If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the /// Host header in each of the preceding cases.

                                                      ///

                                                      - /// If you don't specify a value for IPAddress - /// :

                                                      + /// If you don't specify a value for + /// IPAddress:

                                                      ///

                                                      Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for /// RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                                                      /// @@ -1452,7 +1452,8 @@ pub struct HealthCheckConfig { ///
                                                    pub insufficient_data_health_status: std::option::Option, - ///

                                                    The Amazon Resource Name (ARN) for Route53 Application Recovery Controller routing control.

                                                    + ///

                                                    The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.

                                                    + ///

                                                    For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide..

                                                    pub routing_control_arn: std::option::Option, } impl std::fmt::Debug for HealthCheckConfig { @@ -1685,8 +1686,8 @@ pub mod health_check_config { ///

                                                    If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the /// Host header in each of the preceding cases.

                                                    ///

                                                    - /// If you don't specify a value for IPAddress - /// :

                                                    + /// If you don't specify a value for + /// IPAddress:

                                                    ///

                                                    Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for /// RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

                                                    /// @@ -1927,7 +1928,8 @@ pub mod health_check_config { self.insufficient_data_health_status = input; self } - ///

                                                    The Amazon Resource Name (ARN) for Route53 Application Recovery Controller routing control.

                                                    + ///

                                                    The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.

                                                    + ///

                                                    For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide..

                                                    pub fn routing_control_arn(mut self, input: impl Into) -> Self { self.routing_control_arn = Some(input.into()); self @@ -2703,7 +2705,7 @@ impl AsRef for VpcRegion { } ///

                                                    A complex type that contains information about the latest version of one traffic policy -/// that is associated with the current account.

                                                    +/// that is associated with the current Amazon Web Services account.

                                                    #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TrafficPolicySummary { @@ -2716,7 +2718,7 @@ pub struct TrafficPolicySummary { pub r#type: std::option::Option, ///

                                                    The version number of the latest version of the traffic policy.

                                                    pub latest_version: std::option::Option, - ///

                                                    The number of traffic policies that are associated with the current account.

                                                    + ///

                                                    The number of traffic policies that are associated with the current Amazon Web Services account.

                                                    pub traffic_policy_count: std::option::Option, } impl std::fmt::Debug for TrafficPolicySummary { @@ -2780,7 +2782,7 @@ pub mod traffic_policy_summary { self.latest_version = input; self } - ///

                                                    The number of traffic policies that are associated with the current account.

                                                    + ///

                                                    The number of traffic policies that are associated with the current Amazon Web Services account.

                                                    pub fn traffic_policy_count(mut self, input: i32) -> Self { self.traffic_policy_count = Some(input); self @@ -4317,7 +4319,7 @@ pub struct AliasTarget { ///
                                                  • ///
                                                  • ///

                                                    - /// Management Console: Go to the Amazon EC2 page, choose + /// Amazon Web Services Management Console: Go to the Amazon EC2 page, choose /// Load Balancers in the navigation pane, select the load balancer, and get the value of the /// Hosted zone field on the Description tab.

                                                    ///
                                                  • @@ -4435,7 +4437,7 @@ pub struct AliasTarget { ///
                                                      ///
                                                    • ///

                                                      - /// Management Console: For information about how to get the value by using the console, + /// Amazon Web Services Management Console: For information about how to get the value by using the console, /// see Using Custom Domains with Elastic Beanstalk in the /// Elastic Beanstalk Developer Guide.

                                                      ///
                                                    • @@ -4457,12 +4459,12 @@ pub struct AliasTarget { /// ///
                                                      ELB load balancer
                                                      ///
                                                      - ///

                                                      Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Management Console, + ///

                                                      Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Amazon Web Services Management Console, /// the ELB API, or the CLI.

                                                      ///
                                                        ///
                                                      • ///

                                                        - /// Management Console: Go to the EC2 page, choose Load Balancers + /// Amazon Web Services Management Console: Go to the EC2 page, choose Load Balancers /// in the navigation pane, choose the load balancer, choose the Description tab, and get the value /// of the DNS name field.

                                                        ///

                                                        If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. @@ -4682,7 +4684,7 @@ pub mod alias_target { ///

                                                      • ///
                                                      • ///

                                                        - /// Management Console: Go to the Amazon EC2 page, choose + /// Amazon Web Services Management Console: Go to the Amazon EC2 page, choose /// Load Balancers in the navigation pane, select the load balancer, and get the value of the /// Hosted zone field on the Description tab.

                                                        ///
                                                      • @@ -4810,7 +4812,7 @@ pub mod alias_target { ///
                                                          ///
                                                        • ///

                                                          - /// Management Console: For information about how to get the value by using the console, + /// Amazon Web Services Management Console: For information about how to get the value by using the console, /// see Using Custom Domains with Elastic Beanstalk in the /// Elastic Beanstalk Developer Guide.

                                                          ///
                                                        • @@ -4832,12 +4834,12 @@ pub mod alias_target { ///
                                                      ///
                                                      ELB load balancer
                                                      ///
                                                      - ///

                                                      Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Management Console, + ///

                                                      Specify the DNS name that is associated with the load balancer. Get the DNS name by using the Amazon Web Services Management Console, /// the ELB API, or the CLI.

                                                      ///
                                                        ///
                                                      • ///

                                                        - /// Management Console: Go to the EC2 page, choose Load Balancers + /// Amazon Web Services Management Console: Go to the EC2 page, choose Load Balancers /// in the navigation pane, choose the load balancer, choose the Description tab, and get the value /// of the DNS name field.

                                                        ///

                                                        If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. @@ -5525,7 +5527,7 @@ pub struct HostedZoneSummary { pub hosted_zone_id: std::option::Option, ///

                                                        The name of the private hosted zone, such as example.com.

                                                        pub name: std::option::Option, - ///

                                                        The owner of a private hosted zone that the specified VPC is associated with. The owner can be either an account or + ///

                                                        The owner of a private hosted zone that the specified VPC is associated with. The owner can be either an Amazon Web Services account or /// an Amazon Web Services service.

                                                        pub owner: std::option::Option, } @@ -5570,7 +5572,7 @@ pub mod hosted_zone_summary { self.name = input; self } - ///

                                                        The owner of a private hosted zone that the specified VPC is associated with. The owner can be either an account or + ///

                                                        The owner of a private hosted zone that the specified VPC is associated with. The owner can be either an Amazon Web Services account or /// an Amazon Web Services service.

                                                        pub fn owner(mut self, input: crate::model::HostedZoneOwner) -> Self { self.owner = Some(input); @@ -5605,9 +5607,9 @@ impl HostedZoneSummary { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct HostedZoneOwner { - ///

                                                        If the hosted zone was created by an account, or was created by an Amazon Web Services service that creates hosted zones using the current account, + ///

                                                        If the hosted zone was created by an Amazon Web Services account, or was created by an Amazon Web Services service that creates hosted zones using the current account, /// OwningAccount contains the account ID of that account. For example, when you use Cloud Map to create a hosted zone, Cloud Map - /// creates the hosted zone using the current account.

                                                        + /// creates the hosted zone using the current Amazon Web Services account.

                                                        pub owning_account: std::option::Option, ///

                                                        If an Amazon Web Services service uses its own account to create a hosted zone and associate the specified VPC with that hosted zone, OwningService /// contains an abbreviation that identifies the service. For example, if Amazon Elastic File System (Amazon EFS) created a hosted zone and @@ -5632,9 +5634,9 @@ pub mod hosted_zone_owner { pub(crate) owning_service: std::option::Option, } impl Builder { - ///

                                                        If the hosted zone was created by an account, or was created by an Amazon Web Services service that creates hosted zones using the current account, + ///

                                                        If the hosted zone was created by an Amazon Web Services account, or was created by an Amazon Web Services service that creates hosted zones using the current account, /// OwningAccount contains the account ID of that account. For example, when you use Cloud Map to create a hosted zone, Cloud Map - /// creates the hosted zone using the current account.

                                                        + /// creates the hosted zone using the current Amazon Web Services account.

                                                        pub fn owning_account(mut self, input: impl Into) -> Self { self.owning_account = Some(input.into()); self diff --git a/sdk/route53/src/operation.rs b/sdk/route53/src/operation.rs index d7c4301f9991..e690aed77312 100644 --- a/sdk/route53/src/operation.rs +++ b/sdk/route53/src/operation.rs @@ -34,8 +34,8 @@ impl smithy_http::response::ParseStrictResponse for ActivateKeySigningKey { /// You can't convert a public hosted zone into a private hosted zone.

                                                        /// /// -///

                                                        If you want to associate a VPC that was created by using one account with a private hosted zone that was created -/// by using a different account, the account that created the private hosted zone must first submit a +///

                                                        If you want to associate a VPC that was created by using one Amazon Web Services account with a private hosted zone that was created +/// by using a different account, the Amazon Web Services account that created the private hosted zone must first submit a /// CreateVPCAssociationAuthorization request. Then the account that created the VPC must submit an /// AssociateVPCWithHostedZone request.

                                                        ///
                                                        @@ -376,7 +376,7 @@ impl smithy_http::response::ParseStrictResponse for CreateKeySigningKey { ///

                                                        You must create the log group in the us-east-1 region.

                                                        ///
                                                      • ///
                                                      • -///

                                                        You must use the same account to create the log group and the hosted zone that you want to +///

                                                        You must use the same Amazon Web Services account to create the log group and the hosted zone that you want to /// configure query logging for.

                                                        ///
                                                      • ///
                                                      • @@ -486,7 +486,7 @@ impl smithy_http::response::ParseStrictResponse for CreateQueryLoggingConfig { } ///

                                                        Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones that were created by -/// the same account.

                                                        +/// the same Amazon Web Services account.

                                                        ///

                                                        You can also create a reusable delegation set that uses the four name servers that are associated /// with an existing hosted zone. Specify the hosted zone ID in the CreateReusableDelegationSet request.

                                                        /// @@ -653,7 +653,7 @@ impl smithy_http::response::ParseStrictResponse for CreateTrafficPolicyVersion { } } -///

                                                        Authorizes the account that created a specified VPC to submit an AssociateVPCWithHostedZone +///

                                                        Authorizes the Amazon Web Services account that created a specified VPC to submit an AssociateVPCWithHostedZone /// request to associate the VPC with a specified hosted zone that was created by a different account. /// To submit a CreateVPCAssociationAuthorization request, you must use the account that created the /// hosted zone. After you authorize the association, use the account that created the VPC to submit an @@ -789,7 +789,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteHealthCheck { ///

                                                      • ///
                                                      • ///

                                                        Use the ListHostedZones action to get a list of the hosted zones associated with the current -/// account.

                                                        +/// Amazon Web Services account.

                                                        ///
                                                      • ///
                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -990,7 +990,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteTrafficPolicyInstance /// with a hosted zone that was created by a different account. You must use the account that created the hosted zone /// to submit a DeleteVPCAssociationAuthorization request.

                                                      /// -///

                                                      Sending this request only prevents the account that created the VPC from associating the VPC +///

                                                      Sending this request only prevents the Amazon Web Services account that created the VPC from associating the VPC /// with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, /// DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. /// If you want to delete an existing association, use DisassociateVPCFromHostedZone.

                                                      @@ -1133,7 +1133,7 @@ impl smithy_http::response::ParseStrictResponse for EnableHostedZoneDNSSEC { /// in the Amazon Route 53 Developer Guide. To request a higher limit, /// open a case.

                                                      /// -///

                                                      You can also view account limits in Amazon Web Services Trusted Advisor. Sign in to the Management Console and open the Trusted Advisor console at +///

                                                      You can also view account limits in Amazon Web Services Trusted Advisor. Sign in to the Amazon Web Services Management Console and open the Trusted Advisor console at /// https://console.aws.amazon.com/trustedadvisor/. Then choose /// Service limits in the navigation pane.

                                                      ///
                                                      @@ -1330,7 +1330,7 @@ impl smithy_http::response::ParseStrictResponse for GetHealthCheck { } } -///

                                                      Retrieves the number of health checks that are associated with the current account.

                                                      +///

                                                      Retrieves the number of health checks that are associated with the current Amazon Web Services account.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetHealthCheckCount { _private: (), @@ -1443,7 +1443,7 @@ impl smithy_http::response::ParseStrictResponse for GetHostedZone { } } -///

                                                      Retrieves the number of hosted zones that are associated with the current account.

                                                      +///

                                                      Retrieves the number of hosted zones that are associated with the current Amazon Web Services account.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetHostedZoneCount { _private: (), @@ -1662,7 +1662,7 @@ impl smithy_http::response::ParseStrictResponse for GetTrafficPolicyInstance { } } -///

                                                      Gets the number of traffic policy instances that are associated with the current account.

                                                      +///

                                                      Gets the number of traffic policy instances that are associated with the current Amazon Web Services account.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetTrafficPolicyInstanceCount { _private: (), @@ -1723,7 +1723,7 @@ impl smithy_http::response::ParseStrictResponse for ListGeoLocations { } } -///

                                                      Retrieve a list of the health checks that are associated with the current account.

                                                      +///

                                                      Retrieve a list of the health checks that are associated with the current Amazon Web Services account.

                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListHealthChecks { _private: (), @@ -1751,7 +1751,7 @@ impl smithy_http::response::ParseStrictResponse for ListHealthChecks { } } -///

                                                      Retrieves a list of the public and private hosted zones that are associated with the current account. The response +///

                                                      Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web Services account. The response /// includes a HostedZones child element for each hosted zone.

                                                      ///

                                                      Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the /// maxitems parameter to list them in groups of up to 100.

                                                      @@ -1783,7 +1783,7 @@ impl smithy_http::response::ParseStrictResponse for ListHostedZones { } ///

                                                      Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element -/// for each hosted zone created by the current account.

                                                      +/// for each hosted zone created by the current Amazon Web Services account.

                                                      ///

                                                      /// ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

                                                      ///

                                                      @@ -1812,13 +1812,13 @@ impl smithy_http::response::ParseStrictResponse for ListHostedZones { /// ///

                                                    • ///

                                                      If the value of IsTruncated in the response is true, there are more hosted zones associated with the -/// current account.

                                                      +/// current Amazon Web Services account.

                                                      ///

                                                      If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. /// The NextDNSName element and NextHostedZoneId elements are omitted from the response.

                                                      ///
                                                    • ///
                                                    • ///

                                                      The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the -/// hosted zone ID of the next hosted zone that is associated with the current account. If you want to list more hosted zones, +/// hosted zone ID of the next hosted zone that is associated with the current Amazon Web Services account. If you want to list more hosted zones, /// make another call to ListHostedZonesByName, and specify the value of NextDNSName and /// NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

                                                      ///
                                                    • @@ -1850,12 +1850,12 @@ impl smithy_http::response::ParseStrictResponse for ListHostedZonesByName { } } -///

                                                      Lists all the private hosted zones that a specified VPC is associated with, regardless of which account or Amazon Web Services service owns the +///

                                                      Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web Services account or Amazon Web Services service owns the /// hosted zones. The HostedZoneOwner structure in the response contains one of the following values:

                                                      ///
                                                        ///
                                                      • -///

                                                        An OwningAccount element, which contains the account number of either the current account or -/// another account. Some services, such as Cloud Map, create hosted zones using the current account.

                                                        +///

                                                        An OwningAccount element, which contains the account number of either the current Amazon Web Services account or +/// another Amazon Web Services account. Some services, such as Cloud Map, create hosted zones using the current account.

                                                        ///
                                                      • ///
                                                      • ///

                                                        An OwningService element, which identifies the Amazon Web Services service that created and owns the hosted zone. @@ -1890,7 +1890,7 @@ impl smithy_http::response::ParseStrictResponse for ListHostedZonesByVPC { } } -///

                                                        Lists the configurations for DNS query logging that are associated with the current account or the configuration +///

                                                        Lists the configurations for DNS query logging that are associated with the current Amazon Web Services account or the configuration /// that is associated with a specified hosted zone.

                                                        ///

                                                        For more information about DNS query logs, see /// CreateQueryLoggingConfig. @@ -2010,7 +2010,7 @@ impl smithy_http::response::ParseStrictResponse for ListResourceRecordSets { } } -///

                                                        Retrieves a list of the reusable delegation sets that are associated with the current account.

                                                        +///

                                                        Retrieves a list of the reusable delegation sets that are associated with the current Amazon Web Services account.

                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListReusableDelegationSets { _private: (), @@ -2100,7 +2100,7 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForResources { } } -///

                                                        Gets information about the latest version for every traffic policy that is associated with the current account. +///

                                                        Gets information about the latest version for every traffic policy that is associated with the current Amazon Web Services account. /// Policies are listed in the order that they were created in.

                                                        ///

                                                        For information about how of deleting a traffic policy affects the response from ListTrafficPolicies, see /// DeleteTrafficPolicy. @@ -2132,7 +2132,7 @@ impl smithy_http::response::ParseStrictResponse for ListTrafficPolicies { } } -///

                                                        Gets information about the traffic policy instances that you created by using the current account.

                                                        +///

                                                        Gets information about the traffic policy instances that you created by using the current Amazon Web Services account.

                                                        /// ///

                                                        After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the /// resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

                                                        diff --git a/sdk/route53/src/output.rs b/sdk/route53/src/output.rs index 18c6c9577b90..c5b2ec7246d4 100644 --- a/sdk/route53/src/output.rs +++ b/sdk/route53/src/output.rs @@ -995,7 +995,7 @@ impl ListTrafficPolicyInstancesOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListTrafficPoliciesOutput { - ///

                                                        A list that contains one TrafficPolicySummary element for each traffic policy that was created by the current account.

                                                        + ///

                                                        A list that contains one TrafficPolicySummary element for each traffic policy that was created by the current Amazon Web Services account.

                                                        pub traffic_policy_summaries: std::option::Option>, ///

                                                        A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of @@ -1202,12 +1202,12 @@ impl ListTagsForResourceOutput { } } -///

                                                        A complex type that contains information about the reusable delegation sets that are associated with the current account.

                                                        +///

                                                        A complex type that contains information about the reusable delegation sets that are associated with the current Amazon Web Services account.

                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListReusableDelegationSetsOutput { ///

                                                        A complex type that contains one DelegationSet element for each reusable delegation set that was created - /// by the current account.

                                                        + /// by the current Amazon Web Services account.

                                                        pub delegation_sets: std::option::Option>, ///

                                                        For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified /// for the marker parameter in the request that produced the current response.

                                                        @@ -1473,9 +1473,9 @@ impl ListResourceRecordSetsOutput { pub struct ListQueryLoggingConfigsOutput { ///

                                                        An array that contains one /// QueryLoggingConfig element - /// for each configuration for DNS query logging that is associated with the current account.

                                                        + /// for each configuration for DNS query logging that is associated with the current Amazon Web Services account.

                                                        pub query_logging_configs: std::option::Option>, - ///

                                                        If a response includes the last of the query logging configurations that are associated with the current account, + ///

                                                        If a response includes the last of the query logging configurations that are associated with the current Amazon Web Services account, /// NextToken doesn't appear in the response.

                                                        ///

                                                        If a response doesn't include the last of the configurations, you can get more configurations by submitting another /// ListQueryLoggingConfigs @@ -1518,7 +1518,7 @@ pub mod list_query_logging_configs_output { self.query_logging_configs = input; self } - ///

                                                        If a response includes the last of the query logging configurations that are associated with the current account, + ///

                                                        If a response includes the last of the query logging configurations that are associated with the current Amazon Web Services account, /// NextToken doesn't appear in the response.

                                                        ///

                                                        If a response doesn't include the last of the configurations, you can get more configurations by submitting another /// ListQueryLoggingConfigs @@ -1920,7 +1920,7 @@ impl ListHostedZonesOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListHealthChecksOutput { ///

                                                        A complex type that contains one HealthCheck element for each health check that is associated with the current - /// account.

                                                        + /// Amazon Web Services account.

                                                        pub health_checks: std::option::Option>, ///

                                                        For the second and subsequent calls to ListHealthChecks, Marker is the value that you specified for the /// marker parameter in the previous request.

                                                        @@ -2186,7 +2186,7 @@ impl ListGeoLocationsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetTrafficPolicyInstanceCountOutput { - ///

                                                        The number of traffic policy instances that are associated with the current account.

                                                        + ///

                                                        The number of traffic policy instances that are associated with the current Amazon Web Services account.

                                                        pub traffic_policy_instance_count: std::option::Option, } impl std::fmt::Debug for GetTrafficPolicyInstanceCountOutput { @@ -2208,7 +2208,7 @@ pub mod get_traffic_policy_instance_count_output { pub(crate) traffic_policy_instance_count: std::option::Option, } impl Builder { - ///

                                                        The number of traffic policy instances that are associated with the current account.

                                                        + ///

                                                        The number of traffic policy instances that are associated with the current Amazon Web Services account.

                                                        pub fn traffic_policy_instance_count(mut self, input: i32) -> Self { self.traffic_policy_instance_count = Some(input); self @@ -2580,7 +2580,7 @@ impl GetHostedZoneLimitOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetHostedZoneCountOutput { - ///

                                                        The total number of public and private hosted zones that are associated with the current account.

                                                        + ///

                                                        The total number of public and private hosted zones that are associated with the current Amazon Web Services account.

                                                        pub hosted_zone_count: std::option::Option, } impl std::fmt::Debug for GetHostedZoneCountOutput { @@ -2599,7 +2599,7 @@ pub mod get_hosted_zone_count_output { pub(crate) hosted_zone_count: std::option::Option, } impl Builder { - ///

                                                        The total number of public and private hosted zones that are associated with the current account.

                                                        + ///

                                                        The total number of public and private hosted zones that are associated with the current Amazon Web Services account.

                                                        pub fn hosted_zone_count(mut self, input: i64) -> Self { self.hosted_zone_count = Some(input); self @@ -2826,7 +2826,7 @@ impl GetHealthCheckLastFailureReasonOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetHealthCheckCountOutput { - ///

                                                        The number of health checks associated with the current account.

                                                        + ///

                                                        The number of health checks associated with the current Amazon Web Services account.

                                                        pub health_check_count: std::option::Option, } impl std::fmt::Debug for GetHealthCheckCountOutput { @@ -2845,7 +2845,7 @@ pub mod get_health_check_count_output { pub(crate) health_check_count: std::option::Option, } impl Builder { - ///

                                                        The number of health checks associated with the current account.

                                                        + ///

                                                        The number of health checks associated with the current Amazon Web Services account.

                                                        pub fn health_check_count(mut self, input: i64) -> Self { self.health_check_count = Some(input); self @@ -2874,7 +2874,7 @@ impl GetHealthCheckCountOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetHealthCheckOutput { ///

                                                        A complex type that contains information about one health check that is associated with - /// the current account.

                                                        + /// the current Amazon Web Services account.

                                                        pub health_check: std::option::Option, } impl std::fmt::Debug for GetHealthCheckOutput { @@ -2894,7 +2894,7 @@ pub mod get_health_check_output { } impl Builder { ///

                                                        A complex type that contains information about one health check that is associated with - /// the current account.

                                                        + /// the current Amazon Web Services account.

                                                        pub fn health_check(mut self, input: crate::model::HealthCheck) -> Self { self.health_check = Some(input); self diff --git a/sdk/route53domains/Cargo.toml b/sdk/route53domains/Cargo.toml index b5659433cef8..1dfca0365790 100644 --- a/sdk/route53domains/Cargo.toml +++ b/sdk/route53domains/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53domains" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Amazon Route 53 API actions let you register domain names and perform related operations.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53recoverycluster/Cargo.toml b/sdk/route53recoverycluster/Cargo.toml index 34367c68b64d..f53051a1e29e 100644 --- a/sdk/route53recoverycluster/Cargo.toml +++ b/sdk/route53recoverycluster/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53recoverycluster" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Welcome to the Amazon Route 53 Application Recovery Controller API Reference Guide for Recovery Control Data Plane .

                                                        \n\t\t\t

                                                        Recovery control in Route 53 Application Recovery Controller includes extremely reliable routing controls that enable you to recover applications \n\t\t\t\tby rerouting traffic, for example, across Availability Zones or AWS Regions. Routing controls are simple on/off switches \n\t\t\t\thosted on a cluster. A cluster is a set of five redundant regional endpoints against which you can execute API calls to update or \n\t\t\t\tget the state of routing controls. You use routing controls to failover traffic to recover your application \n\t\t\t\tacross Availability Zones or Regions.

                                                        \n\t\t\t

                                                        This API guide includes information about how to get and update routing control states in Route 53 Application Recovery Controller.

                                                        \n\t\t\t

                                                        For more information about Route 53 Application Recovery Controller, see the following:

                                                        \n\t\t\t " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53recoverycontrolconfig/Cargo.toml b/sdk/route53recoverycontrolconfig/Cargo.toml index a4db97601222..d95622d92531 100644 --- a/sdk/route53recoverycontrolconfig/Cargo.toml +++ b/sdk/route53recoverycontrolconfig/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53recoverycontrolconfig" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                        Recovery Control Configuration API Reference for Amazon Route 53 Application Recovery Controller

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53recoveryreadiness/Cargo.toml b/sdk/route53recoveryreadiness/Cargo.toml index 696c6cd208a3..0993525fbbc2 100644 --- a/sdk/route53recoveryreadiness/Cargo.toml +++ b/sdk/route53recoveryreadiness/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53recoveryreadiness" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Route53 Recovery Readiness" authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/route53resolver/Cargo.toml b/sdk/route53resolver/Cargo.toml index 6e550d75ef81..25b3cd24dda2 100644 --- a/sdk/route53resolver/Cargo.toml +++ b/sdk/route53resolver/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-route53resolver" -version = "0.0.15-alpha" -description = "

                                                        When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC\n\t\t\tfrom Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names\n\t\t\tsuch as domain names for EC2 instances or Elastic Load Balancing load balancers.\n\t\t\tResolver performs recursive lookups against public name servers for all other domain\n\t\t\tnames.

                                                        \n\n\t\t

                                                        You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                                                        \n\n\t\t

                                                        \n Forward DNS queries from resolvers on your network to Route 53 Resolver\n

                                                        \n\n\t\t

                                                        DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers \n\t\t\tto easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. \n\t\t\tFor more information, see \n\t\t\tHow DNS Resolvers \n\t\t\ton Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

                                                        \n\t\t\n\t\t

                                                        \n Conditionally forward queries from a VPC to resolvers on your network\n

                                                        \n\n\t\t

                                                        You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. \n\t\t\tTo forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward \n\t\t\t(such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. \n\t\t\tIf a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match \n\t\t\t(acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see \n\t\t\tHow Route 53 Resolver \n\t\t\tForwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                                                        \n\n\t\t

                                                        Like Amazon VPC, Resolver is Regional. In each Region where you have VPCs, you can choose\n\t\t\twhether to forward queries from your VPCs to your network (outbound queries), from your\n\t\t\tnetwork to your VPCs (inbound queries), or both.

                                                        " +version = "0.0.16-alpha" +description = "

                                                        When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC\n\t\t\tfrom Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names\n\t\t\tsuch as domain names for EC2 instances or Elastic Load Balancing load balancers.\n\t\t\tResolver performs recursive lookups against public name servers for all other domain\n\t\t\tnames.

                                                        \n\n\t\t

                                                        You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

                                                        \n\n\t\t

                                                        \n Forward DNS queries from resolvers on your network to Route 53 Resolver\n

                                                        \n\n\t\t

                                                        DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers \n\t\t\tto easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. \n\t\t\tFor more information, see \n\t\t\tHow DNS Resolvers \n\t\t\ton Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

                                                        \n\t\t\n\t\t

                                                        \n Conditionally forward queries from a VPC to resolvers on your network\n

                                                        \n\n\t\t

                                                        You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. \n\t\t\tTo forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward \n\t\t\t(such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. \n\t\t\tIf a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match \n\t\t\t(acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see \n\t\t\tHow Route 53 Resolver \n\t\t\tForwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

                                                        \n\n\t\t

                                                        Like Amazon VPC, Resolver is Regional. In each Region where you have VPCs, you can choose\n\t\t\twhether to forward queries from your VPCs to your network (outbound queries), from your\n\t\t\tnetwork to your VPCs (inbound queries), or both.

                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/route53resolver/src/client.rs b/sdk/route53resolver/src/client.rs index 93056e414048..4666059af1de 100644 --- a/sdk/route53resolver/src/client.rs +++ b/sdk/route53resolver/src/client.rs @@ -2838,7 +2838,7 @@ pub mod fluent_builders { self.inner = self.inner.set_max_results(input); self } - ///

                                                        (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken + ///

                                                        (Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken /// to get the second and subsequent pages of results.

                                                        ///

                                                        For the first ListResolverDnssecConfigs request, omit this value.

                                                        ///

                                                        For the second and subsequent requests, get the value of NextToken from the previous response and specify that value @@ -3274,12 +3274,12 @@ pub mod fluent_builders { ///

                                                      • ///
                                                      • ///

                                                        - /// OwnerId: The AWS account number of the account that created the configuration

                                                        + /// OwnerId: The Amazon Web Services account number of the account that created the configuration

                                                        ///
                                                      • ///
                                                      • ///

                                                        - /// ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by - /// another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                        + /// ShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by + /// another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                        ///
                                                      • ///
                                                      • ///

                                                        @@ -3580,7 +3580,7 @@ pub mod fluent_builders { self.inner = self.inner.set_arn(input); self } - ///

                                                        The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

                                                        + ///

                                                        The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.

                                                        pub fn firewall_rule_group_policy(mut self, input: impl Into) -> Self { self.inner = self.inner.firewall_rule_group_policy(input); self @@ -3633,7 +3633,7 @@ pub mod fluent_builders { self.inner = self.inner.set_arn(input); self } - ///

                                                        An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account + ///

                                                        An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account /// and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section /// of the statement:

                                                        ///
                                                          @@ -3715,7 +3715,7 @@ pub mod fluent_builders { self.inner = self.inner.set_arn(input); self } - ///

                                                          An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account + ///

                                                          An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account /// to be able to perform. You can specify the following operations in the Action section of the statement:

                                                          ///
                                                            ///
                                                          • diff --git a/sdk/route53resolver/src/input.rs b/sdk/route53resolver/src/input.rs index 4bc6a3d7a0eb..10a58d920f77 100644 --- a/sdk/route53resolver/src/input.rs +++ b/sdk/route53resolver/src/input.rs @@ -6655,7 +6655,7 @@ pub mod list_resolver_dnssec_configs_input { self.max_results = input; self } - ///

                                                            (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken + ///

                                                            (Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken /// to get the second and subsequent pages of results.

                                                            ///

                                                            For the first ListResolverDnssecConfigs request, omit this value.

                                                            ///

                                                            For the second and subsequent requests, get the value of NextToken from the previous response and specify that value @@ -7502,12 +7502,12 @@ pub mod list_resolver_query_log_configs_input { ///

                                                          • ///
                                                          • ///

                                                            - /// OwnerId: The AWS account number of the account that created the configuration

                                                            + /// OwnerId: The Amazon Web Services account number of the account that created the configuration

                                                            ///
                                                          • ///
                                                          • ///

                                                            - /// ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by - /// another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                            + /// ShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by + /// another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                            ///
                                                          • ///
                                                          • ///

                                                            @@ -8215,7 +8215,7 @@ pub mod put_firewall_rule_group_policy_input { self.arn = input; self } - ///

                                                            The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

                                                            + ///

                                                            The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.

                                                            pub fn firewall_rule_group_policy(mut self, input: impl Into) -> Self { self.firewall_rule_group_policy = Some(input.into()); self @@ -8370,7 +8370,7 @@ pub mod put_resolver_query_log_config_policy_input { self.arn = input; self } - ///

                                                            An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account + ///

                                                            An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account /// and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section /// of the statement:

                                                            ///
                                                              @@ -8556,7 +8556,7 @@ pub mod put_resolver_rule_policy_input { self.arn = input; self } - ///

                                                              An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account + ///

                                                              An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account /// to be able to perform. You can specify the following operations in the Action section of the statement:

                                                              ///
                                                                ///
                                                              • @@ -10709,7 +10709,7 @@ impl std::fmt::Debug for TagResourceInput { pub struct PutResolverRulePolicyInput { ///

                                                                The Amazon Resource Name (ARN) of the rule that you want to share with another account.

                                                                pub arn: std::option::Option, - ///

                                                                An AWS Identity and Access Management policy statement that lists the rules that you want to share with another AWS account and the operations that you want the account + ///

                                                                An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account /// to be able to perform. You can specify the following operations in the Action section of the statement:

                                                                ///
                                                                  ///
                                                                • @@ -10756,7 +10756,7 @@ impl std::fmt::Debug for PutResolverRulePolicyInput { pub struct PutResolverQueryLogConfigPolicyInput { ///

                                                                  The Amazon Resource Name (ARN) of the account that you want to share rules with.

                                                                  pub arn: std::option::Option, - ///

                                                                  An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account + ///

                                                                  An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account /// and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section /// of the statement:

                                                                  ///
                                                                    @@ -10802,7 +10802,7 @@ impl std::fmt::Debug for PutResolverQueryLogConfigPolicyInput { pub struct PutFirewallRuleGroupPolicyInput { ///

                                                                    The ARN (Amazon Resource Name) for the rule group that you want to share.

                                                                    pub arn: std::option::Option, - ///

                                                                    The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

                                                                    + ///

                                                                    The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.

                                                                    pub firewall_rule_group_policy: std::option::Option, } impl std::fmt::Debug for PutFirewallRuleGroupPolicyInput { @@ -10948,12 +10948,12 @@ pub struct ListResolverQueryLogConfigsInput { /// ///
                                                                  • ///

                                                                    - /// OwnerId: The AWS account number of the account that created the configuration

                                                                    + /// OwnerId: The Amazon Web Services account number of the account that created the configuration

                                                                    ///
                                                                  • ///
                                                                  • ///

                                                                    - /// ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by - /// another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                    + /// ShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by + /// another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                    ///
                                                                  • ///
                                                                  • ///

                                                                    @@ -11177,7 +11177,7 @@ pub struct ListResolverDnssecConfigsInput { /// Optional: An integer that specifies the maximum number of DNSSEC configuration results that you want Amazon Route 53 to return. /// If you don't specify a value for MaxResults, Route 53 returns up to 100 configuration per page.

                                                                    pub max_results: std::option::Option, - ///

                                                                    (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken + ///

                                                                    (Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken /// to get the second and subsequent pages of results.

                                                                    ///

                                                                    For the first ListResolverDnssecConfigs request, omit this value.

                                                                    ///

                                                                    For the second and subsequent requests, get the value of NextToken from the previous response and specify that value diff --git a/sdk/route53resolver/src/lib.rs b/sdk/route53resolver/src/lib.rs index bfae23a225b7..8d3b9aceebf9 100644 --- a/sdk/route53resolver/src/lib.rs +++ b/sdk/route53resolver/src/lib.rs @@ -14,7 +14,7 @@ //! Forward DNS queries from resolvers on your network to Route 53 Resolver //!

                                                                    //!

                                                                    DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers -//! to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. +//! to easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. //! For more information, see //! How DNS Resolvers //! on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

                                                                    diff --git a/sdk/route53resolver/src/model.rs b/sdk/route53resolver/src/model.rs index 7b510973b9b6..cb12b0f706a5 100644 --- a/sdk/route53resolver/src/model.rs +++ b/sdk/route53resolver/src/model.rs @@ -41,7 +41,7 @@ pub struct ResolverRule { pub target_ips: std::option::Option>, ///

                                                                    The ID of the endpoint that the rule is associated with.

                                                                    pub resolver_endpoint_id: std::option::Option, - ///

                                                                    When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

                                                                    + ///

                                                                    When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

                                                                    pub owner_id: std::option::Option, ///

                                                                    Whether the rule is shared and, if so, whether the current account is sharing the rule with /// another account, or another account is sharing the rule with the current account.

                                                                    @@ -212,7 +212,7 @@ pub mod resolver_rule { self.resolver_endpoint_id = input; self } - ///

                                                                    When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

                                                                    + ///

                                                                    When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

                                                                    pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); self @@ -1320,7 +1320,7 @@ pub struct FirewallRuleGroupAssociation { pub priority: std::option::Option, ///

                                                                    If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.

                                                                    pub mutation_protection: std::option::Option, - ///

                                                                    The owner of the association, used only for associations that are not managed by you. If you use AWS Firewall Manager to + ///

                                                                    The owner of the association, used only for associations that are not managed by you. If you use Firewall Manager to /// manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

                                                                    pub managed_owner_name: std::option::Option, ///

                                                                    The current status of the association.

                                                                    @@ -1449,7 +1449,7 @@ pub mod firewall_rule_group_association { self.mutation_protection = input; self } - ///

                                                                    The owner of the association, used only for associations that are not managed by you. If you use AWS Firewall Manager to + ///

                                                                    The owner of the association, used only for associations that are not managed by you. If you use Firewall Manager to /// manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

                                                                    pub fn managed_owner_name(mut self, input: impl Into) -> Self { self.managed_owner_name = Some(input.into()); @@ -2220,7 +2220,7 @@ pub struct FirewallConfig { pub id: std::option::Option, ///

                                                                    The ID of the VPC that this firewall configuration applies to.

                                                                    pub resource_id: std::option::Option, - ///

                                                                    The AWS account ID of the owner of the VPC that this firewall configuration applies to.

                                                                    + ///

                                                                    The Amazon Web Services account ID of the owner of the VPC that this firewall configuration applies to.

                                                                    pub owner_id: std::option::Option, ///

                                                                    Determines how DNS Firewall operates during failures, for example when all traffic that is sent to DNS Firewall fails to receive a reply.

                                                                    ///
                                                                      @@ -2276,7 +2276,7 @@ pub mod firewall_config { self.resource_id = input; self } - ///

                                                                      The AWS account ID of the owner of the VPC that this firewall configuration applies to.

                                                                      + ///

                                                                      The Amazon Web Services account ID of the owner of the VPC that this firewall configuration applies to.

                                                                      pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); self @@ -2483,7 +2483,7 @@ pub struct Filter { /// ///
                                                                    • ///

                                                                      - /// HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or + /// HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or /// the VPC that outbound queries pass through on the way from your VPCs to your network. In a /// CreateResolverEndpoint /// request, SubnetId indirectly identifies the VPC. In a @@ -2602,7 +2602,7 @@ pub struct Filter { ///

                                                                    • ///
                                                                    • ///

                                                                      - /// Destination: The AWS service that you want to forward query logs to. Valid values include the following:

                                                                      + /// Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

                                                                      ///
                                                                        ///
                                                                      • ///

                                                                        @@ -2636,12 +2636,12 @@ pub struct Filter { ///

                                                                      • ///
                                                                      • ///

                                                                        - /// OwnerId: The AWS account ID for the account that created the query logging configuration.

                                                                        + /// OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

                                                                        ///
                                                                      • ///
                                                                      • ///

                                                                        - /// ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, - /// or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + /// ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, + /// or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, /// or SHARED_BY_ME.

                                                                        ///
                                                                      • ///
                                                                      • @@ -2741,7 +2741,7 @@ pub mod filter { ///
                                                                      • ///
                                                                      • ///

                                                                        - /// HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or + /// HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or /// the VPC that outbound queries pass through on the way from your VPCs to your network. In a /// CreateResolverEndpoint /// request, SubnetId indirectly identifies the VPC. In a @@ -2860,7 +2860,7 @@ pub mod filter { ///

                                                                      • ///
                                                                      • ///

                                                                        - /// Destination: The AWS service that you want to forward query logs to. Valid values include the following:

                                                                        + /// Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:

                                                                        ///
                                                                          ///
                                                                        • ///

                                                                          @@ -2894,12 +2894,12 @@ pub mod filter { ///

                                                                        • ///
                                                                        • ///

                                                                          - /// OwnerId: The AWS account ID for the account that created the query logging configuration.

                                                                          + /// OwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.

                                                                          ///
                                                                        • ///
                                                                        • ///

                                                                          - /// ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, - /// or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + /// ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, + /// or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, /// or SHARED_BY_ME.

                                                                          ///
                                                                        • ///
                                                                        • @@ -3191,7 +3191,7 @@ impl AsRef for ResolverRuleAssociationStatus { pub struct ResolverQueryLogConfig { ///

                                                                          The ID for the query logging configuration.

                                                                          pub id: std::option::Option, - ///

                                                                          The AWS account ID for the account that created the query logging configuration.

                                                                          + ///

                                                                          The Amazon Web Services account ID for the account that created the query logging configuration.

                                                                          pub owner_id: std::option::Option, ///

                                                                          The status of the specified query logging configuration. Valid values include the following:

                                                                          ///
                                                                            @@ -3223,8 +3223,8 @@ pub struct ResolverQueryLogConfig { /// ///
                                                                          pub status: std::option::Option, - ///

                                                                          An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub share_status: std::option::Option, ///

                                                                          The number of VPCs that are associated with the query logging configuration.

                                                                          pub association_count: i32, @@ -3285,7 +3285,7 @@ pub mod resolver_query_log_config { self.id = input; self } - ///

                                                                          The AWS account ID for the account that created the query logging configuration.

                                                                          + ///

                                                                          The Amazon Web Services account ID for the account that created the query logging configuration.

                                                                          pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); self @@ -3334,8 +3334,8 @@ pub mod resolver_query_log_config { self.status = input; self } - ///

                                                                          An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub fn share_status(mut self, input: crate::model::ShareStatus) -> Self { self.share_status = Some(input); self @@ -4133,15 +4133,15 @@ pub struct FirewallRuleGroupMetadata { pub arn: std::option::Option, ///

                                                                          The name of the rule group.

                                                                          pub name: std::option::Option, - ///

                                                                          The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + ///

                                                                          The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, /// this is the account that has shared the rule group with you.

                                                                          pub owner_id: std::option::Option, ///

                                                                          A unique string defined by you to identify the request. This allows you to retry failed /// requests without the risk of running the operation twice. This can be any unique string, /// for example, a timestamp.

                                                                          pub creator_request_id: std::option::Option, - ///

                                                                          Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub share_status: std::option::Option, } impl std::fmt::Debug for FirewallRuleGroupMetadata { @@ -4197,7 +4197,7 @@ pub mod firewall_rule_group_metadata { self.name = input; self } - ///

                                                                          The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + ///

                                                                          The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, /// this is the account that has shared the rule group with you.

                                                                          pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); @@ -4221,8 +4221,8 @@ pub mod firewall_rule_group_metadata { self.creator_request_id = input; self } - ///

                                                                          Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub fn share_status(mut self, input: crate::model::ShareStatus) -> Self { self.share_status = Some(input); self @@ -4431,15 +4431,15 @@ pub struct FirewallRuleGroup { pub status: std::option::Option, ///

                                                                          Additional information about the status of the rule group, if available.

                                                                          pub status_message: std::option::Option, - ///

                                                                          The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + ///

                                                                          The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, /// this is the account that has shared the rule group with you.

                                                                          pub owner_id: std::option::Option, ///

                                                                          A unique string defined by you to identify the request. This allows you to retry failed /// requests without the risk of running the operation twice. This can be any unique string, /// for example, a timestamp.

                                                                          pub creator_request_id: std::option::Option, - ///

                                                                          Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub share_status: std::option::Option, ///

                                                                          The date and time that the rule group was created, in Unix time format and Coordinated Universal Time (UTC).

                                                                          pub creation_time: std::option::Option, @@ -4542,7 +4542,7 @@ pub mod firewall_rule_group { self.status_message = input; self } - ///

                                                                          The AWS account ID for the account that created the rule group. When a rule group is shared with your account, + ///

                                                                          The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, /// this is the account that has shared the rule group with you.

                                                                          pub fn owner_id(mut self, input: impl Into) -> Self { self.owner_id = Some(input.into()); @@ -4566,8 +4566,8 @@ pub mod firewall_rule_group { self.creator_request_id = input; self } - ///

                                                                          Whether the rule group is shared with other AWS accounts, or was shared with the current account by another - /// AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

                                                                          + ///

                                                                          Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another + /// Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).

                                                                          pub fn share_status(mut self, input: crate::model::ShareStatus) -> Self { self.share_status = Some(input); self diff --git a/sdk/route53resolver/src/operation.rs b/sdk/route53resolver/src/operation.rs index 0c461ac1b3cd..4ad686f44b77 100644 --- a/sdk/route53resolver/src/operation.rs +++ b/sdk/route53resolver/src/operation.rs @@ -253,7 +253,7 @@ impl smithy_http::response::ParseStrictResponse for CreateResolverEndpoint { /// Resolver can log queries only for VPCs that are in the same Region as the query logging configuration.

                                                                          ///

                                                                          To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see /// AssociateResolverQueryLogConfig.

                                                                          -///

                                                                          You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts +///

                                                                          You can optionally use Resource Access Manager (RAM) to share a query logging configuration with other Amazon Web Services accounts. The other accounts /// can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all /// VPCs that are associated with the configuration.

                                                                          #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -437,7 +437,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteResolverEndpoint { } ///

                                                                          Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are -/// associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and +/// associated with the configuration. This also applies if the query logging configuration is shared with other Amazon Web Services accounts, and /// the other accounts have associated VPCs with the shared configuration.

                                                                          ///

                                                                          Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See /// DisassociateResolverQueryLogConfig.

                                                                          @@ -567,7 +567,7 @@ impl smithy_http::response::ParseStrictResponse for DisassociateResolverEndpoint ///

                                                                          Disassociates a VPC from a query logging configuration.

                                                                          /// ///

                                                                          Before you can delete a query logging configuration, you must first disassociate all VPCs -/// from the configuration. If you used AWS Resource Access Manager (AWS RAM) to share a +/// from the configuration. If you used Resource Access Manager (RAM) to share a /// query logging configuration with other accounts, VPCs can be disassociated from the /// configuration in the following ways:

                                                                          ///
                                                                            @@ -751,9 +751,8 @@ impl smithy_http::response::ParseStrictResponse for GetFirewallRuleGroupAssociat } } -///

                                                                            Returns the AWS Identity and Access Management (AWS IAM) policy for sharing the -/// specified rule group. You can use the policy to share the rule group using AWS Resource -/// Access Manager (AWS RAM).

                                                                            +///

                                                                            Returns the Identity and Access Management (Amazon Web Services IAM) policy for sharing the +/// specified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetFirewallRuleGroupPolicy { _private: (), @@ -899,7 +898,7 @@ impl smithy_http::response::ParseStrictResponse for GetResolverQueryLogConfigAss } ///

                                                                            Gets information about a query logging policy. A query logging policy specifies the Resolver query logging -/// operations and resources that you want to allow another AWS account to be able to use.

                                                                            +/// operations and resources that you want to allow another Amazon Web Services account to be able to use.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetResolverQueryLogConfigPolicy { _private: (), @@ -1231,7 +1230,7 @@ impl smithy_http::response::ParseStrictResponse for ListFirewallRules { } } -///

                                                                            Lists the configurations for DNSSEC validation that are associated with the current AWS account.

                                                                            +///

                                                                            Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResolverDnssecConfigs { _private: (), @@ -1287,7 +1286,7 @@ impl smithy_http::response::ParseStrictResponse for ListResolverEndpointIpAddres } } -///

                                                                            Lists all the Resolver endpoints that were created using the current AWS account.

                                                                            +///

                                                                            Lists all the Resolver endpoints that were created using the current Amazon Web Services account.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResolverEndpoints { _private: (), @@ -1376,7 +1375,7 @@ impl smithy_http::response::ParseStrictResponse for ListResolverQueryLogConfigs } } -///

                                                                            Lists the associations that were created between Resolver rules and VPCs using the current AWS account.

                                                                            +///

                                                                            Lists the associations that were created between Resolver rules and VPCs using the current Amazon Web Services account.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResolverRuleAssociations { _private: (), @@ -1404,7 +1403,7 @@ impl smithy_http::response::ParseStrictResponse for ListResolverRuleAssociations } } -///

                                                                            Lists the Resolver rules that were created using the current AWS account.

                                                                            +///

                                                                            Lists the Resolver rules that were created using the current Amazon Web Services account.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResolverRules { _private: (), @@ -1460,9 +1459,9 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForResource { } } -///

                                                                            Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing the rule -/// group. You can use the policy to share the rule group using AWS Resource Access Manager -/// (AWS RAM).

                                                                            +///

                                                                            Attaches an Identity and Access Management (Amazon Web Services IAM) policy for sharing the rule +/// group. You can use the policy to share the rule group using Resource Access Manager +/// (RAM).

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutFirewallRuleGroupPolicy { _private: (), @@ -1490,7 +1489,7 @@ impl smithy_http::response::ParseStrictResponse for PutFirewallRuleGroupPolicy { } } -///

                                                                            Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, +///

                                                                            Specifies an Amazon Web Services account that you want to share a query logging configuration with, the query logging configuration that you want to share, /// and the operations that you want the account to be able to perform on the configuration.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutResolverQueryLogConfigPolicy { @@ -1519,7 +1518,7 @@ impl smithy_http::response::ParseStrictResponse for PutResolverQueryLogConfigPol } } -///

                                                                            Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, +///

                                                                            Specifies an Amazon Web Services rule that you want to share with another account, the account that you want to share the rule with, /// and the operations that you want the account to be able to perform on the rule.

                                                                            #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutResolverRulePolicy { diff --git a/sdk/route53resolver/src/output.rs b/sdk/route53resolver/src/output.rs index 7571127c5d44..3a708f7dc755 100644 --- a/sdk/route53resolver/src/output.rs +++ b/sdk/route53resolver/src/output.rs @@ -670,7 +670,7 @@ pub struct ListResolverRulesOutput { pub next_token: std::option::Option, ///

                                                                            The value that you specified for MaxResults in the request.

                                                                            pub max_results: std::option::Option, - ///

                                                                            The Resolver rules that were created using the current AWS account and that match the specified filters, if any.

                                                                            + ///

                                                                            The Resolver rules that were created using the current Amazon Web Services account and that match the specified filters, if any.

                                                                            pub resolver_rules: std::option::Option>, } impl std::fmt::Debug for ListResolverRulesOutput { @@ -752,7 +752,7 @@ pub struct ListResolverRuleAssociationsOutput { pub next_token: std::option::Option, ///

                                                                            The value that you specified for MaxResults in the request.

                                                                            pub max_results: std::option::Option, - ///

                                                                            The associations that were created between Resolver rules and VPCs using the current AWS account, and that match the + ///

                                                                            The associations that were created between Resolver rules and VPCs using the current Amazon Web Services account, and that match the /// specified filters, if any.

                                                                            pub resolver_rule_associations: std::option::Option>, @@ -1068,7 +1068,7 @@ pub struct ListResolverEndpointsOutput { pub next_token: std::option::Option, ///

                                                                            The value that you specified for MaxResults in the request.

                                                                            pub max_results: std::option::Option, - ///

                                                                            The Resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

                                                                            + ///

                                                                            The Resolver endpoints that were created by using the current Amazon Web Services account, and that match the specified filters, if any.

                                                                            pub resolver_endpoints: std::option::Option>, } impl std::fmt::Debug for ListResolverEndpointsOutput { @@ -1231,7 +1231,7 @@ impl ListResolverEndpointIpAddressesOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListResolverDnssecConfigsOutput { - ///

                                                                            If a response includes the last of the DNSSEC configurations that are associated with the current AWS account, + ///

                                                                            If a response includes the last of the DNSSEC configurations that are associated with the current Amazon Web Services account, /// NextToken doesn't appear in the response.

                                                                            ///

                                                                            If a response doesn't include the last of the configurations, you can get more configurations by submitting another /// ListResolverDnssecConfigs @@ -1240,7 +1240,7 @@ pub struct ListResolverDnssecConfigsOutput { pub next_token: std::option::Option, ///

                                                                            An array that contains one /// ResolverDnssecConfig element - /// for each configuration for DNSSEC validation that is associated with the current AWS account.

                                                                            + /// for each configuration for DNSSEC validation that is associated with the current Amazon Web Services account.

                                                                            pub resolver_dnssec_configs: std::option::Option>, } @@ -1263,7 +1263,7 @@ pub mod list_resolver_dnssec_configs_output { std::option::Option>, } impl Builder { - ///

                                                                            If a response includes the last of the DNSSEC configurations that are associated with the current AWS account, + ///

                                                                            If a response includes the last of the DNSSEC configurations that are associated with the current Amazon Web Services account, /// NextToken doesn't appear in the response.

                                                                            ///

                                                                            If a response doesn't include the last of the configurations, you can get more configurations by submitting another /// ListResolverDnssecConfigs @@ -2246,9 +2246,9 @@ impl GetResolverDnssecConfigOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetFirewallRuleGroupPolicyOutput { - ///

                                                                            The AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule - /// group. You can use the policy to share the rule group using AWS Resource Access Manager - /// (AWS RAM).

                                                                            + ///

                                                                            The Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule + /// group. You can use the policy to share the rule group using Resource Access Manager + /// (RAM).

                                                                            pub firewall_rule_group_policy: std::option::Option, } impl std::fmt::Debug for GetFirewallRuleGroupPolicyOutput { @@ -2270,9 +2270,9 @@ pub mod get_firewall_rule_group_policy_output { pub(crate) firewall_rule_group_policy: std::option::Option, } impl Builder { - ///

                                                                            The AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule - /// group. You can use the policy to share the rule group using AWS Resource Access Manager - /// (AWS RAM).

                                                                            + ///

                                                                            The Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule + /// group. You can use the policy to share the rule group using Resource Access Manager + /// (RAM).

                                                                            pub fn firewall_rule_group_policy(mut self, input: impl Into) -> Self { self.firewall_rule_group_policy = Some(input.into()); self diff --git a/sdk/s3/Cargo.toml b/sdk/s3/Cargo.toml index 833026b66c9f..fcdeeba2535f 100644 --- a/sdk/s3/Cargo.toml +++ b/sdk/s3/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-s3" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                            " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/s3/src/client.rs b/sdk/s3/src/client.rs index 10697ddc1570..c524190caba5 100644 --- a/sdk/s3/src/client.rs +++ b/sdk/s3/src/client.rs @@ -392,8 +392,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name to which the upload was taking place.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -480,6 +480,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            Name of the bucket to which the multipart upload was initiated.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -591,8 +593,8 @@ pub mod fluent_builders { self } ///

                                                                            The name of the destination bucket.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -674,7 +676,7 @@ pub mod fluent_builders { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -939,9 +941,9 @@ pub mod fluent_builders { self.inner = self.inner.set_sse_customer_key_md5(input); self } - ///

                                                                            Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for - /// an object protected by AWS KMS will fail if not made via SSL or using SigV4. For - /// information about configuring using any of the officially supported AWS SDKs and AWS CLI, + ///

                                                                            Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests for + /// an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For + /// information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, /// see Specifying the /// Signature Version in Request Authentication in the Amazon S3 User Guide.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { @@ -955,7 +957,7 @@ pub mod fluent_builders { self.inner = self.inner.set_ssekms_key_id(input); self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -1303,8 +1305,8 @@ pub mod fluent_builders { self } ///

                                                                            The name of the bucket to which to initiate the upload

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -1545,10 +1547,10 @@ pub mod fluent_builders { self.inner = self.inner.set_sse_customer_key_md5(input); self } - ///

                                                                            Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object - /// encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not + ///

                                                                            Specifies the ID of the symmetric customer managed Amazon Web Services KMS CMK to use for object + /// encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not /// made via SSL or using SigV4. For information about configuring using any of the officially - /// supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + /// supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication /// in the Amazon S3 User Guide.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.inner = self.inner.ssekms_key_id(input); @@ -1561,7 +1563,7 @@ pub mod fluent_builders { self.inner = self.inner.set_ssekms_key_id(input); self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -2409,8 +2411,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -2518,8 +2520,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the objects to delete.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -2618,8 +2620,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the objects from which to remove the tags.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -3833,8 +3835,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4112,7 +4114,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name that contains the object for which to get the ACL information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4199,7 +4201,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object whose Legal Hold status you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4286,7 +4288,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket whose Object Lock configuration you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4340,7 +4342,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object whose retention settings you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4427,8 +4429,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object for which to get the tagging information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4646,8 +4648,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -4701,8 +4703,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -5194,8 +5196,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -5333,8 +5335,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The name of the bucket containing the objects.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -5368,7 +5370,8 @@ pub mod fluent_builders { self.inner = self.inner.set_encoding_type(input); self } - ///

                                                                            Specifies the key to start with when listing objects in a bucket.

                                                                            + ///

                                                                            Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after + /// this specified key. Marker can be any key in the bucket.

                                                                            pub fn marker(mut self, input: impl Into) -> Self { self.inner = self.inner.marker(input); self @@ -5455,8 +5458,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            Bucket name to list.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -5727,8 +5730,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The name of the bucket to which the parts are being uploaded.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -5930,7 +5933,7 @@ pub mod fluent_builders { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6142,7 +6145,7 @@ pub mod fluent_builders { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6210,7 +6213,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed - /// keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about + /// keys (SSE-S3) or customer master keys stored in Amazon Web Services KMS (SSE-KMS). For information about /// the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption /// in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { @@ -6222,7 +6225,7 @@ pub mod fluent_builders { self } ///

                                                                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6512,7 +6515,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash of the PutBucketLogging request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6730,7 +6733,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash of the OwnershipControls request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6806,7 +6809,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash of the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6893,7 +6896,7 @@ pub mod fluent_builders { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -6984,7 +6987,7 @@ pub mod fluent_builders { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -7064,7 +7067,7 @@ pub mod fluent_builders { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -7139,7 +7142,7 @@ pub mod fluent_builders { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -7229,7 +7232,7 @@ pub mod fluent_builders { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -7321,8 +7324,8 @@ pub mod fluent_builders { self } ///

                                                                            The bucket name to which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -7603,11 +7606,11 @@ pub mod fluent_builders { self } ///

                                                                            If x-amz-server-side-encryption is present and has the value of - /// aws:kms, this header specifies the ID of the AWS Key Management Service - /// (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the + /// aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + /// (Amazon Web Services KMS) symmetrical customer managed customer master key (CMK) that was used for the /// object. If you specify x-amz-server-side-encryption:aws:kms, but do not - /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS - /// managed CMK in AWS to protect the data. If the KMS key does not exist in the same account + /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services + /// managed CMK in Amazon Web Services to protect the data. If the KMS key does not exist in the same account /// issuing the command, you must use the full ARN and not just the ID. ///

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { @@ -7621,7 +7624,7 @@ pub mod fluent_builders { self.inner = self.inner.set_ssekms_key_id(input); self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -7769,7 +7772,7 @@ pub mod fluent_builders { self } ///

                                                                            The bucket name that contains the object to which you want to attach the ACL.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -7783,7 +7786,7 @@ pub mod fluent_builders { /// information, go to RFC /// 1864.> ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -7855,8 +7858,8 @@ pub mod fluent_builders { self } ///

                                                                            Key for which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn key(mut self, input: impl Into) -> Self { self.inner = self.inner.key(input); self @@ -7946,7 +7949,7 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object that you want to place a Legal Hold on.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -7989,7 +7992,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -8089,7 +8092,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -8159,7 +8162,7 @@ pub mod fluent_builders { } ///

                                                                            The bucket name that contains the object you want to apply this Object Retention /// configuration to.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -8213,7 +8216,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -8279,8 +8282,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -8308,7 +8311,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -8396,7 +8399,7 @@ pub mod fluent_builders { self } ///

                                                                            The MD5 hash of the PutPublicAccessBlock request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.inner = self.inner.content_md5(input); self @@ -8467,8 +8470,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name containing the object to restore.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -8579,8 +8582,8 @@ pub mod fluent_builders { self } ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -8741,8 +8744,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.inner = self.inner.bucket(input); self @@ -8765,7 +8768,7 @@ pub mod fluent_builders { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -9471,7 +9474,7 @@ pub mod fluent_builders { self.inner = self.inner.set_sse_customer_algorithm(input); self } - ///

                                                                            If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            + ///

                                                                            If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.inner = self.inner.ssekms_key_id(input); self @@ -9529,7 +9532,7 @@ pub mod fluent_builders { self } ///

                                                                            Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side - /// encryption with AWS KMS (SSE-KMS).

                                                                            + /// encryption with Amazon Web Services KMS (SSE-KMS).

                                                                            pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.inner = self.inner.bucket_key_enabled(input); self diff --git a/sdk/s3/src/error.rs b/sdk/s3/src/error.rs index 14108a212936..91697a99f0e8 100644 --- a/sdk/s3/src/error.rs +++ b/sdk/s3/src/error.rs @@ -7070,7 +7070,7 @@ impl BucketAlreadyExists { } ///

                                                                            The bucket you tried to create already exists, and you own it. Amazon S3 returns this error -/// in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you +/// in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you /// re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 /// returns 200 OK and resets the bucket access control lists (ACLs).

                                                                            #[non_exhaustive] diff --git a/sdk/s3/src/input.rs b/sdk/s3/src/input.rs index 6218181e8da3..fcf32ff9061f 100644 --- a/sdk/s3/src/input.rs +++ b/sdk/s3/src/input.rs @@ -14,8 +14,8 @@ pub mod abort_multipart_upload_input { } impl Builder { ///

                                                                            The bucket name to which the upload was taking place.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -280,6 +280,8 @@ pub mod complete_multipart_upload_input { } impl Builder { ///

                                                                            Name of the bucket to which the multipart upload was initiated.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -610,8 +612,8 @@ pub mod copy_object_input { self } ///

                                                                            The name of the destination bucket.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -693,7 +695,7 @@ pub mod copy_object_input { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -959,9 +961,9 @@ pub mod copy_object_input { self.sse_customer_key_md5 = input; self } - ///

                                                                            Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for - /// an object protected by AWS KMS will fail if not made via SSL or using SigV4. For - /// information about configuring using any of the officially supported AWS SDKs and AWS CLI, + ///

                                                                            Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests for + /// an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For + /// information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, /// see Specifying the /// Signature Version in Request Authentication in the Amazon S3 User Guide.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { @@ -975,7 +977,7 @@ pub mod copy_object_input { self.ssekms_key_id = input; self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -2482,8 +2484,8 @@ pub mod create_multipart_upload_input { self } ///

                                                                            The name of the bucket to which to initiate the upload

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -2725,10 +2727,10 @@ pub mod create_multipart_upload_input { self.sse_customer_key_md5 = input; self } - ///

                                                                            Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object - /// encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not + ///

                                                                            Specifies the ID of the symmetric customer managed Amazon Web Services KMS CMK to use for object + /// encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not /// made via SSL or using SigV4. For information about configuring using any of the officially - /// supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + /// supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication /// in the Amazon S3 User Guide.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -2741,7 +2743,7 @@ pub mod create_multipart_upload_input { self.ssekms_key_id = input; self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -6015,8 +6017,8 @@ pub mod delete_object_input { } impl Builder { ///

                                                                            The bucket name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -6339,8 +6341,8 @@ pub mod delete_objects_input { } impl Builder { ///

                                                                            The bucket name containing the objects to delete.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -6648,8 +6650,8 @@ pub mod delete_object_tagging_input { } impl Builder { ///

                                                                            The bucket name containing the objects from which to remove the tags.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -10892,8 +10894,8 @@ pub mod get_object_input { } impl Builder { ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -11553,7 +11555,7 @@ pub mod get_object_acl_input { } impl Builder { ///

                                                                            The bucket name that contains the object for which to get the ACL information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -11814,7 +11816,7 @@ pub mod get_object_legal_hold_input { } impl Builder { ///

                                                                            The bucket name containing the object whose Legal Hold status you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -12077,7 +12079,7 @@ pub mod get_object_lock_configuration_input { } impl Builder { ///

                                                                            The bucket whose Object Lock configuration you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -12271,7 +12273,7 @@ pub mod get_object_retention_input { } impl Builder { ///

                                                                            The bucket name containing the object whose retention settings you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -12537,8 +12539,8 @@ pub mod get_object_tagging_input { } impl Builder { ///

                                                                            The bucket name containing the object for which to get the tagging information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -13242,8 +13244,8 @@ pub mod head_bucket_input { } impl Builder { ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -13435,8 +13437,8 @@ pub mod head_object_input { } impl Builder { ///

                                                                            The name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -14908,8 +14910,8 @@ pub mod list_multipart_uploads_input { } impl Builder { ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -15219,8 +15221,8 @@ pub mod list_objects_input { } impl Builder { ///

                                                                            The name of the bucket containing the objects.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -15254,7 +15256,8 @@ pub mod list_objects_input { self.encoding_type = input; self } - ///

                                                                            Specifies the key to start with when listing objects in a bucket.

                                                                            + ///

                                                                            Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after + /// this specified key. Marker can be any key in the bucket.

                                                                            pub fn marker(mut self, input: impl Into) -> Self { self.marker = Some(input.into()); self @@ -15521,8 +15524,8 @@ pub mod list_objects_v2_input { } impl Builder { ///

                                                                            Bucket name to list.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -16157,8 +16160,8 @@ pub mod list_parts_input { } impl Builder { ///

                                                                            The name of the bucket to which the parts are being uploaded.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -16693,7 +16696,7 @@ pub mod put_bucket_acl_input { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -17336,7 +17339,7 @@ pub mod put_bucket_cors_input { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -17574,7 +17577,7 @@ pub mod put_bucket_encryption_input { } impl Builder { ///

                                                                            Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed - /// keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about + /// keys (SSE-S3) or customer master keys stored in Amazon Web Services KMS (SSE-KMS). For information about /// the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption /// in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { @@ -17586,7 +17589,7 @@ pub mod put_bucket_encryption_input { self } ///

                                                                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -18476,7 +18479,7 @@ pub mod put_bucket_logging_input { self } ///

                                                                            The MD5 hash of the PutBucketLogging request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -19158,7 +19161,7 @@ pub mod put_bucket_ownership_controls_input { self } ///

                                                                            The MD5 hash of the OwnershipControls request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -19411,7 +19414,7 @@ pub mod put_bucket_policy_input { self } ///

                                                                            The MD5 hash of the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -19695,7 +19698,7 @@ pub mod put_bucket_replication_input { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -19981,7 +19984,7 @@ pub mod put_bucket_request_payment_input { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -20237,7 +20240,7 @@ pub mod put_bucket_tagging_input { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -20487,7 +20490,7 @@ pub mod put_bucket_versioning_input { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -20771,7 +20774,7 @@ pub mod put_bucket_website_input { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -21069,8 +21072,8 @@ pub mod put_object_input { self } ///

                                                                            The bucket name to which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -21352,11 +21355,11 @@ pub mod put_object_input { self } ///

                                                                            If x-amz-server-side-encryption is present and has the value of - /// aws:kms, this header specifies the ID of the AWS Key Management Service - /// (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the + /// aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + /// (Amazon Web Services KMS) symmetrical customer managed customer master key (CMK) that was used for the /// object. If you specify x-amz-server-side-encryption:aws:kms, but do not - /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS - /// managed CMK in AWS to protect the data. If the KMS key does not exist in the same account + /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services + /// managed CMK in Amazon Web Services to protect the data. If the KMS key does not exist in the same account /// issuing the command, you must use the full ARN and not just the ID. ///

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { @@ -21370,7 +21373,7 @@ pub mod put_object_input { self.ssekms_key_id = input; self } - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -22226,7 +22229,7 @@ pub mod put_object_acl_input { self } ///

                                                                            The bucket name that contains the object to which you want to attach the ACL.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -22240,7 +22243,7 @@ pub mod put_object_acl_input { /// information, go to RFC /// 1864.> ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -22312,8 +22315,8 @@ pub mod put_object_acl_input { self } ///

                                                                            Key for which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn key(mut self, input: impl Into) -> Self { self.key = Some(input.into()); self @@ -22730,7 +22733,7 @@ pub mod put_object_legal_hold_input { } impl Builder { ///

                                                                            The bucket name containing the object that you want to place a Legal Hold on.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -22773,7 +22776,7 @@ pub mod put_object_legal_hold_input { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -23090,7 +23093,7 @@ pub mod put_object_lock_configuration_input { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -23378,7 +23381,7 @@ pub mod put_object_retention_input { impl Builder { ///

                                                                            The bucket name that contains the object you want to apply this Object Retention /// configuration to.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -23432,7 +23435,7 @@ pub mod put_object_retention_input { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -23736,8 +23739,8 @@ pub mod put_object_tagging_input { } impl Builder { ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -23765,7 +23768,7 @@ pub mod put_object_tagging_input { self } ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -24067,7 +24070,7 @@ pub mod put_public_access_block_input { self } ///

                                                                            The MD5 hash of the PutPublicAccessBlock request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub fn content_md5(mut self, input: impl Into) -> Self { self.content_md5 = Some(input.into()); self @@ -24315,8 +24318,8 @@ pub mod restore_object_input { } impl Builder { ///

                                                                            The bucket name containing the object to restore.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -24611,8 +24614,8 @@ pub mod upload_part_input { self } ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -25074,8 +25077,8 @@ pub mod upload_part_copy_input { } impl Builder { ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -25098,7 +25101,7 @@ pub mod upload_part_copy_input { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -26287,7 +26290,7 @@ pub mod write_get_object_response_input { self.sse_customer_algorithm = input; self } - ///

                                                                            If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            + ///

                                                                            If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); self @@ -26345,7 +26348,7 @@ pub mod write_get_object_response_input { self } ///

                                                                            Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side - /// encryption with AWS KMS (SSE-KMS).

                                                                            + /// encryption with Amazon Web Services KMS (SSE-KMS).

                                                                            pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -27359,7 +27362,7 @@ pub struct WriteGetObjectResponseInput { pub server_side_encryption: std::option::Option, ///

                                                                            Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.

                                                                            pub sse_customer_algorithm: std::option::Option, - ///

                                                                            If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            + ///

                                                                            If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for stored in Amazon S3 object.

                                                                            pub ssekms_key_id: std::option::Option, ///

                                                                            128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data /// stored in S3. For more information, see Protecting data @@ -27373,7 +27376,7 @@ pub struct WriteGetObjectResponseInput { ///

                                                                            An ID used to reference a specific version of the object.

                                                                            pub version_id: std::option::Option, ///

                                                                            Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side - /// encryption with AWS KMS (SSE-KMS).

                                                                            + /// encryption with Amazon Web Services KMS (SSE-KMS).

                                                                            pub bucket_key_enabled: bool, } impl std::fmt::Debug for WriteGetObjectResponseInput { @@ -27429,8 +27432,8 @@ impl std::fmt::Debug for WriteGetObjectResponseInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UploadPartCopyInput { ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Specifies the source object for the copy operation. You specify the value in one of two /// formats, depending on whether you want to access the source object through an access point:

                                                                            @@ -27446,7 +27449,7 @@ pub struct UploadPartCopyInput { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -27560,8 +27563,8 @@ pub struct UploadPartInput { ///

                                                                            Object data.

                                                                            pub body: smithy_http::byte_stream::ByteStream, ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Size of the body in bytes. This parameter is useful when the size of the body cannot be /// determined automatically.

                                                                            @@ -27621,8 +27624,8 @@ impl std::fmt::Debug for UploadPartInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RestoreObjectInput { ///

                                                                            The bucket name containing the object to restore.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Object key for which the action was initiated.

                                                                            pub key: std::option::Option, @@ -27658,7 +27661,7 @@ pub struct PutPublicAccessBlockInput { /// to set.

                                                                            pub bucket: std::option::Option, ///

                                                                            The MD5 hash of the PutPublicAccessBlock request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -27686,15 +27689,15 @@ impl std::fmt::Debug for PutPublicAccessBlockInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutObjectTaggingInput { ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Name of the object key.

                                                                            pub key: std::option::Option, ///

                                                                            The versionId of the object that the tag-set will be added to.

                                                                            pub version_id: std::option::Option, ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -27725,7 +27728,7 @@ impl std::fmt::Debug for PutObjectTaggingInput { pub struct PutObjectRetentionInput { ///

                                                                            The bucket name that contains the object you want to apply this Object Retention /// configuration to.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key name for the object that you want to apply this Object Retention configuration /// to.

                                                                            @@ -27741,7 +27744,7 @@ pub struct PutObjectRetentionInput { ///

                                                                            Indicates whether this action should bypass Governance-mode restrictions.

                                                                            pub bypass_governance_retention: bool, ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -27779,7 +27782,7 @@ pub struct PutObjectLockConfigurationInput { ///

                                                                            A token to allow Object Lock to be enabled for an existing bucket.

                                                                            pub token: std::option::Option, ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -27803,7 +27806,7 @@ impl std::fmt::Debug for PutObjectLockConfigurationInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutObjectLegalHoldInput { ///

                                                                            The bucket name containing the object that you want to place a Legal Hold on.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key name for the object that you want to place a Legal Hold on.

                                                                            pub key: std::option::Option, @@ -27815,7 +27818,7 @@ pub struct PutObjectLegalHoldInput { ///

                                                                            The version ID of the object that you want to place a Legal Hold on.

                                                                            pub version_id: std::option::Option, ///

                                                                            The MD5 hash for the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -27843,14 +27846,14 @@ pub struct PutObjectAclInput { ///

                                                                            The canned ACL to apply to the object. For more information, see Canned ACL.

                                                                            pub acl: std::option::Option, ///

                                                                            The bucket name that contains the object to which you want to attach the ACL.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, go to RFC /// 1864.> ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            Allows grantee the read, write, read ACP, and write ACP permissions on the /// bucket.

                                                                            @@ -27871,8 +27874,8 @@ pub struct PutObjectAclInput { ///

                                                                            This action is not supported by Amazon S3 on Outposts.

                                                                            pub grant_write_acp: std::option::Option, ///

                                                                            Key for which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub key: std::option::Option, ///

                                                                            Confirms that the requester knows that they will be charged for the request. Bucket /// owners need not specify this parameter in their requests. For information about downloading @@ -27915,8 +27918,8 @@ pub struct PutObjectInput { ///

                                                                            Object data.

                                                                            pub body: smithy_http::byte_stream::ByteStream, ///

                                                                            The bucket name to which the PUT action was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Can be used to specify caching behavior along the request/reply chain. For more /// information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

                                                                            @@ -28003,15 +28006,15 @@ pub struct PutObjectInput { /// without error.

                                                                            pub sse_customer_key_md5: std::option::Option, ///

                                                                            If x-amz-server-side-encryption is present and has the value of - /// aws:kms, this header specifies the ID of the AWS Key Management Service - /// (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the + /// aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + /// (Amazon Web Services KMS) symmetrical customer managed customer master key (CMK) that was used for the /// object. If you specify x-amz-server-side-encryption:aws:kms, but do not - /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS - /// managed CMK in AWS to protect the data. If the KMS key does not exist in the same account + /// provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services + /// managed CMK in Amazon Web Services to protect the data. If the KMS key does not exist in the same account /// issuing the command, you must use the full ARN and not just the ID. ///

                                                                            pub ssekms_key_id: std::option::Option, - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub ssekms_encryption_context: std::option::Option, @@ -28094,7 +28097,7 @@ pub struct PutBucketWebsiteInput { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28121,7 +28124,7 @@ pub struct PutBucketVersioningInput { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The concatenation of the authentication device's serial number, a space, and the value /// that is displayed on your authentication device.

                                                                            @@ -28151,7 +28154,7 @@ pub struct PutBucketTaggingInput { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28178,7 +28181,7 @@ pub struct PutBucketRequestPaymentInput { /// message integrity check to verify that the request body was not corrupted in transit. For /// more information, see RFC /// 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28208,7 +28211,7 @@ pub struct PutBucketReplicationInput { ///

                                                                            The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message /// integrity check to verify that the request body was not corrupted in transit. For more /// information, see RFC 1864.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            A token to allow Object Lock to be enabled for an existing bucket.

                                                                            pub token: std::option::Option, @@ -28236,7 +28239,7 @@ pub struct PutBucketPolicyInput { ///

                                                                            The name of the bucket.

                                                                            pub bucket: std::option::Option, ///

                                                                            The MD5 hash of the request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            Set this parameter to true to confirm that you want to remove your permissions to change /// this bucket policy in the future.

                                                                            @@ -28267,7 +28270,7 @@ pub struct PutBucketOwnershipControlsInput { ///

                                                                            The name of the Amazon S3 bucket whose OwnershipControls you want to set.

                                                                            pub bucket: std::option::Option, ///

                                                                            The MD5 hash of the OwnershipControls request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28339,7 +28342,7 @@ pub struct PutBucketLoggingInput { ///

                                                                            The name of the bucket for which to set the logging parameters.

                                                                            pub bucket: std::option::Option, ///

                                                                            The MD5 hash of the PutBucketLogging request body.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28428,12 +28431,12 @@ impl std::fmt::Debug for PutBucketIntelligentTieringConfigurationInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutBucketEncryptionInput { ///

                                                                            Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed - /// keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about + /// keys (SSE-S3) or customer master keys stored in Amazon Web Services KMS (SSE-KMS). For information about /// the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption /// in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28465,7 +28468,7 @@ pub struct PutBucketCorsInput { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -28520,7 +28523,7 @@ pub struct PutBucketAclInput { /// information, go to RFC /// 1864. ///

                                                                            - ///

                                                                            For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

                                                                            + ///

                                                                            For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

                                                                            pub content_md5: std::option::Option, ///

                                                                            Allows grantee the read, write, read ACP, and write ACP permissions on the /// bucket.

                                                                            @@ -28580,8 +28583,8 @@ impl std::fmt::Debug for PutBucketAccelerateConfigurationInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListPartsInput { ///

                                                                            The name of the bucket to which the parts are being uploaded.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Object key for which the multipart upload was initiated.

                                                                            pub key: std::option::Option, @@ -28669,8 +28672,8 @@ impl std::fmt::Debug for ListObjectVersionsInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListObjectsV2Input { ///

                                                                            Bucket name to list.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            A delimiter is a character you use to group keys.

                                                                            pub delimiter: std::option::Option, @@ -28719,8 +28722,8 @@ impl std::fmt::Debug for ListObjectsV2Input { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListObjectsInput { ///

                                                                            The name of the bucket containing the objects.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            A delimiter is a character you use to group keys.

                                                                            pub delimiter: std::option::Option, @@ -28730,7 +28733,8 @@ pub struct ListObjectsInput { /// characters that are not supported in XML 1.0, you can add this parameter to request that /// Amazon S3 encode the keys in the response.

                                                                            pub encoding_type: std::option::Option, - ///

                                                                            Specifies the key to start with when listing objects in a bucket.

                                                                            + ///

                                                                            Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after + /// this specified key. Marker can be any key in the bucket.

                                                                            pub marker: std::option::Option, ///

                                                                            Sets the maximum number of keys returned in the response. By default the action returns up /// to 1,000 key names. The response might contain fewer keys but will never contain more. @@ -28763,8 +28767,8 @@ impl std::fmt::Debug for ListObjectsInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListMultipartUploadsInput { ///

                                                                            The name of the bucket to which the multipart upload was initiated.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Character you use to group keys.

                                                                            ///

                                                                            All keys that contain the same string between the prefix, if specified, and the first @@ -28918,8 +28922,8 @@ impl std::fmt::Debug for ListBucketAnalyticsConfigurationsInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct HeadObjectInput { ///

                                                                            The name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Return the object only if its entity tag (ETag) is the same as the one specified, /// otherwise return a 412 (precondition failed).

                                                                            @@ -28993,8 +28997,8 @@ impl std::fmt::Debug for HeadObjectInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct HeadBucketInput { ///

                                                                            The bucket name.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -29056,8 +29060,8 @@ impl std::fmt::Debug for GetObjectTorrentInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectTaggingInput { ///

                                                                            The bucket name containing the object for which to get the tagging information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Object key for which to get the tagging information.

                                                                            pub key: std::option::Option, @@ -29087,7 +29091,7 @@ impl std::fmt::Debug for GetObjectTaggingInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectRetentionInput { ///

                                                                            The bucket name containing the object whose retention settings you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key name for the object whose retention settings you want to retrieve.

                                                                            pub key: std::option::Option, @@ -29117,7 +29121,7 @@ impl std::fmt::Debug for GetObjectRetentionInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectLockConfigurationInput { ///

                                                                            The bucket whose Object Lock configuration you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

                                                                            pub expected_bucket_owner: std::option::Option, @@ -29135,7 +29139,7 @@ impl std::fmt::Debug for GetObjectLockConfigurationInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectLegalHoldInput { ///

                                                                            The bucket name containing the object whose Legal Hold status you want to retrieve.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key name for the object whose Legal Hold status you want to retrieve.

                                                                            pub key: std::option::Option, @@ -29165,7 +29169,7 @@ impl std::fmt::Debug for GetObjectLegalHoldInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectAclInput { ///

                                                                            The bucket name that contains the object for which to get the ACL information.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key of the object for which to get the ACL information.

                                                                            pub key: std::option::Option, @@ -29195,8 +29199,8 @@ impl std::fmt::Debug for GetObjectAclInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetObjectInput { ///

                                                                            The bucket name containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Return the object only if its entity tag (ETag) is the same as the one specified, /// otherwise return a 412 (precondition failed).

                                                                            @@ -29660,8 +29664,8 @@ impl std::fmt::Debug for DeletePublicAccessBlockInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteObjectTaggingInput { ///

                                                                            The bucket name containing the objects from which to remove the tags.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The key that identifies the object in the bucket from which to remove all tags.

                                                                            pub key: std::option::Option, @@ -29685,8 +29689,8 @@ impl std::fmt::Debug for DeleteObjectTaggingInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteObjectsInput { ///

                                                                            The bucket name containing the objects to delete.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            The concatenation of the authentication device's serial number, a space, and the value /// that is displayed on your authentication device. Required to permanently delete a versioned @@ -29725,8 +29729,8 @@ impl std::fmt::Debug for DeleteObjectsInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteObjectInput { ///

                                                                            The bucket name of the bucket containing the object.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Key name of the object to delete.

                                                                            pub key: std::option::Option, @@ -30002,8 +30006,8 @@ pub struct CreateMultipartUploadInput { ///

                                                                            This action is not supported by Amazon S3 on Outposts.

                                                                            pub acl: std::option::Option, ///

                                                                            The name of the bucket to which to initiate the upload

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Specifies caching behavior along the request/reply chain.

                                                                            pub cache_control: std::option::Option, @@ -30064,13 +30068,13 @@ pub struct CreateMultipartUploadInput { /// this header for a message integrity check to ensure that the encryption key was transmitted /// without error.

                                                                            pub sse_customer_key_md5: std::option::Option, - ///

                                                                            Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object - /// encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not + ///

                                                                            Specifies the ID of the symmetric customer managed Amazon Web Services KMS CMK to use for object + /// encryption. All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not /// made via SSL or using SigV4. For information about configuring using any of the officially - /// supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication + /// supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication /// in the Amazon S3 User Guide.

                                                                            pub ssekms_key_id: std::option::Option, - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub ssekms_encryption_context: std::option::Option, @@ -30191,8 +30195,8 @@ pub struct CopyObjectInput { ///

                                                                            This action is not supported by Amazon S3 on Outposts.

                                                                            pub acl: std::option::Option, ///

                                                                            The name of the destination bucket.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Specifies caching behavior along the request/reply chain.

                                                                            pub cache_control: std::option::Option, @@ -30220,7 +30224,7 @@ pub struct CopyObjectInput { ///
                                                                          • ///

                                                                            For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

                                                                            /// - ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

                                                                            + ///

                                                                            Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.

                                                                            ///
                                                                            ///

                                                                            Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

                                                                            ///
                                                                          • @@ -30292,13 +30296,13 @@ pub struct CopyObjectInput { /// this header for a message integrity check to ensure that the encryption key was transmitted /// without error.

                                                                            pub sse_customer_key_md5: std::option::Option, - ///

                                                                            Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for - /// an object protected by AWS KMS will fail if not made via SSL or using SigV4. For - /// information about configuring using any of the officially supported AWS SDKs and AWS CLI, + ///

                                                                            Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests for + /// an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For + /// information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, /// see Specifying the /// Signature Version in Request Authentication in the Amazon S3 User Guide.

                                                                            pub ssekms_key_id: std::option::Option, - ///

                                                                            Specifies the AWS KMS Encryption Context to use for object encryption. The value of this + ///

                                                                            Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this /// header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value /// pairs.

                                                                            pub ssekms_encryption_context: std::option::Option, @@ -30414,6 +30418,8 @@ impl std::fmt::Debug for CopyObjectInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CompleteMultipartUploadInput { ///

                                                                            Name of the bucket to which the multipart upload was initiated.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Object key for which the multipart upload was initiated.

                                                                            pub key: std::option::Option, @@ -30446,8 +30452,8 @@ impl std::fmt::Debug for CompleteMultipartUploadInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AbortMultipartUploadInput { ///

                                                                            The bucket name to which the upload was taking place.

                                                                            - ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            - ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                            + ///

                                                                            When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                            pub bucket: std::option::Option, ///

                                                                            Key of the object for which the multipart upload was initiated.

                                                                            pub key: std::option::Option, diff --git a/sdk/s3/src/model.rs b/sdk/s3/src/model.rs index feaba94b34bf..43c34bcda6a3 100644 --- a/sdk/s3/src/model.rs +++ b/sdk/s3/src/model.rs @@ -1108,7 +1108,7 @@ pub struct Grantee { pub display_name: std::option::Option, ///

                                                                            Email address of the grantee.

                                                                            /// - ///

                                                                            Using email addresses to specify a grantee is only supported in the following AWS Regions:

                                                                            + ///

                                                                            Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                                                            ///
                                                                              ///
                                                                            • ///

                                                                              US East (N. Virginia)

                                                                              @@ -1135,7 +1135,7 @@ pub struct Grantee { ///

                                                                              South America (São Paulo)

                                                                              ///
                                                                            • ///
                                                                            - ///

                                                                            For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                                                                            + ///

                                                                            For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                                                            ///
                                                                            pub email_address: std::option::Option, ///

                                                                            The canonical user ID of the grantee.

                                                                            @@ -1180,7 +1180,7 @@ pub mod grantee { } ///

                                                                            Email address of the grantee.

                                                                            /// - ///

                                                                            Using email addresses to specify a grantee is only supported in the following AWS Regions:

                                                                            + ///

                                                                            Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                                                            ///
                                                                              ///
                                                                            • ///

                                                                              US East (N. Virginia)

                                                                              @@ -1207,7 +1207,7 @@ pub mod grantee { ///

                                                                              South America (São Paulo)

                                                                              ///
                                                                            • ///
                                                                            - ///

                                                                            For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                                                                            + ///

                                                                            For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                                                            ///
                                                                            pub fn email_address(mut self, input: impl Into) -> Self { self.email_address = Some(input.into()); @@ -1400,9 +1400,9 @@ pub struct Encryption { /// AES256, aws:kms).

                                                                            pub encryption_type: std::option::Option, ///

                                                                            If the encryption type is aws:kms, this optional value specifies the ID of - /// the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only + /// the symmetric customer managed Amazon Web Services KMS CMK to use for encryption of job results. Amazon S3 only /// supports symmetric CMKs. For more information, see Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            pub kms_key_id: std::option::Option, ///

                                                                            If the encryption type is aws:kms, this optional value can be used to /// specify the encryption context for the restore results.

                                                                            @@ -1442,9 +1442,9 @@ pub mod encryption { self } ///

                                                                            If the encryption type is aws:kms, this optional value specifies the ID of - /// the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only + /// the symmetric customer managed Amazon Web Services KMS CMK to use for encryption of job results. Amazon S3 only /// supports symmetric CMKs. For more information, see Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            pub fn kms_key_id(mut self, input: impl Into) -> Self { self.kms_key_id = Some(input.into()); self @@ -2664,7 +2664,7 @@ pub struct PublicAccessBlockConfiguration { ///

                                                                            Enabling this setting doesn't affect existing bucket policies.

                                                                            pub block_public_policy: bool, ///

                                                                            Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting - /// this element to TRUE restricts access to this bucket to only AWS service + /// this element to TRUE restricts access to this bucket to only Amazon Web Service /// principals and authorized users within this account if the bucket has a public /// policy.

                                                                            ///

                                                                            Enabling this setting doesn't affect previously stored bucket policies, except that @@ -2744,7 +2744,7 @@ pub mod public_access_block_configuration { self } ///

                                                                            Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting - /// this element to TRUE restricts access to this bucket to only AWS service + /// this element to TRUE restricts access to this bucket to only Amazon Web Service /// principals and authorized users within this account if the bucket has a public /// policy.

                                                                            ///

                                                                            Enabling this setting doesn't affect previously stored bucket policies, except that @@ -4298,7 +4298,7 @@ impl AsRef for Payer { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicationConfiguration { - ///

                                                                            The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + ///

                                                                            The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that /// Amazon S3 assumes when replicating objects. For more information, see How to Set Up /// Replication in the Amazon S3 User Guide.

                                                                            pub role: std::option::Option, @@ -4324,7 +4324,7 @@ pub mod replication_configuration { pub(crate) rules: std::option::Option>, } impl Builder { - ///

                                                                            The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that + ///

                                                                            The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that /// Amazon S3 assumes when replicating objects. For more information, see How to Set Up /// Replication in the Amazon S3 User Guide.

                                                                            pub fn role(mut self, input: impl Into) -> Self { @@ -4396,7 +4396,7 @@ pub struct ReplicationRule { ///

                                                                            A container that describes additional filters for identifying the source objects that /// you want to replicate. You can choose to enable or disable the replication of these /// objects. Currently, Amazon S3 supports only the filter that you can specify for objects created - /// with server-side encryption using a customer master key (CMK) stored in AWS Key Management + /// with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management /// Service (SSE-KMS).

                                                                            pub source_selection_criteria: std::option::Option, ///

                                                                            @@ -4525,7 +4525,7 @@ pub mod replication_rule { ///

                                                                            A container that describes additional filters for identifying the source objects that /// you want to replicate. You can choose to enable or disable the replication of these /// objects. Currently, Amazon S3 supports only the filter that you can specify for objects created - /// with server-side encryption using a customer master key (CMK) stored in AWS Key Management + /// with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management /// Service (SSE-KMS).

                                                                            pub fn source_selection_criteria( mut self, @@ -4743,7 +4743,7 @@ pub struct Destination { ///

                                                                            The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

                                                                            pub bucket: std::option::Option, ///

                                                                            Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to - /// change replica ownership to the AWS account that owns the destination bucket by specifying + /// change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying /// the AccessControlTranslation property, this is the account ID of the /// destination bucket owner. For more information, see Replication Additional /// Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

                                                                            @@ -4755,9 +4755,9 @@ pub struct Destination { /// replication action in the Amazon S3 API Reference.

                                                                            pub storage_class: std::option::Option, ///

                                                                            Specify this only in a cross-account scenario (where source and destination bucket - /// owners are not the same), and you want to change replica ownership to the AWS account that + /// owners are not the same), and you want to change replica ownership to the Amazon Web Services account that /// owns the destination bucket. If this is not specified in the replication configuration, the - /// replicas are owned by same AWS account that owns the source object.

                                                                            + /// replicas are owned by same Amazon Web Services account that owns the source object.

                                                                            pub access_control_translation: std::option::Option, ///

                                                                            A container that provides information about encryption. If /// SourceSelectionCriteria is specified, you must specify this element.

                                                                            @@ -4813,7 +4813,7 @@ pub mod destination { self } ///

                                                                            Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to - /// change replica ownership to the AWS account that owns the destination bucket by specifying + /// change replica ownership to the Amazon Web Services account that owns the destination bucket by specifying /// the AccessControlTranslation property, this is the account ID of the /// destination bucket owner. For more information, see Replication Additional /// Configuration: Changing the Replica Owner in the Amazon S3 User Guide.

                                                                            @@ -4842,9 +4842,9 @@ pub mod destination { self } ///

                                                                            Specify this only in a cross-account scenario (where source and destination bucket - /// owners are not the same), and you want to change replica ownership to the AWS account that + /// owners are not the same), and you want to change replica ownership to the Amazon Web Services account that /// owns the destination bucket. If this is not specified in the replication configuration, the - /// replicas are owned by same AWS account that owns the source object.

                                                                            + /// replicas are owned by same Amazon Web Services account that owns the source object.

                                                                            pub fn access_control_translation( mut self, input: crate::model::AccessControlTranslation, @@ -4996,7 +4996,7 @@ impl Metrics { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicationTimeValue { ///

                                                                            Contains an integer specifying time in minutes.

                                                                            - ///

                                                                            Valid values: 15 minutes.

                                                                            + ///

                                                                            Valid value: 15

                                                                            pub minutes: i32, } impl std::fmt::Debug for ReplicationTimeValue { @@ -5016,7 +5016,7 @@ pub mod replication_time_value { } impl Builder { ///

                                                                            Contains an integer specifying time in minutes.

                                                                            - ///

                                                                            Valid values: 15 minutes.

                                                                            + ///

                                                                            Valid value: 15

                                                                            pub fn minutes(mut self, input: i32) -> Self { self.minutes = Some(input); self @@ -5216,11 +5216,11 @@ impl AsRef for ReplicationTimeStatus { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct EncryptionConfiguration { - ///

                                                                            Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key - /// stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses + ///

                                                                            Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key + /// stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses /// this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys. /// For more information, see Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            pub replica_kms_key_id: std::option::Option, } impl std::fmt::Debug for EncryptionConfiguration { @@ -5239,11 +5239,11 @@ pub mod encryption_configuration { pub(crate) replica_kms_key_id: std::option::Option, } impl Builder { - ///

                                                                            Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key - /// stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses + ///

                                                                            Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web Services KMS key + /// stored in Amazon Web Services Key Management Service (KMS) for the destination bucket. Amazon S3 uses /// this key to encrypt replica objects. Amazon S3 only supports symmetric, customer managed KMS keys. /// For more information, see Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            pub fn replica_kms_key_id(mut self, input: impl Into) -> Self { self.replica_kms_key_id = Some(input.into()); self @@ -5472,12 +5472,12 @@ impl AsRef for ExistingObjectReplicationStatus { ///

                                                                            A container that describes additional filters for identifying the source objects that /// you want to replicate. You can choose to enable or disable the replication of these /// objects. Currently, Amazon S3 supports only the filter that you can specify for objects created -/// with server-side encryption using a customer master key (CMK) stored in AWS Key Management +/// with server-side encryption using a customer master key (CMK) stored in Amazon Web Services Key Management /// Service (SSE-KMS).

                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SourceSelectionCriteria { - ///

                                                                            A container for filter information for the selection of Amazon S3 objects encrypted with AWS + ///

                                                                            A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services /// KMS. If you include SourceSelectionCriteria in the replication configuration, /// this element is required.

                                                                            pub sse_kms_encrypted_objects: std::option::Option, @@ -5511,7 +5511,7 @@ pub mod source_selection_criteria { pub(crate) replica_modifications: std::option::Option, } impl Builder { - ///

                                                                            A container for filter information for the selection of Amazon S3 objects encrypted with AWS + ///

                                                                            A container for filter information for the selection of Amazon S3 objects encrypted with Amazon Web Services /// KMS. If you include SourceSelectionCriteria in the replication configuration, /// this element is required.

                                                                            pub fn sse_kms_encrypted_objects( @@ -5672,13 +5672,13 @@ impl AsRef for ReplicaModificationsStatus { } } -///

                                                                            A container for filter information for the selection of S3 objects encrypted with AWS +///

                                                                            A container for filter information for the selection of S3 objects encrypted with Amazon Web Services /// KMS.

                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SseKmsEncryptedObjects { ///

                                                                            Specifies whether Amazon S3 replicates objects created with server-side encryption using an - /// AWS KMS key stored in AWS Key Management Service.

                                                                            + /// Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

                                                                            pub status: std::option::Option, } impl std::fmt::Debug for SseKmsEncryptedObjects { @@ -5698,7 +5698,7 @@ pub mod sse_kms_encrypted_objects { } impl Builder { ///

                                                                            Specifies whether Amazon S3 replicates objects created with server-side encryption using an - /// AWS KMS key stored in AWS Key Management Service.

                                                                            + /// Amazon Web Services KMS key stored in Amazon Web Services Key Management Service.

                                                                            pub fn status(mut self, input: crate::model::SseKmsEncryptedObjectsStatus) -> Self { self.status = Some(input); self @@ -5855,7 +5855,7 @@ pub enum ReplicationRuleFilter { Tag(crate::model::Tag), } impl ReplicationRuleFilter { - pub fn as_and(&self) -> Result<&crate::model::ReplicationRuleAndOperator, &Self> { + pub fn as_and(&self) -> std::result::Result<&crate::model::ReplicationRuleAndOperator, &Self> { if let ReplicationRuleFilter::And(val) = &self { Ok(&val) } else { @@ -5865,7 +5865,7 @@ impl ReplicationRuleFilter { pub fn is_and(&self) -> bool { self.as_and().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let ReplicationRuleFilter::Prefix(val) = &self { Ok(&val) } else { @@ -5875,7 +5875,7 @@ impl ReplicationRuleFilter { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_tag(&self) -> Result<&crate::model::Tag, &Self> { + pub fn as_tag(&self) -> std::result::Result<&crate::model::Tag, &Self> { if let ReplicationRuleFilter::Tag(val) = &self { Ok(&val) } else { @@ -6142,7 +6142,7 @@ pub struct NotificationConfiguration { ///

                                                                            The Amazon Simple Queue Service queues to publish messages to and the events for which /// to publish messages.

                                                                            pub queue_configurations: std::option::Option>, - ///

                                                                            Describes the AWS Lambda functions to invoke and the events for which to invoke + ///

                                                                            Describes the Lambda functions to invoke and the events for which to invoke /// them.

                                                                            pub lambda_function_configurations: std::option::Option>, @@ -6238,17 +6238,17 @@ impl NotificationConfiguration { } } -///

                                                                            A container for specifying the configuration for AWS Lambda notifications.

                                                                            +///

                                                                            A container for specifying the configuration for Lambda notifications.

                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LambdaFunctionConfiguration { ///

                                                                            An optional unique identifier for configurations in a notification configuration. If you /// don't provide one, Amazon S3 will assign an ID.

                                                                            pub id: std::option::Option, - ///

                                                                            The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the + ///

                                                                            The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes when the /// specified event type occurs.

                                                                            pub lambda_function_arn: std::option::Option, - ///

                                                                            The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, + ///

                                                                            The Amazon S3 bucket event for which to invoke the Lambda function. For more information, /// see Supported /// Event Types in the Amazon S3 User Guide.

                                                                            pub events: std::option::Option>, @@ -6289,7 +6289,7 @@ pub mod lambda_function_configuration { self.id = input; self } - ///

                                                                            The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the + ///

                                                                            The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes when the /// specified event type occurs.

                                                                            pub fn lambda_function_arn(mut self, input: impl Into) -> Self { self.lambda_function_arn = Some(input.into()); @@ -6912,7 +6912,7 @@ pub enum MetricsFilter { Tag(crate::model::Tag), } impl MetricsFilter { - pub fn as_and(&self) -> Result<&crate::model::MetricsAndOperator, &Self> { + pub fn as_and(&self) -> std::result::Result<&crate::model::MetricsAndOperator, &Self> { if let MetricsFilter::And(val) = &self { Ok(&val) } else { @@ -6922,7 +6922,7 @@ impl MetricsFilter { pub fn is_and(&self) -> bool { self.as_and().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let MetricsFilter::Prefix(val) = &self { Ok(&val) } else { @@ -6932,7 +6932,7 @@ impl MetricsFilter { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_tag(&self) -> Result<&crate::model::Tag, &Self> { + pub fn as_tag(&self) -> std::result::Result<&crate::model::Tag, &Self> { if let MetricsFilter::Tag(val) = &self { Ok(&val) } else { @@ -7976,7 +7976,7 @@ pub enum LifecycleRuleFilter { Tag(crate::model::Tag), } impl LifecycleRuleFilter { - pub fn as_and(&self) -> Result<&crate::model::LifecycleRuleAndOperator, &Self> { + pub fn as_and(&self) -> std::result::Result<&crate::model::LifecycleRuleAndOperator, &Self> { if let LifecycleRuleFilter::And(val) = &self { Ok(&val) } else { @@ -7986,7 +7986,7 @@ impl LifecycleRuleFilter { pub fn is_and(&self) -> bool { self.as_and().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let LifecycleRuleFilter::Prefix(val) = &self { Ok(&val) } else { @@ -7996,7 +7996,7 @@ impl LifecycleRuleFilter { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_tag(&self) -> Result<&crate::model::Tag, &Self> { + pub fn as_tag(&self) -> std::result::Result<&crate::model::Tag, &Self> { if let LifecycleRuleFilter::Tag(val) = &self { Ok(&val) } else { @@ -8874,7 +8874,7 @@ impl InventoryEncryption { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Ssekms { - ///

                                                                            Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed + ///

                                                                            Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed /// customer master key (CMK) to use for encrypting inventory reports.

                                                                            pub key_id: std::option::Option, } @@ -8894,7 +8894,7 @@ pub mod ssekms { pub(crate) key_id: std::option::Option, } impl Builder { - ///

                                                                            Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed + ///

                                                                            Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed /// customer master key (CMK) to use for encrypting inventory reports.

                                                                            pub fn key_id(mut self, input: impl Into) -> Self { self.key_id = Some(input.into()); @@ -9584,7 +9584,7 @@ impl ServerSideEncryptionRule { pub struct ServerSideEncryptionByDefault { ///

                                                                            Server-side encryption algorithm to use for the default encryption.

                                                                            pub sse_algorithm: std::option::Option, - ///

                                                                            AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default + ///

                                                                            Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default /// encryption. This parameter is allowed if and only if SSEAlgorithm is set to /// aws:kms.

                                                                            ///

                                                                            You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you @@ -9607,7 +9607,7 @@ pub struct ServerSideEncryptionByDefault { /// ///

                                                                            Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see /// Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            /// pub kms_master_key_id: std::option::Option, } @@ -9641,7 +9641,7 @@ pub mod server_side_encryption_by_default { self.sse_algorithm = input; self } - ///

                                                                            AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default + ///

                                                                            Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default /// encryption. This parameter is allowed if and only if SSEAlgorithm is set to /// aws:kms.

                                                                            ///

                                                                            You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. However, if you @@ -9664,7 +9664,7 @@ pub mod server_side_encryption_by_default { /// ///

                                                                            Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see /// Using symmetric and - /// asymmetric keys in the AWS Key Management Service Developer Guide.

                                                                            + /// asymmetric keys in the Amazon Web Services Key Management Service Developer Guide.

                                                                            /// pub fn kms_master_key_id(mut self, input: impl Into) -> Self { self.kms_master_key_id = Some(input.into()); @@ -10366,7 +10366,7 @@ pub enum AnalyticsFilter { Tag(crate::model::Tag), } impl AnalyticsFilter { - pub fn as_and(&self) -> Result<&crate::model::AnalyticsAndOperator, &Self> { + pub fn as_and(&self) -> std::result::Result<&crate::model::AnalyticsAndOperator, &Self> { if let AnalyticsFilter::And(val) = &self { Ok(&val) } else { @@ -10376,7 +10376,7 @@ impl AnalyticsFilter { pub fn is_and(&self) -> bool { self.as_and().is_ok() } - pub fn as_prefix(&self) -> Result<&std::string::String, &Self> { + pub fn as_prefix(&self) -> std::result::Result<&std::string::String, &Self> { if let AnalyticsFilter::Prefix(val) = &self { Ok(&val) } else { @@ -10386,7 +10386,7 @@ impl AnalyticsFilter { pub fn is_prefix(&self) -> bool { self.as_prefix().is_ok() } - pub fn as_tag(&self) -> Result<&crate::model::Tag, &Self> { + pub fn as_tag(&self) -> std::result::Result<&crate::model::Tag, &Self> { if let AnalyticsFilter::Tag(val) = &self { Ok(&val) } else { @@ -10634,7 +10634,7 @@ impl AsRef for BucketAccelerateStatus { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Initiator { - ///

                                                                            If the principal is an AWS account, it provides the Canonical User ID. If the principal + ///

                                                                            If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the principal /// is an IAM User, it provides a user ARN value.

                                                                            pub id: std::option::Option, ///

                                                                            Name of the Principal.

                                                                            @@ -10658,7 +10658,7 @@ pub mod initiator { pub(crate) display_name: std::option::Option, } impl Builder { - ///

                                                                            If the principal is an AWS account, it provides the Canonical User ID. If the principal + ///

                                                                            If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the principal /// is an IAM User, it provides a user ARN value.

                                                                            pub fn id(mut self, input: impl Into) -> Self { self.id = Some(input.into()); @@ -11213,12 +11213,12 @@ pub struct Object { ///
                                                                              ///
                                                                            • ///

                                                                              Objects created by the PUT Object, POST Object, or Copy operation, or through the - /// AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are + /// Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are /// an MD5 digest of their object data.

                                                                              ///
                                                                            • ///
                                                                            • ///

                                                                              Objects created by the PUT Object, POST Object, or Copy operation, or through the - /// AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are + /// Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are /// not an MD5 digest of their object data.

                                                                              ///
                                                                            • ///
                                                                            • @@ -11289,12 +11289,12 @@ pub mod object { ///
                                                                                ///
                                                                              • ///

                                                                                Objects created by the PUT Object, POST Object, or Copy operation, or through the - /// AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are + /// Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are /// an MD5 digest of their object data.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                Objects created by the PUT Object, POST Object, or Copy operation, or through the - /// AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are + /// Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are /// not an MD5 digest of their object data.

                                                                                ///
                                                                              • ///
                                                                              • @@ -11561,7 +11561,7 @@ impl MultipartUpload { } ///

                                                                                In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally -/// unique, and the namespace is shared by all AWS accounts.

                                                                                +/// unique, and the namespace is shared by all Amazon Web Services accounts.

                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Bucket { @@ -11961,8 +11961,8 @@ pub struct Error { ///
                                                                              • ///
                                                                              • ///

                                                                                - /// Description: There is a problem with your AWS account - /// that prevents the action from completing successfully. Contact AWS Support + /// Description: There is a problem with your Amazon Web Services account + /// that prevents the action from completing successfully. Contact Amazon Web Services Support /// for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • @@ -11984,7 +11984,7 @@ pub struct Error { ///
                                                                              • ///

                                                                                /// Description: All access to this Amazon S3 resource has been - /// disabled. Contact AWS Support for further assistance.

                                                                                + /// disabled. Contact Amazon Web Services Support for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -12090,7 +12090,7 @@ pub struct Error { ///

                                                                              • ///

                                                                                /// Description: The bucket you tried to create already - /// exists, and you own it. Amazon S3 returns this error in all AWS Regions except in + /// exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in /// the North Virginia Region. For legacy compatibility, if you re-create an /// existing bucket that you already own in the North Virginia Region, Amazon S3 returns /// 200 OK and resets the bucket access control lists (ACLs).

                                                                                @@ -12345,7 +12345,7 @@ pub struct Error { ///
                                                                              • ///
                                                                              • ///

                                                                                - /// Description: The AWS access key ID you provided does + /// Description: The Amazon Web Services access key ID you provided does /// not exist in our records.

                                                                                ///
                                                                              • ///
                                                                              • @@ -12577,7 +12577,7 @@ pub struct Error { ///
                                                                              • ///

                                                                                /// Description: All access to this object has been - /// disabled. Please contact AWS Support for further assistance.

                                                                                + /// disabled. Please contact Amazon Web Services Support for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -12640,7 +12640,7 @@ pub struct Error { ///

                                                                              • ///
                                                                              • ///

                                                                                - /// Description: Please use AWS4-HMAC-SHA256.

                                                                                + /// Description: Please use AWS4-HMAC-SHA256.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -12787,7 +12787,7 @@ pub struct Error { ///

                                                                              • ///

                                                                                /// Description: Amazon S3 Transfer Acceleration is not - /// supported on this bucket. Contact AWS Support for more information.

                                                                                + /// supported on this bucket. Contact Amazon Web Services Support for more information.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -12808,7 +12808,7 @@ pub struct Error { ///

                                                                              • ///

                                                                                /// Description: Amazon S3 Transfer Acceleration cannot be - /// enabled on this bucket. Contact AWS Support for more information.

                                                                                + /// enabled on this bucket. Contact Amazon Web Services Support for more information.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -13397,7 +13397,8 @@ pub struct Error { ///

                                                                                /// Description: Your account is not signed up for the Amazon S3 /// service. You must sign up before you can use Amazon S3. You can sign up at the - /// following URL: https://aws.amazon.com/s3

                                                                                + /// following URL: Amazon S3 + ///

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -13607,7 +13608,7 @@ pub struct Error { ///

                                                                              • ///

                                                                                /// Description: The request signature we calculated does - /// not match the signature you provided. Check your AWS secret access key and + /// not match the signature you provided. Check your Amazon Web Services secret access key and /// signing method. For more information, see REST Authentication and /// SOAP Authentication /// for details.

                                                                                @@ -13872,8 +13873,8 @@ pub mod error { ///
                                                                              • ///
                                                                              • ///

                                                                                - /// Description: There is a problem with your AWS account - /// that prevents the action from completing successfully. Contact AWS Support + /// Description: There is a problem with your Amazon Web Services account + /// that prevents the action from completing successfully. Contact Amazon Web Services Support /// for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • @@ -13895,7 +13896,7 @@ pub mod error { ///
                                                                              • ///

                                                                                /// Description: All access to this Amazon S3 resource has been - /// disabled. Contact AWS Support for further assistance.

                                                                                + /// disabled. Contact Amazon Web Services Support for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -14001,7 +14002,7 @@ pub mod error { ///

                                                                              • ///

                                                                                /// Description: The bucket you tried to create already - /// exists, and you own it. Amazon S3 returns this error in all AWS Regions except in + /// exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in /// the North Virginia Region. For legacy compatibility, if you re-create an /// existing bucket that you already own in the North Virginia Region, Amazon S3 returns /// 200 OK and resets the bucket access control lists (ACLs).

                                                                                @@ -14256,7 +14257,7 @@ pub mod error { ///
                                                                              • ///
                                                                              • ///

                                                                                - /// Description: The AWS access key ID you provided does + /// Description: The Amazon Web Services access key ID you provided does /// not exist in our records.

                                                                                ///
                                                                              • ///
                                                                              • @@ -14488,7 +14489,7 @@ pub mod error { ///
                                                                              • ///

                                                                                /// Description: All access to this object has been - /// disabled. Please contact AWS Support for further assistance.

                                                                                + /// disabled. Please contact Amazon Web Services Support for further assistance.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -14551,7 +14552,7 @@ pub mod error { ///

                                                                              • ///
                                                                              • ///

                                                                                - /// Description: Please use AWS4-HMAC-SHA256.

                                                                                + /// Description: Please use AWS4-HMAC-SHA256.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -14698,7 +14699,7 @@ pub mod error { ///

                                                                              • ///

                                                                                /// Description: Amazon S3 Transfer Acceleration is not - /// supported on this bucket. Contact AWS Support for more information.

                                                                                + /// supported on this bucket. Contact Amazon Web Services Support for more information.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -14719,7 +14720,7 @@ pub mod error { ///

                                                                              • ///

                                                                                /// Description: Amazon S3 Transfer Acceleration cannot be - /// enabled on this bucket. Contact AWS Support for more information.

                                                                                + /// enabled on this bucket. Contact Amazon Web Services Support for more information.

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -15308,7 +15309,8 @@ pub mod error { ///

                                                                                /// Description: Your account is not signed up for the Amazon S3 /// service. You must sign up before you can use Amazon S3. You can sign up at the - /// following URL: https://aws.amazon.com/s3

                                                                                + /// following URL: Amazon S3 + ///

                                                                                ///
                                                                              • ///
                                                                              • ///

                                                                                @@ -15518,7 +15520,7 @@ pub mod error { ///

                                                                              • ///

                                                                                /// Description: The request signature we calculated does - /// not match the signature you provided. Check your AWS secret access key and + /// not match the signature you provided. Check your Amazon Web Services secret access key and /// signing method. For more information, see REST Authentication and /// SOAP Authentication /// for details.

                                                                                @@ -16037,9 +16039,7 @@ impl CreateBucketConfiguration { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CopyObjectResult { - ///

                                                                                Returns the ETag of the new object. The ETag reflects only changes to the contents of an - /// object, not its metadata. The source and destination ETag is identical for a successfully - /// copied non-multipart object.

                                                                                + ///

                                                                                Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata.

                                                                                pub e_tag: std::option::Option, ///

                                                                                Creation date of the object.

                                                                                pub last_modified: std::option::Option, @@ -16062,9 +16062,7 @@ pub mod copy_object_result { pub(crate) last_modified: std::option::Option, } impl Builder { - ///

                                                                                Returns the ETag of the new object. The ETag reflects only changes to the contents of an - /// object, not its metadata. The source and destination ETag is identical for a successfully - /// copied non-multipart object.

                                                                                + ///

                                                                                Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata.

                                                                                pub fn e_tag(mut self, input: impl Into) -> Self { self.e_tag = Some(input.into()); self diff --git a/sdk/s3/src/operation.rs b/sdk/s3/src/operation.rs index cf49b530d3cd..7de352b58b67 100644 --- a/sdk/s3/src/operation.rs +++ b/sdk/s3/src/operation.rs @@ -312,7 +312,7 @@ impl smithy_http::response::ParseStrictResponse for CompleteMultipartUpload { /// Server-side encryption ///

                                                                                ///

                                                                                When you perform a CopyObject operation, you can optionally use the appropriate encryption-related -/// headers to encrypt the object using server-side encryption with AWS managed encryption keys +/// headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys /// (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 /// encrypts your data as it writes it to disks in its data centers and decrypts the data when /// you access it. For more information about server-side encryption, see Using @@ -325,7 +325,7 @@ impl smithy_http::response::ParseStrictResponse for CompleteMultipartUpload { ///

                                                                                ///

                                                                                When copying an object, you can optionally use headers to grant ACL-based permissions. /// By default, all objects are private. Only the owner has full access control. When adding a -/// new object, you can grant permissions to individual AWS accounts or to predefined groups +/// new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups /// defined by Amazon S3. These permissions are then added to the ACL on the object. For more /// information, see Access Control List (ACL) Overview and Managing ACLs Using the REST /// API.

                                                                                @@ -392,7 +392,7 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { } ///

                                                                                Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a -/// valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to +/// valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to /// create buckets. By creating the bucket, you become the bucket owner.

                                                                                ///

                                                                                Not every string is an acceptable bucket name. For information about bucket naming /// restrictions, see Bucket naming rules.

                                                                                @@ -433,8 +433,7 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { ///
                                                                                  ///
                                                                                • ///

                                                                                  -/// id – if the value specified is the canonical user ID of an AWS -/// account

                                                                                  +/// id – if the value specified is the canonical user ID of an Amazon Web Services account

                                                                                  ///
                                                                                • ///
                                                                                • ///

                                                                                  @@ -444,9 +443,9 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { ///

                                                                                • ///

                                                                                  /// emailAddress – if the value specified is the email address of -/// an AWS account

                                                                                  +/// an Amazon Web Services account

                                                                                  /// -///

                                                                                  Using email addresses to specify a grantee is only supported in the following AWS Regions:

                                                                                  +///

                                                                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                                                                  ///
                                                                                    ///
                                                                                  • ///

                                                                                    US East (N. Virginia)

                                                                                    @@ -473,11 +472,11 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { ///

                                                                                    South America (São Paulo)

                                                                                    ///
                                                                                  • ///
                                                                                  -///

                                                                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                                                                                  +///

                                                                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                                                                  ///
                                                                                  ///
                                                                                • ///
                                                                                -///

                                                                                For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                                                                                +///

                                                                                For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                                                                                ///

                                                                                /// x-amz-grant-read: id="11112222333", id="444455556666" ///

                                                                                @@ -487,6 +486,15 @@ impl smithy_http::response::ParseStrictResponse for CopyObject { ///

                                                                                You can use either a canned ACL or specify access permissions explicitly. You cannot /// do both.

                                                                                /// +///

                                                                                +/// Permissions +///

                                                                                +///

                                                                                If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, +/// authenticated-read, or if you specify access permissions explicitly through any other ACL, both +/// s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the +/// CreateBucket request is private, only s3:CreateBucket permission is needed.

                                                                                +///

                                                                                If ObjectLockEnabledForBucket is set to true in your CreateBucket request, +/// s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                                                                                ///

                                                                                The following operations are related to CreateBucket:

                                                                                /// -///

                                                                                For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

                                                                                +///

                                                                                For example, the following x-amz-grant-read header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:

                                                                                ///

                                                                                /// x-amz-grant-read: id="11112222333", id="444455556666" ///

                                                                                @@ -1290,7 +1297,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketOwnershipControl ///

                                                                                This implementation of the DELETE action uses the policy subresource to delete the /// policy of a specified bucket. If you are using an identity other than the root user of the -/// AWS account that owns the bucket, the calling identity must have the +/// Amazon Web Services account that owns the bucket, the calling identity must have the /// DeleteBucketPolicy permissions on the specified bucket and belong to the /// bucket owner's account to use this operation.

                                                                                ///

                                                                                If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 @@ -1298,7 +1305,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteBucketOwnershipControl /// identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not /// Allowed error.

                                                                                /// -///

                                                                                As a security precaution, the root user of the AWS account that owns a bucket can +///

                                                                                As a security precaution, the root user of the Amazon Web Services account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action.

                                                                                ///
                                                                                @@ -2156,7 +2163,8 @@ impl smithy_http::response::ParseStrictResponse for GetBucketLifecycleConfigurat ///

                                                                                Returns the Region the bucket resides in. You set the bucket's Region using the /// LocationConstraint request parameter in a CreateBucket /// request. For more information, see CreateBucket.

                                                                                -///

                                                                                To use this implementation of the operation, you must be the bucket owner.

                                                                                +///

                                                                                To use this implementation of the operation, you must be the bucket owner.

                                                                                +///

                                                                                To use this API against an access point, provide the alias of the access point in place of the bucket name.

                                                                                ///

                                                                                The following operations are related to GetBucketLocation:

                                                                                /// @@ -4697,13 +4713,13 @@ impl smithy_http::response::ParseStrictResponse for PutBucketCors { ///

                                                                                This action uses the encryption subresource to configure default /// encryption and Amazon S3 Bucket Key for an existing bucket.

                                                                                ///

                                                                                Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys -/// (SSE-S3) or AWS KMS customer master keys (SSE-KMS). If you specify default encryption +/// (SSE-S3) or Amazon Web Services KMS customer master keys (SSE-KMS). If you specify default encryption /// using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default /// encryption, see Amazon S3 default bucket encryption /// in the Amazon S3 User Guide. For more information about S3 Bucket Keys, /// see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

                                                                                /// -///

                                                                                This action requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature +///

                                                                                This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature /// Version 4).

                                                                                ///
                                                                                ///

                                                                                To use this operation, you must have permissions to perform the @@ -4873,7 +4889,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketIntelligentTieringC /// basis, and the results are published to a flat file. The bucket that is inventoried is /// called the source bucket, and the bucket where the inventory flat file /// is stored is called the destination bucket. The -/// destination bucket must be in the same AWS Region as the +/// destination bucket must be in the same Amazon Web Services Region as the /// source bucket.

                                                                                ///

                                                                                When you configure an inventory for a source bucket, you specify /// the destination bucket where you want the inventory to be stored, and @@ -5032,7 +5048,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketInventoryConfigurat ///

                                                                                ///

                                                                                By default, all Amazon S3 resources are private, including buckets, objects, and related /// subresources (for example, lifecycle configuration and website configuration). Only the -/// resource owner (that is, the AWS account that created it) can access the resource. The +/// resource owner (that is, the Amazon Web Services account that created it) can access the resource. The /// resource owner can optionally grant access permissions to others by writing an access /// policy. For this operation, a user must get the s3:PutLifecycleConfiguration /// permission.

                                                                                @@ -5140,7 +5156,7 @@ mod put_bucket_lifecycle_configuration_request_test { } ///

                                                                                Set the logging parameters for a bucket and to specify permissions for who can view and -/// modify the logging parameters. All logs are saved to buckets in the same AWS Region as the +/// modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the /// source bucket. To set the logging status of a bucket, you must be the bucket owner.

                                                                                ///

                                                                                The bucket owner is automatically granted FULL_CONTROL to all logs. You use the /// Grantee request element to grant access to other people. The @@ -5331,7 +5347,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketMetricsConfiguratio ///

                                                                                After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification /// Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and /// that the bucket owner has permission to publish to it by sending a test notification. In -/// the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions +/// the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions /// grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, /// see Configuring Notifications for Amazon S3 /// Events.

                                                                                @@ -5436,7 +5452,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketOwnershipControls { } ///

                                                                                Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than -/// the root user of the AWS account that owns the bucket, the calling identity must have the +/// the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the /// PutBucketPolicy permissions on the specified bucket and belong to the /// bucket owner's account in order to use this operation.

                                                                                ///

                                                                                If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 @@ -5444,12 +5460,11 @@ impl smithy_http::response::ParseStrictResponse for PutBucketOwnershipControls { /// identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not /// Allowed error.

                                                                                /// -///

                                                                                As a security precaution, the root user of the AWS account that owns a bucket can +///

                                                                                As a security precaution, the root user of the Amazon Web Services account that owns a bucket can /// always use this operation, even if the policy explicitly denies the root user the /// ability to perform this action.

                                                                                ///
                                                                                -///

                                                                                For more information about bucket policies, see Using Bucket Policies and User -/// Policies.

                                                                                +///

                                                                                For more information, see Bucket policy examples.

                                                                                ///

                                                                                The following operations are related to PutBucketPolicy:

                                                                                ///
                                                                                  ///
                                                                                • @@ -5492,10 +5507,6 @@ impl smithy_http::response::ParseStrictResponse for PutBucketPolicy { ///

                                                                                  Creates a replication configuration or replaces an existing one. For more information, /// see Replication in the Amazon S3 User Guide.

                                                                                  -/// -///

                                                                                  To perform this operation, the user or role performing the action must have the -/// iam:PassRole permission.

                                                                                  -///
                                                                                  ///

                                                                                  Specify the replication configuration in the request body. In the replication /// configuration, you provide the name of the destination bucket or buckets where you want /// Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your @@ -5515,24 +5526,34 @@ impl smithy_http::response::ParseStrictResponse for PutBucketPolicy { /// replication of delete markers differently. For more information, see Backward Compatibility.

                                                                                  /// ///

                                                                                  For information about enabling versioning on a bucket, see Using Versioning.

                                                                                  -///

                                                                                  By default, a resource owner, in this case the AWS account that created the bucket, can -/// perform this operation. The resource owner can also grant others permissions to perform the -/// operation. For more information about permissions, see Specifying Permissions in a Policy -/// and Managing Access Permissions to Your -/// Amazon S3 Resources.

                                                                                  ///

                                                                                  /// Handling Replication of Encrypted Objects ///

                                                                                  ///

                                                                                  By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side -/// encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the +/// encryption with CMKs stored in Amazon Web Services KMS. To replicate Amazon Web Services KMS-encrypted objects, add the /// following: SourceSelectionCriteria, SseKmsEncryptedObjects, /// Status, EncryptionConfiguration, and /// ReplicaKmsKeyID. For information about replication configuration, see /// Replicating Objects -/// Created with SSE Using CMKs stored in AWS KMS.

                                                                                  +/// Created with SSE Using CMKs stored in Amazon Web Services KMS.

                                                                                  ///

                                                                                  For information on PutBucketReplication errors, see List of /// replication-related error codes ///

                                                                                  +///

                                                                                  +/// Permissions +///

                                                                                  +///

                                                                                  To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration +/// permissions for the bucket. +///

                                                                                  +///

                                                                                  By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can +/// perform this operation. The resource owner can also grant others permissions to perform the +/// operation. For more information about permissions, see Specifying Permissions in a Policy +/// and Managing Access Permissions to Your +/// Amazon S3 Resources.

                                                                                  +/// +///

                                                                                  To perform this operation, the user or role performing the action must have the +/// iam:PassRole permission.

                                                                                  +///
                                                                                  ///

                                                                                  The following operations are related to PutBucketReplication:

                                                                                  ///
                                                                                    ///
                                                                                  • @@ -5619,8 +5640,8 @@ impl smithy_http::response::ParseStrictResponse for PutBucketRequestPayment { } ///

                                                                                    Sets the tags for a bucket.

                                                                                    -///

                                                                                    Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign -/// up to get your AWS account bill with tag key values included. Then, to see the cost of +///

                                                                                    Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign +/// up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of /// combined resources, organize your billing information according to resources with the same /// tag key values. For example, you can tag several resources with a specific application /// name, and then organize your billing information to see the total cost of that application @@ -5646,7 +5667,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketRequestPayment { ///

                                                                                  • ///

                                                                                    Description: The tag provided was not a valid tag. This error can occur if /// the tag did not pass input validation. For information about tag restrictions, -/// see User-Defined Tag Restrictions and AWS-Generated Cost Allocation Tag Restrictions.

                                                                                    +/// see User-Defined Tag Restrictions and Amazon Web Services-Generated Cost Allocation Tag Restrictions.

                                                                                    ///
                                                                                  • ///
                                                                                  ///
                                                                                • @@ -5953,20 +5974,32 @@ impl smithy_http::response::ParseStrictResponse for PutBucketWebsite { /// you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to /// the calculated MD5 value.

                                                                                  /// +///
                                                                                    +///
                                                                                  • +///

                                                                                    To successfully complete the PutObject request, you must have the +/// s3:PutObject in your IAM permissions.

                                                                                    +///
                                                                                  • +///
                                                                                  • +///

                                                                                    To successfully change the objects acl of your PutObject request, +/// you must have the s3:PutObjectAcl in your IAM permissions.

                                                                                    +///
                                                                                  • +///
                                                                                  • ///

                                                                                    The Content-MD5 header is required for any request to upload an object /// with a retention period configured using Amazon S3 Object Lock. For more information about /// Amazon S3 Object Lock, see Amazon S3 Object Lock Overview /// in the Amazon S3 User Guide.

                                                                                    +///
                                                                                  • +///
                                                                                  ///
                                                                                  ///

                                                                                  /// Server-side Encryption ///

                                                                                  ///

                                                                                  You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts /// your data as it writes it to disks in its data centers and decrypts the data -/// when you access it. You have the option to provide your own encryption key or use AWS +/// when you access it. You have the option to provide your own encryption key or use Amazon Web Services /// managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side /// Encryption.

                                                                                  -///

                                                                                  If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable +///

                                                                                  If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable /// an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the /// Amazon S3 User Guide.

                                                                                  ///

                                                                                  @@ -5975,7 +6008,7 @@ impl smithy_http::response::ParseStrictResponse for PutBucketWebsite { ///

                                                                                  ///

                                                                                  You can use headers to grant ACL- based permissions. By default, all objects are /// private. Only the owner has full access control. When adding a new object, you can grant -/// permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These +/// permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These /// permissions are then added to the ACL on the object. For more information, see Access Control List /// (ACL) Overview and Managing ACLs Using the REST /// API.

                                                                                  @@ -6087,7 +6120,7 @@ mod put_object_request_test { ///

                                                                                  Specify access permissions explicitly with the x-amz-grant-read, /// x-amz-grant-read-acp, x-amz-grant-write-acp, and /// x-amz-grant-full-control headers. When using these headers, you -/// specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who +/// specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who /// will receive the permission. If you use these ACL-specific headers, you cannot use /// x-amz-acl header to set a canned ACL. These parameters map to the set /// of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) @@ -6097,8 +6130,7 @@ mod put_object_request_test { ///

                                                                                  ///

                                                                                  For example, the following x-amz-grant-read header grants list -/// objects permission to the two AWS accounts identified by their email +/// objects permission to the two Amazon Web Services accounts identified by their email /// addresses.

                                                                                  ///

                                                                                  /// x-amz-grant-read: emailAddress="xyz@amazon.com", @@ -6183,7 +6215,7 @@ mod put_object_request_test { ///

                                                                                  The grantee is resolved to the CanonicalUser and, in a response to a GET Object /// acl request, appears as the CanonicalUser.

                                                                                  /// -///

                                                                                  Using email addresses to specify a grantee is only supported in the following AWS Regions:

                                                                                  +///

                                                                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                                                                  ///
                                                                                    ///
                                                                                  • ///

                                                                                    US East (N. Virginia)

                                                                                    @@ -6210,7 +6242,7 @@ mod put_object_request_test { ///

                                                                                    South America (São Paulo)

                                                                                    ///
                                                                                  • ///
                                                                                  -///

                                                                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

                                                                                  +///

                                                                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                                                                  ///
                                                                                  /// ///
                                                                                @@ -6308,7 +6340,7 @@ impl smithy_http::response::ParseStrictResponse for PutObjectLegalHold { ///
                                                                              • ///
                                                                              • ///

                                                                                You can only enable Object Lock for new buckets. If you want to turn on -/// Object Lock for an existing bucket, contact AWS Support.

                                                                                +/// Object Lock for an existing bucket, contact Amazon Web Services Support.

                                                                                ///
                                                                              • ///
                                                                              /// @@ -6340,8 +6372,17 @@ impl smithy_http::response::ParseStrictResponse for PutObjectLockConfiguration { } ///

                                                                              Places an Object Retention configuration on an object. For more information, see Locking Objects. +/// Users or accounts require the s3:PutObjectRetention permission in order to place +/// an Object Retention configuration on objects. Bypassing a Governance Retention configuration +/// requires the s3:BypassGovernanceRetention permission. ///

                                                                              ///

                                                                              This action is not supported by Amazon S3 on Outposts.

                                                                              +///

                                                                              +/// Permissions +///

                                                                              +///

                                                                              When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention and +/// s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, +/// only s3:PutObjectRetention permissions are required.

                                                                              #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct PutObjectRetention { _private: (), @@ -6583,8 +6624,8 @@ impl smithy_http::response::ParseStrictResponse for PutPublicAccessBlock { ///
                                                                                ///
                                                                              • ///

                                                                                Define an output location for the select query's output. This must be an Amazon S3 -/// bucket in the same AWS Region as the bucket that contains the archive object that is -/// being queried. The AWS account that initiates the job must have permissions to write +/// bucket in the same Amazon Web Services Region as the bucket that contains the archive object that is +/// being queried. The Amazon Web Services account that initiates the job must have permissions to write /// to the S3 bucket. You can specify the storage class and encryption for the output /// objects stored in the bucket. For more information about output, see Querying Archived Objects /// in the Amazon S3 User Guide.

                                                                                @@ -6888,9 +6929,9 @@ impl smithy_http::response::ParseStrictResponse for RestoreObject { ///

                                                                                To ensure that data is not corrupted when traversing the network, specify the /// Content-MD5 header in the upload part request. Amazon S3 checks the part data /// against the provided MD5 value. If they do not match, Amazon S3 returns an error.

                                                                                -///

                                                                                If the upload request is signed with Signature Version 4, then AWS S3 uses the +///

                                                                                If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the /// x-amz-content-sha256 header as a checksum instead of -/// Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version +/// Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version /// 4).

                                                                                ///

                                                                                /// Note: After you initiate multipart upload and upload @@ -6905,7 +6946,7 @@ impl smithy_http::response::ParseStrictResponse for RestoreObject { /// Permissions in the Amazon S3 User Guide.

                                                                                ///

                                                                                You can optionally request server-side encryption where Amazon S3 encrypts your data as it /// writes it to disks in its data centers and decrypts it for you when you access it. You have -/// the option of providing your own encryption key, or you can use the AWS managed encryption +/// the option of providing your own encryption key, or you can use the Amazon Web Services managed encryption /// keys. If you choose to provide your own encryption key, the request headers you provide in /// the request must match the headers you used in the request to initiate the upload by using /// CreateMultipartUpload. For more information, go to Using Server-Side Encryption in @@ -7217,18 +7258,21 @@ impl smithy_http::response::ParseStrictResponse for UploadPartCopy { /// RequestRoute, RequestToken, StatusCode, /// ErrorCode, and ErrorMessage. The GetObject /// response metadata is supported so that the WriteGetObjectResponse caller, -/// typically an AWS Lambda function, can provide the same metadata when it internally invokes +/// typically an Lambda function, can provide the same metadata when it internally invokes /// GetObject. When WriteGetObjectResponse is called by a /// customer-owned Lambda function, the metadata returned to the end user /// GetObject call might differ from what Amazon S3 would normally return.

                                                                                -///

                                                                                AWS provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact +///

                                                                                You can include any number of metadata headers. When including a metadata header, it should be +/// prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue. +/// The primary use case for this is to forward GetObject metadata.

                                                                                +///

                                                                                Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact /// personally identifiable information (PII) and decompress S3 objects. These Lambda functions -/// are available in the AWS Serverless Application Repository, and can be selected through the AWS Management Console when you create your +/// are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your /// Object Lambda Access Point.

                                                                                ///

                                                                                Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                                                                                ///

                                                                                Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.

                                                                                ///

                                                                                Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.

                                                                                -///

                                                                                For information on how to view and use these functions, see Using AWS built Lambda functions in the Amazon S3 User Guide.

                                                                                +///

                                                                                For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the Amazon S3 User Guide.

                                                                                #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct WriteGetObjectResponse { _private: (), diff --git a/sdk/s3/src/output.rs b/sdk/s3/src/output.rs index a2e2fba2b53b..48b5542f9d72 100644 --- a/sdk/s3/src/output.rs +++ b/sdk/s3/src/output.rs @@ -46,10 +46,10 @@ pub struct UploadPartCopyOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -150,7 +150,7 @@ pub mod upload_part_copy_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -163,7 +163,7 @@ pub mod upload_part_copy_output { self.ssekms_key_id = input; self } - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -222,10 +222,10 @@ pub struct UploadPartOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -308,7 +308,7 @@ pub mod upload_part_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -321,7 +321,7 @@ pub mod upload_part_output { self.ssekms_key_id = input; self } - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -722,7 +722,7 @@ pub struct PutObjectOutput { pub expiration: std::option::Option, ///

                                                                                Entity tag for the uploaded object.

                                                                                pub e_tag: std::option::Option, - ///

                                                                                If you specified server-side encryption either with an AWS KMS customer master key (CMK) + ///

                                                                                If you specified server-side encryption either with an Amazon Web Services KMS customer master key (CMK) /// or Amazon S3-managed encryption key in your PUT request, the response includes this header. It /// confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                                                pub server_side_encryption: std::option::Option, @@ -736,15 +736,15 @@ pub struct PutObjectOutput { /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, ///

                                                                                If x-amz-server-side-encryption is present and has the value of - /// aws:kms, this header specifies the ID of the AWS Key Management Service - /// (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the + /// aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + /// (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for the /// object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub ssekms_encryption_context: std::option::Option, - ///

                                                                                Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -807,7 +807,7 @@ pub mod put_object_output { self.e_tag = input; self } - ///

                                                                                If you specified server-side encryption either with an AWS KMS customer master key (CMK) + ///

                                                                                If you specified server-side encryption either with an Amazon Web Services KMS customer master key (CMK) /// or Amazon S3-managed encryption key in your PUT request, the response includes this header. It /// confirms the encryption algorithm that Amazon S3 used to encrypt the object.

                                                                                pub fn server_side_encryption(mut self, input: crate::model::ServerSideEncryption) -> Self { @@ -858,8 +858,8 @@ pub mod put_object_output { self } ///

                                                                                If x-amz-server-side-encryption is present and has the value of - /// aws:kms, this header specifies the ID of the AWS Key Management Service - /// (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the + /// aws:kms, this header specifies the ID of the Amazon Web Services Key Management Service + /// (Amazon Web Services KMS) symmetric customer managed customer master key (CMK) that was used for the /// object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -872,7 +872,7 @@ pub mod put_object_output { self.ssekms_key_id = input; self } - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -886,7 +886,7 @@ pub mod put_object_output { self.ssekms_encryption_context = input; self } - ///

                                                                                Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -1470,7 +1470,7 @@ pub struct ListPartsOutput { /// identifies applicable lifecycle configuration rule that defines the action to abort /// incomplete multipart uploads.

                                                                                pub abort_rule_id: std::option::Option, - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                pub bucket: std::option::Option, ///

                                                                                Object key for which the multipart upload was initiated.

                                                                                pub key: std::option::Option, @@ -1494,7 +1494,7 @@ pub struct ListPartsOutput { /// more Part elements.

                                                                                pub parts: std::option::Option>, ///

                                                                                Container element that identifies who initiated the multipart upload. If the initiator - /// is an AWS account, this element provides the same information as the Owner + /// is an Amazon Web Services account, this element provides the same information as the Owner /// element. If the initiator is an IAM User, this element provides the user ARN and display /// name.

                                                                                pub initiator: std::option::Option, @@ -1580,7 +1580,7 @@ pub mod list_parts_output { self.abort_rule_id = input; self } - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -1669,7 +1669,7 @@ pub mod list_parts_output { self } ///

                                                                                Container element that identifies who initiated the multipart upload. If the initiator - /// is an AWS account, this element provides the same information as the Owner + /// is an Amazon Web Services account, this element provides the same information as the Owner /// element. If the initiator is an IAM User, this element provides the user ARN and display /// name.

                                                                                pub fn initiator(mut self, input: crate::model::Initiator) -> Self { @@ -2032,8 +2032,8 @@ pub struct ListObjectsV2Output { ///

                                                                                Metadata about each object returned.

                                                                                pub contents: std::option::Option>, ///

                                                                                The bucket name.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub name: std::option::Option, ///

                                                                                Keys that begin with the indicated prefix.

                                                                                pub prefix: std::option::Option, @@ -2146,8 +2146,8 @@ pub mod list_objects_v2_output { self } ///

                                                                                The bucket name.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -2508,7 +2508,7 @@ impl ListObjectsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListMultipartUploadsOutput { - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                pub bucket: std::option::Option, ///

                                                                                The key at or after which the listing began.

                                                                                pub key_marker: std::option::Option, @@ -2587,7 +2587,7 @@ pub mod list_multipart_uploads_output { pub(crate) encoding_type: std::option::Option, } impl Builder { - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -3351,7 +3351,7 @@ pub struct HeadObjectOutput { /// object in the same bucket or to an external URL. Amazon S3 stores the value of this header in /// the object metadata.

                                                                                pub website_redirect_location: std::option::Option, - ///

                                                                                If the object is stored using server-side encryption either with an AWS KMS customer + ///

                                                                                If the object is stored using server-side encryption either with an Amazon Web Services KMS customer /// master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with /// the value of the server-side encryption algorithm used when storing this object in Amazon /// S3 (for example, AES256, aws:kms).

                                                                                @@ -3366,10 +3366,10 @@ pub struct HeadObjectOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                Provides storage class information of the object. Amazon S3 returns this header for all /// objects except for S3 Standard storage class objects.

                                                                                @@ -3713,7 +3713,7 @@ pub mod head_object_output { self.website_redirect_location = input; self } - ///

                                                                                If the object is stored using server-side encryption either with an AWS KMS customer + ///

                                                                                If the object is stored using server-side encryption either with an Amazon Web Services KMS customer /// master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with /// the value of the server-side encryption algorithm used when storing this object in Amazon /// S3 (for example, AES256, aws:kms).

                                                                                @@ -3774,7 +3774,7 @@ pub mod head_object_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -3787,7 +3787,7 @@ pub mod head_object_output { self.ssekms_key_id = input; self } - ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -4486,10 +4486,10 @@ pub struct GetObjectOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                Provides storage class information of the object. Amazon S3 returns this header for all /// objects except for S3 Standard storage class objects.

                                                                                @@ -4859,7 +4859,7 @@ pub mod get_object_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -4872,7 +4872,7 @@ pub mod get_object_output { self.ssekms_key_id = input; self } - ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -5509,7 +5509,7 @@ pub struct GetBucketNotificationConfigurationOutput { ///

                                                                                The Amazon Simple Queue Service queues to publish messages to and the events for which /// to publish messages.

                                                                                pub queue_configurations: std::option::Option>, - ///

                                                                                Describes the AWS Lambda functions to invoke and the events for which to invoke + ///

                                                                                Describes the Lambda functions to invoke and the events for which to invoke /// them.

                                                                                pub lambda_function_configurations: std::option::Option>, @@ -6838,9 +6838,9 @@ pub struct CreateMultipartUploadOutput { /// identifies the applicable lifecycle configuration rule that defines the action to abort /// incomplete multipart uploads.

                                                                                pub abort_rule_id: std::option::Option, - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub bucket: std::option::Option, ///

                                                                                Object key for which the multipart upload was initiated.

                                                                                pub key: std::option::Option, @@ -6856,14 +6856,14 @@ pub struct CreateMultipartUploadOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub ssekms_encryption_context: std::option::Option, - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -6939,9 +6939,9 @@ pub mod create_multipart_upload_output { self.abort_rule_id = input; self } - ///

                                                                                The name of the bucket to which the multipart upload was initiated.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -7008,7 +7008,7 @@ pub mod create_multipart_upload_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -7021,7 +7021,7 @@ pub mod create_multipart_upload_output { self.ssekms_key_id = input; self } - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -7035,7 +7035,7 @@ pub mod create_multipart_upload_output { self.ssekms_encryption_context = input; self } - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -7154,14 +7154,14 @@ pub struct CopyObjectOutput { /// response will include this header to provide round-trip message integrity verification of /// the customer-provided encryption key.

                                                                                pub sse_customer_key_md5: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub ssekms_encryption_context: std::option::Option, - ///

                                                                                Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -7288,7 +7288,7 @@ pub mod copy_object_output { self.sse_customer_key_md5 = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -7301,7 +7301,7 @@ pub mod copy_object_output { self.ssekms_key_id = input; self } - ///

                                                                                If present, specifies the AWS KMS Encryption Context to use for object encryption. The + ///

                                                                                If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The /// value of this header is a base64-encoded UTF-8 string holding JSON with the encryption /// context key-value pairs.

                                                                                pub fn ssekms_encryption_context(mut self, input: impl Into) -> Self { @@ -7315,7 +7315,7 @@ pub mod copy_object_output { self.ssekms_encryption_context = input; self } - ///

                                                                                Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self @@ -7367,9 +7367,9 @@ impl CopyObjectOutput { pub struct CompleteMultipartUploadOutput { ///

                                                                                The URI that identifies the newly created object.

                                                                                pub location: std::option::Option, - ///

                                                                                The name of the bucket that contains the newly created object.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub bucket: std::option::Option, ///

                                                                                The object key of the newly created object.

                                                                                pub key: std::option::Option, @@ -7383,17 +7383,17 @@ pub struct CompleteMultipartUploadOutput { /// will consist of less than 32 or more than 32 hexadecimal digits.

                                                                                pub e_tag: std::option::Option, ///

                                                                                If you specified server-side encryption either with an Amazon S3-managed encryption key or an - /// AWS KMS customer master key (CMK) in your initiate multipart upload request, the response + /// Amazon Web Services KMS customer master key (CMK) in your initiate multipart upload request, the response /// includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the /// object.

                                                                                pub server_side_encryption: std::option::Option, ///

                                                                                Version ID of the newly created object, in case the bucket has versioning turned /// on.

                                                                                pub version_id: std::option::Option, - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub ssekms_key_id: std::option::Option, - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub bucket_key_enabled: bool, ///

                                                                                If present, indicates that the requester was successfully charged for the /// request.

                                                                                @@ -7442,9 +7442,9 @@ pub mod complete_multipart_upload_output { self.location = input; self } - ///

                                                                                The name of the bucket that contains the newly created object.

                                                                                - ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                - ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                + ///

                                                                                The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.

                                                                                + ///

                                                                                When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

                                                                                + ///

                                                                                When using this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this action using S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon S3 User Guide.

                                                                                pub fn bucket(mut self, input: impl Into) -> Self { self.bucket = Some(input.into()); self @@ -7486,7 +7486,7 @@ pub mod complete_multipart_upload_output { self } ///

                                                                                If you specified server-side encryption either with an Amazon S3-managed encryption key or an - /// AWS KMS customer master key (CMK) in your initiate multipart upload request, the response + /// Amazon Web Services KMS customer master key (CMK) in your initiate multipart upload request, the response /// includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the /// object.

                                                                                pub fn server_side_encryption(mut self, input: crate::model::ServerSideEncryption) -> Self { @@ -7510,7 +7510,7 @@ pub mod complete_multipart_upload_output { self.version_id = input; self } - ///

                                                                                If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric + ///

                                                                                If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric /// customer managed customer master key (CMK) that was used for the object.

                                                                                pub fn ssekms_key_id(mut self, input: impl Into) -> Self { self.ssekms_key_id = Some(input.into()); @@ -7523,7 +7523,7 @@ pub mod complete_multipart_upload_output { self.ssekms_key_id = input; self } - ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

                                                                                + ///

                                                                                Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

                                                                                pub fn bucket_key_enabled(mut self, input: bool) -> Self { self.bucket_key_enabled = Some(input); self diff --git a/sdk/s3control/Cargo.toml b/sdk/s3control/Cargo.toml index 7510f1681be2..00385f64776f 100644 --- a/sdk/s3control/Cargo.toml +++ b/sdk/s3control/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-s3control" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                \n Amazon Web Services S3 Control provides access to Amazon S3 control plane actions.\n \n

                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/s3control/src/model.rs b/sdk/s3control/src/model.rs index 7ec6fd69c58b..1222e9caa4f1 100644 --- a/sdk/s3control/src/model.rs +++ b/sdk/s3control/src/model.rs @@ -2728,7 +2728,9 @@ pub enum ObjectLambdaContentTransformation { } impl ObjectLambdaContentTransformation { #[allow(irrefutable_let_patterns)] - pub fn as_aws_lambda(&self) -> Result<&crate::model::AwsLambdaTransformation, &Self> { + pub fn as_aws_lambda( + &self, + ) -> std::result::Result<&crate::model::AwsLambdaTransformation, &Self> { if let ObjectLambdaContentTransformation::AwsLambda(val) = &self { Ok(&val) } else { diff --git a/sdk/s3outposts/Cargo.toml b/sdk/s3outposts/Cargo.toml index ba541f5a6806..2de7b7d088e3 100644 --- a/sdk/s3outposts/Cargo.toml +++ b/sdk/s3outposts/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-s3outposts" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                Amazon S3 on Outposts provides access to S3 on Outposts operations.

                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemaker/Cargo.toml b/sdk/sagemaker/Cargo.toml index 1ebc04bd1495..90946f63a15a 100644 --- a/sdk/sagemaker/Cargo.toml +++ b/sdk/sagemaker/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemaker" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                Provides APIs for creating and managing Amazon SageMaker resources.

                                                                                \n

                                                                                Other Resources:

                                                                                \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemaker/src/client.rs b/sdk/sagemaker/src/client.rs index 0f04e713f77f..80626c24bf3a 100644 --- a/sdk/sagemaker/src/client.rs +++ b/sdk/sagemaker/src/client.rs @@ -1647,8 +1647,8 @@ pub mod fluent_builders { self.inner = self.inner.set_input_data_config(input); self } - ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store - /// artifacts from an AutoML job. Format(s) supported: CSV.

                                                                                + ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store artifacts + /// from an AutoML job. Format(s) supported: CSV.

                                                                                pub fn output_data_config(mut self, input: crate::model::AutoMlOutputDataConfig) -> Self { self.inner = self.inner.output_data_config(input); self @@ -1675,8 +1675,8 @@ pub mod fluent_builders { self.inner = self.inner.set_problem_type(input); self } - ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. - /// You provide an AutoMLJobObjective$MetricName and Autopilot infers whether to + ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. You + /// provide an AutoMLJobObjective$MetricName and Autopilot infers whether to /// minimize or maximize it.

                                                                                pub fn auto_ml_job_objective(mut self, input: crate::model::AutoMlJobObjective) -> Self { self.inner = self.inner.auto_ml_job_objective(input); @@ -2816,6 +2816,22 @@ pub mod fluent_builders { self.inner = self.inner.set_kms_key_id(input); self } + ///

                                                                                Specifies configuration for how an endpoint performs asynchronous inference. + /// This is a required field in order for your Endpoint to be invoked using + /// + /// InvokeEndpointAsync + /// .

                                                                                + pub fn async_inference_config(mut self, input: crate::model::AsyncInferenceConfig) -> Self { + self.inner = self.inner.async_inference_config(input); + self + } + pub fn set_async_inference_config( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_async_inference_config(input); + self + } } #[derive(std::fmt::Debug)] pub struct CreateExperiment { @@ -3771,6 +3787,13 @@ pub mod fluent_builders { ///

                                                                                For 3D point cloud and video frame task types, you can add label category attributes /// and frame attributes to your label category configuration file. To learn how, see Create a /// Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                                                + ///

                                                                                For named entity recognition jobs, in addition to "labels", you must + /// provide worker instructions in the label category configuration file using the + /// "instructions" parameter: "instructions": + /// {"shortInstruction":"

                                                                                Add header

                                                                                Add Instructions

                                                                                ", + /// "fullInstruction":"

                                                                                Add additional instructions.

                                                                                "}
                                                                                . For details + /// and an example, see Create a + /// Named Entity Recognition Labeling Job (API) .

                                                                                ///

                                                                                For all other built-in task types and custom /// tasks, your label category configuration file must be a JSON file in the /// following format. Identify the labels you want to use by replacing label_1, @@ -5114,6 +5137,18 @@ pub mod fluent_builders { self.inner = self.inner.set_root_access(input); self } + ///

                                                                                The platform identifier of the notebook instance runtime environment.

                                                                                + pub fn platform_identifier(mut self, input: impl Into) -> Self { + self.inner = self.inner.platform_identifier(input); + self + } + pub fn set_platform_identifier( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_platform_identifier(input); + self + } } #[derive(std::fmt::Debug)] pub struct CreateNotebookInstanceLifecycleConfig { diff --git a/sdk/sagemaker/src/input.rs b/sdk/sagemaker/src/input.rs index 8512b7072504..6fde5f18b608 100644 --- a/sdk/sagemaker/src/input.rs +++ b/sdk/sagemaker/src/input.rs @@ -1644,8 +1644,8 @@ pub mod create_auto_ml_job_input { self.input_data_config = input; self } - ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store - /// artifacts from an AutoML job. Format(s) supported: CSV.

                                                                                + ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store artifacts + /// from an AutoML job. Format(s) supported: CSV.

                                                                                pub fn output_data_config(mut self, input: crate::model::AutoMlOutputDataConfig) -> Self { self.output_data_config = Some(input); self @@ -1672,8 +1672,8 @@ pub mod create_auto_ml_job_input { self.problem_type = input; self } - ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. - /// You provide an AutoMLJobObjective$MetricName and Autopilot infers whether to + ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. You + /// provide an AutoMLJobObjective$MetricName and Autopilot infers whether to /// minimize or maximize it.

                                                                                pub fn auto_ml_job_objective(mut self, input: crate::model::AutoMlJobObjective) -> Self { self.auto_ml_job_objective = Some(input); @@ -3692,6 +3692,7 @@ pub mod create_endpoint_config_input { pub(crate) data_capture_config: std::option::Option, pub(crate) tags: std::option::Option>, pub(crate) kms_key_id: std::option::Option, + pub(crate) async_inference_config: std::option::Option, } impl Builder { ///

                                                                                The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

                                                                                @@ -3796,6 +3797,22 @@ pub mod create_endpoint_config_input { self.kms_key_id = input; self } + ///

                                                                                Specifies configuration for how an endpoint performs asynchronous inference. + /// This is a required field in order for your Endpoint to be invoked using + /// + /// InvokeEndpointAsync + /// .

                                                                                + pub fn async_inference_config(mut self, input: crate::model::AsyncInferenceConfig) -> Self { + self.async_inference_config = Some(input); + self + } + pub fn set_async_inference_config( + mut self, + input: std::option::Option, + ) -> Self { + self.async_inference_config = input; + self + } /// Consumes the builder and constructs a [`CreateEndpointConfigInput`](crate::input::CreateEndpointConfigInput) pub fn build( self, @@ -3809,6 +3826,7 @@ pub mod create_endpoint_config_input { data_capture_config: self.data_capture_config, tags: self.tags, kms_key_id: self.kms_key_id, + async_inference_config: self.async_inference_config, }) } } @@ -5611,6 +5629,13 @@ pub mod create_labeling_job_input { ///

                                                                                For 3D point cloud and video frame task types, you can add label category attributes /// and frame attributes to your label category configuration file. To learn how, see Create a /// Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                                                + ///

                                                                                For named entity recognition jobs, in addition to "labels", you must + /// provide worker instructions in the label category configuration file using the + /// "instructions" parameter: "instructions": + /// {"shortInstruction":"

                                                                                Add header

                                                                                Add Instructions

                                                                                ", + /// "fullInstruction":"

                                                                                Add additional instructions.

                                                                                "}
                                                                                . For details + /// and an example, see Create a + /// Named Entity Recognition Labeling Job (API) .

                                                                                ///

                                                                                For all other built-in task types and custom /// tasks, your label category configuration file must be a JSON file in the /// following format. Identify the labels you want to use by replacing label_1, @@ -7678,6 +7703,7 @@ pub mod create_notebook_instance_input { pub(crate) additional_code_repositories: std::option::Option>, pub(crate) root_access: std::option::Option, + pub(crate) platform_identifier: std::option::Option, } impl Builder { ///

                                                                                The name of the new notebook instance.

                                                                                @@ -7881,6 +7907,18 @@ pub mod create_notebook_instance_input { self.root_access = input; self } + ///

                                                                                The platform identifier of the notebook instance runtime environment.

                                                                                + pub fn platform_identifier(mut self, input: impl Into) -> Self { + self.platform_identifier = Some(input.into()); + self + } + pub fn set_platform_identifier( + mut self, + input: std::option::Option, + ) -> Self { + self.platform_identifier = input; + self + } /// Consumes the builder and constructs a [`CreateNotebookInstanceInput`](crate::input::CreateNotebookInstanceInput) pub fn build( self, @@ -7903,6 +7941,7 @@ pub mod create_notebook_instance_input { default_code_repository: self.default_code_repository, additional_code_repositories: self.additional_code_repositories, root_access: self.root_access, + platform_identifier: self.platform_identifier, }) } } @@ -49968,6 +50007,8 @@ pub struct CreateNotebookInstanceInput { /// users.

                                                                                /// pub root_access: std::option::Option, + ///

                                                                                The platform identifier of the notebook instance runtime environment.

                                                                                + pub platform_identifier: std::option::Option, } impl std::fmt::Debug for CreateNotebookInstanceInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -49989,6 +50030,7 @@ impl std::fmt::Debug for CreateNotebookInstanceInput { &self.additional_code_repositories, ); formatter.field("root_access", &self.root_access); + formatter.field("platform_identifier", &self.platform_identifier); formatter.finish() } } @@ -50447,6 +50489,13 @@ pub struct CreateLabelingJobInput { ///

                                                                                For 3D point cloud and video frame task types, you can add label category attributes /// and frame attributes to your label category configuration file. To learn how, see Create a /// Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                                                + ///

                                                                                For named entity recognition jobs, in addition to "labels", you must + /// provide worker instructions in the label category configuration file using the + /// "instructions" parameter: "instructions": + /// {"shortInstruction":"

                                                                                Add header

                                                                                Add Instructions

                                                                                ", + /// "fullInstruction":"

                                                                                Add additional instructions.

                                                                                "}
                                                                                . For details + /// and an example, see Create a + /// Named Entity Recognition Labeling Job (API) .

                                                                                ///

                                                                                For all other built-in task types and custom /// tasks, your label category configuration file must be a JSON file in the /// following format. Identify the labels you want to use by replacing label_1, @@ -50902,6 +50951,12 @@ pub struct CreateEndpointConfigInput { /// Instance Store Volumes.

                                                                                /// pub kms_key_id: std::option::Option, + ///

                                                                                Specifies configuration for how an endpoint performs asynchronous inference. + /// This is a required field in order for your Endpoint to be invoked using + /// + /// InvokeEndpointAsync + /// .

                                                                                + pub async_inference_config: std::option::Option, } impl std::fmt::Debug for CreateEndpointConfigInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -50911,6 +50966,7 @@ impl std::fmt::Debug for CreateEndpointConfigInput { formatter.field("data_capture_config", &self.data_capture_config); formatter.field("tags", &self.tags); formatter.field("kms_key_id", &self.kms_key_id); + formatter.field("async_inference_config", &self.async_inference_config); formatter.finish() } } @@ -51254,16 +51310,16 @@ pub struct CreateAutoMlJobInput { /// is a named input source. Similar to InputDataConfig supported by . Format(s) supported: CSV. Minimum /// of 500 rows.

                                                                                pub input_data_config: std::option::Option>, - ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store - /// artifacts from an AutoML job. Format(s) supported: CSV.

                                                                                + ///

                                                                                Provides information about encryption and the Amazon S3 output path needed to store artifacts + /// from an AutoML job. Format(s) supported: CSV.

                                                                                pub output_data_config: std::option::Option, ///

                                                                                Defines the type of supervised learning available for the candidates. Options include: /// BinaryClassification, MulticlassClassification, and /// Regression. For more information, see /// Amazon SageMaker Autopilot problem types and algorithm support.

                                                                                pub problem_type: std::option::Option, - ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. - /// You provide an AutoMLJobObjective$MetricName and Autopilot infers whether to + ///

                                                                                Defines the objective metric used to measure the predictive quality of an AutoML job. You + /// provide an AutoMLJobObjective$MetricName and Autopilot infers whether to /// minimize or maximize it.

                                                                                pub auto_ml_job_objective: std::option::Option, ///

                                                                                Contains CompletionCriteria and SecurityConfig settings for diff --git a/sdk/sagemaker/src/json_deser.rs b/sdk/sagemaker/src/json_deser.rs index 1355ce5f244e..a440e1fa1c6e 100644 --- a/sdk/sagemaker/src/json_deser.rs +++ b/sdk/sagemaker/src/json_deser.rs @@ -3979,6 +3979,11 @@ pub fn deser_operation_describe_endpoint( crate::json_deser::deser_structure_deployment_config(tokens)?, ); } + "AsyncInferenceConfig" => { + builder = builder.set_async_inference_config( + crate::json_deser::deser_structure_async_inference_config(tokens)?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -4051,6 +4056,11 @@ pub fn deser_operation_describe_endpoint_config( )?, ); } + "AsyncInferenceConfig" => { + builder = builder.set_async_inference_config( + crate::json_deser::deser_structure_async_inference_config(tokens)?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -5866,6 +5876,13 @@ pub fn deser_operation_describe_notebook_instance( .transpose()?, ); } + "PlatformIdentifier" => { + builder = builder.set_platform_identifier( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -13704,6 +13721,52 @@ where } } +pub fn deser_structure_async_inference_config<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AsyncInferenceConfig::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ClientConfig" => { + builder = builder.set_client_config( + crate::json_deser::deser_structure_async_inference_client_config(tokens)? + ); + } + "OutputConfig" => { + builder = builder.set_output_config( + crate::json_deser::deser_structure_async_inference_output_config(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_production_variant_list<'a, I>( tokens: &mut std::iter::Peekable, @@ -22220,6 +22283,11 @@ where crate::json_deser::deser_structure_candidate_artifact_locations(tokens)? ); } + "CandidateMetrics" => { + builder = builder.set_candidate_metrics( + crate::json_deser::deser_list_metric_data_list(tokens)?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -23291,6 +23359,109 @@ where } } +pub fn deser_structure_async_inference_client_config<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AsyncInferenceClientConfig::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "MaxConcurrentInvocationsPerInstance" => { + builder = builder.set_max_concurrent_invocations_per_instance( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_async_inference_output_config<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AsyncInferenceOutputConfig::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "KmsKeyId" => { + builder = builder.set_kms_key_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "S3OutputPath" => { + builder = builder.set_s3_output_path( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "NotificationConfig" => { + builder = builder.set_notification_config( + crate::json_deser::deser_structure_async_inference_notification_config(tokens)? + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_production_variant<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -31864,6 +32035,41 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_metric_data_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_metric_datum(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + pub fn deser_structure_monitoring_output<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -32074,6 +32280,60 @@ where } } +pub fn deser_structure_async_inference_notification_config<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AsyncInferenceNotificationConfig::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "SuccessTopic" => { + builder = builder.set_success_topic( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ErrorTopic" => { + builder = builder.set_error_topic( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_production_variant_core_dump_config<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -35774,6 +36034,76 @@ where } } +pub fn deser_structure_metric_datum<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::MetricDatum::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "MetricName" => { + builder = builder.set_metric_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::AutoMlMetricEnum::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Value" => { + builder = builder.set_value( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_f32()), + ); + } + "Set" => { + builder = builder.set_set( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::MetricSetSource::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_monitoring_s3_output<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> diff --git a/sdk/sagemaker/src/json_ser.rs b/sdk/sagemaker/src/json_ser.rs index 588e040c9c2a..d1519228299a 100644 --- a/sdk/sagemaker/src/json_ser.rs +++ b/sdk/sagemaker/src/json_ser.rs @@ -658,31 +658,36 @@ pub fn serialize_structure_create_endpoint_config_input( if let Some(var_197) = &input.kms_key_id { object.key("KmsKeyId").string(var_197); } + if let Some(var_198) = &input.async_inference_config { + let mut object_199 = object.key("AsyncInferenceConfig").start_object(); + crate::json_ser::serialize_structure_async_inference_config(&mut object_199, var_198); + object_199.finish(); + } } pub fn serialize_structure_create_experiment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateExperimentInput, ) { - if let Some(var_198) = &input.experiment_name { - object.key("ExperimentName").string(var_198); + if let Some(var_200) = &input.experiment_name { + object.key("ExperimentName").string(var_200); } - if let Some(var_199) = &input.display_name { - object.key("DisplayName").string(var_199); + if let Some(var_201) = &input.display_name { + object.key("DisplayName").string(var_201); } - if let Some(var_200) = &input.description { - object.key("Description").string(var_200); + if let Some(var_202) = &input.description { + object.key("Description").string(var_202); } - if let Some(var_201) = &input.tags { - let mut array_202 = object.key("Tags").start_array(); - for item_203 in var_201 { + if let Some(var_203) = &input.tags { + let mut array_204 = object.key("Tags").start_array(); + for item_205 in var_203 { { - let mut object_204 = array_202.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_204, item_203); - object_204.finish(); + let mut object_206 = array_204.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_206, item_205); + object_206.finish(); } } - array_202.finish(); + array_204.finish(); } } @@ -690,52 +695,52 @@ pub fn serialize_structure_create_feature_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateFeatureGroupInput, ) { - if let Some(var_205) = &input.feature_group_name { - object.key("FeatureGroupName").string(var_205); + if let Some(var_207) = &input.feature_group_name { + object.key("FeatureGroupName").string(var_207); } - if let Some(var_206) = &input.record_identifier_feature_name { - object.key("RecordIdentifierFeatureName").string(var_206); + if let Some(var_208) = &input.record_identifier_feature_name { + object.key("RecordIdentifierFeatureName").string(var_208); } - if let Some(var_207) = &input.event_time_feature_name { - object.key("EventTimeFeatureName").string(var_207); + if let Some(var_209) = &input.event_time_feature_name { + object.key("EventTimeFeatureName").string(var_209); } - if let Some(var_208) = &input.feature_definitions { - let mut array_209 = object.key("FeatureDefinitions").start_array(); - for item_210 in var_208 { + if let Some(var_210) = &input.feature_definitions { + let mut array_211 = object.key("FeatureDefinitions").start_array(); + for item_212 in var_210 { { - let mut object_211 = array_209.value().start_object(); - crate::json_ser::serialize_structure_feature_definition(&mut object_211, item_210); - object_211.finish(); + let mut object_213 = array_211.value().start_object(); + crate::json_ser::serialize_structure_feature_definition(&mut object_213, item_212); + object_213.finish(); } } - array_209.finish(); - } - if let Some(var_212) = &input.online_store_config { - let mut object_213 = object.key("OnlineStoreConfig").start_object(); - crate::json_ser::serialize_structure_online_store_config(&mut object_213, var_212); - object_213.finish(); + array_211.finish(); } - if let Some(var_214) = &input.offline_store_config { - let mut object_215 = object.key("OfflineStoreConfig").start_object(); - crate::json_ser::serialize_structure_offline_store_config(&mut object_215, var_214); + if let Some(var_214) = &input.online_store_config { + let mut object_215 = object.key("OnlineStoreConfig").start_object(); + crate::json_ser::serialize_structure_online_store_config(&mut object_215, var_214); object_215.finish(); } - if let Some(var_216) = &input.role_arn { - object.key("RoleArn").string(var_216); + if let Some(var_216) = &input.offline_store_config { + let mut object_217 = object.key("OfflineStoreConfig").start_object(); + crate::json_ser::serialize_structure_offline_store_config(&mut object_217, var_216); + object_217.finish(); + } + if let Some(var_218) = &input.role_arn { + object.key("RoleArn").string(var_218); } - if let Some(var_217) = &input.description { - object.key("Description").string(var_217); + if let Some(var_219) = &input.description { + object.key("Description").string(var_219); } - if let Some(var_218) = &input.tags { - let mut array_219 = object.key("Tags").start_array(); - for item_220 in var_218 { + if let Some(var_220) = &input.tags { + let mut array_221 = object.key("Tags").start_array(); + for item_222 in var_220 { { - let mut object_221 = array_219.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_221, item_220); - object_221.finish(); + let mut object_223 = array_221.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_223, item_222); + object_223.finish(); } } - array_219.finish(); + array_221.finish(); } } @@ -743,45 +748,45 @@ pub fn serialize_structure_create_flow_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateFlowDefinitionInput, ) { - if let Some(var_222) = &input.flow_definition_name { - object.key("FlowDefinitionName").string(var_222); + if let Some(var_224) = &input.flow_definition_name { + object.key("FlowDefinitionName").string(var_224); } - if let Some(var_223) = &input.human_loop_request_source { - let mut object_224 = object.key("HumanLoopRequestSource").start_object(); - crate::json_ser::serialize_structure_human_loop_request_source(&mut object_224, var_223); - object_224.finish(); - } - if let Some(var_225) = &input.human_loop_activation_config { - let mut object_226 = object.key("HumanLoopActivationConfig").start_object(); - crate::json_ser::serialize_structure_human_loop_activation_config(&mut object_226, var_225); + if let Some(var_225) = &input.human_loop_request_source { + let mut object_226 = object.key("HumanLoopRequestSource").start_object(); + crate::json_ser::serialize_structure_human_loop_request_source(&mut object_226, var_225); object_226.finish(); } - if let Some(var_227) = &input.human_loop_config { - let mut object_228 = object.key("HumanLoopConfig").start_object(); - crate::json_ser::serialize_structure_human_loop_config(&mut object_228, var_227); + if let Some(var_227) = &input.human_loop_activation_config { + let mut object_228 = object.key("HumanLoopActivationConfig").start_object(); + crate::json_ser::serialize_structure_human_loop_activation_config(&mut object_228, var_227); object_228.finish(); } - if let Some(var_229) = &input.output_config { - let mut object_230 = object.key("OutputConfig").start_object(); + if let Some(var_229) = &input.human_loop_config { + let mut object_230 = object.key("HumanLoopConfig").start_object(); + crate::json_ser::serialize_structure_human_loop_config(&mut object_230, var_229); + object_230.finish(); + } + if let Some(var_231) = &input.output_config { + let mut object_232 = object.key("OutputConfig").start_object(); crate::json_ser::serialize_structure_flow_definition_output_config( - &mut object_230, - var_229, + &mut object_232, + var_231, ); - object_230.finish(); + object_232.finish(); } - if let Some(var_231) = &input.role_arn { - object.key("RoleArn").string(var_231); + if let Some(var_233) = &input.role_arn { + object.key("RoleArn").string(var_233); } - if let Some(var_232) = &input.tags { - let mut array_233 = object.key("Tags").start_array(); - for item_234 in var_232 { + if let Some(var_234) = &input.tags { + let mut array_235 = object.key("Tags").start_array(); + for item_236 in var_234 { { - let mut object_235 = array_233.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_235, item_234); - object_235.finish(); + let mut object_237 = array_235.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_237, item_236); + object_237.finish(); } } - array_233.finish(); + array_235.finish(); } } @@ -789,24 +794,24 @@ pub fn serialize_structure_create_human_task_ui_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateHumanTaskUiInput, ) { - if let Some(var_236) = &input.human_task_ui_name { - object.key("HumanTaskUiName").string(var_236); + if let Some(var_238) = &input.human_task_ui_name { + object.key("HumanTaskUiName").string(var_238); } - if let Some(var_237) = &input.ui_template { - let mut object_238 = object.key("UiTemplate").start_object(); - crate::json_ser::serialize_structure_ui_template(&mut object_238, var_237); - object_238.finish(); + if let Some(var_239) = &input.ui_template { + let mut object_240 = object.key("UiTemplate").start_object(); + crate::json_ser::serialize_structure_ui_template(&mut object_240, var_239); + object_240.finish(); } - if let Some(var_239) = &input.tags { - let mut array_240 = object.key("Tags").start_array(); - for item_241 in var_239 { + if let Some(var_241) = &input.tags { + let mut array_242 = object.key("Tags").start_array(); + for item_243 in var_241 { { - let mut object_242 = array_240.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_242, item_241); - object_242.finish(); + let mut object_244 = array_242.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_244, item_243); + object_244.finish(); } } - array_240.finish(); + array_242.finish(); } } @@ -814,57 +819,57 @@ pub fn serialize_structure_create_hyper_parameter_tuning_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateHyperParameterTuningJobInput, ) { - if let Some(var_243) = &input.hyper_parameter_tuning_job_name { - object.key("HyperParameterTuningJobName").string(var_243); + if let Some(var_245) = &input.hyper_parameter_tuning_job_name { + object.key("HyperParameterTuningJobName").string(var_245); } - if let Some(var_244) = &input.hyper_parameter_tuning_job_config { - let mut object_245 = object.key("HyperParameterTuningJobConfig").start_object(); + if let Some(var_246) = &input.hyper_parameter_tuning_job_config { + let mut object_247 = object.key("HyperParameterTuningJobConfig").start_object(); crate::json_ser::serialize_structure_hyper_parameter_tuning_job_config( - &mut object_245, - var_244, - ); - object_245.finish(); - } - if let Some(var_246) = &input.training_job_definition { - let mut object_247 = object.key("TrainingJobDefinition").start_object(); - crate::json_ser::serialize_structure_hyper_parameter_training_job_definition( &mut object_247, var_246, ); object_247.finish(); } - if let Some(var_248) = &input.training_job_definitions { - let mut array_249 = object.key("TrainingJobDefinitions").start_array(); - for item_250 in var_248 { + if let Some(var_248) = &input.training_job_definition { + let mut object_249 = object.key("TrainingJobDefinition").start_object(); + crate::json_ser::serialize_structure_hyper_parameter_training_job_definition( + &mut object_249, + var_248, + ); + object_249.finish(); + } + if let Some(var_250) = &input.training_job_definitions { + let mut array_251 = object.key("TrainingJobDefinitions").start_array(); + for item_252 in var_250 { { - let mut object_251 = array_249.value().start_object(); + let mut object_253 = array_251.value().start_object(); crate::json_ser::serialize_structure_hyper_parameter_training_job_definition( - &mut object_251, - item_250, + &mut object_253, + item_252, ); - object_251.finish(); + object_253.finish(); } } - array_249.finish(); + array_251.finish(); } - if let Some(var_252) = &input.warm_start_config { - let mut object_253 = object.key("WarmStartConfig").start_object(); + if let Some(var_254) = &input.warm_start_config { + let mut object_255 = object.key("WarmStartConfig").start_object(); crate::json_ser::serialize_structure_hyper_parameter_tuning_job_warm_start_config( - &mut object_253, - var_252, + &mut object_255, + var_254, ); - object_253.finish(); + object_255.finish(); } - if let Some(var_254) = &input.tags { - let mut array_255 = object.key("Tags").start_array(); - for item_256 in var_254 { + if let Some(var_256) = &input.tags { + let mut array_257 = object.key("Tags").start_array(); + for item_258 in var_256 { { - let mut object_257 = array_255.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_257, item_256); - object_257.finish(); + let mut object_259 = array_257.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_259, item_258); + object_259.finish(); } } - array_255.finish(); + array_257.finish(); } } @@ -872,28 +877,28 @@ pub fn serialize_structure_create_image_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateImageInput, ) { - if let Some(var_258) = &input.description { - object.key("Description").string(var_258); + if let Some(var_260) = &input.description { + object.key("Description").string(var_260); } - if let Some(var_259) = &input.display_name { - object.key("DisplayName").string(var_259); + if let Some(var_261) = &input.display_name { + object.key("DisplayName").string(var_261); } - if let Some(var_260) = &input.image_name { - object.key("ImageName").string(var_260); + if let Some(var_262) = &input.image_name { + object.key("ImageName").string(var_262); } - if let Some(var_261) = &input.role_arn { - object.key("RoleArn").string(var_261); + if let Some(var_263) = &input.role_arn { + object.key("RoleArn").string(var_263); } - if let Some(var_262) = &input.tags { - let mut array_263 = object.key("Tags").start_array(); - for item_264 in var_262 { + if let Some(var_264) = &input.tags { + let mut array_265 = object.key("Tags").start_array(); + for item_266 in var_264 { { - let mut object_265 = array_263.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_265, item_264); - object_265.finish(); + let mut object_267 = array_265.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_267, item_266); + object_267.finish(); } } - array_263.finish(); + array_265.finish(); } } @@ -901,14 +906,14 @@ pub fn serialize_structure_create_image_version_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateImageVersionInput, ) { - if let Some(var_266) = &input.base_image { - object.key("BaseImage").string(var_266); + if let Some(var_268) = &input.base_image { + object.key("BaseImage").string(var_268); } - if let Some(var_267) = &input.client_token { - object.key("ClientToken").string(var_267); + if let Some(var_269) = &input.client_token { + object.key("ClientToken").string(var_269); } - if let Some(var_268) = &input.image_name { - object.key("ImageName").string(var_268); + if let Some(var_270) = &input.image_name { + object.key("ImageName").string(var_270); } } @@ -916,59 +921,59 @@ pub fn serialize_structure_create_labeling_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateLabelingJobInput, ) { - if let Some(var_269) = &input.labeling_job_name { - object.key("LabelingJobName").string(var_269); + if let Some(var_271) = &input.labeling_job_name { + object.key("LabelingJobName").string(var_271); } - if let Some(var_270) = &input.label_attribute_name { - object.key("LabelAttributeName").string(var_270); + if let Some(var_272) = &input.label_attribute_name { + object.key("LabelAttributeName").string(var_272); } - if let Some(var_271) = &input.input_config { - let mut object_272 = object.key("InputConfig").start_object(); - crate::json_ser::serialize_structure_labeling_job_input_config(&mut object_272, var_271); - object_272.finish(); - } - if let Some(var_273) = &input.output_config { - let mut object_274 = object.key("OutputConfig").start_object(); - crate::json_ser::serialize_structure_labeling_job_output_config(&mut object_274, var_273); + if let Some(var_273) = &input.input_config { + let mut object_274 = object.key("InputConfig").start_object(); + crate::json_ser::serialize_structure_labeling_job_input_config(&mut object_274, var_273); object_274.finish(); } - if let Some(var_275) = &input.role_arn { - object.key("RoleArn").string(var_275); + if let Some(var_275) = &input.output_config { + let mut object_276 = object.key("OutputConfig").start_object(); + crate::json_ser::serialize_structure_labeling_job_output_config(&mut object_276, var_275); + object_276.finish(); } - if let Some(var_276) = &input.label_category_config_s3_uri { - object.key("LabelCategoryConfigS3Uri").string(var_276); + if let Some(var_277) = &input.role_arn { + object.key("RoleArn").string(var_277); } - if let Some(var_277) = &input.stopping_conditions { - let mut object_278 = object.key("StoppingConditions").start_object(); - crate::json_ser::serialize_structure_labeling_job_stopping_conditions( - &mut object_278, - var_277, - ); - object_278.finish(); + if let Some(var_278) = &input.label_category_config_s3_uri { + object.key("LabelCategoryConfigS3Uri").string(var_278); } - if let Some(var_279) = &input.labeling_job_algorithms_config { - let mut object_280 = object.key("LabelingJobAlgorithmsConfig").start_object(); - crate::json_ser::serialize_structure_labeling_job_algorithms_config( + if let Some(var_279) = &input.stopping_conditions { + let mut object_280 = object.key("StoppingConditions").start_object(); + crate::json_ser::serialize_structure_labeling_job_stopping_conditions( &mut object_280, var_279, ); object_280.finish(); } - if let Some(var_281) = &input.human_task_config { - let mut object_282 = object.key("HumanTaskConfig").start_object(); - crate::json_ser::serialize_structure_human_task_config(&mut object_282, var_281); + if let Some(var_281) = &input.labeling_job_algorithms_config { + let mut object_282 = object.key("LabelingJobAlgorithmsConfig").start_object(); + crate::json_ser::serialize_structure_labeling_job_algorithms_config( + &mut object_282, + var_281, + ); object_282.finish(); } - if let Some(var_283) = &input.tags { - let mut array_284 = object.key("Tags").start_array(); - for item_285 in var_283 { + if let Some(var_283) = &input.human_task_config { + let mut object_284 = object.key("HumanTaskConfig").start_object(); + crate::json_ser::serialize_structure_human_task_config(&mut object_284, var_283); + object_284.finish(); + } + if let Some(var_285) = &input.tags { + let mut array_286 = object.key("Tags").start_array(); + for item_287 in var_285 { { - let mut object_286 = array_284.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_286, item_285); - object_286.finish(); + let mut object_288 = array_286.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_288, item_287); + object_288.finish(); } } - array_284.finish(); + array_286.finish(); } } @@ -976,51 +981,51 @@ pub fn serialize_structure_create_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelInput, ) { - if let Some(var_287) = &input.model_name { - object.key("ModelName").string(var_287); + if let Some(var_289) = &input.model_name { + object.key("ModelName").string(var_289); } - if let Some(var_288) = &input.primary_container { - let mut object_289 = object.key("PrimaryContainer").start_object(); - crate::json_ser::serialize_structure_container_definition(&mut object_289, var_288); - object_289.finish(); + if let Some(var_290) = &input.primary_container { + let mut object_291 = object.key("PrimaryContainer").start_object(); + crate::json_ser::serialize_structure_container_definition(&mut object_291, var_290); + object_291.finish(); } - if let Some(var_290) = &input.containers { - let mut array_291 = object.key("Containers").start_array(); - for item_292 in var_290 { + if let Some(var_292) = &input.containers { + let mut array_293 = object.key("Containers").start_array(); + for item_294 in var_292 { { - let mut object_293 = array_291.value().start_object(); + let mut object_295 = array_293.value().start_object(); crate::json_ser::serialize_structure_container_definition( - &mut object_293, - item_292, + &mut object_295, + item_294, ); - object_293.finish(); + object_295.finish(); } } - array_291.finish(); + array_293.finish(); } - if let Some(var_294) = &input.inference_execution_config { - let mut object_295 = object.key("InferenceExecutionConfig").start_object(); - crate::json_ser::serialize_structure_inference_execution_config(&mut object_295, var_294); - object_295.finish(); + if let Some(var_296) = &input.inference_execution_config { + let mut object_297 = object.key("InferenceExecutionConfig").start_object(); + crate::json_ser::serialize_structure_inference_execution_config(&mut object_297, var_296); + object_297.finish(); } - if let Some(var_296) = &input.execution_role_arn { - object.key("ExecutionRoleArn").string(var_296); + if let Some(var_298) = &input.execution_role_arn { + object.key("ExecutionRoleArn").string(var_298); } - if let Some(var_297) = &input.tags { - let mut array_298 = object.key("Tags").start_array(); - for item_299 in var_297 { + if let Some(var_299) = &input.tags { + let mut array_300 = object.key("Tags").start_array(); + for item_301 in var_299 { { - let mut object_300 = array_298.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_300, item_299); - object_300.finish(); + let mut object_302 = array_300.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_302, item_301); + object_302.finish(); } } - array_298.finish(); + array_300.finish(); } - if let Some(var_301) = &input.vpc_config { - let mut object_302 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_302, var_301); - object_302.finish(); + if let Some(var_303) = &input.vpc_config { + let mut object_304 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_304, var_303); + object_304.finish(); } if input.enable_network_isolation { object @@ -1033,60 +1038,60 @@ pub fn serialize_structure_create_model_bias_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelBiasJobDefinitionInput, ) { - if let Some(var_303) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_303); - } - if let Some(var_304) = &input.model_bias_baseline_config { - let mut object_305 = object.key("ModelBiasBaselineConfig").start_object(); - crate::json_ser::serialize_structure_model_bias_baseline_config(&mut object_305, var_304); - object_305.finish(); + if let Some(var_305) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_305); } - if let Some(var_306) = &input.model_bias_app_specification { - let mut object_307 = object.key("ModelBiasAppSpecification").start_object(); - crate::json_ser::serialize_structure_model_bias_app_specification(&mut object_307, var_306); + if let Some(var_306) = &input.model_bias_baseline_config { + let mut object_307 = object.key("ModelBiasBaselineConfig").start_object(); + crate::json_ser::serialize_structure_model_bias_baseline_config(&mut object_307, var_306); object_307.finish(); } - if let Some(var_308) = &input.model_bias_job_input { - let mut object_309 = object.key("ModelBiasJobInput").start_object(); - crate::json_ser::serialize_structure_model_bias_job_input(&mut object_309, var_308); + if let Some(var_308) = &input.model_bias_app_specification { + let mut object_309 = object.key("ModelBiasAppSpecification").start_object(); + crate::json_ser::serialize_structure_model_bias_app_specification(&mut object_309, var_308); object_309.finish(); } - if let Some(var_310) = &input.model_bias_job_output_config { - let mut object_311 = object.key("ModelBiasJobOutputConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_output_config(&mut object_311, var_310); + if let Some(var_310) = &input.model_bias_job_input { + let mut object_311 = object.key("ModelBiasJobInput").start_object(); + crate::json_ser::serialize_structure_model_bias_job_input(&mut object_311, var_310); object_311.finish(); } - if let Some(var_312) = &input.job_resources { - let mut object_313 = object.key("JobResources").start_object(); - crate::json_ser::serialize_structure_monitoring_resources(&mut object_313, var_312); + if let Some(var_312) = &input.model_bias_job_output_config { + let mut object_313 = object.key("ModelBiasJobOutputConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_output_config(&mut object_313, var_312); object_313.finish(); } - if let Some(var_314) = &input.network_config { - let mut object_315 = object.key("NetworkConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_network_config(&mut object_315, var_314); + if let Some(var_314) = &input.job_resources { + let mut object_315 = object.key("JobResources").start_object(); + crate::json_ser::serialize_structure_monitoring_resources(&mut object_315, var_314); object_315.finish(); } - if let Some(var_316) = &input.role_arn { - object.key("RoleArn").string(var_316); + if let Some(var_316) = &input.network_config { + let mut object_317 = object.key("NetworkConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_network_config(&mut object_317, var_316); + object_317.finish(); + } + if let Some(var_318) = &input.role_arn { + object.key("RoleArn").string(var_318); } - if let Some(var_317) = &input.stopping_condition { - let mut object_318 = object.key("StoppingCondition").start_object(); + if let Some(var_319) = &input.stopping_condition { + let mut object_320 = object.key("StoppingCondition").start_object(); crate::json_ser::serialize_structure_monitoring_stopping_condition( - &mut object_318, - var_317, + &mut object_320, + var_319, ); - object_318.finish(); + object_320.finish(); } - if let Some(var_319) = &input.tags { - let mut array_320 = object.key("Tags").start_array(); - for item_321 in var_319 { + if let Some(var_321) = &input.tags { + let mut array_322 = object.key("Tags").start_array(); + for item_323 in var_321 { { - let mut object_322 = array_320.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_322, item_321); - object_322.finish(); + let mut object_324 = array_322.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_324, item_323); + object_324.finish(); } } - array_320.finish(); + array_322.finish(); } } @@ -1094,75 +1099,75 @@ pub fn serialize_structure_create_model_explainability_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelExplainabilityJobDefinitionInput, ) { - if let Some(var_323) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_323); + if let Some(var_325) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_325); } - if let Some(var_324) = &input.model_explainability_baseline_config { - let mut object_325 = object + if let Some(var_326) = &input.model_explainability_baseline_config { + let mut object_327 = object .key("ModelExplainabilityBaselineConfig") .start_object(); crate::json_ser::serialize_structure_model_explainability_baseline_config( - &mut object_325, - var_324, - ); - object_325.finish(); - } - if let Some(var_326) = &input.model_explainability_app_specification { - let mut object_327 = object - .key("ModelExplainabilityAppSpecification") - .start_object(); - crate::json_ser::serialize_structure_model_explainability_app_specification( &mut object_327, var_326, ); object_327.finish(); } - if let Some(var_328) = &input.model_explainability_job_input { - let mut object_329 = object.key("ModelExplainabilityJobInput").start_object(); - crate::json_ser::serialize_structure_model_explainability_job_input( + if let Some(var_328) = &input.model_explainability_app_specification { + let mut object_329 = object + .key("ModelExplainabilityAppSpecification") + .start_object(); + crate::json_ser::serialize_structure_model_explainability_app_specification( &mut object_329, var_328, ); object_329.finish(); } - if let Some(var_330) = &input.model_explainability_job_output_config { - let mut object_331 = object - .key("ModelExplainabilityJobOutputConfig") - .start_object(); - crate::json_ser::serialize_structure_monitoring_output_config(&mut object_331, var_330); + if let Some(var_330) = &input.model_explainability_job_input { + let mut object_331 = object.key("ModelExplainabilityJobInput").start_object(); + crate::json_ser::serialize_structure_model_explainability_job_input( + &mut object_331, + var_330, + ); object_331.finish(); } - if let Some(var_332) = &input.job_resources { - let mut object_333 = object.key("JobResources").start_object(); - crate::json_ser::serialize_structure_monitoring_resources(&mut object_333, var_332); + if let Some(var_332) = &input.model_explainability_job_output_config { + let mut object_333 = object + .key("ModelExplainabilityJobOutputConfig") + .start_object(); + crate::json_ser::serialize_structure_monitoring_output_config(&mut object_333, var_332); object_333.finish(); } - if let Some(var_334) = &input.network_config { - let mut object_335 = object.key("NetworkConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_network_config(&mut object_335, var_334); + if let Some(var_334) = &input.job_resources { + let mut object_335 = object.key("JobResources").start_object(); + crate::json_ser::serialize_structure_monitoring_resources(&mut object_335, var_334); object_335.finish(); } - if let Some(var_336) = &input.role_arn { - object.key("RoleArn").string(var_336); + if let Some(var_336) = &input.network_config { + let mut object_337 = object.key("NetworkConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_network_config(&mut object_337, var_336); + object_337.finish(); } - if let Some(var_337) = &input.stopping_condition { - let mut object_338 = object.key("StoppingCondition").start_object(); + if let Some(var_338) = &input.role_arn { + object.key("RoleArn").string(var_338); + } + if let Some(var_339) = &input.stopping_condition { + let mut object_340 = object.key("StoppingCondition").start_object(); crate::json_ser::serialize_structure_monitoring_stopping_condition( - &mut object_338, - var_337, + &mut object_340, + var_339, ); - object_338.finish(); + object_340.finish(); } - if let Some(var_339) = &input.tags { - let mut array_340 = object.key("Tags").start_array(); - for item_341 in var_339 { + if let Some(var_341) = &input.tags { + let mut array_342 = object.key("Tags").start_array(); + for item_343 in var_341 { { - let mut object_342 = array_340.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_342, item_341); - object_342.finish(); + let mut object_344 = array_342.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_344, item_343); + object_344.finish(); } } - array_340.finish(); + array_342.finish(); } } @@ -1170,67 +1175,67 @@ pub fn serialize_structure_create_model_package_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelPackageInput, ) { - if let Some(var_343) = &input.model_package_name { - object.key("ModelPackageName").string(var_343); - } - if let Some(var_344) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_344); + if let Some(var_345) = &input.model_package_name { + object.key("ModelPackageName").string(var_345); } - if let Some(var_345) = &input.model_package_description { - object.key("ModelPackageDescription").string(var_345); + if let Some(var_346) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_346); } - if let Some(var_346) = &input.inference_specification { - let mut object_347 = object.key("InferenceSpecification").start_object(); - crate::json_ser::serialize_structure_inference_specification(&mut object_347, var_346); - object_347.finish(); + if let Some(var_347) = &input.model_package_description { + object.key("ModelPackageDescription").string(var_347); } - if let Some(var_348) = &input.validation_specification { - let mut object_349 = object.key("ValidationSpecification").start_object(); - crate::json_ser::serialize_structure_model_package_validation_specification( - &mut object_349, - var_348, - ); + if let Some(var_348) = &input.inference_specification { + let mut object_349 = object.key("InferenceSpecification").start_object(); + crate::json_ser::serialize_structure_inference_specification(&mut object_349, var_348); object_349.finish(); } - if let Some(var_350) = &input.source_algorithm_specification { - let mut object_351 = object.key("SourceAlgorithmSpecification").start_object(); - crate::json_ser::serialize_structure_source_algorithm_specification( + if let Some(var_350) = &input.validation_specification { + let mut object_351 = object.key("ValidationSpecification").start_object(); + crate::json_ser::serialize_structure_model_package_validation_specification( &mut object_351, var_350, ); object_351.finish(); } + if let Some(var_352) = &input.source_algorithm_specification { + let mut object_353 = object.key("SourceAlgorithmSpecification").start_object(); + crate::json_ser::serialize_structure_source_algorithm_specification( + &mut object_353, + var_352, + ); + object_353.finish(); + } if input.certify_for_marketplace { object .key("CertifyForMarketplace") .boolean(input.certify_for_marketplace); } - if let Some(var_352) = &input.tags { - let mut array_353 = object.key("Tags").start_array(); - for item_354 in var_352 { + if let Some(var_354) = &input.tags { + let mut array_355 = object.key("Tags").start_array(); + for item_356 in var_354 { { - let mut object_355 = array_353.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_355, item_354); - object_355.finish(); + let mut object_357 = array_355.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_357, item_356); + object_357.finish(); } } - array_353.finish(); - } - if let Some(var_356) = &input.model_approval_status { - object.key("ModelApprovalStatus").string(var_356.as_str()); + array_355.finish(); } - if let Some(var_357) = &input.metadata_properties { - let mut object_358 = object.key("MetadataProperties").start_object(); - crate::json_ser::serialize_structure_metadata_properties(&mut object_358, var_357); - object_358.finish(); + if let Some(var_358) = &input.model_approval_status { + object.key("ModelApprovalStatus").string(var_358.as_str()); } - if let Some(var_359) = &input.model_metrics { - let mut object_360 = object.key("ModelMetrics").start_object(); - crate::json_ser::serialize_structure_model_metrics(&mut object_360, var_359); + if let Some(var_359) = &input.metadata_properties { + let mut object_360 = object.key("MetadataProperties").start_object(); + crate::json_ser::serialize_structure_metadata_properties(&mut object_360, var_359); object_360.finish(); } - if let Some(var_361) = &input.client_token { - object.key("ClientToken").string(var_361); + if let Some(var_361) = &input.model_metrics { + let mut object_362 = object.key("ModelMetrics").start_object(); + crate::json_ser::serialize_structure_model_metrics(&mut object_362, var_361); + object_362.finish(); + } + if let Some(var_363) = &input.client_token { + object.key("ClientToken").string(var_363); } } @@ -1238,22 +1243,22 @@ pub fn serialize_structure_create_model_package_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelPackageGroupInput, ) { - if let Some(var_362) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_362); + if let Some(var_364) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_364); } - if let Some(var_363) = &input.model_package_group_description { - object.key("ModelPackageGroupDescription").string(var_363); + if let Some(var_365) = &input.model_package_group_description { + object.key("ModelPackageGroupDescription").string(var_365); } - if let Some(var_364) = &input.tags { - let mut array_365 = object.key("Tags").start_array(); - for item_366 in var_364 { + if let Some(var_366) = &input.tags { + let mut array_367 = object.key("Tags").start_array(); + for item_368 in var_366 { { - let mut object_367 = array_365.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_367, item_366); - object_367.finish(); + let mut object_369 = array_367.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_369, item_368); + object_369.finish(); } } - array_365.finish(); + array_367.finish(); } } @@ -1261,66 +1266,66 @@ pub fn serialize_structure_create_model_quality_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateModelQualityJobDefinitionInput, ) { - if let Some(var_368) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_368); + if let Some(var_370) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_370); } - if let Some(var_369) = &input.model_quality_baseline_config { - let mut object_370 = object.key("ModelQualityBaselineConfig").start_object(); + if let Some(var_371) = &input.model_quality_baseline_config { + let mut object_372 = object.key("ModelQualityBaselineConfig").start_object(); crate::json_ser::serialize_structure_model_quality_baseline_config( - &mut object_370, - var_369, - ); - object_370.finish(); - } - if let Some(var_371) = &input.model_quality_app_specification { - let mut object_372 = object.key("ModelQualityAppSpecification").start_object(); - crate::json_ser::serialize_structure_model_quality_app_specification( &mut object_372, var_371, ); object_372.finish(); } - if let Some(var_373) = &input.model_quality_job_input { - let mut object_374 = object.key("ModelQualityJobInput").start_object(); - crate::json_ser::serialize_structure_model_quality_job_input(&mut object_374, var_373); + if let Some(var_373) = &input.model_quality_app_specification { + let mut object_374 = object.key("ModelQualityAppSpecification").start_object(); + crate::json_ser::serialize_structure_model_quality_app_specification( + &mut object_374, + var_373, + ); object_374.finish(); } - if let Some(var_375) = &input.model_quality_job_output_config { - let mut object_376 = object.key("ModelQualityJobOutputConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_output_config(&mut object_376, var_375); + if let Some(var_375) = &input.model_quality_job_input { + let mut object_376 = object.key("ModelQualityJobInput").start_object(); + crate::json_ser::serialize_structure_model_quality_job_input(&mut object_376, var_375); object_376.finish(); } - if let Some(var_377) = &input.job_resources { - let mut object_378 = object.key("JobResources").start_object(); - crate::json_ser::serialize_structure_monitoring_resources(&mut object_378, var_377); + if let Some(var_377) = &input.model_quality_job_output_config { + let mut object_378 = object.key("ModelQualityJobOutputConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_output_config(&mut object_378, var_377); object_378.finish(); } - if let Some(var_379) = &input.network_config { - let mut object_380 = object.key("NetworkConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_network_config(&mut object_380, var_379); + if let Some(var_379) = &input.job_resources { + let mut object_380 = object.key("JobResources").start_object(); + crate::json_ser::serialize_structure_monitoring_resources(&mut object_380, var_379); object_380.finish(); } - if let Some(var_381) = &input.role_arn { - object.key("RoleArn").string(var_381); + if let Some(var_381) = &input.network_config { + let mut object_382 = object.key("NetworkConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_network_config(&mut object_382, var_381); + object_382.finish(); + } + if let Some(var_383) = &input.role_arn { + object.key("RoleArn").string(var_383); } - if let Some(var_382) = &input.stopping_condition { - let mut object_383 = object.key("StoppingCondition").start_object(); + if let Some(var_384) = &input.stopping_condition { + let mut object_385 = object.key("StoppingCondition").start_object(); crate::json_ser::serialize_structure_monitoring_stopping_condition( - &mut object_383, - var_382, + &mut object_385, + var_384, ); - object_383.finish(); + object_385.finish(); } - if let Some(var_384) = &input.tags { - let mut array_385 = object.key("Tags").start_array(); - for item_386 in var_384 { + if let Some(var_386) = &input.tags { + let mut array_387 = object.key("Tags").start_array(); + for item_388 in var_386 { { - let mut object_387 = array_385.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_387, item_386); - object_387.finish(); + let mut object_389 = array_387.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_389, item_388); + object_389.finish(); } } - array_385.finish(); + array_387.finish(); } } @@ -1328,24 +1333,24 @@ pub fn serialize_structure_create_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateMonitoringScheduleInput, ) { - if let Some(var_388) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_388); + if let Some(var_390) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_390); } - if let Some(var_389) = &input.monitoring_schedule_config { - let mut object_390 = object.key("MonitoringScheduleConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_schedule_config(&mut object_390, var_389); - object_390.finish(); + if let Some(var_391) = &input.monitoring_schedule_config { + let mut object_392 = object.key("MonitoringScheduleConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_schedule_config(&mut object_392, var_391); + object_392.finish(); } - if let Some(var_391) = &input.tags { - let mut array_392 = object.key("Tags").start_array(); - for item_393 in var_391 { + if let Some(var_393) = &input.tags { + let mut array_394 = object.key("Tags").start_array(); + for item_395 in var_393 { { - let mut object_394 = array_392.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_394, item_393); - object_394.finish(); + let mut object_396 = array_394.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_396, item_395); + object_396.finish(); } } - array_392.finish(); + array_394.finish(); } } @@ -1353,76 +1358,79 @@ pub fn serialize_structure_create_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateNotebookInstanceInput, ) { - if let Some(var_395) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_395); + if let Some(var_397) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_397); } - if let Some(var_396) = &input.instance_type { - object.key("InstanceType").string(var_396.as_str()); + if let Some(var_398) = &input.instance_type { + object.key("InstanceType").string(var_398.as_str()); } - if let Some(var_397) = &input.subnet_id { - object.key("SubnetId").string(var_397); + if let Some(var_399) = &input.subnet_id { + object.key("SubnetId").string(var_399); } - if let Some(var_398) = &input.security_group_ids { - let mut array_399 = object.key("SecurityGroupIds").start_array(); - for item_400 in var_398 { + if let Some(var_400) = &input.security_group_ids { + let mut array_401 = object.key("SecurityGroupIds").start_array(); + for item_402 in var_400 { { - array_399.value().string(item_400); + array_401.value().string(item_402); } } - array_399.finish(); + array_401.finish(); } - if let Some(var_401) = &input.role_arn { - object.key("RoleArn").string(var_401); + if let Some(var_403) = &input.role_arn { + object.key("RoleArn").string(var_403); } - if let Some(var_402) = &input.kms_key_id { - object.key("KmsKeyId").string(var_402); + if let Some(var_404) = &input.kms_key_id { + object.key("KmsKeyId").string(var_404); } - if let Some(var_403) = &input.tags { - let mut array_404 = object.key("Tags").start_array(); - for item_405 in var_403 { + if let Some(var_405) = &input.tags { + let mut array_406 = object.key("Tags").start_array(); + for item_407 in var_405 { { - let mut object_406 = array_404.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_406, item_405); - object_406.finish(); + let mut object_408 = array_406.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_408, item_407); + object_408.finish(); } } - array_404.finish(); + array_406.finish(); } - if let Some(var_407) = &input.lifecycle_config_name { - object.key("LifecycleConfigName").string(var_407); + if let Some(var_409) = &input.lifecycle_config_name { + object.key("LifecycleConfigName").string(var_409); } - if let Some(var_408) = &input.direct_internet_access { - object.key("DirectInternetAccess").string(var_408.as_str()); + if let Some(var_410) = &input.direct_internet_access { + object.key("DirectInternetAccess").string(var_410.as_str()); } - if let Some(var_409) = &input.volume_size_in_gb { + if let Some(var_411) = &input.volume_size_in_gb { object.key("VolumeSizeInGB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_409).into()), + smithy_types::Number::NegInt((*var_411).into()), ); } - if let Some(var_410) = &input.accelerator_types { - let mut array_411 = object.key("AcceleratorTypes").start_array(); - for item_412 in var_410 { + if let Some(var_412) = &input.accelerator_types { + let mut array_413 = object.key("AcceleratorTypes").start_array(); + for item_414 in var_412 { { - array_411.value().string(item_412.as_str()); + array_413.value().string(item_414.as_str()); } } - array_411.finish(); + array_413.finish(); } - if let Some(var_413) = &input.default_code_repository { - object.key("DefaultCodeRepository").string(var_413); + if let Some(var_415) = &input.default_code_repository { + object.key("DefaultCodeRepository").string(var_415); } - if let Some(var_414) = &input.additional_code_repositories { - let mut array_415 = object.key("AdditionalCodeRepositories").start_array(); - for item_416 in var_414 { + if let Some(var_416) = &input.additional_code_repositories { + let mut array_417 = object.key("AdditionalCodeRepositories").start_array(); + for item_418 in var_416 { { - array_415.value().string(item_416); + array_417.value().string(item_418); } } - array_415.finish(); + array_417.finish(); + } + if let Some(var_419) = &input.root_access { + object.key("RootAccess").string(var_419.as_str()); } - if let Some(var_417) = &input.root_access { - object.key("RootAccess").string(var_417.as_str()); + if let Some(var_420) = &input.platform_identifier { + object.key("PlatformIdentifier").string(var_420); } } @@ -1430,38 +1438,38 @@ pub fn serialize_structure_create_notebook_instance_lifecycle_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateNotebookInstanceLifecycleConfigInput, ) { - if let Some(var_418) = &input.notebook_instance_lifecycle_config_name { + if let Some(var_421) = &input.notebook_instance_lifecycle_config_name { object .key("NotebookInstanceLifecycleConfigName") - .string(var_418); + .string(var_421); } - if let Some(var_419) = &input.on_create { - let mut array_420 = object.key("OnCreate").start_array(); - for item_421 in var_419 { + if let Some(var_422) = &input.on_create { + let mut array_423 = object.key("OnCreate").start_array(); + for item_424 in var_422 { { - let mut object_422 = array_420.value().start_object(); + let mut object_425 = array_423.value().start_object(); crate::json_ser::serialize_structure_notebook_instance_lifecycle_hook( - &mut object_422, - item_421, + &mut object_425, + item_424, ); - object_422.finish(); + object_425.finish(); } } - array_420.finish(); + array_423.finish(); } - if let Some(var_423) = &input.on_start { - let mut array_424 = object.key("OnStart").start_array(); - for item_425 in var_423 { + if let Some(var_426) = &input.on_start { + let mut array_427 = object.key("OnStart").start_array(); + for item_428 in var_426 { { - let mut object_426 = array_424.value().start_object(); + let mut object_429 = array_427.value().start_object(); crate::json_ser::serialize_structure_notebook_instance_lifecycle_hook( - &mut object_426, - item_425, + &mut object_429, + item_428, ); - object_426.finish(); + object_429.finish(); } } - array_424.finish(); + array_427.finish(); } } @@ -1469,34 +1477,34 @@ pub fn serialize_structure_create_pipeline_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreatePipelineInput, ) { - if let Some(var_427) = &input.pipeline_name { - object.key("PipelineName").string(var_427); + if let Some(var_430) = &input.pipeline_name { + object.key("PipelineName").string(var_430); } - if let Some(var_428) = &input.pipeline_display_name { - object.key("PipelineDisplayName").string(var_428); + if let Some(var_431) = &input.pipeline_display_name { + object.key("PipelineDisplayName").string(var_431); } - if let Some(var_429) = &input.pipeline_definition { - object.key("PipelineDefinition").string(var_429); + if let Some(var_432) = &input.pipeline_definition { + object.key("PipelineDefinition").string(var_432); } - if let Some(var_430) = &input.pipeline_description { - object.key("PipelineDescription").string(var_430); + if let Some(var_433) = &input.pipeline_description { + object.key("PipelineDescription").string(var_433); } - if let Some(var_431) = &input.client_request_token { - object.key("ClientRequestToken").string(var_431); + if let Some(var_434) = &input.client_request_token { + object.key("ClientRequestToken").string(var_434); } - if let Some(var_432) = &input.role_arn { - object.key("RoleArn").string(var_432); + if let Some(var_435) = &input.role_arn { + object.key("RoleArn").string(var_435); } - if let Some(var_433) = &input.tags { - let mut array_434 = object.key("Tags").start_array(); - for item_435 in var_433 { + if let Some(var_436) = &input.tags { + let mut array_437 = object.key("Tags").start_array(); + for item_438 in var_436 { { - let mut object_436 = array_434.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_436, item_435); - object_436.finish(); + let mut object_439 = array_437.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_439, item_438); + object_439.finish(); } } - array_434.finish(); + array_437.finish(); } } @@ -1504,22 +1512,22 @@ pub fn serialize_structure_create_presigned_domain_url_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreatePresignedDomainUrlInput, ) { - if let Some(var_437) = &input.domain_id { - object.key("DomainId").string(var_437); + if let Some(var_440) = &input.domain_id { + object.key("DomainId").string(var_440); } - if let Some(var_438) = &input.user_profile_name { - object.key("UserProfileName").string(var_438); + if let Some(var_441) = &input.user_profile_name { + object.key("UserProfileName").string(var_441); } - if let Some(var_439) = &input.session_expiration_duration_in_seconds { + if let Some(var_442) = &input.session_expiration_duration_in_seconds { object.key("SessionExpirationDurationInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_439).into()), + smithy_types::Number::NegInt((*var_442).into()), ); } - if let Some(var_440) = &input.expires_in_seconds { + if let Some(var_443) = &input.expires_in_seconds { object.key("ExpiresInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_440).into()), + smithy_types::Number::NegInt((*var_443).into()), ); } } @@ -1528,13 +1536,13 @@ pub fn serialize_structure_create_presigned_notebook_instance_url_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreatePresignedNotebookInstanceUrlInput, ) { - if let Some(var_441) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_441); + if let Some(var_444) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_444); } - if let Some(var_442) = &input.session_expiration_duration_in_seconds { + if let Some(var_445) = &input.session_expiration_duration_in_seconds { object.key("SessionExpirationDurationInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_442).into()), + smithy_types::Number::NegInt((*var_445).into()), ); } } @@ -1543,75 +1551,75 @@ pub fn serialize_structure_create_processing_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateProcessingJobInput, ) { - if let Some(var_443) = &input.processing_inputs { - let mut array_444 = object.key("ProcessingInputs").start_array(); - for item_445 in var_443 { + if let Some(var_446) = &input.processing_inputs { + let mut array_447 = object.key("ProcessingInputs").start_array(); + for item_448 in var_446 { { - let mut object_446 = array_444.value().start_object(); - crate::json_ser::serialize_structure_processing_input(&mut object_446, item_445); - object_446.finish(); + let mut object_449 = array_447.value().start_object(); + crate::json_ser::serialize_structure_processing_input(&mut object_449, item_448); + object_449.finish(); } } - array_444.finish(); + array_447.finish(); } - if let Some(var_447) = &input.processing_output_config { - let mut object_448 = object.key("ProcessingOutputConfig").start_object(); - crate::json_ser::serialize_structure_processing_output_config(&mut object_448, var_447); - object_448.finish(); + if let Some(var_450) = &input.processing_output_config { + let mut object_451 = object.key("ProcessingOutputConfig").start_object(); + crate::json_ser::serialize_structure_processing_output_config(&mut object_451, var_450); + object_451.finish(); } - if let Some(var_449) = &input.processing_job_name { - object.key("ProcessingJobName").string(var_449); + if let Some(var_452) = &input.processing_job_name { + object.key("ProcessingJobName").string(var_452); } - if let Some(var_450) = &input.processing_resources { - let mut object_451 = object.key("ProcessingResources").start_object(); - crate::json_ser::serialize_structure_processing_resources(&mut object_451, var_450); - object_451.finish(); + if let Some(var_453) = &input.processing_resources { + let mut object_454 = object.key("ProcessingResources").start_object(); + crate::json_ser::serialize_structure_processing_resources(&mut object_454, var_453); + object_454.finish(); } - if let Some(var_452) = &input.stopping_condition { - let mut object_453 = object.key("StoppingCondition").start_object(); + if let Some(var_455) = &input.stopping_condition { + let mut object_456 = object.key("StoppingCondition").start_object(); crate::json_ser::serialize_structure_processing_stopping_condition( - &mut object_453, - var_452, + &mut object_456, + var_455, ); - object_453.finish(); + object_456.finish(); } - if let Some(var_454) = &input.app_specification { - let mut object_455 = object.key("AppSpecification").start_object(); - crate::json_ser::serialize_structure_app_specification(&mut object_455, var_454); - object_455.finish(); + if let Some(var_457) = &input.app_specification { + let mut object_458 = object.key("AppSpecification").start_object(); + crate::json_ser::serialize_structure_app_specification(&mut object_458, var_457); + object_458.finish(); } - if let Some(var_456) = &input.environment { - let mut object_457 = object.key("Environment").start_object(); - for (key_458, value_459) in var_456 { + if let Some(var_459) = &input.environment { + let mut object_460 = object.key("Environment").start_object(); + for (key_461, value_462) in var_459 { { - object_457.key(key_458).string(value_459); + object_460.key(key_461).string(value_462); } } - object_457.finish(); + object_460.finish(); } - if let Some(var_460) = &input.network_config { - let mut object_461 = object.key("NetworkConfig").start_object(); - crate::json_ser::serialize_structure_network_config(&mut object_461, var_460); - object_461.finish(); + if let Some(var_463) = &input.network_config { + let mut object_464 = object.key("NetworkConfig").start_object(); + crate::json_ser::serialize_structure_network_config(&mut object_464, var_463); + object_464.finish(); } - if let Some(var_462) = &input.role_arn { - object.key("RoleArn").string(var_462); + if let Some(var_465) = &input.role_arn { + object.key("RoleArn").string(var_465); } - if let Some(var_463) = &input.tags { - let mut array_464 = object.key("Tags").start_array(); - for item_465 in var_463 { + if let Some(var_466) = &input.tags { + let mut array_467 = object.key("Tags").start_array(); + for item_468 in var_466 { { - let mut object_466 = array_464.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_466, item_465); - object_466.finish(); + let mut object_469 = array_467.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_469, item_468); + object_469.finish(); } } - array_464.finish(); + array_467.finish(); } - if let Some(var_467) = &input.experiment_config { - let mut object_468 = object.key("ExperimentConfig").start_object(); - crate::json_ser::serialize_structure_experiment_config(&mut object_468, var_467); - object_468.finish(); + if let Some(var_470) = &input.experiment_config { + let mut object_471 = object.key("ExperimentConfig").start_object(); + crate::json_ser::serialize_structure_experiment_config(&mut object_471, var_470); + object_471.finish(); } } @@ -1619,32 +1627,32 @@ pub fn serialize_structure_create_project_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateProjectInput, ) { - if let Some(var_469) = &input.project_name { - object.key("ProjectName").string(var_469); + if let Some(var_472) = &input.project_name { + object.key("ProjectName").string(var_472); } - if let Some(var_470) = &input.project_description { - object.key("ProjectDescription").string(var_470); + if let Some(var_473) = &input.project_description { + object.key("ProjectDescription").string(var_473); } - if let Some(var_471) = &input.service_catalog_provisioning_details { - let mut object_472 = object + if let Some(var_474) = &input.service_catalog_provisioning_details { + let mut object_475 = object .key("ServiceCatalogProvisioningDetails") .start_object(); crate::json_ser::serialize_structure_service_catalog_provisioning_details( - &mut object_472, - var_471, + &mut object_475, + var_474, ); - object_472.finish(); + object_475.finish(); } - if let Some(var_473) = &input.tags { - let mut array_474 = object.key("Tags").start_array(); - for item_475 in var_473 { + if let Some(var_476) = &input.tags { + let mut array_477 = object.key("Tags").start_array(); + for item_478 in var_476 { { - let mut object_476 = array_474.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_476, item_475); - object_476.finish(); + let mut object_479 = array_477.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_479, item_478); + object_479.finish(); } } - array_474.finish(); + array_477.finish(); } } @@ -1652,67 +1660,67 @@ pub fn serialize_structure_create_training_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateTrainingJobInput, ) { - if let Some(var_477) = &input.training_job_name { - object.key("TrainingJobName").string(var_477); + if let Some(var_480) = &input.training_job_name { + object.key("TrainingJobName").string(var_480); } - if let Some(var_478) = &input.hyper_parameters { - let mut object_479 = object.key("HyperParameters").start_object(); - for (key_480, value_481) in var_478 { + if let Some(var_481) = &input.hyper_parameters { + let mut object_482 = object.key("HyperParameters").start_object(); + for (key_483, value_484) in var_481 { { - object_479.key(key_480).string(value_481); + object_482.key(key_483).string(value_484); } } - object_479.finish(); + object_482.finish(); } - if let Some(var_482) = &input.algorithm_specification { - let mut object_483 = object.key("AlgorithmSpecification").start_object(); - crate::json_ser::serialize_structure_algorithm_specification(&mut object_483, var_482); - object_483.finish(); + if let Some(var_485) = &input.algorithm_specification { + let mut object_486 = object.key("AlgorithmSpecification").start_object(); + crate::json_ser::serialize_structure_algorithm_specification(&mut object_486, var_485); + object_486.finish(); } - if let Some(var_484) = &input.role_arn { - object.key("RoleArn").string(var_484); + if let Some(var_487) = &input.role_arn { + object.key("RoleArn").string(var_487); } - if let Some(var_485) = &input.input_data_config { - let mut array_486 = object.key("InputDataConfig").start_array(); - for item_487 in var_485 { + if let Some(var_488) = &input.input_data_config { + let mut array_489 = object.key("InputDataConfig").start_array(); + for item_490 in var_488 { { - let mut object_488 = array_486.value().start_object(); - crate::json_ser::serialize_structure_channel(&mut object_488, item_487); - object_488.finish(); + let mut object_491 = array_489.value().start_object(); + crate::json_ser::serialize_structure_channel(&mut object_491, item_490); + object_491.finish(); } } - array_486.finish(); + array_489.finish(); } - if let Some(var_489) = &input.output_data_config { - let mut object_490 = object.key("OutputDataConfig").start_object(); - crate::json_ser::serialize_structure_output_data_config(&mut object_490, var_489); - object_490.finish(); + if let Some(var_492) = &input.output_data_config { + let mut object_493 = object.key("OutputDataConfig").start_object(); + crate::json_ser::serialize_structure_output_data_config(&mut object_493, var_492); + object_493.finish(); } - if let Some(var_491) = &input.resource_config { - let mut object_492 = object.key("ResourceConfig").start_object(); - crate::json_ser::serialize_structure_resource_config(&mut object_492, var_491); - object_492.finish(); + if let Some(var_494) = &input.resource_config { + let mut object_495 = object.key("ResourceConfig").start_object(); + crate::json_ser::serialize_structure_resource_config(&mut object_495, var_494); + object_495.finish(); } - if let Some(var_493) = &input.vpc_config { - let mut object_494 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_494, var_493); - object_494.finish(); + if let Some(var_496) = &input.vpc_config { + let mut object_497 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_497, var_496); + object_497.finish(); } - if let Some(var_495) = &input.stopping_condition { - let mut object_496 = object.key("StoppingCondition").start_object(); - crate::json_ser::serialize_structure_stopping_condition(&mut object_496, var_495); - object_496.finish(); + if let Some(var_498) = &input.stopping_condition { + let mut object_499 = object.key("StoppingCondition").start_object(); + crate::json_ser::serialize_structure_stopping_condition(&mut object_499, var_498); + object_499.finish(); } - if let Some(var_497) = &input.tags { - let mut array_498 = object.key("Tags").start_array(); - for item_499 in var_497 { + if let Some(var_500) = &input.tags { + let mut array_501 = object.key("Tags").start_array(); + for item_502 in var_500 { { - let mut object_500 = array_498.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_500, item_499); - object_500.finish(); + let mut object_503 = array_501.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_503, item_502); + object_503.finish(); } } - array_498.finish(); + array_501.finish(); } if input.enable_network_isolation { object @@ -1729,72 +1737,72 @@ pub fn serialize_structure_create_training_job_input( .key("EnableManagedSpotTraining") .boolean(input.enable_managed_spot_training); } - if let Some(var_501) = &input.checkpoint_config { - let mut object_502 = object.key("CheckpointConfig").start_object(); - crate::json_ser::serialize_structure_checkpoint_config(&mut object_502, var_501); - object_502.finish(); + if let Some(var_504) = &input.checkpoint_config { + let mut object_505 = object.key("CheckpointConfig").start_object(); + crate::json_ser::serialize_structure_checkpoint_config(&mut object_505, var_504); + object_505.finish(); } - if let Some(var_503) = &input.debug_hook_config { - let mut object_504 = object.key("DebugHookConfig").start_object(); - crate::json_ser::serialize_structure_debug_hook_config(&mut object_504, var_503); - object_504.finish(); + if let Some(var_506) = &input.debug_hook_config { + let mut object_507 = object.key("DebugHookConfig").start_object(); + crate::json_ser::serialize_structure_debug_hook_config(&mut object_507, var_506); + object_507.finish(); } - if let Some(var_505) = &input.debug_rule_configurations { - let mut array_506 = object.key("DebugRuleConfigurations").start_array(); - for item_507 in var_505 { + if let Some(var_508) = &input.debug_rule_configurations { + let mut array_509 = object.key("DebugRuleConfigurations").start_array(); + for item_510 in var_508 { { - let mut object_508 = array_506.value().start_object(); + let mut object_511 = array_509.value().start_object(); crate::json_ser::serialize_structure_debug_rule_configuration( - &mut object_508, - item_507, + &mut object_511, + item_510, ); - object_508.finish(); + object_511.finish(); } } - array_506.finish(); + array_509.finish(); } - if let Some(var_509) = &input.tensor_board_output_config { - let mut object_510 = object.key("TensorBoardOutputConfig").start_object(); - crate::json_ser::serialize_structure_tensor_board_output_config(&mut object_510, var_509); - object_510.finish(); + if let Some(var_512) = &input.tensor_board_output_config { + let mut object_513 = object.key("TensorBoardOutputConfig").start_object(); + crate::json_ser::serialize_structure_tensor_board_output_config(&mut object_513, var_512); + object_513.finish(); } - if let Some(var_511) = &input.experiment_config { - let mut object_512 = object.key("ExperimentConfig").start_object(); - crate::json_ser::serialize_structure_experiment_config(&mut object_512, var_511); - object_512.finish(); + if let Some(var_514) = &input.experiment_config { + let mut object_515 = object.key("ExperimentConfig").start_object(); + crate::json_ser::serialize_structure_experiment_config(&mut object_515, var_514); + object_515.finish(); } - if let Some(var_513) = &input.profiler_config { - let mut object_514 = object.key("ProfilerConfig").start_object(); - crate::json_ser::serialize_structure_profiler_config(&mut object_514, var_513); - object_514.finish(); + if let Some(var_516) = &input.profiler_config { + let mut object_517 = object.key("ProfilerConfig").start_object(); + crate::json_ser::serialize_structure_profiler_config(&mut object_517, var_516); + object_517.finish(); } - if let Some(var_515) = &input.profiler_rule_configurations { - let mut array_516 = object.key("ProfilerRuleConfigurations").start_array(); - for item_517 in var_515 { + if let Some(var_518) = &input.profiler_rule_configurations { + let mut array_519 = object.key("ProfilerRuleConfigurations").start_array(); + for item_520 in var_518 { { - let mut object_518 = array_516.value().start_object(); + let mut object_521 = array_519.value().start_object(); crate::json_ser::serialize_structure_profiler_rule_configuration( - &mut object_518, - item_517, + &mut object_521, + item_520, ); - object_518.finish(); + object_521.finish(); } } - array_516.finish(); + array_519.finish(); } - if let Some(var_519) = &input.environment { - let mut object_520 = object.key("Environment").start_object(); - for (key_521, value_522) in var_519 { + if let Some(var_522) = &input.environment { + let mut object_523 = object.key("Environment").start_object(); + for (key_524, value_525) in var_522 { { - object_520.key(key_521).string(value_522); + object_523.key(key_524).string(value_525); } } - object_520.finish(); + object_523.finish(); } - if let Some(var_523) = &input.retry_strategy { - let mut object_524 = object.key("RetryStrategy").start_object(); - crate::json_ser::serialize_structure_retry_strategy(&mut object_524, var_523); - object_524.finish(); + if let Some(var_526) = &input.retry_strategy { + let mut object_527 = object.key("RetryStrategy").start_object(); + crate::json_ser::serialize_structure_retry_strategy(&mut object_527, var_526); + object_527.finish(); } } @@ -1802,76 +1810,76 @@ pub fn serialize_structure_create_transform_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateTransformJobInput, ) { - if let Some(var_525) = &input.transform_job_name { - object.key("TransformJobName").string(var_525); + if let Some(var_528) = &input.transform_job_name { + object.key("TransformJobName").string(var_528); } - if let Some(var_526) = &input.model_name { - object.key("ModelName").string(var_526); + if let Some(var_529) = &input.model_name { + object.key("ModelName").string(var_529); } - if let Some(var_527) = &input.max_concurrent_transforms { + if let Some(var_530) = &input.max_concurrent_transforms { object.key("MaxConcurrentTransforms").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_527).into()), + smithy_types::Number::NegInt((*var_530).into()), ); } - if let Some(var_528) = &input.model_client_config { - let mut object_529 = object.key("ModelClientConfig").start_object(); - crate::json_ser::serialize_structure_model_client_config(&mut object_529, var_528); - object_529.finish(); + if let Some(var_531) = &input.model_client_config { + let mut object_532 = object.key("ModelClientConfig").start_object(); + crate::json_ser::serialize_structure_model_client_config(&mut object_532, var_531); + object_532.finish(); } - if let Some(var_530) = &input.max_payload_in_mb { + if let Some(var_533) = &input.max_payload_in_mb { object.key("MaxPayloadInMB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_530).into()), + smithy_types::Number::NegInt((*var_533).into()), ); } - if let Some(var_531) = &input.batch_strategy { - object.key("BatchStrategy").string(var_531.as_str()); + if let Some(var_534) = &input.batch_strategy { + object.key("BatchStrategy").string(var_534.as_str()); } - if let Some(var_532) = &input.environment { - let mut object_533 = object.key("Environment").start_object(); - for (key_534, value_535) in var_532 { + if let Some(var_535) = &input.environment { + let mut object_536 = object.key("Environment").start_object(); + for (key_537, value_538) in var_535 { { - object_533.key(key_534).string(value_535); + object_536.key(key_537).string(value_538); } } - object_533.finish(); + object_536.finish(); } - if let Some(var_536) = &input.transform_input { - let mut object_537 = object.key("TransformInput").start_object(); - crate::json_ser::serialize_structure_transform_input(&mut object_537, var_536); - object_537.finish(); + if let Some(var_539) = &input.transform_input { + let mut object_540 = object.key("TransformInput").start_object(); + crate::json_ser::serialize_structure_transform_input(&mut object_540, var_539); + object_540.finish(); } - if let Some(var_538) = &input.transform_output { - let mut object_539 = object.key("TransformOutput").start_object(); - crate::json_ser::serialize_structure_transform_output(&mut object_539, var_538); - object_539.finish(); + if let Some(var_541) = &input.transform_output { + let mut object_542 = object.key("TransformOutput").start_object(); + crate::json_ser::serialize_structure_transform_output(&mut object_542, var_541); + object_542.finish(); } - if let Some(var_540) = &input.transform_resources { - let mut object_541 = object.key("TransformResources").start_object(); - crate::json_ser::serialize_structure_transform_resources(&mut object_541, var_540); - object_541.finish(); + if let Some(var_543) = &input.transform_resources { + let mut object_544 = object.key("TransformResources").start_object(); + crate::json_ser::serialize_structure_transform_resources(&mut object_544, var_543); + object_544.finish(); } - if let Some(var_542) = &input.data_processing { - let mut object_543 = object.key("DataProcessing").start_object(); - crate::json_ser::serialize_structure_data_processing(&mut object_543, var_542); - object_543.finish(); + if let Some(var_545) = &input.data_processing { + let mut object_546 = object.key("DataProcessing").start_object(); + crate::json_ser::serialize_structure_data_processing(&mut object_546, var_545); + object_546.finish(); } - if let Some(var_544) = &input.tags { - let mut array_545 = object.key("Tags").start_array(); - for item_546 in var_544 { + if let Some(var_547) = &input.tags { + let mut array_548 = object.key("Tags").start_array(); + for item_549 in var_547 { { - let mut object_547 = array_545.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_547, item_546); - object_547.finish(); + let mut object_550 = array_548.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_550, item_549); + object_550.finish(); } } - array_545.finish(); + array_548.finish(); } - if let Some(var_548) = &input.experiment_config { - let mut object_549 = object.key("ExperimentConfig").start_object(); - crate::json_ser::serialize_structure_experiment_config(&mut object_549, var_548); - object_549.finish(); + if let Some(var_551) = &input.experiment_config { + let mut object_552 = object.key("ExperimentConfig").start_object(); + crate::json_ser::serialize_structure_experiment_config(&mut object_552, var_551); + object_552.finish(); } } @@ -1879,30 +1887,30 @@ pub fn serialize_structure_create_trial_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateTrialInput, ) { - if let Some(var_550) = &input.trial_name { - object.key("TrialName").string(var_550); + if let Some(var_553) = &input.trial_name { + object.key("TrialName").string(var_553); } - if let Some(var_551) = &input.display_name { - object.key("DisplayName").string(var_551); + if let Some(var_554) = &input.display_name { + object.key("DisplayName").string(var_554); } - if let Some(var_552) = &input.experiment_name { - object.key("ExperimentName").string(var_552); + if let Some(var_555) = &input.experiment_name { + object.key("ExperimentName").string(var_555); } - if let Some(var_553) = &input.metadata_properties { - let mut object_554 = object.key("MetadataProperties").start_object(); - crate::json_ser::serialize_structure_metadata_properties(&mut object_554, var_553); - object_554.finish(); + if let Some(var_556) = &input.metadata_properties { + let mut object_557 = object.key("MetadataProperties").start_object(); + crate::json_ser::serialize_structure_metadata_properties(&mut object_557, var_556); + object_557.finish(); } - if let Some(var_555) = &input.tags { - let mut array_556 = object.key("Tags").start_array(); - for item_557 in var_555 { + if let Some(var_558) = &input.tags { + let mut array_559 = object.key("Tags").start_array(); + for item_560 in var_558 { { - let mut object_558 = array_556.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_558, item_557); - object_558.finish(); + let mut object_561 = array_559.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_561, item_560); + object_561.finish(); } } - array_556.finish(); + array_559.finish(); } } @@ -1910,84 +1918,84 @@ pub fn serialize_structure_create_trial_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateTrialComponentInput, ) { - if let Some(var_559) = &input.trial_component_name { - object.key("TrialComponentName").string(var_559); + if let Some(var_562) = &input.trial_component_name { + object.key("TrialComponentName").string(var_562); } - if let Some(var_560) = &input.display_name { - object.key("DisplayName").string(var_560); + if let Some(var_563) = &input.display_name { + object.key("DisplayName").string(var_563); } - if let Some(var_561) = &input.status { - let mut object_562 = object.key("Status").start_object(); - crate::json_ser::serialize_structure_trial_component_status(&mut object_562, var_561); - object_562.finish(); + if let Some(var_564) = &input.status { + let mut object_565 = object.key("Status").start_object(); + crate::json_ser::serialize_structure_trial_component_status(&mut object_565, var_564); + object_565.finish(); } - if let Some(var_563) = &input.start_time { + if let Some(var_566) = &input.start_time { object .key("StartTime") - .instant(var_563, smithy_types::instant::Format::EpochSeconds); + .instant(var_566, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_564) = &input.end_time { + if let Some(var_567) = &input.end_time { object .key("EndTime") - .instant(var_564, smithy_types::instant::Format::EpochSeconds); + .instant(var_567, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_565) = &input.parameters { - let mut object_566 = object.key("Parameters").start_object(); - for (key_567, value_568) in var_565 { + if let Some(var_568) = &input.parameters { + let mut object_569 = object.key("Parameters").start_object(); + for (key_570, value_571) in var_568 { { - let mut object_569 = object_566.key(key_567).start_object(); + let mut object_572 = object_569.key(key_570).start_object(); crate::json_ser::serialize_union_trial_component_parameter_value( - &mut object_569, - value_568, + &mut object_572, + value_571, ); - object_569.finish(); + object_572.finish(); } } - object_566.finish(); + object_569.finish(); } - if let Some(var_570) = &input.input_artifacts { - let mut object_571 = object.key("InputArtifacts").start_object(); - for (key_572, value_573) in var_570 { + if let Some(var_573) = &input.input_artifacts { + let mut object_574 = object.key("InputArtifacts").start_object(); + for (key_575, value_576) in var_573 { { - let mut object_574 = object_571.key(key_572).start_object(); + let mut object_577 = object_574.key(key_575).start_object(); crate::json_ser::serialize_structure_trial_component_artifact( - &mut object_574, - value_573, + &mut object_577, + value_576, ); - object_574.finish(); + object_577.finish(); } } - object_571.finish(); + object_574.finish(); } - if let Some(var_575) = &input.output_artifacts { - let mut object_576 = object.key("OutputArtifacts").start_object(); - for (key_577, value_578) in var_575 { + if let Some(var_578) = &input.output_artifacts { + let mut object_579 = object.key("OutputArtifacts").start_object(); + for (key_580, value_581) in var_578 { { - let mut object_579 = object_576.key(key_577).start_object(); + let mut object_582 = object_579.key(key_580).start_object(); crate::json_ser::serialize_structure_trial_component_artifact( - &mut object_579, - value_578, + &mut object_582, + value_581, ); - object_579.finish(); + object_582.finish(); } } - object_576.finish(); + object_579.finish(); } - if let Some(var_580) = &input.metadata_properties { - let mut object_581 = object.key("MetadataProperties").start_object(); - crate::json_ser::serialize_structure_metadata_properties(&mut object_581, var_580); - object_581.finish(); + if let Some(var_583) = &input.metadata_properties { + let mut object_584 = object.key("MetadataProperties").start_object(); + crate::json_ser::serialize_structure_metadata_properties(&mut object_584, var_583); + object_584.finish(); } - if let Some(var_582) = &input.tags { - let mut array_583 = object.key("Tags").start_array(); - for item_584 in var_582 { + if let Some(var_585) = &input.tags { + let mut array_586 = object.key("Tags").start_array(); + for item_587 in var_585 { { - let mut object_585 = array_583.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_585, item_584); - object_585.finish(); + let mut object_588 = array_586.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_588, item_587); + object_588.finish(); } } - array_583.finish(); + array_586.finish(); } } @@ -1995,33 +2003,33 @@ pub fn serialize_structure_create_user_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateUserProfileInput, ) { - if let Some(var_586) = &input.domain_id { - object.key("DomainId").string(var_586); + if let Some(var_589) = &input.domain_id { + object.key("DomainId").string(var_589); } - if let Some(var_587) = &input.user_profile_name { - object.key("UserProfileName").string(var_587); + if let Some(var_590) = &input.user_profile_name { + object.key("UserProfileName").string(var_590); } - if let Some(var_588) = &input.single_sign_on_user_identifier { - object.key("SingleSignOnUserIdentifier").string(var_588); + if let Some(var_591) = &input.single_sign_on_user_identifier { + object.key("SingleSignOnUserIdentifier").string(var_591); } - if let Some(var_589) = &input.single_sign_on_user_value { - object.key("SingleSignOnUserValue").string(var_589); + if let Some(var_592) = &input.single_sign_on_user_value { + object.key("SingleSignOnUserValue").string(var_592); } - if let Some(var_590) = &input.tags { - let mut array_591 = object.key("Tags").start_array(); - for item_592 in var_590 { + if let Some(var_593) = &input.tags { + let mut array_594 = object.key("Tags").start_array(); + for item_595 in var_593 { { - let mut object_593 = array_591.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_593, item_592); - object_593.finish(); + let mut object_596 = array_594.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_596, item_595); + object_596.finish(); } } - array_591.finish(); + array_594.finish(); } - if let Some(var_594) = &input.user_settings { - let mut object_595 = object.key("UserSettings").start_object(); - crate::json_ser::serialize_structure_user_settings(&mut object_595, var_594); - object_595.finish(); + if let Some(var_597) = &input.user_settings { + let mut object_598 = object.key("UserSettings").start_object(); + crate::json_ser::serialize_structure_user_settings(&mut object_598, var_597); + object_598.finish(); } } @@ -2029,34 +2037,34 @@ pub fn serialize_structure_create_workforce_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateWorkforceInput, ) { - if let Some(var_596) = &input.cognito_config { - let mut object_597 = object.key("CognitoConfig").start_object(); - crate::json_ser::serialize_structure_cognito_config(&mut object_597, var_596); - object_597.finish(); + if let Some(var_599) = &input.cognito_config { + let mut object_600 = object.key("CognitoConfig").start_object(); + crate::json_ser::serialize_structure_cognito_config(&mut object_600, var_599); + object_600.finish(); } - if let Some(var_598) = &input.oidc_config { - let mut object_599 = object.key("OidcConfig").start_object(); - crate::json_ser::serialize_structure_oidc_config(&mut object_599, var_598); - object_599.finish(); + if let Some(var_601) = &input.oidc_config { + let mut object_602 = object.key("OidcConfig").start_object(); + crate::json_ser::serialize_structure_oidc_config(&mut object_602, var_601); + object_602.finish(); } - if let Some(var_600) = &input.source_ip_config { - let mut object_601 = object.key("SourceIpConfig").start_object(); - crate::json_ser::serialize_structure_source_ip_config(&mut object_601, var_600); - object_601.finish(); + if let Some(var_603) = &input.source_ip_config { + let mut object_604 = object.key("SourceIpConfig").start_object(); + crate::json_ser::serialize_structure_source_ip_config(&mut object_604, var_603); + object_604.finish(); } - if let Some(var_602) = &input.workforce_name { - object.key("WorkforceName").string(var_602); + if let Some(var_605) = &input.workforce_name { + object.key("WorkforceName").string(var_605); } - if let Some(var_603) = &input.tags { - let mut array_604 = object.key("Tags").start_array(); - for item_605 in var_603 { + if let Some(var_606) = &input.tags { + let mut array_607 = object.key("Tags").start_array(); + for item_608 in var_606 { { - let mut object_606 = array_604.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_606, item_605); - object_606.finish(); + let mut object_609 = array_607.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_609, item_608); + object_609.finish(); } } - array_604.finish(); + array_607.finish(); } } @@ -2064,41 +2072,41 @@ pub fn serialize_structure_create_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateWorkteamInput, ) { - if let Some(var_607) = &input.workteam_name { - object.key("WorkteamName").string(var_607); + if let Some(var_610) = &input.workteam_name { + object.key("WorkteamName").string(var_610); } - if let Some(var_608) = &input.workforce_name { - object.key("WorkforceName").string(var_608); + if let Some(var_611) = &input.workforce_name { + object.key("WorkforceName").string(var_611); } - if let Some(var_609) = &input.member_definitions { - let mut array_610 = object.key("MemberDefinitions").start_array(); - for item_611 in var_609 { + if let Some(var_612) = &input.member_definitions { + let mut array_613 = object.key("MemberDefinitions").start_array(); + for item_614 in var_612 { { - let mut object_612 = array_610.value().start_object(); - crate::json_ser::serialize_structure_member_definition(&mut object_612, item_611); - object_612.finish(); + let mut object_615 = array_613.value().start_object(); + crate::json_ser::serialize_structure_member_definition(&mut object_615, item_614); + object_615.finish(); } } - array_610.finish(); + array_613.finish(); } - if let Some(var_613) = &input.description { - object.key("Description").string(var_613); + if let Some(var_616) = &input.description { + object.key("Description").string(var_616); } - if let Some(var_614) = &input.notification_configuration { - let mut object_615 = object.key("NotificationConfiguration").start_object(); - crate::json_ser::serialize_structure_notification_configuration(&mut object_615, var_614); - object_615.finish(); + if let Some(var_617) = &input.notification_configuration { + let mut object_618 = object.key("NotificationConfiguration").start_object(); + crate::json_ser::serialize_structure_notification_configuration(&mut object_618, var_617); + object_618.finish(); } - if let Some(var_616) = &input.tags { - let mut array_617 = object.key("Tags").start_array(); - for item_618 in var_616 { + if let Some(var_619) = &input.tags { + let mut array_620 = object.key("Tags").start_array(); + for item_621 in var_619 { { - let mut object_619 = array_617.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_619, item_618); - object_619.finish(); + let mut object_622 = array_620.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_622, item_621); + object_622.finish(); } } - array_617.finish(); + array_620.finish(); } } @@ -2106,8 +2114,8 @@ pub fn serialize_structure_delete_action_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteActionInput, ) { - if let Some(var_620) = &input.action_name { - object.key("ActionName").string(var_620); + if let Some(var_623) = &input.action_name { + object.key("ActionName").string(var_623); } } @@ -2115,8 +2123,8 @@ pub fn serialize_structure_delete_algorithm_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAlgorithmInput, ) { - if let Some(var_621) = &input.algorithm_name { - object.key("AlgorithmName").string(var_621); + if let Some(var_624) = &input.algorithm_name { + object.key("AlgorithmName").string(var_624); } } @@ -2124,17 +2132,17 @@ pub fn serialize_structure_delete_app_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAppInput, ) { - if let Some(var_622) = &input.domain_id { - object.key("DomainId").string(var_622); + if let Some(var_625) = &input.domain_id { + object.key("DomainId").string(var_625); } - if let Some(var_623) = &input.user_profile_name { - object.key("UserProfileName").string(var_623); + if let Some(var_626) = &input.user_profile_name { + object.key("UserProfileName").string(var_626); } - if let Some(var_624) = &input.app_type { - object.key("AppType").string(var_624.as_str()); + if let Some(var_627) = &input.app_type { + object.key("AppType").string(var_627.as_str()); } - if let Some(var_625) = &input.app_name { - object.key("AppName").string(var_625); + if let Some(var_628) = &input.app_name { + object.key("AppName").string(var_628); } } @@ -2142,8 +2150,8 @@ pub fn serialize_structure_delete_app_image_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAppImageConfigInput, ) { - if let Some(var_626) = &input.app_image_config_name { - object.key("AppImageConfigName").string(var_626); + if let Some(var_629) = &input.app_image_config_name { + object.key("AppImageConfigName").string(var_629); } } @@ -2151,13 +2159,13 @@ pub fn serialize_structure_delete_artifact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteArtifactInput, ) { - if let Some(var_627) = &input.artifact_arn { - object.key("ArtifactArn").string(var_627); + if let Some(var_630) = &input.artifact_arn { + object.key("ArtifactArn").string(var_630); } - if let Some(var_628) = &input.source { - let mut object_629 = object.key("Source").start_object(); - crate::json_ser::serialize_structure_artifact_source(&mut object_629, var_628); - object_629.finish(); + if let Some(var_631) = &input.source { + let mut object_632 = object.key("Source").start_object(); + crate::json_ser::serialize_structure_artifact_source(&mut object_632, var_631); + object_632.finish(); } } @@ -2165,11 +2173,11 @@ pub fn serialize_structure_delete_association_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteAssociationInput, ) { - if let Some(var_630) = &input.source_arn { - object.key("SourceArn").string(var_630); + if let Some(var_633) = &input.source_arn { + object.key("SourceArn").string(var_633); } - if let Some(var_631) = &input.destination_arn { - object.key("DestinationArn").string(var_631); + if let Some(var_634) = &input.destination_arn { + object.key("DestinationArn").string(var_634); } } @@ -2177,8 +2185,8 @@ pub fn serialize_structure_delete_code_repository_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteCodeRepositoryInput, ) { - if let Some(var_632) = &input.code_repository_name { - object.key("CodeRepositoryName").string(var_632); + if let Some(var_635) = &input.code_repository_name { + object.key("CodeRepositoryName").string(var_635); } } @@ -2186,8 +2194,8 @@ pub fn serialize_structure_delete_context_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteContextInput, ) { - if let Some(var_633) = &input.context_name { - object.key("ContextName").string(var_633); + if let Some(var_636) = &input.context_name { + object.key("ContextName").string(var_636); } } @@ -2195,8 +2203,8 @@ pub fn serialize_structure_delete_data_quality_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteDataQualityJobDefinitionInput, ) { - if let Some(var_634) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_634); + if let Some(var_637) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_637); } } @@ -2204,8 +2212,8 @@ pub fn serialize_structure_delete_device_fleet_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteDeviceFleetInput, ) { - if let Some(var_635) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_635); + if let Some(var_638) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_638); } } @@ -2213,13 +2221,13 @@ pub fn serialize_structure_delete_domain_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteDomainInput, ) { - if let Some(var_636) = &input.domain_id { - object.key("DomainId").string(var_636); + if let Some(var_639) = &input.domain_id { + object.key("DomainId").string(var_639); } - if let Some(var_637) = &input.retention_policy { - let mut object_638 = object.key("RetentionPolicy").start_object(); - crate::json_ser::serialize_structure_retention_policy(&mut object_638, var_637); - object_638.finish(); + if let Some(var_640) = &input.retention_policy { + let mut object_641 = object.key("RetentionPolicy").start_object(); + crate::json_ser::serialize_structure_retention_policy(&mut object_641, var_640); + object_641.finish(); } } @@ -2227,8 +2235,8 @@ pub fn serialize_structure_delete_endpoint_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteEndpointInput, ) { - if let Some(var_639) = &input.endpoint_name { - object.key("EndpointName").string(var_639); + if let Some(var_642) = &input.endpoint_name { + object.key("EndpointName").string(var_642); } } @@ -2236,8 +2244,8 @@ pub fn serialize_structure_delete_endpoint_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteEndpointConfigInput, ) { - if let Some(var_640) = &input.endpoint_config_name { - object.key("EndpointConfigName").string(var_640); + if let Some(var_643) = &input.endpoint_config_name { + object.key("EndpointConfigName").string(var_643); } } @@ -2245,8 +2253,8 @@ pub fn serialize_structure_delete_experiment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteExperimentInput, ) { - if let Some(var_641) = &input.experiment_name { - object.key("ExperimentName").string(var_641); + if let Some(var_644) = &input.experiment_name { + object.key("ExperimentName").string(var_644); } } @@ -2254,8 +2262,8 @@ pub fn serialize_structure_delete_feature_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteFeatureGroupInput, ) { - if let Some(var_642) = &input.feature_group_name { - object.key("FeatureGroupName").string(var_642); + if let Some(var_645) = &input.feature_group_name { + object.key("FeatureGroupName").string(var_645); } } @@ -2263,8 +2271,8 @@ pub fn serialize_structure_delete_flow_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteFlowDefinitionInput, ) { - if let Some(var_643) = &input.flow_definition_name { - object.key("FlowDefinitionName").string(var_643); + if let Some(var_646) = &input.flow_definition_name { + object.key("FlowDefinitionName").string(var_646); } } @@ -2272,8 +2280,8 @@ pub fn serialize_structure_delete_human_task_ui_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteHumanTaskUiInput, ) { - if let Some(var_644) = &input.human_task_ui_name { - object.key("HumanTaskUiName").string(var_644); + if let Some(var_647) = &input.human_task_ui_name { + object.key("HumanTaskUiName").string(var_647); } } @@ -2281,8 +2289,8 @@ pub fn serialize_structure_delete_image_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteImageInput, ) { - if let Some(var_645) = &input.image_name { - object.key("ImageName").string(var_645); + if let Some(var_648) = &input.image_name { + object.key("ImageName").string(var_648); } } @@ -2290,13 +2298,13 @@ pub fn serialize_structure_delete_image_version_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteImageVersionInput, ) { - if let Some(var_646) = &input.image_name { - object.key("ImageName").string(var_646); + if let Some(var_649) = &input.image_name { + object.key("ImageName").string(var_649); } - if let Some(var_647) = &input.version { + if let Some(var_650) = &input.version { object.key("Version").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_647).into()), + smithy_types::Number::NegInt((*var_650).into()), ); } } @@ -2305,8 +2313,8 @@ pub fn serialize_structure_delete_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelInput, ) { - if let Some(var_648) = &input.model_name { - object.key("ModelName").string(var_648); + if let Some(var_651) = &input.model_name { + object.key("ModelName").string(var_651); } } @@ -2314,8 +2322,8 @@ pub fn serialize_structure_delete_model_bias_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelBiasJobDefinitionInput, ) { - if let Some(var_649) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_649); + if let Some(var_652) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_652); } } @@ -2323,8 +2331,8 @@ pub fn serialize_structure_delete_model_explainability_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelExplainabilityJobDefinitionInput, ) { - if let Some(var_650) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_650); + if let Some(var_653) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_653); } } @@ -2332,8 +2340,8 @@ pub fn serialize_structure_delete_model_package_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelPackageInput, ) { - if let Some(var_651) = &input.model_package_name { - object.key("ModelPackageName").string(var_651); + if let Some(var_654) = &input.model_package_name { + object.key("ModelPackageName").string(var_654); } } @@ -2341,8 +2349,8 @@ pub fn serialize_structure_delete_model_package_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelPackageGroupInput, ) { - if let Some(var_652) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_652); + if let Some(var_655) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_655); } } @@ -2350,8 +2358,8 @@ pub fn serialize_structure_delete_model_package_group_policy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelPackageGroupPolicyInput, ) { - if let Some(var_653) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_653); + if let Some(var_656) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_656); } } @@ -2359,8 +2367,8 @@ pub fn serialize_structure_delete_model_quality_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteModelQualityJobDefinitionInput, ) { - if let Some(var_654) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_654); + if let Some(var_657) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_657); } } @@ -2368,8 +2376,8 @@ pub fn serialize_structure_delete_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteMonitoringScheduleInput, ) { - if let Some(var_655) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_655); + if let Some(var_658) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_658); } } @@ -2377,8 +2385,8 @@ pub fn serialize_structure_delete_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteNotebookInstanceInput, ) { - if let Some(var_656) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_656); + if let Some(var_659) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_659); } } @@ -2386,10 +2394,10 @@ pub fn serialize_structure_delete_notebook_instance_lifecycle_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteNotebookInstanceLifecycleConfigInput, ) { - if let Some(var_657) = &input.notebook_instance_lifecycle_config_name { + if let Some(var_660) = &input.notebook_instance_lifecycle_config_name { object .key("NotebookInstanceLifecycleConfigName") - .string(var_657); + .string(var_660); } } @@ -2397,11 +2405,11 @@ pub fn serialize_structure_delete_pipeline_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeletePipelineInput, ) { - if let Some(var_658) = &input.pipeline_name { - object.key("PipelineName").string(var_658); + if let Some(var_661) = &input.pipeline_name { + object.key("PipelineName").string(var_661); } - if let Some(var_659) = &input.client_request_token { - object.key("ClientRequestToken").string(var_659); + if let Some(var_662) = &input.client_request_token { + object.key("ClientRequestToken").string(var_662); } } @@ -2409,8 +2417,8 @@ pub fn serialize_structure_delete_project_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteProjectInput, ) { - if let Some(var_660) = &input.project_name { - object.key("ProjectName").string(var_660); + if let Some(var_663) = &input.project_name { + object.key("ProjectName").string(var_663); } } @@ -2418,17 +2426,17 @@ pub fn serialize_structure_delete_tags_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteTagsInput, ) { - if let Some(var_661) = &input.resource_arn { - object.key("ResourceArn").string(var_661); + if let Some(var_664) = &input.resource_arn { + object.key("ResourceArn").string(var_664); } - if let Some(var_662) = &input.tag_keys { - let mut array_663 = object.key("TagKeys").start_array(); - for item_664 in var_662 { + if let Some(var_665) = &input.tag_keys { + let mut array_666 = object.key("TagKeys").start_array(); + for item_667 in var_665 { { - array_663.value().string(item_664); + array_666.value().string(item_667); } } - array_663.finish(); + array_666.finish(); } } @@ -2436,8 +2444,8 @@ pub fn serialize_structure_delete_trial_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteTrialInput, ) { - if let Some(var_665) = &input.trial_name { - object.key("TrialName").string(var_665); + if let Some(var_668) = &input.trial_name { + object.key("TrialName").string(var_668); } } @@ -2445,8 +2453,8 @@ pub fn serialize_structure_delete_trial_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteTrialComponentInput, ) { - if let Some(var_666) = &input.trial_component_name { - object.key("TrialComponentName").string(var_666); + if let Some(var_669) = &input.trial_component_name { + object.key("TrialComponentName").string(var_669); } } @@ -2454,11 +2462,11 @@ pub fn serialize_structure_delete_user_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteUserProfileInput, ) { - if let Some(var_667) = &input.domain_id { - object.key("DomainId").string(var_667); + if let Some(var_670) = &input.domain_id { + object.key("DomainId").string(var_670); } - if let Some(var_668) = &input.user_profile_name { - object.key("UserProfileName").string(var_668); + if let Some(var_671) = &input.user_profile_name { + object.key("UserProfileName").string(var_671); } } @@ -2466,8 +2474,8 @@ pub fn serialize_structure_delete_workforce_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteWorkforceInput, ) { - if let Some(var_669) = &input.workforce_name { - object.key("WorkforceName").string(var_669); + if let Some(var_672) = &input.workforce_name { + object.key("WorkforceName").string(var_672); } } @@ -2475,8 +2483,8 @@ pub fn serialize_structure_delete_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteWorkteamInput, ) { - if let Some(var_670) = &input.workteam_name { - object.key("WorkteamName").string(var_670); + if let Some(var_673) = &input.workteam_name { + object.key("WorkteamName").string(var_673); } } @@ -2484,17 +2492,17 @@ pub fn serialize_structure_deregister_devices_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeregisterDevicesInput, ) { - if let Some(var_671) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_671); + if let Some(var_674) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_674); } - if let Some(var_672) = &input.device_names { - let mut array_673 = object.key("DeviceNames").start_array(); - for item_674 in var_672 { + if let Some(var_675) = &input.device_names { + let mut array_676 = object.key("DeviceNames").start_array(); + for item_677 in var_675 { { - array_673.value().string(item_674); + array_676.value().string(item_677); } } - array_673.finish(); + array_676.finish(); } } @@ -2502,8 +2510,8 @@ pub fn serialize_structure_describe_action_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeActionInput, ) { - if let Some(var_675) = &input.action_name { - object.key("ActionName").string(var_675); + if let Some(var_678) = &input.action_name { + object.key("ActionName").string(var_678); } } @@ -2511,8 +2519,8 @@ pub fn serialize_structure_describe_algorithm_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeAlgorithmInput, ) { - if let Some(var_676) = &input.algorithm_name { - object.key("AlgorithmName").string(var_676); + if let Some(var_679) = &input.algorithm_name { + object.key("AlgorithmName").string(var_679); } } @@ -2520,17 +2528,17 @@ pub fn serialize_structure_describe_app_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeAppInput, ) { - if let Some(var_677) = &input.domain_id { - object.key("DomainId").string(var_677); + if let Some(var_680) = &input.domain_id { + object.key("DomainId").string(var_680); } - if let Some(var_678) = &input.user_profile_name { - object.key("UserProfileName").string(var_678); + if let Some(var_681) = &input.user_profile_name { + object.key("UserProfileName").string(var_681); } - if let Some(var_679) = &input.app_type { - object.key("AppType").string(var_679.as_str()); + if let Some(var_682) = &input.app_type { + object.key("AppType").string(var_682.as_str()); } - if let Some(var_680) = &input.app_name { - object.key("AppName").string(var_680); + if let Some(var_683) = &input.app_name { + object.key("AppName").string(var_683); } } @@ -2538,8 +2546,8 @@ pub fn serialize_structure_describe_app_image_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeAppImageConfigInput, ) { - if let Some(var_681) = &input.app_image_config_name { - object.key("AppImageConfigName").string(var_681); + if let Some(var_684) = &input.app_image_config_name { + object.key("AppImageConfigName").string(var_684); } } @@ -2547,8 +2555,8 @@ pub fn serialize_structure_describe_artifact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeArtifactInput, ) { - if let Some(var_682) = &input.artifact_arn { - object.key("ArtifactArn").string(var_682); + if let Some(var_685) = &input.artifact_arn { + object.key("ArtifactArn").string(var_685); } } @@ -2556,8 +2564,8 @@ pub fn serialize_structure_describe_auto_ml_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeAutoMlJobInput, ) { - if let Some(var_683) = &input.auto_ml_job_name { - object.key("AutoMLJobName").string(var_683); + if let Some(var_686) = &input.auto_ml_job_name { + object.key("AutoMLJobName").string(var_686); } } @@ -2565,8 +2573,8 @@ pub fn serialize_structure_describe_code_repository_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeCodeRepositoryInput, ) { - if let Some(var_684) = &input.code_repository_name { - object.key("CodeRepositoryName").string(var_684); + if let Some(var_687) = &input.code_repository_name { + object.key("CodeRepositoryName").string(var_687); } } @@ -2574,8 +2582,8 @@ pub fn serialize_structure_describe_compilation_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeCompilationJobInput, ) { - if let Some(var_685) = &input.compilation_job_name { - object.key("CompilationJobName").string(var_685); + if let Some(var_688) = &input.compilation_job_name { + object.key("CompilationJobName").string(var_688); } } @@ -2583,8 +2591,8 @@ pub fn serialize_structure_describe_context_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeContextInput, ) { - if let Some(var_686) = &input.context_name { - object.key("ContextName").string(var_686); + if let Some(var_689) = &input.context_name { + object.key("ContextName").string(var_689); } } @@ -2592,8 +2600,8 @@ pub fn serialize_structure_describe_data_quality_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDataQualityJobDefinitionInput, ) { - if let Some(var_687) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_687); + if let Some(var_690) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_690); } } @@ -2601,14 +2609,14 @@ pub fn serialize_structure_describe_device_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDeviceInput, ) { - if let Some(var_688) = &input.next_token { - object.key("NextToken").string(var_688); + if let Some(var_691) = &input.next_token { + object.key("NextToken").string(var_691); } - if let Some(var_689) = &input.device_name { - object.key("DeviceName").string(var_689); + if let Some(var_692) = &input.device_name { + object.key("DeviceName").string(var_692); } - if let Some(var_690) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_690); + if let Some(var_693) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_693); } } @@ -2616,8 +2624,8 @@ pub fn serialize_structure_describe_device_fleet_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDeviceFleetInput, ) { - if let Some(var_691) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_691); + if let Some(var_694) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_694); } } @@ -2625,8 +2633,8 @@ pub fn serialize_structure_describe_domain_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeDomainInput, ) { - if let Some(var_692) = &input.domain_id { - object.key("DomainId").string(var_692); + if let Some(var_695) = &input.domain_id { + object.key("DomainId").string(var_695); } } @@ -2634,8 +2642,8 @@ pub fn serialize_structure_describe_edge_packaging_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEdgePackagingJobInput, ) { - if let Some(var_693) = &input.edge_packaging_job_name { - object.key("EdgePackagingJobName").string(var_693); + if let Some(var_696) = &input.edge_packaging_job_name { + object.key("EdgePackagingJobName").string(var_696); } } @@ -2643,8 +2651,8 @@ pub fn serialize_structure_describe_endpoint_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEndpointInput, ) { - if let Some(var_694) = &input.endpoint_name { - object.key("EndpointName").string(var_694); + if let Some(var_697) = &input.endpoint_name { + object.key("EndpointName").string(var_697); } } @@ -2652,8 +2660,8 @@ pub fn serialize_structure_describe_endpoint_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeEndpointConfigInput, ) { - if let Some(var_695) = &input.endpoint_config_name { - object.key("EndpointConfigName").string(var_695); + if let Some(var_698) = &input.endpoint_config_name { + object.key("EndpointConfigName").string(var_698); } } @@ -2661,8 +2669,8 @@ pub fn serialize_structure_describe_experiment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeExperimentInput, ) { - if let Some(var_696) = &input.experiment_name { - object.key("ExperimentName").string(var_696); + if let Some(var_699) = &input.experiment_name { + object.key("ExperimentName").string(var_699); } } @@ -2670,11 +2678,11 @@ pub fn serialize_structure_describe_feature_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeFeatureGroupInput, ) { - if let Some(var_697) = &input.feature_group_name { - object.key("FeatureGroupName").string(var_697); + if let Some(var_700) = &input.feature_group_name { + object.key("FeatureGroupName").string(var_700); } - if let Some(var_698) = &input.next_token { - object.key("NextToken").string(var_698); + if let Some(var_701) = &input.next_token { + object.key("NextToken").string(var_701); } } @@ -2682,8 +2690,8 @@ pub fn serialize_structure_describe_flow_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeFlowDefinitionInput, ) { - if let Some(var_699) = &input.flow_definition_name { - object.key("FlowDefinitionName").string(var_699); + if let Some(var_702) = &input.flow_definition_name { + object.key("FlowDefinitionName").string(var_702); } } @@ -2691,8 +2699,8 @@ pub fn serialize_structure_describe_human_task_ui_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeHumanTaskUiInput, ) { - if let Some(var_700) = &input.human_task_ui_name { - object.key("HumanTaskUiName").string(var_700); + if let Some(var_703) = &input.human_task_ui_name { + object.key("HumanTaskUiName").string(var_703); } } @@ -2700,8 +2708,8 @@ pub fn serialize_structure_describe_hyper_parameter_tuning_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeHyperParameterTuningJobInput, ) { - if let Some(var_701) = &input.hyper_parameter_tuning_job_name { - object.key("HyperParameterTuningJobName").string(var_701); + if let Some(var_704) = &input.hyper_parameter_tuning_job_name { + object.key("HyperParameterTuningJobName").string(var_704); } } @@ -2709,8 +2717,8 @@ pub fn serialize_structure_describe_image_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeImageInput, ) { - if let Some(var_702) = &input.image_name { - object.key("ImageName").string(var_702); + if let Some(var_705) = &input.image_name { + object.key("ImageName").string(var_705); } } @@ -2718,13 +2726,13 @@ pub fn serialize_structure_describe_image_version_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeImageVersionInput, ) { - if let Some(var_703) = &input.image_name { - object.key("ImageName").string(var_703); + if let Some(var_706) = &input.image_name { + object.key("ImageName").string(var_706); } - if let Some(var_704) = &input.version { + if let Some(var_707) = &input.version { object.key("Version").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_704).into()), + smithy_types::Number::NegInt((*var_707).into()), ); } } @@ -2733,8 +2741,8 @@ pub fn serialize_structure_describe_labeling_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeLabelingJobInput, ) { - if let Some(var_705) = &input.labeling_job_name { - object.key("LabelingJobName").string(var_705); + if let Some(var_708) = &input.labeling_job_name { + object.key("LabelingJobName").string(var_708); } } @@ -2742,8 +2750,8 @@ pub fn serialize_structure_describe_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelInput, ) { - if let Some(var_706) = &input.model_name { - object.key("ModelName").string(var_706); + if let Some(var_709) = &input.model_name { + object.key("ModelName").string(var_709); } } @@ -2751,8 +2759,8 @@ pub fn serialize_structure_describe_model_bias_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelBiasJobDefinitionInput, ) { - if let Some(var_707) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_707); + if let Some(var_710) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_710); } } @@ -2760,8 +2768,8 @@ pub fn serialize_structure_describe_model_explainability_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelExplainabilityJobDefinitionInput, ) { - if let Some(var_708) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_708); + if let Some(var_711) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_711); } } @@ -2769,8 +2777,8 @@ pub fn serialize_structure_describe_model_package_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelPackageInput, ) { - if let Some(var_709) = &input.model_package_name { - object.key("ModelPackageName").string(var_709); + if let Some(var_712) = &input.model_package_name { + object.key("ModelPackageName").string(var_712); } } @@ -2778,8 +2786,8 @@ pub fn serialize_structure_describe_model_package_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelPackageGroupInput, ) { - if let Some(var_710) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_710); + if let Some(var_713) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_713); } } @@ -2787,8 +2795,8 @@ pub fn serialize_structure_describe_model_quality_job_definition_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeModelQualityJobDefinitionInput, ) { - if let Some(var_711) = &input.job_definition_name { - object.key("JobDefinitionName").string(var_711); + if let Some(var_714) = &input.job_definition_name { + object.key("JobDefinitionName").string(var_714); } } @@ -2796,8 +2804,8 @@ pub fn serialize_structure_describe_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeMonitoringScheduleInput, ) { - if let Some(var_712) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_712); + if let Some(var_715) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_715); } } @@ -2805,8 +2813,8 @@ pub fn serialize_structure_describe_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeNotebookInstanceInput, ) { - if let Some(var_713) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_713); + if let Some(var_716) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_716); } } @@ -2814,10 +2822,10 @@ pub fn serialize_structure_describe_notebook_instance_lifecycle_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeNotebookInstanceLifecycleConfigInput, ) { - if let Some(var_714) = &input.notebook_instance_lifecycle_config_name { + if let Some(var_717) = &input.notebook_instance_lifecycle_config_name { object .key("NotebookInstanceLifecycleConfigName") - .string(var_714); + .string(var_717); } } @@ -2825,8 +2833,8 @@ pub fn serialize_structure_describe_pipeline_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribePipelineInput, ) { - if let Some(var_715) = &input.pipeline_name { - object.key("PipelineName").string(var_715); + if let Some(var_718) = &input.pipeline_name { + object.key("PipelineName").string(var_718); } } @@ -2834,8 +2842,8 @@ pub fn serialize_structure_describe_pipeline_definition_for_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribePipelineDefinitionForExecutionInput, ) { - if let Some(var_716) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_716); + if let Some(var_719) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_719); } } @@ -2843,8 +2851,8 @@ pub fn serialize_structure_describe_pipeline_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribePipelineExecutionInput, ) { - if let Some(var_717) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_717); + if let Some(var_720) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_720); } } @@ -2852,8 +2860,8 @@ pub fn serialize_structure_describe_processing_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeProcessingJobInput, ) { - if let Some(var_718) = &input.processing_job_name { - object.key("ProcessingJobName").string(var_718); + if let Some(var_721) = &input.processing_job_name { + object.key("ProcessingJobName").string(var_721); } } @@ -2861,8 +2869,8 @@ pub fn serialize_structure_describe_project_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeProjectInput, ) { - if let Some(var_719) = &input.project_name { - object.key("ProjectName").string(var_719); + if let Some(var_722) = &input.project_name { + object.key("ProjectName").string(var_722); } } @@ -2870,8 +2878,8 @@ pub fn serialize_structure_describe_subscribed_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeSubscribedWorkteamInput, ) { - if let Some(var_720) = &input.workteam_arn { - object.key("WorkteamArn").string(var_720); + if let Some(var_723) = &input.workteam_arn { + object.key("WorkteamArn").string(var_723); } } @@ -2879,8 +2887,8 @@ pub fn serialize_structure_describe_training_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeTrainingJobInput, ) { - if let Some(var_721) = &input.training_job_name { - object.key("TrainingJobName").string(var_721); + if let Some(var_724) = &input.training_job_name { + object.key("TrainingJobName").string(var_724); } } @@ -2888,8 +2896,8 @@ pub fn serialize_structure_describe_transform_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeTransformJobInput, ) { - if let Some(var_722) = &input.transform_job_name { - object.key("TransformJobName").string(var_722); + if let Some(var_725) = &input.transform_job_name { + object.key("TransformJobName").string(var_725); } } @@ -2897,8 +2905,8 @@ pub fn serialize_structure_describe_trial_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeTrialInput, ) { - if let Some(var_723) = &input.trial_name { - object.key("TrialName").string(var_723); + if let Some(var_726) = &input.trial_name { + object.key("TrialName").string(var_726); } } @@ -2906,8 +2914,8 @@ pub fn serialize_structure_describe_trial_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeTrialComponentInput, ) { - if let Some(var_724) = &input.trial_component_name { - object.key("TrialComponentName").string(var_724); + if let Some(var_727) = &input.trial_component_name { + object.key("TrialComponentName").string(var_727); } } @@ -2915,11 +2923,11 @@ pub fn serialize_structure_describe_user_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeUserProfileInput, ) { - if let Some(var_725) = &input.domain_id { - object.key("DomainId").string(var_725); + if let Some(var_728) = &input.domain_id { + object.key("DomainId").string(var_728); } - if let Some(var_726) = &input.user_profile_name { - object.key("UserProfileName").string(var_726); + if let Some(var_729) = &input.user_profile_name { + object.key("UserProfileName").string(var_729); } } @@ -2927,8 +2935,8 @@ pub fn serialize_structure_describe_workforce_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeWorkforceInput, ) { - if let Some(var_727) = &input.workforce_name { - object.key("WorkforceName").string(var_727); + if let Some(var_730) = &input.workforce_name { + object.key("WorkforceName").string(var_730); } } @@ -2936,8 +2944,8 @@ pub fn serialize_structure_describe_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeWorkteamInput, ) { - if let Some(var_728) = &input.workteam_name { - object.key("WorkteamName").string(var_728); + if let Some(var_731) = &input.workteam_name { + object.key("WorkteamName").string(var_731); } } @@ -2945,11 +2953,11 @@ pub fn serialize_structure_disassociate_trial_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisassociateTrialComponentInput, ) { - if let Some(var_729) = &input.trial_component_name { - object.key("TrialComponentName").string(var_729); + if let Some(var_732) = &input.trial_component_name { + object.key("TrialComponentName").string(var_732); } - if let Some(var_730) = &input.trial_name { - object.key("TrialName").string(var_730); + if let Some(var_733) = &input.trial_name { + object.key("TrialName").string(var_733); } } @@ -2957,8 +2965,8 @@ pub fn serialize_structure_get_device_fleet_report_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetDeviceFleetReportInput, ) { - if let Some(var_731) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_731); + if let Some(var_734) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_734); } } @@ -2966,8 +2974,8 @@ pub fn serialize_structure_get_model_package_group_policy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetModelPackageGroupPolicyInput, ) { - if let Some(var_732) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_732); + if let Some(var_735) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_735); } } @@ -2975,13 +2983,13 @@ pub fn serialize_structure_get_search_suggestions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSearchSuggestionsInput, ) { - if let Some(var_733) = &input.resource { - object.key("Resource").string(var_733.as_str()); + if let Some(var_736) = &input.resource { + object.key("Resource").string(var_736.as_str()); } - if let Some(var_734) = &input.suggestion_query { - let mut object_735 = object.key("SuggestionQuery").start_object(); - crate::json_ser::serialize_structure_suggestion_query(&mut object_735, var_734); - object_735.finish(); + if let Some(var_737) = &input.suggestion_query { + let mut object_738 = object.key("SuggestionQuery").start_object(); + crate::json_ser::serialize_structure_suggestion_query(&mut object_738, var_737); + object_738.finish(); } } @@ -2989,35 +2997,35 @@ pub fn serialize_structure_list_actions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListActionsInput, ) { - if let Some(var_736) = &input.source_uri { - object.key("SourceUri").string(var_736); + if let Some(var_739) = &input.source_uri { + object.key("SourceUri").string(var_739); } - if let Some(var_737) = &input.action_type { - object.key("ActionType").string(var_737); + if let Some(var_740) = &input.action_type { + object.key("ActionType").string(var_740); } - if let Some(var_738) = &input.created_after { + if let Some(var_741) = &input.created_after { object .key("CreatedAfter") - .instant(var_738, smithy_types::instant::Format::EpochSeconds); + .instant(var_741, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_739) = &input.created_before { + if let Some(var_742) = &input.created_before { object .key("CreatedBefore") - .instant(var_739, smithy_types::instant::Format::EpochSeconds); + .instant(var_742, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_740) = &input.sort_by { - object.key("SortBy").string(var_740.as_str()); + if let Some(var_743) = &input.sort_by { + object.key("SortBy").string(var_743.as_str()); } - if let Some(var_741) = &input.sort_order { - object.key("SortOrder").string(var_741.as_str()); + if let Some(var_744) = &input.sort_order { + object.key("SortOrder").string(var_744.as_str()); } - if let Some(var_742) = &input.next_token { - object.key("NextToken").string(var_742); + if let Some(var_745) = &input.next_token { + object.key("NextToken").string(var_745); } - if let Some(var_743) = &input.max_results { + if let Some(var_746) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_743).into()), + smithy_types::Number::NegInt((*var_746).into()), ); } } @@ -3026,33 +3034,33 @@ pub fn serialize_structure_list_algorithms_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAlgorithmsInput, ) { - if let Some(var_744) = &input.creation_time_after { + if let Some(var_747) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_744, smithy_types::instant::Format::EpochSeconds); + .instant(var_747, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_745) = &input.creation_time_before { + if let Some(var_748) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_745, smithy_types::instant::Format::EpochSeconds); + .instant(var_748, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_746) = &input.max_results { + if let Some(var_749) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_746).into()), + smithy_types::Number::NegInt((*var_749).into()), ); } - if let Some(var_747) = &input.name_contains { - object.key("NameContains").string(var_747); + if let Some(var_750) = &input.name_contains { + object.key("NameContains").string(var_750); } - if let Some(var_748) = &input.next_token { - object.key("NextToken").string(var_748); + if let Some(var_751) = &input.next_token { + object.key("NextToken").string(var_751); } - if let Some(var_749) = &input.sort_by { - object.key("SortBy").string(var_749.as_str()); + if let Some(var_752) = &input.sort_by { + object.key("SortBy").string(var_752.as_str()); } - if let Some(var_750) = &input.sort_order { - object.key("SortOrder").string(var_750.as_str()); + if let Some(var_753) = &input.sort_order { + object.key("SortOrder").string(var_753.as_str()); } } @@ -3060,43 +3068,43 @@ pub fn serialize_structure_list_app_image_configs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAppImageConfigsInput, ) { - if let Some(var_751) = &input.max_results { + if let Some(var_754) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_751).into()), + smithy_types::Number::NegInt((*var_754).into()), ); } - if let Some(var_752) = &input.next_token { - object.key("NextToken").string(var_752); + if let Some(var_755) = &input.next_token { + object.key("NextToken").string(var_755); } - if let Some(var_753) = &input.name_contains { - object.key("NameContains").string(var_753); + if let Some(var_756) = &input.name_contains { + object.key("NameContains").string(var_756); } - if let Some(var_754) = &input.creation_time_before { + if let Some(var_757) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_754, smithy_types::instant::Format::EpochSeconds); + .instant(var_757, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_755) = &input.creation_time_after { + if let Some(var_758) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_755, smithy_types::instant::Format::EpochSeconds); + .instant(var_758, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_756) = &input.modified_time_before { + if let Some(var_759) = &input.modified_time_before { object .key("ModifiedTimeBefore") - .instant(var_756, smithy_types::instant::Format::EpochSeconds); + .instant(var_759, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_757) = &input.modified_time_after { + if let Some(var_760) = &input.modified_time_after { object .key("ModifiedTimeAfter") - .instant(var_757, smithy_types::instant::Format::EpochSeconds); + .instant(var_760, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_758) = &input.sort_by { - object.key("SortBy").string(var_758.as_str()); + if let Some(var_761) = &input.sort_by { + object.key("SortBy").string(var_761.as_str()); } - if let Some(var_759) = &input.sort_order { - object.key("SortOrder").string(var_759.as_str()); + if let Some(var_762) = &input.sort_order { + object.key("SortOrder").string(var_762.as_str()); } } @@ -3104,26 +3112,26 @@ pub fn serialize_structure_list_apps_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAppsInput, ) { - if let Some(var_760) = &input.next_token { - object.key("NextToken").string(var_760); + if let Some(var_763) = &input.next_token { + object.key("NextToken").string(var_763); } - if let Some(var_761) = &input.max_results { + if let Some(var_764) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_761).into()), + smithy_types::Number::NegInt((*var_764).into()), ); } - if let Some(var_762) = &input.sort_order { - object.key("SortOrder").string(var_762.as_str()); + if let Some(var_765) = &input.sort_order { + object.key("SortOrder").string(var_765.as_str()); } - if let Some(var_763) = &input.sort_by { - object.key("SortBy").string(var_763.as_str()); + if let Some(var_766) = &input.sort_by { + object.key("SortBy").string(var_766.as_str()); } - if let Some(var_764) = &input.domain_id_equals { - object.key("DomainIdEquals").string(var_764); + if let Some(var_767) = &input.domain_id_equals { + object.key("DomainIdEquals").string(var_767); } - if let Some(var_765) = &input.user_profile_name_equals { - object.key("UserProfileNameEquals").string(var_765); + if let Some(var_768) = &input.user_profile_name_equals { + object.key("UserProfileNameEquals").string(var_768); } } @@ -3131,35 +3139,35 @@ pub fn serialize_structure_list_artifacts_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListArtifactsInput, ) { - if let Some(var_766) = &input.source_uri { - object.key("SourceUri").string(var_766); + if let Some(var_769) = &input.source_uri { + object.key("SourceUri").string(var_769); } - if let Some(var_767) = &input.artifact_type { - object.key("ArtifactType").string(var_767); + if let Some(var_770) = &input.artifact_type { + object.key("ArtifactType").string(var_770); } - if let Some(var_768) = &input.created_after { + if let Some(var_771) = &input.created_after { object .key("CreatedAfter") - .instant(var_768, smithy_types::instant::Format::EpochSeconds); + .instant(var_771, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_769) = &input.created_before { + if let Some(var_772) = &input.created_before { object .key("CreatedBefore") - .instant(var_769, smithy_types::instant::Format::EpochSeconds); + .instant(var_772, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_770) = &input.sort_by { - object.key("SortBy").string(var_770.as_str()); + if let Some(var_773) = &input.sort_by { + object.key("SortBy").string(var_773.as_str()); } - if let Some(var_771) = &input.sort_order { - object.key("SortOrder").string(var_771.as_str()); + if let Some(var_774) = &input.sort_order { + object.key("SortOrder").string(var_774.as_str()); } - if let Some(var_772) = &input.next_token { - object.key("NextToken").string(var_772); + if let Some(var_775) = &input.next_token { + object.key("NextToken").string(var_775); } - if let Some(var_773) = &input.max_results { + if let Some(var_776) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_773).into()), + smithy_types::Number::NegInt((*var_776).into()), ); } } @@ -3168,44 +3176,44 @@ pub fn serialize_structure_list_associations_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAssociationsInput, ) { - if let Some(var_774) = &input.source_arn { - object.key("SourceArn").string(var_774); + if let Some(var_777) = &input.source_arn { + object.key("SourceArn").string(var_777); } - if let Some(var_775) = &input.destination_arn { - object.key("DestinationArn").string(var_775); + if let Some(var_778) = &input.destination_arn { + object.key("DestinationArn").string(var_778); } - if let Some(var_776) = &input.source_type { - object.key("SourceType").string(var_776); + if let Some(var_779) = &input.source_type { + object.key("SourceType").string(var_779); } - if let Some(var_777) = &input.destination_type { - object.key("DestinationType").string(var_777); + if let Some(var_780) = &input.destination_type { + object.key("DestinationType").string(var_780); } - if let Some(var_778) = &input.association_type { - object.key("AssociationType").string(var_778.as_str()); + if let Some(var_781) = &input.association_type { + object.key("AssociationType").string(var_781.as_str()); } - if let Some(var_779) = &input.created_after { + if let Some(var_782) = &input.created_after { object .key("CreatedAfter") - .instant(var_779, smithy_types::instant::Format::EpochSeconds); + .instant(var_782, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_780) = &input.created_before { + if let Some(var_783) = &input.created_before { object .key("CreatedBefore") - .instant(var_780, smithy_types::instant::Format::EpochSeconds); + .instant(var_783, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_781) = &input.sort_by { - object.key("SortBy").string(var_781.as_str()); + if let Some(var_784) = &input.sort_by { + object.key("SortBy").string(var_784.as_str()); } - if let Some(var_782) = &input.sort_order { - object.key("SortOrder").string(var_782.as_str()); + if let Some(var_785) = &input.sort_order { + object.key("SortOrder").string(var_785.as_str()); } - if let Some(var_783) = &input.next_token { - object.key("NextToken").string(var_783); + if let Some(var_786) = &input.next_token { + object.key("NextToken").string(var_786); } - if let Some(var_784) = &input.max_results { + if let Some(var_787) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_784).into()), + smithy_types::Number::NegInt((*var_787).into()), ); } } @@ -3214,46 +3222,46 @@ pub fn serialize_structure_list_auto_ml_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAutoMlJobsInput, ) { - if let Some(var_785) = &input.creation_time_after { + if let Some(var_788) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_785, smithy_types::instant::Format::EpochSeconds); + .instant(var_788, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_786) = &input.creation_time_before { + if let Some(var_789) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_786, smithy_types::instant::Format::EpochSeconds); + .instant(var_789, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_787) = &input.last_modified_time_after { + if let Some(var_790) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_787, smithy_types::instant::Format::EpochSeconds); + .instant(var_790, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_788) = &input.last_modified_time_before { + if let Some(var_791) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_788, smithy_types::instant::Format::EpochSeconds); + .instant(var_791, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_789) = &input.name_contains { - object.key("NameContains").string(var_789); + if let Some(var_792) = &input.name_contains { + object.key("NameContains").string(var_792); } - if let Some(var_790) = &input.status_equals { - object.key("StatusEquals").string(var_790.as_str()); + if let Some(var_793) = &input.status_equals { + object.key("StatusEquals").string(var_793.as_str()); } - if let Some(var_791) = &input.sort_order { - object.key("SortOrder").string(var_791.as_str()); + if let Some(var_794) = &input.sort_order { + object.key("SortOrder").string(var_794.as_str()); } - if let Some(var_792) = &input.sort_by { - object.key("SortBy").string(var_792.as_str()); + if let Some(var_795) = &input.sort_by { + object.key("SortBy").string(var_795.as_str()); } - if let Some(var_793) = &input.max_results { + if let Some(var_796) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_793).into()), + smithy_types::Number::NegInt((*var_796).into()), ); } - if let Some(var_794) = &input.next_token { - object.key("NextToken").string(var_794); + if let Some(var_797) = &input.next_token { + object.key("NextToken").string(var_797); } } @@ -3261,29 +3269,29 @@ pub fn serialize_structure_list_candidates_for_auto_ml_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListCandidatesForAutoMlJobInput, ) { - if let Some(var_795) = &input.auto_ml_job_name { - object.key("AutoMLJobName").string(var_795); + if let Some(var_798) = &input.auto_ml_job_name { + object.key("AutoMLJobName").string(var_798); } - if let Some(var_796) = &input.status_equals { - object.key("StatusEquals").string(var_796.as_str()); + if let Some(var_799) = &input.status_equals { + object.key("StatusEquals").string(var_799.as_str()); } - if let Some(var_797) = &input.candidate_name_equals { - object.key("CandidateNameEquals").string(var_797); + if let Some(var_800) = &input.candidate_name_equals { + object.key("CandidateNameEquals").string(var_800); } - if let Some(var_798) = &input.sort_order { - object.key("SortOrder").string(var_798.as_str()); + if let Some(var_801) = &input.sort_order { + object.key("SortOrder").string(var_801.as_str()); } - if let Some(var_799) = &input.sort_by { - object.key("SortBy").string(var_799.as_str()); + if let Some(var_802) = &input.sort_by { + object.key("SortBy").string(var_802.as_str()); } - if let Some(var_800) = &input.max_results { + if let Some(var_803) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_800).into()), + smithy_types::Number::NegInt((*var_803).into()), ); } - if let Some(var_801) = &input.next_token { - object.key("NextToken").string(var_801); + if let Some(var_804) = &input.next_token { + object.key("NextToken").string(var_804); } } @@ -3291,43 +3299,43 @@ pub fn serialize_structure_list_code_repositories_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListCodeRepositoriesInput, ) { - if let Some(var_802) = &input.creation_time_after { + if let Some(var_805) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_802, smithy_types::instant::Format::EpochSeconds); + .instant(var_805, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_803) = &input.creation_time_before { + if let Some(var_806) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_803, smithy_types::instant::Format::EpochSeconds); + .instant(var_806, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_804) = &input.last_modified_time_after { + if let Some(var_807) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_804, smithy_types::instant::Format::EpochSeconds); + .instant(var_807, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_805) = &input.last_modified_time_before { + if let Some(var_808) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_805, smithy_types::instant::Format::EpochSeconds); + .instant(var_808, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_806) = &input.max_results { + if let Some(var_809) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_806).into()), + smithy_types::Number::NegInt((*var_809).into()), ); } - if let Some(var_807) = &input.name_contains { - object.key("NameContains").string(var_807); + if let Some(var_810) = &input.name_contains { + object.key("NameContains").string(var_810); } - if let Some(var_808) = &input.next_token { - object.key("NextToken").string(var_808); + if let Some(var_811) = &input.next_token { + object.key("NextToken").string(var_811); } - if let Some(var_809) = &input.sort_by { - object.key("SortBy").string(var_809.as_str()); + if let Some(var_812) = &input.sort_by { + object.key("SortBy").string(var_812.as_str()); } - if let Some(var_810) = &input.sort_order { - object.key("SortOrder").string(var_810.as_str()); + if let Some(var_813) = &input.sort_order { + object.key("SortOrder").string(var_813.as_str()); } } @@ -3335,46 +3343,46 @@ pub fn serialize_structure_list_compilation_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListCompilationJobsInput, ) { - if let Some(var_811) = &input.next_token { - object.key("NextToken").string(var_811); + if let Some(var_814) = &input.next_token { + object.key("NextToken").string(var_814); } - if let Some(var_812) = &input.max_results { + if let Some(var_815) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_812).into()), + smithy_types::Number::NegInt((*var_815).into()), ); } - if let Some(var_813) = &input.creation_time_after { + if let Some(var_816) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_813, smithy_types::instant::Format::EpochSeconds); + .instant(var_816, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_814) = &input.creation_time_before { + if let Some(var_817) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_814, smithy_types::instant::Format::EpochSeconds); + .instant(var_817, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_815) = &input.last_modified_time_after { + if let Some(var_818) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_815, smithy_types::instant::Format::EpochSeconds); + .instant(var_818, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_816) = &input.last_modified_time_before { + if let Some(var_819) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_816, smithy_types::instant::Format::EpochSeconds); + .instant(var_819, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_817) = &input.name_contains { - object.key("NameContains").string(var_817); + if let Some(var_820) = &input.name_contains { + object.key("NameContains").string(var_820); } - if let Some(var_818) = &input.status_equals { - object.key("StatusEquals").string(var_818.as_str()); + if let Some(var_821) = &input.status_equals { + object.key("StatusEquals").string(var_821.as_str()); } - if let Some(var_819) = &input.sort_by { - object.key("SortBy").string(var_819.as_str()); + if let Some(var_822) = &input.sort_by { + object.key("SortBy").string(var_822.as_str()); } - if let Some(var_820) = &input.sort_order { - object.key("SortOrder").string(var_820.as_str()); + if let Some(var_823) = &input.sort_order { + object.key("SortOrder").string(var_823.as_str()); } } @@ -3382,35 +3390,35 @@ pub fn serialize_structure_list_contexts_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListContextsInput, ) { - if let Some(var_821) = &input.source_uri { - object.key("SourceUri").string(var_821); + if let Some(var_824) = &input.source_uri { + object.key("SourceUri").string(var_824); } - if let Some(var_822) = &input.context_type { - object.key("ContextType").string(var_822); + if let Some(var_825) = &input.context_type { + object.key("ContextType").string(var_825); } - if let Some(var_823) = &input.created_after { + if let Some(var_826) = &input.created_after { object .key("CreatedAfter") - .instant(var_823, smithy_types::instant::Format::EpochSeconds); + .instant(var_826, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_824) = &input.created_before { + if let Some(var_827) = &input.created_before { object .key("CreatedBefore") - .instant(var_824, smithy_types::instant::Format::EpochSeconds); + .instant(var_827, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_825) = &input.sort_by { - object.key("SortBy").string(var_825.as_str()); + if let Some(var_828) = &input.sort_by { + object.key("SortBy").string(var_828.as_str()); } - if let Some(var_826) = &input.sort_order { - object.key("SortOrder").string(var_826.as_str()); + if let Some(var_829) = &input.sort_order { + object.key("SortOrder").string(var_829.as_str()); } - if let Some(var_827) = &input.next_token { - object.key("NextToken").string(var_827); + if let Some(var_830) = &input.next_token { + object.key("NextToken").string(var_830); } - if let Some(var_828) = &input.max_results { + if let Some(var_831) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_828).into()), + smithy_types::Number::NegInt((*var_831).into()), ); } } @@ -3419,36 +3427,36 @@ pub fn serialize_structure_list_data_quality_job_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListDataQualityJobDefinitionsInput, ) { - if let Some(var_829) = &input.endpoint_name { - object.key("EndpointName").string(var_829); + if let Some(var_832) = &input.endpoint_name { + object.key("EndpointName").string(var_832); } - if let Some(var_830) = &input.sort_by { - object.key("SortBy").string(var_830.as_str()); + if let Some(var_833) = &input.sort_by { + object.key("SortBy").string(var_833.as_str()); } - if let Some(var_831) = &input.sort_order { - object.key("SortOrder").string(var_831.as_str()); + if let Some(var_834) = &input.sort_order { + object.key("SortOrder").string(var_834.as_str()); } - if let Some(var_832) = &input.next_token { - object.key("NextToken").string(var_832); + if let Some(var_835) = &input.next_token { + object.key("NextToken").string(var_835); } - if let Some(var_833) = &input.max_results { + if let Some(var_836) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_833).into()), + smithy_types::Number::NegInt((*var_836).into()), ); } - if let Some(var_834) = &input.name_contains { - object.key("NameContains").string(var_834); + if let Some(var_837) = &input.name_contains { + object.key("NameContains").string(var_837); } - if let Some(var_835) = &input.creation_time_before { + if let Some(var_838) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_835, smithy_types::instant::Format::EpochSeconds); + .instant(var_838, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_836) = &input.creation_time_after { + if let Some(var_839) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_836, smithy_types::instant::Format::EpochSeconds); + .instant(var_839, smithy_types::instant::Format::EpochSeconds); } } @@ -3456,43 +3464,43 @@ pub fn serialize_structure_list_device_fleets_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListDeviceFleetsInput, ) { - if let Some(var_837) = &input.next_token { - object.key("NextToken").string(var_837); + if let Some(var_840) = &input.next_token { + object.key("NextToken").string(var_840); } - if let Some(var_838) = &input.max_results { + if let Some(var_841) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_838).into()), + smithy_types::Number::NegInt((*var_841).into()), ); } - if let Some(var_839) = &input.creation_time_after { + if let Some(var_842) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_839, smithy_types::instant::Format::EpochSeconds); + .instant(var_842, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_840) = &input.creation_time_before { + if let Some(var_843) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_840, smithy_types::instant::Format::EpochSeconds); + .instant(var_843, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_841) = &input.last_modified_time_after { + if let Some(var_844) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_841, smithy_types::instant::Format::EpochSeconds); + .instant(var_844, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_842) = &input.last_modified_time_before { + if let Some(var_845) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_842, smithy_types::instant::Format::EpochSeconds); + .instant(var_845, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_843) = &input.name_contains { - object.key("NameContains").string(var_843); + if let Some(var_846) = &input.name_contains { + object.key("NameContains").string(var_846); } - if let Some(var_844) = &input.sort_by { - object.key("SortBy").string(var_844.as_str()); + if let Some(var_847) = &input.sort_by { + object.key("SortBy").string(var_847.as_str()); } - if let Some(var_845) = &input.sort_order { - object.key("SortOrder").string(var_845.as_str()); + if let Some(var_848) = &input.sort_order { + object.key("SortOrder").string(var_848.as_str()); } } @@ -3500,25 +3508,25 @@ pub fn serialize_structure_list_devices_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListDevicesInput, ) { - if let Some(var_846) = &input.next_token { - object.key("NextToken").string(var_846); + if let Some(var_849) = &input.next_token { + object.key("NextToken").string(var_849); } - if let Some(var_847) = &input.max_results { + if let Some(var_850) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_847).into()), + smithy_types::Number::NegInt((*var_850).into()), ); } - if let Some(var_848) = &input.latest_heartbeat_after { + if let Some(var_851) = &input.latest_heartbeat_after { object .key("LatestHeartbeatAfter") - .instant(var_848, smithy_types::instant::Format::EpochSeconds); + .instant(var_851, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_849) = &input.model_name { - object.key("ModelName").string(var_849); + if let Some(var_852) = &input.model_name { + object.key("ModelName").string(var_852); } - if let Some(var_850) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_850); + if let Some(var_853) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_853); } } @@ -3526,13 +3534,13 @@ pub fn serialize_structure_list_domains_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListDomainsInput, ) { - if let Some(var_851) = &input.next_token { - object.key("NextToken").string(var_851); + if let Some(var_854) = &input.next_token { + object.key("NextToken").string(var_854); } - if let Some(var_852) = &input.max_results { + if let Some(var_855) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_852).into()), + smithy_types::Number::NegInt((*var_855).into()), ); } } @@ -3541,49 +3549,49 @@ pub fn serialize_structure_list_edge_packaging_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListEdgePackagingJobsInput, ) { - if let Some(var_853) = &input.next_token { - object.key("NextToken").string(var_853); + if let Some(var_856) = &input.next_token { + object.key("NextToken").string(var_856); } - if let Some(var_854) = &input.max_results { + if let Some(var_857) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_854).into()), + smithy_types::Number::NegInt((*var_857).into()), ); } - if let Some(var_855) = &input.creation_time_after { + if let Some(var_858) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_855, smithy_types::instant::Format::EpochSeconds); + .instant(var_858, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_856) = &input.creation_time_before { + if let Some(var_859) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_856, smithy_types::instant::Format::EpochSeconds); + .instant(var_859, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_857) = &input.last_modified_time_after { + if let Some(var_860) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_857, smithy_types::instant::Format::EpochSeconds); + .instant(var_860, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_858) = &input.last_modified_time_before { + if let Some(var_861) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_858, smithy_types::instant::Format::EpochSeconds); + .instant(var_861, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_859) = &input.name_contains { - object.key("NameContains").string(var_859); + if let Some(var_862) = &input.name_contains { + object.key("NameContains").string(var_862); } - if let Some(var_860) = &input.model_name_contains { - object.key("ModelNameContains").string(var_860); + if let Some(var_863) = &input.model_name_contains { + object.key("ModelNameContains").string(var_863); } - if let Some(var_861) = &input.status_equals { - object.key("StatusEquals").string(var_861.as_str()); + if let Some(var_864) = &input.status_equals { + object.key("StatusEquals").string(var_864.as_str()); } - if let Some(var_862) = &input.sort_by { - object.key("SortBy").string(var_862.as_str()); + if let Some(var_865) = &input.sort_by { + object.key("SortBy").string(var_865.as_str()); } - if let Some(var_863) = &input.sort_order { - object.key("SortOrder").string(var_863.as_str()); + if let Some(var_866) = &input.sort_order { + object.key("SortOrder").string(var_866.as_str()); } } @@ -3591,33 +3599,33 @@ pub fn serialize_structure_list_endpoint_configs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListEndpointConfigsInput, ) { - if let Some(var_864) = &input.sort_by { - object.key("SortBy").string(var_864.as_str()); + if let Some(var_867) = &input.sort_by { + object.key("SortBy").string(var_867.as_str()); } - if let Some(var_865) = &input.sort_order { - object.key("SortOrder").string(var_865.as_str()); + if let Some(var_868) = &input.sort_order { + object.key("SortOrder").string(var_868.as_str()); } - if let Some(var_866) = &input.next_token { - object.key("NextToken").string(var_866); + if let Some(var_869) = &input.next_token { + object.key("NextToken").string(var_869); } - if let Some(var_867) = &input.max_results { + if let Some(var_870) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_867).into()), + smithy_types::Number::NegInt((*var_870).into()), ); } - if let Some(var_868) = &input.name_contains { - object.key("NameContains").string(var_868); + if let Some(var_871) = &input.name_contains { + object.key("NameContains").string(var_871); } - if let Some(var_869) = &input.creation_time_before { + if let Some(var_872) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_869, smithy_types::instant::Format::EpochSeconds); + .instant(var_872, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_870) = &input.creation_time_after { + if let Some(var_873) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_870, smithy_types::instant::Format::EpochSeconds); + .instant(var_873, smithy_types::instant::Format::EpochSeconds); } } @@ -3625,46 +3633,46 @@ pub fn serialize_structure_list_endpoints_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListEndpointsInput, ) { - if let Some(var_871) = &input.sort_by { - object.key("SortBy").string(var_871.as_str()); + if let Some(var_874) = &input.sort_by { + object.key("SortBy").string(var_874.as_str()); } - if let Some(var_872) = &input.sort_order { - object.key("SortOrder").string(var_872.as_str()); + if let Some(var_875) = &input.sort_order { + object.key("SortOrder").string(var_875.as_str()); } - if let Some(var_873) = &input.next_token { - object.key("NextToken").string(var_873); + if let Some(var_876) = &input.next_token { + object.key("NextToken").string(var_876); } - if let Some(var_874) = &input.max_results { + if let Some(var_877) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_874).into()), + smithy_types::Number::NegInt((*var_877).into()), ); } - if let Some(var_875) = &input.name_contains { - object.key("NameContains").string(var_875); + if let Some(var_878) = &input.name_contains { + object.key("NameContains").string(var_878); } - if let Some(var_876) = &input.creation_time_before { + if let Some(var_879) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_876, smithy_types::instant::Format::EpochSeconds); + .instant(var_879, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_877) = &input.creation_time_after { + if let Some(var_880) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_877, smithy_types::instant::Format::EpochSeconds); + .instant(var_880, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_878) = &input.last_modified_time_before { + if let Some(var_881) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_878, smithy_types::instant::Format::EpochSeconds); + .instant(var_881, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_879) = &input.last_modified_time_after { + if let Some(var_882) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_879, smithy_types::instant::Format::EpochSeconds); + .instant(var_882, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_880) = &input.status_equals { - object.key("StatusEquals").string(var_880.as_str()); + if let Some(var_883) = &input.status_equals { + object.key("StatusEquals").string(var_883.as_str()); } } @@ -3672,29 +3680,29 @@ pub fn serialize_structure_list_experiments_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListExperimentsInput, ) { - if let Some(var_881) = &input.created_after { + if let Some(var_884) = &input.created_after { object .key("CreatedAfter") - .instant(var_881, smithy_types::instant::Format::EpochSeconds); + .instant(var_884, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_882) = &input.created_before { + if let Some(var_885) = &input.created_before { object .key("CreatedBefore") - .instant(var_882, smithy_types::instant::Format::EpochSeconds); + .instant(var_885, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_883) = &input.sort_by { - object.key("SortBy").string(var_883.as_str()); + if let Some(var_886) = &input.sort_by { + object.key("SortBy").string(var_886.as_str()); } - if let Some(var_884) = &input.sort_order { - object.key("SortOrder").string(var_884.as_str()); + if let Some(var_887) = &input.sort_order { + object.key("SortOrder").string(var_887.as_str()); } - if let Some(var_885) = &input.next_token { - object.key("NextToken").string(var_885); + if let Some(var_888) = &input.next_token { + object.key("NextToken").string(var_888); } - if let Some(var_886) = &input.max_results { + if let Some(var_889) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_886).into()), + smithy_types::Number::NegInt((*var_889).into()), ); } } @@ -3703,43 +3711,43 @@ pub fn serialize_structure_list_feature_groups_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListFeatureGroupsInput, ) { - if let Some(var_887) = &input.name_contains { - object.key("NameContains").string(var_887); + if let Some(var_890) = &input.name_contains { + object.key("NameContains").string(var_890); } - if let Some(var_888) = &input.feature_group_status_equals { + if let Some(var_891) = &input.feature_group_status_equals { object .key("FeatureGroupStatusEquals") - .string(var_888.as_str()); + .string(var_891.as_str()); } - if let Some(var_889) = &input.offline_store_status_equals { + if let Some(var_892) = &input.offline_store_status_equals { object .key("OfflineStoreStatusEquals") - .string(var_889.as_str()); + .string(var_892.as_str()); } - if let Some(var_890) = &input.creation_time_after { + if let Some(var_893) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_890, smithy_types::instant::Format::EpochSeconds); + .instant(var_893, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_891) = &input.creation_time_before { + if let Some(var_894) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_891, smithy_types::instant::Format::EpochSeconds); + .instant(var_894, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_892) = &input.sort_order { - object.key("SortOrder").string(var_892.as_str()); + if let Some(var_895) = &input.sort_order { + object.key("SortOrder").string(var_895.as_str()); } - if let Some(var_893) = &input.sort_by { - object.key("SortBy").string(var_893.as_str()); + if let Some(var_896) = &input.sort_by { + object.key("SortBy").string(var_896.as_str()); } - if let Some(var_894) = &input.max_results { + if let Some(var_897) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_894).into()), + smithy_types::Number::NegInt((*var_897).into()), ); } - if let Some(var_895) = &input.next_token { - object.key("NextToken").string(var_895); + if let Some(var_898) = &input.next_token { + object.key("NextToken").string(var_898); } } @@ -3747,26 +3755,26 @@ pub fn serialize_structure_list_flow_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListFlowDefinitionsInput, ) { - if let Some(var_896) = &input.creation_time_after { + if let Some(var_899) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_896, smithy_types::instant::Format::EpochSeconds); + .instant(var_899, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_897) = &input.creation_time_before { + if let Some(var_900) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_897, smithy_types::instant::Format::EpochSeconds); + .instant(var_900, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_898) = &input.sort_order { - object.key("SortOrder").string(var_898.as_str()); + if let Some(var_901) = &input.sort_order { + object.key("SortOrder").string(var_901.as_str()); } - if let Some(var_899) = &input.next_token { - object.key("NextToken").string(var_899); + if let Some(var_902) = &input.next_token { + object.key("NextToken").string(var_902); } - if let Some(var_900) = &input.max_results { + if let Some(var_903) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_900).into()), + smithy_types::Number::NegInt((*var_903).into()), ); } } @@ -3775,26 +3783,26 @@ pub fn serialize_structure_list_human_task_uis_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListHumanTaskUisInput, ) { - if let Some(var_901) = &input.creation_time_after { + if let Some(var_904) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_901, smithy_types::instant::Format::EpochSeconds); + .instant(var_904, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_902) = &input.creation_time_before { + if let Some(var_905) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_902, smithy_types::instant::Format::EpochSeconds); + .instant(var_905, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_903) = &input.sort_order { - object.key("SortOrder").string(var_903.as_str()); + if let Some(var_906) = &input.sort_order { + object.key("SortOrder").string(var_906.as_str()); } - if let Some(var_904) = &input.next_token { - object.key("NextToken").string(var_904); + if let Some(var_907) = &input.next_token { + object.key("NextToken").string(var_907); } - if let Some(var_905) = &input.max_results { + if let Some(var_908) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_905).into()), + smithy_types::Number::NegInt((*var_908).into()), ); } } @@ -3803,46 +3811,46 @@ pub fn serialize_structure_list_hyper_parameter_tuning_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListHyperParameterTuningJobsInput, ) { - if let Some(var_906) = &input.next_token { - object.key("NextToken").string(var_906); + if let Some(var_909) = &input.next_token { + object.key("NextToken").string(var_909); } - if let Some(var_907) = &input.max_results { + if let Some(var_910) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_907).into()), + smithy_types::Number::NegInt((*var_910).into()), ); } - if let Some(var_908) = &input.sort_by { - object.key("SortBy").string(var_908.as_str()); + if let Some(var_911) = &input.sort_by { + object.key("SortBy").string(var_911.as_str()); } - if let Some(var_909) = &input.sort_order { - object.key("SortOrder").string(var_909.as_str()); + if let Some(var_912) = &input.sort_order { + object.key("SortOrder").string(var_912.as_str()); } - if let Some(var_910) = &input.name_contains { - object.key("NameContains").string(var_910); + if let Some(var_913) = &input.name_contains { + object.key("NameContains").string(var_913); } - if let Some(var_911) = &input.creation_time_after { + if let Some(var_914) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_911, smithy_types::instant::Format::EpochSeconds); + .instant(var_914, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_912) = &input.creation_time_before { + if let Some(var_915) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_912, smithy_types::instant::Format::EpochSeconds); + .instant(var_915, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_913) = &input.last_modified_time_after { + if let Some(var_916) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_913, smithy_types::instant::Format::EpochSeconds); + .instant(var_916, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_914) = &input.last_modified_time_before { + if let Some(var_917) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_914, smithy_types::instant::Format::EpochSeconds); + .instant(var_917, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_915) = &input.status_equals { - object.key("StatusEquals").string(var_915.as_str()); + if let Some(var_918) = &input.status_equals { + object.key("StatusEquals").string(var_918.as_str()); } } @@ -3850,43 +3858,43 @@ pub fn serialize_structure_list_images_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListImagesInput, ) { - if let Some(var_916) = &input.creation_time_after { + if let Some(var_919) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_916, smithy_types::instant::Format::EpochSeconds); + .instant(var_919, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_917) = &input.creation_time_before { + if let Some(var_920) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_917, smithy_types::instant::Format::EpochSeconds); + .instant(var_920, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_918) = &input.last_modified_time_after { + if let Some(var_921) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_918, smithy_types::instant::Format::EpochSeconds); + .instant(var_921, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_919) = &input.last_modified_time_before { + if let Some(var_922) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_919, smithy_types::instant::Format::EpochSeconds); + .instant(var_922, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_920) = &input.max_results { + if let Some(var_923) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_920).into()), + smithy_types::Number::NegInt((*var_923).into()), ); } - if let Some(var_921) = &input.name_contains { - object.key("NameContains").string(var_921); + if let Some(var_924) = &input.name_contains { + object.key("NameContains").string(var_924); } - if let Some(var_922) = &input.next_token { - object.key("NextToken").string(var_922); + if let Some(var_925) = &input.next_token { + object.key("NextToken").string(var_925); } - if let Some(var_923) = &input.sort_by { - object.key("SortBy").string(var_923.as_str()); + if let Some(var_926) = &input.sort_by { + object.key("SortBy").string(var_926.as_str()); } - if let Some(var_924) = &input.sort_order { - object.key("SortOrder").string(var_924.as_str()); + if let Some(var_927) = &input.sort_order { + object.key("SortOrder").string(var_927.as_str()); } } @@ -3894,43 +3902,43 @@ pub fn serialize_structure_list_image_versions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListImageVersionsInput, ) { - if let Some(var_925) = &input.creation_time_after { + if let Some(var_928) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_925, smithy_types::instant::Format::EpochSeconds); + .instant(var_928, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_926) = &input.creation_time_before { + if let Some(var_929) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_926, smithy_types::instant::Format::EpochSeconds); + .instant(var_929, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_927) = &input.image_name { - object.key("ImageName").string(var_927); + if let Some(var_930) = &input.image_name { + object.key("ImageName").string(var_930); } - if let Some(var_928) = &input.last_modified_time_after { + if let Some(var_931) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_928, smithy_types::instant::Format::EpochSeconds); + .instant(var_931, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_929) = &input.last_modified_time_before { + if let Some(var_932) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_929, smithy_types::instant::Format::EpochSeconds); + .instant(var_932, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_930) = &input.max_results { + if let Some(var_933) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_930).into()), + smithy_types::Number::NegInt((*var_933).into()), ); } - if let Some(var_931) = &input.next_token { - object.key("NextToken").string(var_931); + if let Some(var_934) = &input.next_token { + object.key("NextToken").string(var_934); } - if let Some(var_932) = &input.sort_by { - object.key("SortBy").string(var_932.as_str()); + if let Some(var_935) = &input.sort_by { + object.key("SortBy").string(var_935.as_str()); } - if let Some(var_933) = &input.sort_order { - object.key("SortOrder").string(var_933.as_str()); + if let Some(var_936) = &input.sort_order { + object.key("SortOrder").string(var_936.as_str()); } } @@ -3938,46 +3946,46 @@ pub fn serialize_structure_list_labeling_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListLabelingJobsInput, ) { - if let Some(var_934) = &input.creation_time_after { + if let Some(var_937) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_934, smithy_types::instant::Format::EpochSeconds); + .instant(var_937, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_935) = &input.creation_time_before { + if let Some(var_938) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_935, smithy_types::instant::Format::EpochSeconds); + .instant(var_938, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_936) = &input.last_modified_time_after { + if let Some(var_939) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_936, smithy_types::instant::Format::EpochSeconds); + .instant(var_939, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_937) = &input.last_modified_time_before { + if let Some(var_940) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_937, smithy_types::instant::Format::EpochSeconds); + .instant(var_940, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_938) = &input.max_results { + if let Some(var_941) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_938).into()), + smithy_types::Number::NegInt((*var_941).into()), ); } - if let Some(var_939) = &input.next_token { - object.key("NextToken").string(var_939); + if let Some(var_942) = &input.next_token { + object.key("NextToken").string(var_942); } - if let Some(var_940) = &input.name_contains { - object.key("NameContains").string(var_940); + if let Some(var_943) = &input.name_contains { + object.key("NameContains").string(var_943); } - if let Some(var_941) = &input.sort_by { - object.key("SortBy").string(var_941.as_str()); + if let Some(var_944) = &input.sort_by { + object.key("SortBy").string(var_944.as_str()); } - if let Some(var_942) = &input.sort_order { - object.key("SortOrder").string(var_942.as_str()); + if let Some(var_945) = &input.sort_order { + object.key("SortOrder").string(var_945.as_str()); } - if let Some(var_943) = &input.status_equals { - object.key("StatusEquals").string(var_943.as_str()); + if let Some(var_946) = &input.status_equals { + object.key("StatusEquals").string(var_946.as_str()); } } @@ -3985,36 +3993,36 @@ pub fn serialize_structure_list_labeling_jobs_for_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListLabelingJobsForWorkteamInput, ) { - if let Some(var_944) = &input.workteam_arn { - object.key("WorkteamArn").string(var_944); + if let Some(var_947) = &input.workteam_arn { + object.key("WorkteamArn").string(var_947); } - if let Some(var_945) = &input.max_results { + if let Some(var_948) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_945).into()), + smithy_types::Number::NegInt((*var_948).into()), ); } - if let Some(var_946) = &input.next_token { - object.key("NextToken").string(var_946); + if let Some(var_949) = &input.next_token { + object.key("NextToken").string(var_949); } - if let Some(var_947) = &input.creation_time_after { + if let Some(var_950) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_947, smithy_types::instant::Format::EpochSeconds); + .instant(var_950, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_948) = &input.creation_time_before { + if let Some(var_951) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_948, smithy_types::instant::Format::EpochSeconds); + .instant(var_951, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_949) = &input.job_reference_code_contains { - object.key("JobReferenceCodeContains").string(var_949); + if let Some(var_952) = &input.job_reference_code_contains { + object.key("JobReferenceCodeContains").string(var_952); } - if let Some(var_950) = &input.sort_by { - object.key("SortBy").string(var_950.as_str()); + if let Some(var_953) = &input.sort_by { + object.key("SortBy").string(var_953.as_str()); } - if let Some(var_951) = &input.sort_order { - object.key("SortOrder").string(var_951.as_str()); + if let Some(var_954) = &input.sort_order { + object.key("SortOrder").string(var_954.as_str()); } } @@ -4022,36 +4030,36 @@ pub fn serialize_structure_list_model_bias_job_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelBiasJobDefinitionsInput, ) { - if let Some(var_952) = &input.endpoint_name { - object.key("EndpointName").string(var_952); + if let Some(var_955) = &input.endpoint_name { + object.key("EndpointName").string(var_955); } - if let Some(var_953) = &input.sort_by { - object.key("SortBy").string(var_953.as_str()); + if let Some(var_956) = &input.sort_by { + object.key("SortBy").string(var_956.as_str()); } - if let Some(var_954) = &input.sort_order { - object.key("SortOrder").string(var_954.as_str()); + if let Some(var_957) = &input.sort_order { + object.key("SortOrder").string(var_957.as_str()); } - if let Some(var_955) = &input.next_token { - object.key("NextToken").string(var_955); + if let Some(var_958) = &input.next_token { + object.key("NextToken").string(var_958); } - if let Some(var_956) = &input.max_results { + if let Some(var_959) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_956).into()), + smithy_types::Number::NegInt((*var_959).into()), ); } - if let Some(var_957) = &input.name_contains { - object.key("NameContains").string(var_957); + if let Some(var_960) = &input.name_contains { + object.key("NameContains").string(var_960); } - if let Some(var_958) = &input.creation_time_before { + if let Some(var_961) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_958, smithy_types::instant::Format::EpochSeconds); + .instant(var_961, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_959) = &input.creation_time_after { + if let Some(var_962) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_959, smithy_types::instant::Format::EpochSeconds); + .instant(var_962, smithy_types::instant::Format::EpochSeconds); } } @@ -4059,36 +4067,36 @@ pub fn serialize_structure_list_model_explainability_job_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelExplainabilityJobDefinitionsInput, ) { - if let Some(var_960) = &input.endpoint_name { - object.key("EndpointName").string(var_960); + if let Some(var_963) = &input.endpoint_name { + object.key("EndpointName").string(var_963); } - if let Some(var_961) = &input.sort_by { - object.key("SortBy").string(var_961.as_str()); + if let Some(var_964) = &input.sort_by { + object.key("SortBy").string(var_964.as_str()); } - if let Some(var_962) = &input.sort_order { - object.key("SortOrder").string(var_962.as_str()); + if let Some(var_965) = &input.sort_order { + object.key("SortOrder").string(var_965.as_str()); } - if let Some(var_963) = &input.next_token { - object.key("NextToken").string(var_963); + if let Some(var_966) = &input.next_token { + object.key("NextToken").string(var_966); } - if let Some(var_964) = &input.max_results { + if let Some(var_967) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_964).into()), + smithy_types::Number::NegInt((*var_967).into()), ); } - if let Some(var_965) = &input.name_contains { - object.key("NameContains").string(var_965); + if let Some(var_968) = &input.name_contains { + object.key("NameContains").string(var_968); } - if let Some(var_966) = &input.creation_time_before { + if let Some(var_969) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_966, smithy_types::instant::Format::EpochSeconds); + .instant(var_969, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_967) = &input.creation_time_after { + if let Some(var_970) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_967, smithy_types::instant::Format::EpochSeconds); + .instant(var_970, smithy_types::instant::Format::EpochSeconds); } } @@ -4096,33 +4104,33 @@ pub fn serialize_structure_list_model_package_groups_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelPackageGroupsInput, ) { - if let Some(var_968) = &input.creation_time_after { + if let Some(var_971) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_968, smithy_types::instant::Format::EpochSeconds); + .instant(var_971, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_969) = &input.creation_time_before { + if let Some(var_972) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_969, smithy_types::instant::Format::EpochSeconds); + .instant(var_972, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_970) = &input.max_results { + if let Some(var_973) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_970).into()), + smithy_types::Number::NegInt((*var_973).into()), ); } - if let Some(var_971) = &input.name_contains { - object.key("NameContains").string(var_971); + if let Some(var_974) = &input.name_contains { + object.key("NameContains").string(var_974); } - if let Some(var_972) = &input.next_token { - object.key("NextToken").string(var_972); + if let Some(var_975) = &input.next_token { + object.key("NextToken").string(var_975); } - if let Some(var_973) = &input.sort_by { - object.key("SortBy").string(var_973.as_str()); + if let Some(var_976) = &input.sort_by { + object.key("SortBy").string(var_976.as_str()); } - if let Some(var_974) = &input.sort_order { - object.key("SortOrder").string(var_974.as_str()); + if let Some(var_977) = &input.sort_order { + object.key("SortOrder").string(var_977.as_str()); } } @@ -4130,42 +4138,42 @@ pub fn serialize_structure_list_model_packages_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelPackagesInput, ) { - if let Some(var_975) = &input.creation_time_after { + if let Some(var_978) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_975, smithy_types::instant::Format::EpochSeconds); + .instant(var_978, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_976) = &input.creation_time_before { + if let Some(var_979) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_976, smithy_types::instant::Format::EpochSeconds); + .instant(var_979, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_977) = &input.max_results { + if let Some(var_980) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_977).into()), + smithy_types::Number::NegInt((*var_980).into()), ); } - if let Some(var_978) = &input.name_contains { - object.key("NameContains").string(var_978); + if let Some(var_981) = &input.name_contains { + object.key("NameContains").string(var_981); } - if let Some(var_979) = &input.model_approval_status { - object.key("ModelApprovalStatus").string(var_979.as_str()); + if let Some(var_982) = &input.model_approval_status { + object.key("ModelApprovalStatus").string(var_982.as_str()); } - if let Some(var_980) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_980); + if let Some(var_983) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_983); } - if let Some(var_981) = &input.model_package_type { - object.key("ModelPackageType").string(var_981.as_str()); + if let Some(var_984) = &input.model_package_type { + object.key("ModelPackageType").string(var_984.as_str()); } - if let Some(var_982) = &input.next_token { - object.key("NextToken").string(var_982); + if let Some(var_985) = &input.next_token { + object.key("NextToken").string(var_985); } - if let Some(var_983) = &input.sort_by { - object.key("SortBy").string(var_983.as_str()); + if let Some(var_986) = &input.sort_by { + object.key("SortBy").string(var_986.as_str()); } - if let Some(var_984) = &input.sort_order { - object.key("SortOrder").string(var_984.as_str()); + if let Some(var_987) = &input.sort_order { + object.key("SortOrder").string(var_987.as_str()); } } @@ -4173,36 +4181,36 @@ pub fn serialize_structure_list_model_quality_job_definitions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelQualityJobDefinitionsInput, ) { - if let Some(var_985) = &input.endpoint_name { - object.key("EndpointName").string(var_985); + if let Some(var_988) = &input.endpoint_name { + object.key("EndpointName").string(var_988); } - if let Some(var_986) = &input.sort_by { - object.key("SortBy").string(var_986.as_str()); + if let Some(var_989) = &input.sort_by { + object.key("SortBy").string(var_989.as_str()); } - if let Some(var_987) = &input.sort_order { - object.key("SortOrder").string(var_987.as_str()); + if let Some(var_990) = &input.sort_order { + object.key("SortOrder").string(var_990.as_str()); } - if let Some(var_988) = &input.next_token { - object.key("NextToken").string(var_988); + if let Some(var_991) = &input.next_token { + object.key("NextToken").string(var_991); } - if let Some(var_989) = &input.max_results { + if let Some(var_992) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_989).into()), + smithy_types::Number::NegInt((*var_992).into()), ); } - if let Some(var_990) = &input.name_contains { - object.key("NameContains").string(var_990); + if let Some(var_993) = &input.name_contains { + object.key("NameContains").string(var_993); } - if let Some(var_991) = &input.creation_time_before { + if let Some(var_994) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_991, smithy_types::instant::Format::EpochSeconds); + .instant(var_994, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_992) = &input.creation_time_after { + if let Some(var_995) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_992, smithy_types::instant::Format::EpochSeconds); + .instant(var_995, smithy_types::instant::Format::EpochSeconds); } } @@ -4210,33 +4218,33 @@ pub fn serialize_structure_list_models_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListModelsInput, ) { - if let Some(var_993) = &input.sort_by { - object.key("SortBy").string(var_993.as_str()); + if let Some(var_996) = &input.sort_by { + object.key("SortBy").string(var_996.as_str()); } - if let Some(var_994) = &input.sort_order { - object.key("SortOrder").string(var_994.as_str()); + if let Some(var_997) = &input.sort_order { + object.key("SortOrder").string(var_997.as_str()); } - if let Some(var_995) = &input.next_token { - object.key("NextToken").string(var_995); + if let Some(var_998) = &input.next_token { + object.key("NextToken").string(var_998); } - if let Some(var_996) = &input.max_results { + if let Some(var_999) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_996).into()), + smithy_types::Number::NegInt((*var_999).into()), ); } - if let Some(var_997) = &input.name_contains { - object.key("NameContains").string(var_997); + if let Some(var_1000) = &input.name_contains { + object.key("NameContains").string(var_1000); } - if let Some(var_998) = &input.creation_time_before { + if let Some(var_1001) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_998, smithy_types::instant::Format::EpochSeconds); + .instant(var_1001, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_999) = &input.creation_time_after { + if let Some(var_1002) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_999, smithy_types::instant::Format::EpochSeconds); + .instant(var_1002, smithy_types::instant::Format::EpochSeconds); } } @@ -4244,65 +4252,65 @@ pub fn serialize_structure_list_monitoring_executions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListMonitoringExecutionsInput, ) { - if let Some(var_1000) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_1000); + if let Some(var_1003) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_1003); } - if let Some(var_1001) = &input.endpoint_name { - object.key("EndpointName").string(var_1001); + if let Some(var_1004) = &input.endpoint_name { + object.key("EndpointName").string(var_1004); } - if let Some(var_1002) = &input.sort_by { - object.key("SortBy").string(var_1002.as_str()); + if let Some(var_1005) = &input.sort_by { + object.key("SortBy").string(var_1005.as_str()); } - if let Some(var_1003) = &input.sort_order { - object.key("SortOrder").string(var_1003.as_str()); + if let Some(var_1006) = &input.sort_order { + object.key("SortOrder").string(var_1006.as_str()); } - if let Some(var_1004) = &input.next_token { - object.key("NextToken").string(var_1004); + if let Some(var_1007) = &input.next_token { + object.key("NextToken").string(var_1007); } - if let Some(var_1005) = &input.max_results { + if let Some(var_1008) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1005).into()), + smithy_types::Number::NegInt((*var_1008).into()), ); } - if let Some(var_1006) = &input.scheduled_time_before { + if let Some(var_1009) = &input.scheduled_time_before { object .key("ScheduledTimeBefore") - .instant(var_1006, smithy_types::instant::Format::EpochSeconds); + .instant(var_1009, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1007) = &input.scheduled_time_after { + if let Some(var_1010) = &input.scheduled_time_after { object .key("ScheduledTimeAfter") - .instant(var_1007, smithy_types::instant::Format::EpochSeconds); + .instant(var_1010, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1008) = &input.creation_time_before { + if let Some(var_1011) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1008, smithy_types::instant::Format::EpochSeconds); + .instant(var_1011, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1009) = &input.creation_time_after { + if let Some(var_1012) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1009, smithy_types::instant::Format::EpochSeconds); + .instant(var_1012, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1010) = &input.last_modified_time_before { + if let Some(var_1013) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1010, smithy_types::instant::Format::EpochSeconds); + .instant(var_1013, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1011) = &input.last_modified_time_after { + if let Some(var_1014) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1011, smithy_types::instant::Format::EpochSeconds); + .instant(var_1014, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1012) = &input.status_equals { - object.key("StatusEquals").string(var_1012.as_str()); + if let Some(var_1015) = &input.status_equals { + object.key("StatusEquals").string(var_1015.as_str()); } - if let Some(var_1013) = &input.monitoring_job_definition_name { - object.key("MonitoringJobDefinitionName").string(var_1013); + if let Some(var_1016) = &input.monitoring_job_definition_name { + object.key("MonitoringJobDefinitionName").string(var_1016); } - if let Some(var_1014) = &input.monitoring_type_equals { - object.key("MonitoringTypeEquals").string(var_1014.as_str()); + if let Some(var_1017) = &input.monitoring_type_equals { + object.key("MonitoringTypeEquals").string(var_1017.as_str()); } } @@ -4310,55 +4318,55 @@ pub fn serialize_structure_list_monitoring_schedules_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListMonitoringSchedulesInput, ) { - if let Some(var_1015) = &input.endpoint_name { - object.key("EndpointName").string(var_1015); + if let Some(var_1018) = &input.endpoint_name { + object.key("EndpointName").string(var_1018); } - if let Some(var_1016) = &input.sort_by { - object.key("SortBy").string(var_1016.as_str()); + if let Some(var_1019) = &input.sort_by { + object.key("SortBy").string(var_1019.as_str()); } - if let Some(var_1017) = &input.sort_order { - object.key("SortOrder").string(var_1017.as_str()); + if let Some(var_1020) = &input.sort_order { + object.key("SortOrder").string(var_1020.as_str()); } - if let Some(var_1018) = &input.next_token { - object.key("NextToken").string(var_1018); + if let Some(var_1021) = &input.next_token { + object.key("NextToken").string(var_1021); } - if let Some(var_1019) = &input.max_results { + if let Some(var_1022) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1019).into()), + smithy_types::Number::NegInt((*var_1022).into()), ); } - if let Some(var_1020) = &input.name_contains { - object.key("NameContains").string(var_1020); + if let Some(var_1023) = &input.name_contains { + object.key("NameContains").string(var_1023); } - if let Some(var_1021) = &input.creation_time_before { + if let Some(var_1024) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1021, smithy_types::instant::Format::EpochSeconds); + .instant(var_1024, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1022) = &input.creation_time_after { + if let Some(var_1025) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1022, smithy_types::instant::Format::EpochSeconds); + .instant(var_1025, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1023) = &input.last_modified_time_before { + if let Some(var_1026) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1023, smithy_types::instant::Format::EpochSeconds); + .instant(var_1026, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1024) = &input.last_modified_time_after { + if let Some(var_1027) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1024, smithy_types::instant::Format::EpochSeconds); + .instant(var_1027, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1025) = &input.status_equals { - object.key("StatusEquals").string(var_1025.as_str()); + if let Some(var_1028) = &input.status_equals { + object.key("StatusEquals").string(var_1028.as_str()); } - if let Some(var_1026) = &input.monitoring_job_definition_name { - object.key("MonitoringJobDefinitionName").string(var_1026); + if let Some(var_1029) = &input.monitoring_job_definition_name { + object.key("MonitoringJobDefinitionName").string(var_1029); } - if let Some(var_1027) = &input.monitoring_type_equals { - object.key("MonitoringTypeEquals").string(var_1027.as_str()); + if let Some(var_1030) = &input.monitoring_type_equals { + object.key("MonitoringTypeEquals").string(var_1030.as_str()); } } @@ -4366,43 +4374,43 @@ pub fn serialize_structure_list_notebook_instance_lifecycle_configs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListNotebookInstanceLifecycleConfigsInput, ) { - if let Some(var_1028) = &input.next_token { - object.key("NextToken").string(var_1028); + if let Some(var_1031) = &input.next_token { + object.key("NextToken").string(var_1031); } - if let Some(var_1029) = &input.max_results { + if let Some(var_1032) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1029).into()), + smithy_types::Number::NegInt((*var_1032).into()), ); } - if let Some(var_1030) = &input.sort_by { - object.key("SortBy").string(var_1030.as_str()); + if let Some(var_1033) = &input.sort_by { + object.key("SortBy").string(var_1033.as_str()); } - if let Some(var_1031) = &input.sort_order { - object.key("SortOrder").string(var_1031.as_str()); + if let Some(var_1034) = &input.sort_order { + object.key("SortOrder").string(var_1034.as_str()); } - if let Some(var_1032) = &input.name_contains { - object.key("NameContains").string(var_1032); + if let Some(var_1035) = &input.name_contains { + object.key("NameContains").string(var_1035); } - if let Some(var_1033) = &input.creation_time_before { + if let Some(var_1036) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1033, smithy_types::instant::Format::EpochSeconds); + .instant(var_1036, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1034) = &input.creation_time_after { + if let Some(var_1037) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1034, smithy_types::instant::Format::EpochSeconds); + .instant(var_1037, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1035) = &input.last_modified_time_before { + if let Some(var_1038) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1035, smithy_types::instant::Format::EpochSeconds); + .instant(var_1038, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1036) = &input.last_modified_time_after { + if let Some(var_1039) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1036, smithy_types::instant::Format::EpochSeconds); + .instant(var_1039, smithy_types::instant::Format::EpochSeconds); } } @@ -4410,59 +4418,59 @@ pub fn serialize_structure_list_notebook_instances_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListNotebookInstancesInput, ) { - if let Some(var_1037) = &input.next_token { - object.key("NextToken").string(var_1037); + if let Some(var_1040) = &input.next_token { + object.key("NextToken").string(var_1040); } - if let Some(var_1038) = &input.max_results { + if let Some(var_1041) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1038).into()), + smithy_types::Number::NegInt((*var_1041).into()), ); } - if let Some(var_1039) = &input.sort_by { - object.key("SortBy").string(var_1039.as_str()); + if let Some(var_1042) = &input.sort_by { + object.key("SortBy").string(var_1042.as_str()); } - if let Some(var_1040) = &input.sort_order { - object.key("SortOrder").string(var_1040.as_str()); + if let Some(var_1043) = &input.sort_order { + object.key("SortOrder").string(var_1043.as_str()); } - if let Some(var_1041) = &input.name_contains { - object.key("NameContains").string(var_1041); + if let Some(var_1044) = &input.name_contains { + object.key("NameContains").string(var_1044); } - if let Some(var_1042) = &input.creation_time_before { + if let Some(var_1045) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1042, smithy_types::instant::Format::EpochSeconds); + .instant(var_1045, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1043) = &input.creation_time_after { + if let Some(var_1046) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1043, smithy_types::instant::Format::EpochSeconds); + .instant(var_1046, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1044) = &input.last_modified_time_before { + if let Some(var_1047) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1044, smithy_types::instant::Format::EpochSeconds); + .instant(var_1047, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1045) = &input.last_modified_time_after { + if let Some(var_1048) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1045, smithy_types::instant::Format::EpochSeconds); + .instant(var_1048, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1046) = &input.status_equals { - object.key("StatusEquals").string(var_1046.as_str()); + if let Some(var_1049) = &input.status_equals { + object.key("StatusEquals").string(var_1049.as_str()); } - if let Some(var_1047) = &input.notebook_instance_lifecycle_config_name_contains { + if let Some(var_1050) = &input.notebook_instance_lifecycle_config_name_contains { object .key("NotebookInstanceLifecycleConfigNameContains") - .string(var_1047); + .string(var_1050); } - if let Some(var_1048) = &input.default_code_repository_contains { - object.key("DefaultCodeRepositoryContains").string(var_1048); + if let Some(var_1051) = &input.default_code_repository_contains { + object.key("DefaultCodeRepositoryContains").string(var_1051); } - if let Some(var_1049) = &input.additional_code_repository_equals { + if let Some(var_1052) = &input.additional_code_repository_equals { object .key("AdditionalCodeRepositoryEquals") - .string(var_1049); + .string(var_1052); } } @@ -4470,32 +4478,32 @@ pub fn serialize_structure_list_pipeline_executions_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListPipelineExecutionsInput, ) { - if let Some(var_1050) = &input.pipeline_name { - object.key("PipelineName").string(var_1050); + if let Some(var_1053) = &input.pipeline_name { + object.key("PipelineName").string(var_1053); } - if let Some(var_1051) = &input.created_after { + if let Some(var_1054) = &input.created_after { object .key("CreatedAfter") - .instant(var_1051, smithy_types::instant::Format::EpochSeconds); + .instant(var_1054, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1052) = &input.created_before { + if let Some(var_1055) = &input.created_before { object .key("CreatedBefore") - .instant(var_1052, smithy_types::instant::Format::EpochSeconds); + .instant(var_1055, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1053) = &input.sort_by { - object.key("SortBy").string(var_1053.as_str()); + if let Some(var_1056) = &input.sort_by { + object.key("SortBy").string(var_1056.as_str()); } - if let Some(var_1054) = &input.sort_order { - object.key("SortOrder").string(var_1054.as_str()); + if let Some(var_1057) = &input.sort_order { + object.key("SortOrder").string(var_1057.as_str()); } - if let Some(var_1055) = &input.next_token { - object.key("NextToken").string(var_1055); + if let Some(var_1058) = &input.next_token { + object.key("NextToken").string(var_1058); } - if let Some(var_1056) = &input.max_results { + if let Some(var_1059) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1056).into()), + smithy_types::Number::NegInt((*var_1059).into()), ); } } @@ -4504,20 +4512,20 @@ pub fn serialize_structure_list_pipeline_execution_steps_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListPipelineExecutionStepsInput, ) { - if let Some(var_1057) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_1057); + if let Some(var_1060) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_1060); } - if let Some(var_1058) = &input.next_token { - object.key("NextToken").string(var_1058); + if let Some(var_1061) = &input.next_token { + object.key("NextToken").string(var_1061); } - if let Some(var_1059) = &input.max_results { + if let Some(var_1062) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1059).into()), + smithy_types::Number::NegInt((*var_1062).into()), ); } - if let Some(var_1060) = &input.sort_order { - object.key("SortOrder").string(var_1060.as_str()); + if let Some(var_1063) = &input.sort_order { + object.key("SortOrder").string(var_1063.as_str()); } } @@ -4525,16 +4533,16 @@ pub fn serialize_structure_list_pipeline_parameters_for_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListPipelineParametersForExecutionInput, ) { - if let Some(var_1061) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_1061); + if let Some(var_1064) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_1064); } - if let Some(var_1062) = &input.next_token { - object.key("NextToken").string(var_1062); + if let Some(var_1065) = &input.next_token { + object.key("NextToken").string(var_1065); } - if let Some(var_1063) = &input.max_results { + if let Some(var_1066) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1063).into()), + smithy_types::Number::NegInt((*var_1066).into()), ); } } @@ -4543,32 +4551,32 @@ pub fn serialize_structure_list_pipelines_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListPipelinesInput, ) { - if let Some(var_1064) = &input.pipeline_name_prefix { - object.key("PipelineNamePrefix").string(var_1064); + if let Some(var_1067) = &input.pipeline_name_prefix { + object.key("PipelineNamePrefix").string(var_1067); } - if let Some(var_1065) = &input.created_after { + if let Some(var_1068) = &input.created_after { object .key("CreatedAfter") - .instant(var_1065, smithy_types::instant::Format::EpochSeconds); + .instant(var_1068, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1066) = &input.created_before { + if let Some(var_1069) = &input.created_before { object .key("CreatedBefore") - .instant(var_1066, smithy_types::instant::Format::EpochSeconds); + .instant(var_1069, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1067) = &input.sort_by { - object.key("SortBy").string(var_1067.as_str()); + if let Some(var_1070) = &input.sort_by { + object.key("SortBy").string(var_1070.as_str()); } - if let Some(var_1068) = &input.sort_order { - object.key("SortOrder").string(var_1068.as_str()); + if let Some(var_1071) = &input.sort_order { + object.key("SortOrder").string(var_1071.as_str()); } - if let Some(var_1069) = &input.next_token { - object.key("NextToken").string(var_1069); + if let Some(var_1072) = &input.next_token { + object.key("NextToken").string(var_1072); } - if let Some(var_1070) = &input.max_results { + if let Some(var_1073) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1070).into()), + smithy_types::Number::NegInt((*var_1073).into()), ); } } @@ -4577,45 +4585,45 @@ pub fn serialize_structure_list_processing_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListProcessingJobsInput, ) { - if let Some(var_1071) = &input.creation_time_after { + if let Some(var_1074) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1071, smithy_types::instant::Format::EpochSeconds); + .instant(var_1074, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1072) = &input.creation_time_before { + if let Some(var_1075) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1072, smithy_types::instant::Format::EpochSeconds); + .instant(var_1075, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1073) = &input.last_modified_time_after { + if let Some(var_1076) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1073, smithy_types::instant::Format::EpochSeconds); + .instant(var_1076, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1074) = &input.last_modified_time_before { + if let Some(var_1077) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1074, smithy_types::instant::Format::EpochSeconds); + .instant(var_1077, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1075) = &input.name_contains { - object.key("NameContains").string(var_1075); + if let Some(var_1078) = &input.name_contains { + object.key("NameContains").string(var_1078); } - if let Some(var_1076) = &input.status_equals { - object.key("StatusEquals").string(var_1076.as_str()); + if let Some(var_1079) = &input.status_equals { + object.key("StatusEquals").string(var_1079.as_str()); } - if let Some(var_1077) = &input.sort_by { - object.key("SortBy").string(var_1077.as_str()); + if let Some(var_1080) = &input.sort_by { + object.key("SortBy").string(var_1080.as_str()); } - if let Some(var_1078) = &input.sort_order { - object.key("SortOrder").string(var_1078.as_str()); + if let Some(var_1081) = &input.sort_order { + object.key("SortOrder").string(var_1081.as_str()); } - if let Some(var_1079) = &input.next_token { - object.key("NextToken").string(var_1079); + if let Some(var_1082) = &input.next_token { + object.key("NextToken").string(var_1082); } - if let Some(var_1080) = &input.max_results { + if let Some(var_1083) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1080).into()), + smithy_types::Number::NegInt((*var_1083).into()), ); } } @@ -4624,33 +4632,33 @@ pub fn serialize_structure_list_projects_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListProjectsInput, ) { - if let Some(var_1081) = &input.creation_time_after { + if let Some(var_1084) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1081, smithy_types::instant::Format::EpochSeconds); + .instant(var_1084, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1082) = &input.creation_time_before { + if let Some(var_1085) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1082, smithy_types::instant::Format::EpochSeconds); + .instant(var_1085, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1083) = &input.max_results { + if let Some(var_1086) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1083).into()), + smithy_types::Number::NegInt((*var_1086).into()), ); } - if let Some(var_1084) = &input.name_contains { - object.key("NameContains").string(var_1084); + if let Some(var_1087) = &input.name_contains { + object.key("NameContains").string(var_1087); } - if let Some(var_1085) = &input.next_token { - object.key("NextToken").string(var_1085); + if let Some(var_1088) = &input.next_token { + object.key("NextToken").string(var_1088); } - if let Some(var_1086) = &input.sort_by { - object.key("SortBy").string(var_1086.as_str()); + if let Some(var_1089) = &input.sort_by { + object.key("SortBy").string(var_1089.as_str()); } - if let Some(var_1087) = &input.sort_order { - object.key("SortOrder").string(var_1087.as_str()); + if let Some(var_1090) = &input.sort_order { + object.key("SortOrder").string(var_1090.as_str()); } } @@ -4658,16 +4666,16 @@ pub fn serialize_structure_list_subscribed_workteams_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListSubscribedWorkteamsInput, ) { - if let Some(var_1088) = &input.name_contains { - object.key("NameContains").string(var_1088); + if let Some(var_1091) = &input.name_contains { + object.key("NameContains").string(var_1091); } - if let Some(var_1089) = &input.next_token { - object.key("NextToken").string(var_1089); + if let Some(var_1092) = &input.next_token { + object.key("NextToken").string(var_1092); } - if let Some(var_1090) = &input.max_results { + if let Some(var_1093) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1090).into()), + smithy_types::Number::NegInt((*var_1093).into()), ); } } @@ -4676,16 +4684,16 @@ pub fn serialize_structure_list_tags_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTagsInput, ) { - if let Some(var_1091) = &input.resource_arn { - object.key("ResourceArn").string(var_1091); + if let Some(var_1094) = &input.resource_arn { + object.key("ResourceArn").string(var_1094); } - if let Some(var_1092) = &input.next_token { - object.key("NextToken").string(var_1092); + if let Some(var_1095) = &input.next_token { + object.key("NextToken").string(var_1095); } - if let Some(var_1093) = &input.max_results { + if let Some(var_1096) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1093).into()), + smithy_types::Number::NegInt((*var_1096).into()), ); } } @@ -4694,46 +4702,46 @@ pub fn serialize_structure_list_training_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTrainingJobsInput, ) { - if let Some(var_1094) = &input.next_token { - object.key("NextToken").string(var_1094); + if let Some(var_1097) = &input.next_token { + object.key("NextToken").string(var_1097); } - if let Some(var_1095) = &input.max_results { + if let Some(var_1098) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1095).into()), + smithy_types::Number::NegInt((*var_1098).into()), ); } - if let Some(var_1096) = &input.creation_time_after { + if let Some(var_1099) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1096, smithy_types::instant::Format::EpochSeconds); + .instant(var_1099, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1097) = &input.creation_time_before { + if let Some(var_1100) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1097, smithy_types::instant::Format::EpochSeconds); + .instant(var_1100, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1098) = &input.last_modified_time_after { + if let Some(var_1101) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1098, smithy_types::instant::Format::EpochSeconds); + .instant(var_1101, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1099) = &input.last_modified_time_before { + if let Some(var_1102) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1099, smithy_types::instant::Format::EpochSeconds); + .instant(var_1102, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1100) = &input.name_contains { - object.key("NameContains").string(var_1100); + if let Some(var_1103) = &input.name_contains { + object.key("NameContains").string(var_1103); } - if let Some(var_1101) = &input.status_equals { - object.key("StatusEquals").string(var_1101.as_str()); + if let Some(var_1104) = &input.status_equals { + object.key("StatusEquals").string(var_1104.as_str()); } - if let Some(var_1102) = &input.sort_by { - object.key("SortBy").string(var_1102.as_str()); + if let Some(var_1105) = &input.sort_by { + object.key("SortBy").string(var_1105.as_str()); } - if let Some(var_1103) = &input.sort_order { - object.key("SortOrder").string(var_1103.as_str()); + if let Some(var_1106) = &input.sort_order { + object.key("SortOrder").string(var_1106.as_str()); } } @@ -4741,26 +4749,26 @@ pub fn serialize_structure_list_training_jobs_for_hyper_parameter_tuning_job_inp object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTrainingJobsForHyperParameterTuningJobInput, ) { - if let Some(var_1104) = &input.hyper_parameter_tuning_job_name { - object.key("HyperParameterTuningJobName").string(var_1104); + if let Some(var_1107) = &input.hyper_parameter_tuning_job_name { + object.key("HyperParameterTuningJobName").string(var_1107); } - if let Some(var_1105) = &input.next_token { - object.key("NextToken").string(var_1105); + if let Some(var_1108) = &input.next_token { + object.key("NextToken").string(var_1108); } - if let Some(var_1106) = &input.max_results { + if let Some(var_1109) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1106).into()), + smithy_types::Number::NegInt((*var_1109).into()), ); } - if let Some(var_1107) = &input.status_equals { - object.key("StatusEquals").string(var_1107.as_str()); + if let Some(var_1110) = &input.status_equals { + object.key("StatusEquals").string(var_1110.as_str()); } - if let Some(var_1108) = &input.sort_by { - object.key("SortBy").string(var_1108.as_str()); + if let Some(var_1111) = &input.sort_by { + object.key("SortBy").string(var_1111.as_str()); } - if let Some(var_1109) = &input.sort_order { - object.key("SortOrder").string(var_1109.as_str()); + if let Some(var_1112) = &input.sort_order { + object.key("SortOrder").string(var_1112.as_str()); } } @@ -4768,45 +4776,45 @@ pub fn serialize_structure_list_transform_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTransformJobsInput, ) { - if let Some(var_1110) = &input.creation_time_after { + if let Some(var_1113) = &input.creation_time_after { object .key("CreationTimeAfter") - .instant(var_1110, smithy_types::instant::Format::EpochSeconds); + .instant(var_1113, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1111) = &input.creation_time_before { + if let Some(var_1114) = &input.creation_time_before { object .key("CreationTimeBefore") - .instant(var_1111, smithy_types::instant::Format::EpochSeconds); + .instant(var_1114, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1112) = &input.last_modified_time_after { + if let Some(var_1115) = &input.last_modified_time_after { object .key("LastModifiedTimeAfter") - .instant(var_1112, smithy_types::instant::Format::EpochSeconds); + .instant(var_1115, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1113) = &input.last_modified_time_before { + if let Some(var_1116) = &input.last_modified_time_before { object .key("LastModifiedTimeBefore") - .instant(var_1113, smithy_types::instant::Format::EpochSeconds); + .instant(var_1116, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1114) = &input.name_contains { - object.key("NameContains").string(var_1114); + if let Some(var_1117) = &input.name_contains { + object.key("NameContains").string(var_1117); } - if let Some(var_1115) = &input.status_equals { - object.key("StatusEquals").string(var_1115.as_str()); + if let Some(var_1118) = &input.status_equals { + object.key("StatusEquals").string(var_1118.as_str()); } - if let Some(var_1116) = &input.sort_by { - object.key("SortBy").string(var_1116.as_str()); + if let Some(var_1119) = &input.sort_by { + object.key("SortBy").string(var_1119.as_str()); } - if let Some(var_1117) = &input.sort_order { - object.key("SortOrder").string(var_1117.as_str()); + if let Some(var_1120) = &input.sort_order { + object.key("SortOrder").string(var_1120.as_str()); } - if let Some(var_1118) = &input.next_token { - object.key("NextToken").string(var_1118); + if let Some(var_1121) = &input.next_token { + object.key("NextToken").string(var_1121); } - if let Some(var_1119) = &input.max_results { + if let Some(var_1122) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1119).into()), + smithy_types::Number::NegInt((*var_1122).into()), ); } } @@ -4815,39 +4823,39 @@ pub fn serialize_structure_list_trial_components_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTrialComponentsInput, ) { - if let Some(var_1120) = &input.experiment_name { - object.key("ExperimentName").string(var_1120); + if let Some(var_1123) = &input.experiment_name { + object.key("ExperimentName").string(var_1123); } - if let Some(var_1121) = &input.trial_name { - object.key("TrialName").string(var_1121); + if let Some(var_1124) = &input.trial_name { + object.key("TrialName").string(var_1124); } - if let Some(var_1122) = &input.source_arn { - object.key("SourceArn").string(var_1122); + if let Some(var_1125) = &input.source_arn { + object.key("SourceArn").string(var_1125); } - if let Some(var_1123) = &input.created_after { + if let Some(var_1126) = &input.created_after { object .key("CreatedAfter") - .instant(var_1123, smithy_types::instant::Format::EpochSeconds); + .instant(var_1126, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1124) = &input.created_before { + if let Some(var_1127) = &input.created_before { object .key("CreatedBefore") - .instant(var_1124, smithy_types::instant::Format::EpochSeconds); + .instant(var_1127, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1125) = &input.sort_by { - object.key("SortBy").string(var_1125.as_str()); + if let Some(var_1128) = &input.sort_by { + object.key("SortBy").string(var_1128.as_str()); } - if let Some(var_1126) = &input.sort_order { - object.key("SortOrder").string(var_1126.as_str()); + if let Some(var_1129) = &input.sort_order { + object.key("SortOrder").string(var_1129.as_str()); } - if let Some(var_1127) = &input.max_results { + if let Some(var_1130) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1127).into()), + smithy_types::Number::NegInt((*var_1130).into()), ); } - if let Some(var_1128) = &input.next_token { - object.key("NextToken").string(var_1128); + if let Some(var_1131) = &input.next_token { + object.key("NextToken").string(var_1131); } } @@ -4855,36 +4863,36 @@ pub fn serialize_structure_list_trials_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTrialsInput, ) { - if let Some(var_1129) = &input.experiment_name { - object.key("ExperimentName").string(var_1129); + if let Some(var_1132) = &input.experiment_name { + object.key("ExperimentName").string(var_1132); } - if let Some(var_1130) = &input.trial_component_name { - object.key("TrialComponentName").string(var_1130); + if let Some(var_1133) = &input.trial_component_name { + object.key("TrialComponentName").string(var_1133); } - if let Some(var_1131) = &input.created_after { + if let Some(var_1134) = &input.created_after { object .key("CreatedAfter") - .instant(var_1131, smithy_types::instant::Format::EpochSeconds); + .instant(var_1134, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1132) = &input.created_before { + if let Some(var_1135) = &input.created_before { object .key("CreatedBefore") - .instant(var_1132, smithy_types::instant::Format::EpochSeconds); + .instant(var_1135, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1133) = &input.sort_by { - object.key("SortBy").string(var_1133.as_str()); + if let Some(var_1136) = &input.sort_by { + object.key("SortBy").string(var_1136.as_str()); } - if let Some(var_1134) = &input.sort_order { - object.key("SortOrder").string(var_1134.as_str()); + if let Some(var_1137) = &input.sort_order { + object.key("SortOrder").string(var_1137.as_str()); } - if let Some(var_1135) = &input.max_results { + if let Some(var_1138) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1135).into()), + smithy_types::Number::NegInt((*var_1138).into()), ); } - if let Some(var_1136) = &input.next_token { - object.key("NextToken").string(var_1136); + if let Some(var_1139) = &input.next_token { + object.key("NextToken").string(var_1139); } } @@ -4892,26 +4900,26 @@ pub fn serialize_structure_list_user_profiles_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListUserProfilesInput, ) { - if let Some(var_1137) = &input.next_token { - object.key("NextToken").string(var_1137); + if let Some(var_1140) = &input.next_token { + object.key("NextToken").string(var_1140); } - if let Some(var_1138) = &input.max_results { + if let Some(var_1141) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1138).into()), + smithy_types::Number::NegInt((*var_1141).into()), ); } - if let Some(var_1139) = &input.sort_order { - object.key("SortOrder").string(var_1139.as_str()); + if let Some(var_1142) = &input.sort_order { + object.key("SortOrder").string(var_1142.as_str()); } - if let Some(var_1140) = &input.sort_by { - object.key("SortBy").string(var_1140.as_str()); + if let Some(var_1143) = &input.sort_by { + object.key("SortBy").string(var_1143.as_str()); } - if let Some(var_1141) = &input.domain_id_equals { - object.key("DomainIdEquals").string(var_1141); + if let Some(var_1144) = &input.domain_id_equals { + object.key("DomainIdEquals").string(var_1144); } - if let Some(var_1142) = &input.user_profile_name_contains { - object.key("UserProfileNameContains").string(var_1142); + if let Some(var_1145) = &input.user_profile_name_contains { + object.key("UserProfileNameContains").string(var_1145); } } @@ -4919,22 +4927,22 @@ pub fn serialize_structure_list_workforces_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListWorkforcesInput, ) { - if let Some(var_1143) = &input.sort_by { - object.key("SortBy").string(var_1143.as_str()); + if let Some(var_1146) = &input.sort_by { + object.key("SortBy").string(var_1146.as_str()); } - if let Some(var_1144) = &input.sort_order { - object.key("SortOrder").string(var_1144.as_str()); + if let Some(var_1147) = &input.sort_order { + object.key("SortOrder").string(var_1147.as_str()); } - if let Some(var_1145) = &input.name_contains { - object.key("NameContains").string(var_1145); + if let Some(var_1148) = &input.name_contains { + object.key("NameContains").string(var_1148); } - if let Some(var_1146) = &input.next_token { - object.key("NextToken").string(var_1146); + if let Some(var_1149) = &input.next_token { + object.key("NextToken").string(var_1149); } - if let Some(var_1147) = &input.max_results { + if let Some(var_1150) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1147).into()), + smithy_types::Number::NegInt((*var_1150).into()), ); } } @@ -4943,22 +4951,22 @@ pub fn serialize_structure_list_workteams_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListWorkteamsInput, ) { - if let Some(var_1148) = &input.sort_by { - object.key("SortBy").string(var_1148.as_str()); + if let Some(var_1151) = &input.sort_by { + object.key("SortBy").string(var_1151.as_str()); } - if let Some(var_1149) = &input.sort_order { - object.key("SortOrder").string(var_1149.as_str()); + if let Some(var_1152) = &input.sort_order { + object.key("SortOrder").string(var_1152.as_str()); } - if let Some(var_1150) = &input.name_contains { - object.key("NameContains").string(var_1150); + if let Some(var_1153) = &input.name_contains { + object.key("NameContains").string(var_1153); } - if let Some(var_1151) = &input.next_token { - object.key("NextToken").string(var_1151); + if let Some(var_1154) = &input.next_token { + object.key("NextToken").string(var_1154); } - if let Some(var_1152) = &input.max_results { + if let Some(var_1155) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1152).into()), + smithy_types::Number::NegInt((*var_1155).into()), ); } } @@ -4967,11 +4975,11 @@ pub fn serialize_structure_put_model_package_group_policy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutModelPackageGroupPolicyInput, ) { - if let Some(var_1153) = &input.model_package_group_name { - object.key("ModelPackageGroupName").string(var_1153); + if let Some(var_1156) = &input.model_package_group_name { + object.key("ModelPackageGroupName").string(var_1156); } - if let Some(var_1154) = &input.resource_policy { - object.key("ResourcePolicy").string(var_1154); + if let Some(var_1157) = &input.resource_policy { + object.key("ResourcePolicy").string(var_1157); } } @@ -4979,30 +4987,30 @@ pub fn serialize_structure_register_devices_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RegisterDevicesInput, ) { - if let Some(var_1155) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_1155); + if let Some(var_1158) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_1158); } - if let Some(var_1156) = &input.devices { - let mut array_1157 = object.key("Devices").start_array(); - for item_1158 in var_1156 { + if let Some(var_1159) = &input.devices { + let mut array_1160 = object.key("Devices").start_array(); + for item_1161 in var_1159 { { - let mut object_1159 = array_1157.value().start_object(); - crate::json_ser::serialize_structure_device(&mut object_1159, item_1158); - object_1159.finish(); + let mut object_1162 = array_1160.value().start_object(); + crate::json_ser::serialize_structure_device(&mut object_1162, item_1161); + object_1162.finish(); } } - array_1157.finish(); + array_1160.finish(); } - if let Some(var_1160) = &input.tags { - let mut array_1161 = object.key("Tags").start_array(); - for item_1162 in var_1160 { + if let Some(var_1163) = &input.tags { + let mut array_1164 = object.key("Tags").start_array(); + for item_1165 in var_1163 { { - let mut object_1163 = array_1161.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_1163, item_1162); - object_1163.finish(); + let mut object_1166 = array_1164.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_1166, item_1165); + object_1166.finish(); } } - array_1161.finish(); + array_1164.finish(); } } @@ -5010,21 +5018,21 @@ pub fn serialize_structure_render_ui_template_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::RenderUiTemplateInput, ) { - if let Some(var_1164) = &input.ui_template { - let mut object_1165 = object.key("UiTemplate").start_object(); - crate::json_ser::serialize_structure_ui_template(&mut object_1165, var_1164); - object_1165.finish(); + if let Some(var_1167) = &input.ui_template { + let mut object_1168 = object.key("UiTemplate").start_object(); + crate::json_ser::serialize_structure_ui_template(&mut object_1168, var_1167); + object_1168.finish(); } - if let Some(var_1166) = &input.task { - let mut object_1167 = object.key("Task").start_object(); - crate::json_ser::serialize_structure_renderable_task(&mut object_1167, var_1166); - object_1167.finish(); + if let Some(var_1169) = &input.task { + let mut object_1170 = object.key("Task").start_object(); + crate::json_ser::serialize_structure_renderable_task(&mut object_1170, var_1169); + object_1170.finish(); } - if let Some(var_1168) = &input.role_arn { - object.key("RoleArn").string(var_1168); + if let Some(var_1171) = &input.role_arn { + object.key("RoleArn").string(var_1171); } - if let Some(var_1169) = &input.human_task_ui_arn { - object.key("HumanTaskUiArn").string(var_1169); + if let Some(var_1172) = &input.human_task_ui_arn { + object.key("HumanTaskUiArn").string(var_1172); } } @@ -5032,27 +5040,27 @@ pub fn serialize_structure_search_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::SearchInput, ) { - if let Some(var_1170) = &input.resource { - object.key("Resource").string(var_1170.as_str()); + if let Some(var_1173) = &input.resource { + object.key("Resource").string(var_1173.as_str()); } - if let Some(var_1171) = &input.search_expression { - let mut object_1172 = object.key("SearchExpression").start_object(); - crate::json_ser::serialize_structure_search_expression(&mut object_1172, var_1171); - object_1172.finish(); + if let Some(var_1174) = &input.search_expression { + let mut object_1175 = object.key("SearchExpression").start_object(); + crate::json_ser::serialize_structure_search_expression(&mut object_1175, var_1174); + object_1175.finish(); } - if let Some(var_1173) = &input.sort_by { - object.key("SortBy").string(var_1173); + if let Some(var_1176) = &input.sort_by { + object.key("SortBy").string(var_1176); } - if let Some(var_1174) = &input.sort_order { - object.key("SortOrder").string(var_1174.as_str()); + if let Some(var_1177) = &input.sort_order { + object.key("SortOrder").string(var_1177.as_str()); } - if let Some(var_1175) = &input.next_token { - object.key("NextToken").string(var_1175); + if let Some(var_1178) = &input.next_token { + object.key("NextToken").string(var_1178); } - if let Some(var_1176) = &input.max_results { + if let Some(var_1179) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1176).into()), + smithy_types::Number::NegInt((*var_1179).into()), ); } } @@ -5061,14 +5069,14 @@ pub fn serialize_structure_send_pipeline_execution_step_failure_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::SendPipelineExecutionStepFailureInput, ) { - if let Some(var_1177) = &input.callback_token { - object.key("CallbackToken").string(var_1177); + if let Some(var_1180) = &input.callback_token { + object.key("CallbackToken").string(var_1180); } - if let Some(var_1178) = &input.failure_reason { - object.key("FailureReason").string(var_1178); + if let Some(var_1181) = &input.failure_reason { + object.key("FailureReason").string(var_1181); } - if let Some(var_1179) = &input.client_request_token { - object.key("ClientRequestToken").string(var_1179); + if let Some(var_1182) = &input.client_request_token { + object.key("ClientRequestToken").string(var_1182); } } @@ -5076,22 +5084,22 @@ pub fn serialize_structure_send_pipeline_execution_step_success_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::SendPipelineExecutionStepSuccessInput, ) { - if let Some(var_1180) = &input.callback_token { - object.key("CallbackToken").string(var_1180); + if let Some(var_1183) = &input.callback_token { + object.key("CallbackToken").string(var_1183); } - if let Some(var_1181) = &input.output_parameters { - let mut array_1182 = object.key("OutputParameters").start_array(); - for item_1183 in var_1181 { + if let Some(var_1184) = &input.output_parameters { + let mut array_1185 = object.key("OutputParameters").start_array(); + for item_1186 in var_1184 { { - let mut object_1184 = array_1182.value().start_object(); - crate::json_ser::serialize_structure_output_parameter(&mut object_1184, item_1183); - object_1184.finish(); + let mut object_1187 = array_1185.value().start_object(); + crate::json_ser::serialize_structure_output_parameter(&mut object_1187, item_1186); + object_1187.finish(); } } - array_1182.finish(); + array_1185.finish(); } - if let Some(var_1185) = &input.client_request_token { - object.key("ClientRequestToken").string(var_1185); + if let Some(var_1188) = &input.client_request_token { + object.key("ClientRequestToken").string(var_1188); } } @@ -5099,8 +5107,8 @@ pub fn serialize_structure_start_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartMonitoringScheduleInput, ) { - if let Some(var_1186) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_1186); + if let Some(var_1189) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_1189); } } @@ -5108,8 +5116,8 @@ pub fn serialize_structure_start_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartNotebookInstanceInput, ) { - if let Some(var_1187) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_1187); + if let Some(var_1190) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_1190); } } @@ -5117,28 +5125,28 @@ pub fn serialize_structure_start_pipeline_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartPipelineExecutionInput, ) { - if let Some(var_1188) = &input.pipeline_name { - object.key("PipelineName").string(var_1188); + if let Some(var_1191) = &input.pipeline_name { + object.key("PipelineName").string(var_1191); } - if let Some(var_1189) = &input.pipeline_execution_display_name { - object.key("PipelineExecutionDisplayName").string(var_1189); + if let Some(var_1192) = &input.pipeline_execution_display_name { + object.key("PipelineExecutionDisplayName").string(var_1192); } - if let Some(var_1190) = &input.pipeline_parameters { - let mut array_1191 = object.key("PipelineParameters").start_array(); - for item_1192 in var_1190 { + if let Some(var_1193) = &input.pipeline_parameters { + let mut array_1194 = object.key("PipelineParameters").start_array(); + for item_1195 in var_1193 { { - let mut object_1193 = array_1191.value().start_object(); - crate::json_ser::serialize_structure_parameter(&mut object_1193, item_1192); - object_1193.finish(); + let mut object_1196 = array_1194.value().start_object(); + crate::json_ser::serialize_structure_parameter(&mut object_1196, item_1195); + object_1196.finish(); } } - array_1191.finish(); + array_1194.finish(); } - if let Some(var_1194) = &input.pipeline_execution_description { - object.key("PipelineExecutionDescription").string(var_1194); + if let Some(var_1197) = &input.pipeline_execution_description { + object.key("PipelineExecutionDescription").string(var_1197); } - if let Some(var_1195) = &input.client_request_token { - object.key("ClientRequestToken").string(var_1195); + if let Some(var_1198) = &input.client_request_token { + object.key("ClientRequestToken").string(var_1198); } } @@ -5146,8 +5154,8 @@ pub fn serialize_structure_stop_auto_ml_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopAutoMlJobInput, ) { - if let Some(var_1196) = &input.auto_ml_job_name { - object.key("AutoMLJobName").string(var_1196); + if let Some(var_1199) = &input.auto_ml_job_name { + object.key("AutoMLJobName").string(var_1199); } } @@ -5155,8 +5163,8 @@ pub fn serialize_structure_stop_compilation_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopCompilationJobInput, ) { - if let Some(var_1197) = &input.compilation_job_name { - object.key("CompilationJobName").string(var_1197); + if let Some(var_1200) = &input.compilation_job_name { + object.key("CompilationJobName").string(var_1200); } } @@ -5164,8 +5172,8 @@ pub fn serialize_structure_stop_edge_packaging_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopEdgePackagingJobInput, ) { - if let Some(var_1198) = &input.edge_packaging_job_name { - object.key("EdgePackagingJobName").string(var_1198); + if let Some(var_1201) = &input.edge_packaging_job_name { + object.key("EdgePackagingJobName").string(var_1201); } } @@ -5173,8 +5181,8 @@ pub fn serialize_structure_stop_hyper_parameter_tuning_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopHyperParameterTuningJobInput, ) { - if let Some(var_1199) = &input.hyper_parameter_tuning_job_name { - object.key("HyperParameterTuningJobName").string(var_1199); + if let Some(var_1202) = &input.hyper_parameter_tuning_job_name { + object.key("HyperParameterTuningJobName").string(var_1202); } } @@ -5182,8 +5190,8 @@ pub fn serialize_structure_stop_labeling_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopLabelingJobInput, ) { - if let Some(var_1200) = &input.labeling_job_name { - object.key("LabelingJobName").string(var_1200); + if let Some(var_1203) = &input.labeling_job_name { + object.key("LabelingJobName").string(var_1203); } } @@ -5191,8 +5199,8 @@ pub fn serialize_structure_stop_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopMonitoringScheduleInput, ) { - if let Some(var_1201) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_1201); + if let Some(var_1204) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_1204); } } @@ -5200,8 +5208,8 @@ pub fn serialize_structure_stop_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopNotebookInstanceInput, ) { - if let Some(var_1202) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_1202); + if let Some(var_1205) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_1205); } } @@ -5209,11 +5217,11 @@ pub fn serialize_structure_stop_pipeline_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopPipelineExecutionInput, ) { - if let Some(var_1203) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_1203); + if let Some(var_1206) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_1206); } - if let Some(var_1204) = &input.client_request_token { - object.key("ClientRequestToken").string(var_1204); + if let Some(var_1207) = &input.client_request_token { + object.key("ClientRequestToken").string(var_1207); } } @@ -5221,8 +5229,8 @@ pub fn serialize_structure_stop_processing_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopProcessingJobInput, ) { - if let Some(var_1205) = &input.processing_job_name { - object.key("ProcessingJobName").string(var_1205); + if let Some(var_1208) = &input.processing_job_name { + object.key("ProcessingJobName").string(var_1208); } } @@ -5230,8 +5238,8 @@ pub fn serialize_structure_stop_training_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopTrainingJobInput, ) { - if let Some(var_1206) = &input.training_job_name { - object.key("TrainingJobName").string(var_1206); + if let Some(var_1209) = &input.training_job_name { + object.key("TrainingJobName").string(var_1209); } } @@ -5239,8 +5247,8 @@ pub fn serialize_structure_stop_transform_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StopTransformJobInput, ) { - if let Some(var_1207) = &input.transform_job_name { - object.key("TransformJobName").string(var_1207); + if let Some(var_1210) = &input.transform_job_name { + object.key("TransformJobName").string(var_1210); } } @@ -5248,32 +5256,32 @@ pub fn serialize_structure_update_action_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateActionInput, ) { - if let Some(var_1208) = &input.action_name { - object.key("ActionName").string(var_1208); + if let Some(var_1211) = &input.action_name { + object.key("ActionName").string(var_1211); } - if let Some(var_1209) = &input.description { - object.key("Description").string(var_1209); + if let Some(var_1212) = &input.description { + object.key("Description").string(var_1212); } - if let Some(var_1210) = &input.status { - object.key("Status").string(var_1210.as_str()); + if let Some(var_1213) = &input.status { + object.key("Status").string(var_1213.as_str()); } - if let Some(var_1211) = &input.properties { - let mut object_1212 = object.key("Properties").start_object(); - for (key_1213, value_1214) in var_1211 { + if let Some(var_1214) = &input.properties { + let mut object_1215 = object.key("Properties").start_object(); + for (key_1216, value_1217) in var_1214 { { - object_1212.key(key_1213).string(value_1214); + object_1215.key(key_1216).string(value_1217); } } - object_1212.finish(); + object_1215.finish(); } - if let Some(var_1215) = &input.properties_to_remove { - let mut array_1216 = object.key("PropertiesToRemove").start_array(); - for item_1217 in var_1215 { + if let Some(var_1218) = &input.properties_to_remove { + let mut array_1219 = object.key("PropertiesToRemove").start_array(); + for item_1220 in var_1218 { { - array_1216.value().string(item_1217); + array_1219.value().string(item_1220); } } - array_1216.finish(); + array_1219.finish(); } } @@ -5281,16 +5289,16 @@ pub fn serialize_structure_update_app_image_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateAppImageConfigInput, ) { - if let Some(var_1218) = &input.app_image_config_name { - object.key("AppImageConfigName").string(var_1218); + if let Some(var_1221) = &input.app_image_config_name { + object.key("AppImageConfigName").string(var_1221); } - if let Some(var_1219) = &input.kernel_gateway_image_config { - let mut object_1220 = object.key("KernelGatewayImageConfig").start_object(); + if let Some(var_1222) = &input.kernel_gateway_image_config { + let mut object_1223 = object.key("KernelGatewayImageConfig").start_object(); crate::json_ser::serialize_structure_kernel_gateway_image_config( - &mut object_1220, - var_1219, + &mut object_1223, + var_1222, ); - object_1220.finish(); + object_1223.finish(); } } @@ -5298,29 +5306,29 @@ pub fn serialize_structure_update_artifact_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateArtifactInput, ) { - if let Some(var_1221) = &input.artifact_arn { - object.key("ArtifactArn").string(var_1221); + if let Some(var_1224) = &input.artifact_arn { + object.key("ArtifactArn").string(var_1224); } - if let Some(var_1222) = &input.artifact_name { - object.key("ArtifactName").string(var_1222); + if let Some(var_1225) = &input.artifact_name { + object.key("ArtifactName").string(var_1225); } - if let Some(var_1223) = &input.properties { - let mut object_1224 = object.key("Properties").start_object(); - for (key_1225, value_1226) in var_1223 { + if let Some(var_1226) = &input.properties { + let mut object_1227 = object.key("Properties").start_object(); + for (key_1228, value_1229) in var_1226 { { - object_1224.key(key_1225).string(value_1226); + object_1227.key(key_1228).string(value_1229); } } - object_1224.finish(); + object_1227.finish(); } - if let Some(var_1227) = &input.properties_to_remove { - let mut array_1228 = object.key("PropertiesToRemove").start_array(); - for item_1229 in var_1227 { + if let Some(var_1230) = &input.properties_to_remove { + let mut array_1231 = object.key("PropertiesToRemove").start_array(); + for item_1232 in var_1230 { { - array_1228.value().string(item_1229); + array_1231.value().string(item_1232); } } - array_1228.finish(); + array_1231.finish(); } } @@ -5328,13 +5336,13 @@ pub fn serialize_structure_update_code_repository_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateCodeRepositoryInput, ) { - if let Some(var_1230) = &input.code_repository_name { - object.key("CodeRepositoryName").string(var_1230); + if let Some(var_1233) = &input.code_repository_name { + object.key("CodeRepositoryName").string(var_1233); } - if let Some(var_1231) = &input.git_config { - let mut object_1232 = object.key("GitConfig").start_object(); - crate::json_ser::serialize_structure_git_config_for_update(&mut object_1232, var_1231); - object_1232.finish(); + if let Some(var_1234) = &input.git_config { + let mut object_1235 = object.key("GitConfig").start_object(); + crate::json_ser::serialize_structure_git_config_for_update(&mut object_1235, var_1234); + object_1235.finish(); } } @@ -5342,29 +5350,29 @@ pub fn serialize_structure_update_context_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateContextInput, ) { - if let Some(var_1233) = &input.context_name { - object.key("ContextName").string(var_1233); + if let Some(var_1236) = &input.context_name { + object.key("ContextName").string(var_1236); } - if let Some(var_1234) = &input.description { - object.key("Description").string(var_1234); + if let Some(var_1237) = &input.description { + object.key("Description").string(var_1237); } - if let Some(var_1235) = &input.properties { - let mut object_1236 = object.key("Properties").start_object(); - for (key_1237, value_1238) in var_1235 { + if let Some(var_1238) = &input.properties { + let mut object_1239 = object.key("Properties").start_object(); + for (key_1240, value_1241) in var_1238 { { - object_1236.key(key_1237).string(value_1238); + object_1239.key(key_1240).string(value_1241); } } - object_1236.finish(); + object_1239.finish(); } - if let Some(var_1239) = &input.properties_to_remove { - let mut array_1240 = object.key("PropertiesToRemove").start_array(); - for item_1241 in var_1239 { + if let Some(var_1242) = &input.properties_to_remove { + let mut array_1243 = object.key("PropertiesToRemove").start_array(); + for item_1244 in var_1242 { { - array_1240.value().string(item_1241); + array_1243.value().string(item_1244); } } - array_1240.finish(); + array_1243.finish(); } } @@ -5372,22 +5380,22 @@ pub fn serialize_structure_update_device_fleet_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDeviceFleetInput, ) { - if let Some(var_1242) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_1242); + if let Some(var_1245) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_1245); } - if let Some(var_1243) = &input.role_arn { - object.key("RoleArn").string(var_1243); + if let Some(var_1246) = &input.role_arn { + object.key("RoleArn").string(var_1246); } - if let Some(var_1244) = &input.description { - object.key("Description").string(var_1244); + if let Some(var_1247) = &input.description { + object.key("Description").string(var_1247); } - if let Some(var_1245) = &input.output_config { - let mut object_1246 = object.key("OutputConfig").start_object(); - crate::json_ser::serialize_structure_edge_output_config(&mut object_1246, var_1245); - object_1246.finish(); + if let Some(var_1248) = &input.output_config { + let mut object_1249 = object.key("OutputConfig").start_object(); + crate::json_ser::serialize_structure_edge_output_config(&mut object_1249, var_1248); + object_1249.finish(); } - if let Some(var_1247) = &input.enable_iot_role_alias { - object.key("EnableIotRoleAlias").boolean(*var_1247); + if let Some(var_1250) = &input.enable_iot_role_alias { + object.key("EnableIotRoleAlias").boolean(*var_1250); } } @@ -5395,19 +5403,19 @@ pub fn serialize_structure_update_devices_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDevicesInput, ) { - if let Some(var_1248) = &input.device_fleet_name { - object.key("DeviceFleetName").string(var_1248); + if let Some(var_1251) = &input.device_fleet_name { + object.key("DeviceFleetName").string(var_1251); } - if let Some(var_1249) = &input.devices { - let mut array_1250 = object.key("Devices").start_array(); - for item_1251 in var_1249 { + if let Some(var_1252) = &input.devices { + let mut array_1253 = object.key("Devices").start_array(); + for item_1254 in var_1252 { { - let mut object_1252 = array_1250.value().start_object(); - crate::json_ser::serialize_structure_device(&mut object_1252, item_1251); - object_1252.finish(); + let mut object_1255 = array_1253.value().start_object(); + crate::json_ser::serialize_structure_device(&mut object_1255, item_1254); + object_1255.finish(); } } - array_1250.finish(); + array_1253.finish(); } } @@ -5415,13 +5423,13 @@ pub fn serialize_structure_update_domain_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateDomainInput, ) { - if let Some(var_1253) = &input.domain_id { - object.key("DomainId").string(var_1253); + if let Some(var_1256) = &input.domain_id { + object.key("DomainId").string(var_1256); } - if let Some(var_1254) = &input.default_user_settings { - let mut object_1255 = object.key("DefaultUserSettings").start_object(); - crate::json_ser::serialize_structure_user_settings(&mut object_1255, var_1254); - object_1255.finish(); + if let Some(var_1257) = &input.default_user_settings { + let mut object_1258 = object.key("DefaultUserSettings").start_object(); + crate::json_ser::serialize_structure_user_settings(&mut object_1258, var_1257); + object_1258.finish(); } } @@ -5429,32 +5437,32 @@ pub fn serialize_structure_update_endpoint_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateEndpointInput, ) { - if let Some(var_1256) = &input.endpoint_name { - object.key("EndpointName").string(var_1256); + if let Some(var_1259) = &input.endpoint_name { + object.key("EndpointName").string(var_1259); } - if let Some(var_1257) = &input.endpoint_config_name { - object.key("EndpointConfigName").string(var_1257); + if let Some(var_1260) = &input.endpoint_config_name { + object.key("EndpointConfigName").string(var_1260); } if input.retain_all_variant_properties { object .key("RetainAllVariantProperties") .boolean(input.retain_all_variant_properties); } - if let Some(var_1258) = &input.exclude_retained_variant_properties { - let mut array_1259 = object.key("ExcludeRetainedVariantProperties").start_array(); - for item_1260 in var_1258 { + if let Some(var_1261) = &input.exclude_retained_variant_properties { + let mut array_1262 = object.key("ExcludeRetainedVariantProperties").start_array(); + for item_1263 in var_1261 { { - let mut object_1261 = array_1259.value().start_object(); - crate::json_ser::serialize_structure_variant_property(&mut object_1261, item_1260); - object_1261.finish(); + let mut object_1264 = array_1262.value().start_object(); + crate::json_ser::serialize_structure_variant_property(&mut object_1264, item_1263); + object_1264.finish(); } } - array_1259.finish(); + array_1262.finish(); } - if let Some(var_1262) = &input.deployment_config { - let mut object_1263 = object.key("DeploymentConfig").start_object(); - crate::json_ser::serialize_structure_deployment_config(&mut object_1263, var_1262); - object_1263.finish(); + if let Some(var_1265) = &input.deployment_config { + let mut object_1266 = object.key("DeploymentConfig").start_object(); + crate::json_ser::serialize_structure_deployment_config(&mut object_1266, var_1265); + object_1266.finish(); } } @@ -5462,22 +5470,22 @@ pub fn serialize_structure_update_endpoint_weights_and_capacities_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateEndpointWeightsAndCapacitiesInput, ) { - if let Some(var_1264) = &input.endpoint_name { - object.key("EndpointName").string(var_1264); + if let Some(var_1267) = &input.endpoint_name { + object.key("EndpointName").string(var_1267); } - if let Some(var_1265) = &input.desired_weights_and_capacities { - let mut array_1266 = object.key("DesiredWeightsAndCapacities").start_array(); - for item_1267 in var_1265 { + if let Some(var_1268) = &input.desired_weights_and_capacities { + let mut array_1269 = object.key("DesiredWeightsAndCapacities").start_array(); + for item_1270 in var_1268 { { - let mut object_1268 = array_1266.value().start_object(); + let mut object_1271 = array_1269.value().start_object(); crate::json_ser::serialize_structure_desired_weight_and_capacity( - &mut object_1268, - item_1267, + &mut object_1271, + item_1270, ); - object_1268.finish(); + object_1271.finish(); } } - array_1266.finish(); + array_1269.finish(); } } @@ -5485,14 +5493,14 @@ pub fn serialize_structure_update_experiment_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateExperimentInput, ) { - if let Some(var_1269) = &input.experiment_name { - object.key("ExperimentName").string(var_1269); + if let Some(var_1272) = &input.experiment_name { + object.key("ExperimentName").string(var_1272); } - if let Some(var_1270) = &input.display_name { - object.key("DisplayName").string(var_1270); + if let Some(var_1273) = &input.display_name { + object.key("DisplayName").string(var_1273); } - if let Some(var_1271) = &input.description { - object.key("Description").string(var_1271); + if let Some(var_1274) = &input.description { + object.key("Description").string(var_1274); } } @@ -5500,26 +5508,26 @@ pub fn serialize_structure_update_image_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateImageInput, ) { - if let Some(var_1272) = &input.delete_properties { - let mut array_1273 = object.key("DeleteProperties").start_array(); - for item_1274 in var_1272 { + if let Some(var_1275) = &input.delete_properties { + let mut array_1276 = object.key("DeleteProperties").start_array(); + for item_1277 in var_1275 { { - array_1273.value().string(item_1274); + array_1276.value().string(item_1277); } } - array_1273.finish(); + array_1276.finish(); } - if let Some(var_1275) = &input.description { - object.key("Description").string(var_1275); + if let Some(var_1278) = &input.description { + object.key("Description").string(var_1278); } - if let Some(var_1276) = &input.display_name { - object.key("DisplayName").string(var_1276); + if let Some(var_1279) = &input.display_name { + object.key("DisplayName").string(var_1279); } - if let Some(var_1277) = &input.image_name { - object.key("ImageName").string(var_1277); + if let Some(var_1280) = &input.image_name { + object.key("ImageName").string(var_1280); } - if let Some(var_1278) = &input.role_arn { - object.key("RoleArn").string(var_1278); + if let Some(var_1281) = &input.role_arn { + object.key("RoleArn").string(var_1281); } } @@ -5527,14 +5535,14 @@ pub fn serialize_structure_update_model_package_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateModelPackageInput, ) { - if let Some(var_1279) = &input.model_package_arn { - object.key("ModelPackageArn").string(var_1279); + if let Some(var_1282) = &input.model_package_arn { + object.key("ModelPackageArn").string(var_1282); } - if let Some(var_1280) = &input.model_approval_status { - object.key("ModelApprovalStatus").string(var_1280.as_str()); + if let Some(var_1283) = &input.model_approval_status { + object.key("ModelApprovalStatus").string(var_1283.as_str()); } - if let Some(var_1281) = &input.approval_description { - object.key("ApprovalDescription").string(var_1281); + if let Some(var_1284) = &input.approval_description { + object.key("ApprovalDescription").string(var_1284); } } @@ -5542,13 +5550,13 @@ pub fn serialize_structure_update_monitoring_schedule_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateMonitoringScheduleInput, ) { - if let Some(var_1282) = &input.monitoring_schedule_name { - object.key("MonitoringScheduleName").string(var_1282); + if let Some(var_1285) = &input.monitoring_schedule_name { + object.key("MonitoringScheduleName").string(var_1285); } - if let Some(var_1283) = &input.monitoring_schedule_config { - let mut object_1284 = object.key("MonitoringScheduleConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_schedule_config(&mut object_1284, var_1283); - object_1284.finish(); + if let Some(var_1286) = &input.monitoring_schedule_config { + let mut object_1287 = object.key("MonitoringScheduleConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_schedule_config(&mut object_1287, var_1286); + object_1287.finish(); } } @@ -5556,49 +5564,49 @@ pub fn serialize_structure_update_notebook_instance_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateNotebookInstanceInput, ) { - if let Some(var_1285) = &input.notebook_instance_name { - object.key("NotebookInstanceName").string(var_1285); + if let Some(var_1288) = &input.notebook_instance_name { + object.key("NotebookInstanceName").string(var_1288); } - if let Some(var_1286) = &input.instance_type { - object.key("InstanceType").string(var_1286.as_str()); + if let Some(var_1289) = &input.instance_type { + object.key("InstanceType").string(var_1289.as_str()); } - if let Some(var_1287) = &input.role_arn { - object.key("RoleArn").string(var_1287); + if let Some(var_1290) = &input.role_arn { + object.key("RoleArn").string(var_1290); } - if let Some(var_1288) = &input.lifecycle_config_name { - object.key("LifecycleConfigName").string(var_1288); + if let Some(var_1291) = &input.lifecycle_config_name { + object.key("LifecycleConfigName").string(var_1291); } if input.disassociate_lifecycle_config { object .key("DisassociateLifecycleConfig") .boolean(input.disassociate_lifecycle_config); } - if let Some(var_1289) = &input.volume_size_in_gb { + if let Some(var_1292) = &input.volume_size_in_gb { object.key("VolumeSizeInGB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1289).into()), + smithy_types::Number::NegInt((*var_1292).into()), ); } - if let Some(var_1290) = &input.default_code_repository { - object.key("DefaultCodeRepository").string(var_1290); + if let Some(var_1293) = &input.default_code_repository { + object.key("DefaultCodeRepository").string(var_1293); } - if let Some(var_1291) = &input.additional_code_repositories { - let mut array_1292 = object.key("AdditionalCodeRepositories").start_array(); - for item_1293 in var_1291 { + if let Some(var_1294) = &input.additional_code_repositories { + let mut array_1295 = object.key("AdditionalCodeRepositories").start_array(); + for item_1296 in var_1294 { { - array_1292.value().string(item_1293); + array_1295.value().string(item_1296); } } - array_1292.finish(); + array_1295.finish(); } - if let Some(var_1294) = &input.accelerator_types { - let mut array_1295 = object.key("AcceleratorTypes").start_array(); - for item_1296 in var_1294 { + if let Some(var_1297) = &input.accelerator_types { + let mut array_1298 = object.key("AcceleratorTypes").start_array(); + for item_1299 in var_1297 { { - array_1295.value().string(item_1296.as_str()); + array_1298.value().string(item_1299.as_str()); } } - array_1295.finish(); + array_1298.finish(); } if input.disassociate_accelerator_types { object @@ -5615,8 +5623,8 @@ pub fn serialize_structure_update_notebook_instance_input( .key("DisassociateAdditionalCodeRepositories") .boolean(input.disassociate_additional_code_repositories); } - if let Some(var_1297) = &input.root_access { - object.key("RootAccess").string(var_1297.as_str()); + if let Some(var_1300) = &input.root_access { + object.key("RootAccess").string(var_1300.as_str()); } } @@ -5624,38 +5632,38 @@ pub fn serialize_structure_update_notebook_instance_lifecycle_config_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateNotebookInstanceLifecycleConfigInput, ) { - if let Some(var_1298) = &input.notebook_instance_lifecycle_config_name { + if let Some(var_1301) = &input.notebook_instance_lifecycle_config_name { object .key("NotebookInstanceLifecycleConfigName") - .string(var_1298); + .string(var_1301); } - if let Some(var_1299) = &input.on_create { - let mut array_1300 = object.key("OnCreate").start_array(); - for item_1301 in var_1299 { + if let Some(var_1302) = &input.on_create { + let mut array_1303 = object.key("OnCreate").start_array(); + for item_1304 in var_1302 { { - let mut object_1302 = array_1300.value().start_object(); + let mut object_1305 = array_1303.value().start_object(); crate::json_ser::serialize_structure_notebook_instance_lifecycle_hook( - &mut object_1302, - item_1301, + &mut object_1305, + item_1304, ); - object_1302.finish(); + object_1305.finish(); } } - array_1300.finish(); + array_1303.finish(); } - if let Some(var_1303) = &input.on_start { - let mut array_1304 = object.key("OnStart").start_array(); - for item_1305 in var_1303 { + if let Some(var_1306) = &input.on_start { + let mut array_1307 = object.key("OnStart").start_array(); + for item_1308 in var_1306 { { - let mut object_1306 = array_1304.value().start_object(); + let mut object_1309 = array_1307.value().start_object(); crate::json_ser::serialize_structure_notebook_instance_lifecycle_hook( - &mut object_1306, - item_1305, + &mut object_1309, + item_1308, ); - object_1306.finish(); + object_1309.finish(); } } - array_1304.finish(); + array_1307.finish(); } } @@ -5663,20 +5671,20 @@ pub fn serialize_structure_update_pipeline_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdatePipelineInput, ) { - if let Some(var_1307) = &input.pipeline_name { - object.key("PipelineName").string(var_1307); + if let Some(var_1310) = &input.pipeline_name { + object.key("PipelineName").string(var_1310); } - if let Some(var_1308) = &input.pipeline_display_name { - object.key("PipelineDisplayName").string(var_1308); + if let Some(var_1311) = &input.pipeline_display_name { + object.key("PipelineDisplayName").string(var_1311); } - if let Some(var_1309) = &input.pipeline_definition { - object.key("PipelineDefinition").string(var_1309); + if let Some(var_1312) = &input.pipeline_definition { + object.key("PipelineDefinition").string(var_1312); } - if let Some(var_1310) = &input.pipeline_description { - object.key("PipelineDescription").string(var_1310); + if let Some(var_1313) = &input.pipeline_description { + object.key("PipelineDescription").string(var_1313); } - if let Some(var_1311) = &input.role_arn { - object.key("RoleArn").string(var_1311); + if let Some(var_1314) = &input.role_arn { + object.key("RoleArn").string(var_1314); } } @@ -5684,14 +5692,14 @@ pub fn serialize_structure_update_pipeline_execution_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdatePipelineExecutionInput, ) { - if let Some(var_1312) = &input.pipeline_execution_arn { - object.key("PipelineExecutionArn").string(var_1312); + if let Some(var_1315) = &input.pipeline_execution_arn { + object.key("PipelineExecutionArn").string(var_1315); } - if let Some(var_1313) = &input.pipeline_execution_description { - object.key("PipelineExecutionDescription").string(var_1313); + if let Some(var_1316) = &input.pipeline_execution_description { + object.key("PipelineExecutionDescription").string(var_1316); } - if let Some(var_1314) = &input.pipeline_execution_display_name { - object.key("PipelineExecutionDisplayName").string(var_1314); + if let Some(var_1317) = &input.pipeline_execution_display_name { + object.key("PipelineExecutionDisplayName").string(var_1317); } } @@ -5699,27 +5707,27 @@ pub fn serialize_structure_update_training_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateTrainingJobInput, ) { - if let Some(var_1315) = &input.training_job_name { - object.key("TrainingJobName").string(var_1315); + if let Some(var_1318) = &input.training_job_name { + object.key("TrainingJobName").string(var_1318); } - if let Some(var_1316) = &input.profiler_config { - let mut object_1317 = object.key("ProfilerConfig").start_object(); - crate::json_ser::serialize_structure_profiler_config_for_update(&mut object_1317, var_1316); - object_1317.finish(); + if let Some(var_1319) = &input.profiler_config { + let mut object_1320 = object.key("ProfilerConfig").start_object(); + crate::json_ser::serialize_structure_profiler_config_for_update(&mut object_1320, var_1319); + object_1320.finish(); } - if let Some(var_1318) = &input.profiler_rule_configurations { - let mut array_1319 = object.key("ProfilerRuleConfigurations").start_array(); - for item_1320 in var_1318 { + if let Some(var_1321) = &input.profiler_rule_configurations { + let mut array_1322 = object.key("ProfilerRuleConfigurations").start_array(); + for item_1323 in var_1321 { { - let mut object_1321 = array_1319.value().start_object(); + let mut object_1324 = array_1322.value().start_object(); crate::json_ser::serialize_structure_profiler_rule_configuration( - &mut object_1321, - item_1320, + &mut object_1324, + item_1323, ); - object_1321.finish(); + object_1324.finish(); } } - array_1319.finish(); + array_1322.finish(); } } @@ -5727,11 +5735,11 @@ pub fn serialize_structure_update_trial_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateTrialInput, ) { - if let Some(var_1322) = &input.trial_name { - object.key("TrialName").string(var_1322); + if let Some(var_1325) = &input.trial_name { + object.key("TrialName").string(var_1325); } - if let Some(var_1323) = &input.display_name { - object.key("DisplayName").string(var_1323); + if let Some(var_1326) = &input.display_name { + object.key("DisplayName").string(var_1326); } } @@ -5739,95 +5747,95 @@ pub fn serialize_structure_update_trial_component_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateTrialComponentInput, ) { - if let Some(var_1324) = &input.trial_component_name { - object.key("TrialComponentName").string(var_1324); + if let Some(var_1327) = &input.trial_component_name { + object.key("TrialComponentName").string(var_1327); } - if let Some(var_1325) = &input.display_name { - object.key("DisplayName").string(var_1325); + if let Some(var_1328) = &input.display_name { + object.key("DisplayName").string(var_1328); } - if let Some(var_1326) = &input.status { - let mut object_1327 = object.key("Status").start_object(); - crate::json_ser::serialize_structure_trial_component_status(&mut object_1327, var_1326); - object_1327.finish(); + if let Some(var_1329) = &input.status { + let mut object_1330 = object.key("Status").start_object(); + crate::json_ser::serialize_structure_trial_component_status(&mut object_1330, var_1329); + object_1330.finish(); } - if let Some(var_1328) = &input.start_time { + if let Some(var_1331) = &input.start_time { object .key("StartTime") - .instant(var_1328, smithy_types::instant::Format::EpochSeconds); + .instant(var_1331, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1329) = &input.end_time { + if let Some(var_1332) = &input.end_time { object .key("EndTime") - .instant(var_1329, smithy_types::instant::Format::EpochSeconds); + .instant(var_1332, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_1330) = &input.parameters { - let mut object_1331 = object.key("Parameters").start_object(); - for (key_1332, value_1333) in var_1330 { + if let Some(var_1333) = &input.parameters { + let mut object_1334 = object.key("Parameters").start_object(); + for (key_1335, value_1336) in var_1333 { { - let mut object_1334 = object_1331.key(key_1332).start_object(); + let mut object_1337 = object_1334.key(key_1335).start_object(); crate::json_ser::serialize_union_trial_component_parameter_value( - &mut object_1334, - value_1333, + &mut object_1337, + value_1336, ); - object_1334.finish(); + object_1337.finish(); } } - object_1331.finish(); + object_1334.finish(); } - if let Some(var_1335) = &input.parameters_to_remove { - let mut array_1336 = object.key("ParametersToRemove").start_array(); - for item_1337 in var_1335 { + if let Some(var_1338) = &input.parameters_to_remove { + let mut array_1339 = object.key("ParametersToRemove").start_array(); + for item_1340 in var_1338 { { - array_1336.value().string(item_1337); + array_1339.value().string(item_1340); } } - array_1336.finish(); + array_1339.finish(); } - if let Some(var_1338) = &input.input_artifacts { - let mut object_1339 = object.key("InputArtifacts").start_object(); - for (key_1340, value_1341) in var_1338 { + if let Some(var_1341) = &input.input_artifacts { + let mut object_1342 = object.key("InputArtifacts").start_object(); + for (key_1343, value_1344) in var_1341 { { - let mut object_1342 = object_1339.key(key_1340).start_object(); + let mut object_1345 = object_1342.key(key_1343).start_object(); crate::json_ser::serialize_structure_trial_component_artifact( - &mut object_1342, - value_1341, + &mut object_1345, + value_1344, ); - object_1342.finish(); + object_1345.finish(); } } - object_1339.finish(); + object_1342.finish(); } - if let Some(var_1343) = &input.input_artifacts_to_remove { - let mut array_1344 = object.key("InputArtifactsToRemove").start_array(); - for item_1345 in var_1343 { + if let Some(var_1346) = &input.input_artifacts_to_remove { + let mut array_1347 = object.key("InputArtifactsToRemove").start_array(); + for item_1348 in var_1346 { { - array_1344.value().string(item_1345); + array_1347.value().string(item_1348); } } - array_1344.finish(); + array_1347.finish(); } - if let Some(var_1346) = &input.output_artifacts { - let mut object_1347 = object.key("OutputArtifacts").start_object(); - for (key_1348, value_1349) in var_1346 { + if let Some(var_1349) = &input.output_artifacts { + let mut object_1350 = object.key("OutputArtifacts").start_object(); + for (key_1351, value_1352) in var_1349 { { - let mut object_1350 = object_1347.key(key_1348).start_object(); + let mut object_1353 = object_1350.key(key_1351).start_object(); crate::json_ser::serialize_structure_trial_component_artifact( - &mut object_1350, - value_1349, + &mut object_1353, + value_1352, ); - object_1350.finish(); + object_1353.finish(); } } - object_1347.finish(); + object_1350.finish(); } - if let Some(var_1351) = &input.output_artifacts_to_remove { - let mut array_1352 = object.key("OutputArtifactsToRemove").start_array(); - for item_1353 in var_1351 { + if let Some(var_1354) = &input.output_artifacts_to_remove { + let mut array_1355 = object.key("OutputArtifactsToRemove").start_array(); + for item_1356 in var_1354 { { - array_1352.value().string(item_1353); + array_1355.value().string(item_1356); } } - array_1352.finish(); + array_1355.finish(); } } @@ -5835,16 +5843,16 @@ pub fn serialize_structure_update_user_profile_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateUserProfileInput, ) { - if let Some(var_1354) = &input.domain_id { - object.key("DomainId").string(var_1354); + if let Some(var_1357) = &input.domain_id { + object.key("DomainId").string(var_1357); } - if let Some(var_1355) = &input.user_profile_name { - object.key("UserProfileName").string(var_1355); + if let Some(var_1358) = &input.user_profile_name { + object.key("UserProfileName").string(var_1358); } - if let Some(var_1356) = &input.user_settings { - let mut object_1357 = object.key("UserSettings").start_object(); - crate::json_ser::serialize_structure_user_settings(&mut object_1357, var_1356); - object_1357.finish(); + if let Some(var_1359) = &input.user_settings { + let mut object_1360 = object.key("UserSettings").start_object(); + crate::json_ser::serialize_structure_user_settings(&mut object_1360, var_1359); + object_1360.finish(); } } @@ -5852,18 +5860,18 @@ pub fn serialize_structure_update_workforce_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateWorkforceInput, ) { - if let Some(var_1358) = &input.workforce_name { - object.key("WorkforceName").string(var_1358); + if let Some(var_1361) = &input.workforce_name { + object.key("WorkforceName").string(var_1361); } - if let Some(var_1359) = &input.source_ip_config { - let mut object_1360 = object.key("SourceIpConfig").start_object(); - crate::json_ser::serialize_structure_source_ip_config(&mut object_1360, var_1359); - object_1360.finish(); + if let Some(var_1362) = &input.source_ip_config { + let mut object_1363 = object.key("SourceIpConfig").start_object(); + crate::json_ser::serialize_structure_source_ip_config(&mut object_1363, var_1362); + object_1363.finish(); } - if let Some(var_1361) = &input.oidc_config { - let mut object_1362 = object.key("OidcConfig").start_object(); - crate::json_ser::serialize_structure_oidc_config(&mut object_1362, var_1361); - object_1362.finish(); + if let Some(var_1364) = &input.oidc_config { + let mut object_1365 = object.key("OidcConfig").start_object(); + crate::json_ser::serialize_structure_oidc_config(&mut object_1365, var_1364); + object_1365.finish(); } } @@ -5871,27 +5879,27 @@ pub fn serialize_structure_update_workteam_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateWorkteamInput, ) { - if let Some(var_1363) = &input.workteam_name { - object.key("WorkteamName").string(var_1363); + if let Some(var_1366) = &input.workteam_name { + object.key("WorkteamName").string(var_1366); } - if let Some(var_1364) = &input.member_definitions { - let mut array_1365 = object.key("MemberDefinitions").start_array(); - for item_1366 in var_1364 { + if let Some(var_1367) = &input.member_definitions { + let mut array_1368 = object.key("MemberDefinitions").start_array(); + for item_1369 in var_1367 { { - let mut object_1367 = array_1365.value().start_object(); - crate::json_ser::serialize_structure_member_definition(&mut object_1367, item_1366); - object_1367.finish(); + let mut object_1370 = array_1368.value().start_object(); + crate::json_ser::serialize_structure_member_definition(&mut object_1370, item_1369); + object_1370.finish(); } } - array_1365.finish(); + array_1368.finish(); } - if let Some(var_1368) = &input.description { - object.key("Description").string(var_1368); + if let Some(var_1371) = &input.description { + object.key("Description").string(var_1371); } - if let Some(var_1369) = &input.notification_configuration { - let mut object_1370 = object.key("NotificationConfiguration").start_object(); - crate::json_ser::serialize_structure_notification_configuration(&mut object_1370, var_1369); - object_1370.finish(); + if let Some(var_1372) = &input.notification_configuration { + let mut object_1373 = object.key("NotificationConfiguration").start_object(); + crate::json_ser::serialize_structure_notification_configuration(&mut object_1373, var_1372); + object_1373.finish(); } } @@ -5899,11 +5907,11 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_1371) = &input.key { - object.key("Key").string(var_1371); + if let Some(var_1374) = &input.key { + object.key("Key").string(var_1374); } - if let Some(var_1372) = &input.value { - object.key("Value").string(var_1372); + if let Some(var_1375) = &input.value { + object.key("Value").string(var_1375); } } @@ -5911,14 +5919,14 @@ pub fn serialize_structure_action_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ActionSource, ) { - if let Some(var_1373) = &input.source_uri { - object.key("SourceUri").string(var_1373); + if let Some(var_1376) = &input.source_uri { + object.key("SourceUri").string(var_1376); } - if let Some(var_1374) = &input.source_type { - object.key("SourceType").string(var_1374); + if let Some(var_1377) = &input.source_type { + object.key("SourceType").string(var_1377); } - if let Some(var_1375) = &input.source_id { - object.key("SourceId").string(var_1375); + if let Some(var_1378) = &input.source_id { + object.key("SourceId").string(var_1378); } } @@ -5926,17 +5934,17 @@ pub fn serialize_structure_metadata_properties( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MetadataProperties, ) { - if let Some(var_1376) = &input.commit_id { - object.key("CommitId").string(var_1376); + if let Some(var_1379) = &input.commit_id { + object.key("CommitId").string(var_1379); } - if let Some(var_1377) = &input.repository { - object.key("Repository").string(var_1377); + if let Some(var_1380) = &input.repository { + object.key("Repository").string(var_1380); } - if let Some(var_1378) = &input.generated_by { - object.key("GeneratedBy").string(var_1378); + if let Some(var_1381) = &input.generated_by { + object.key("GeneratedBy").string(var_1381); } - if let Some(var_1379) = &input.project_id { - object.key("ProjectId").string(var_1379); + if let Some(var_1382) = &input.project_id { + object.key("ProjectId").string(var_1382); } } @@ -5944,80 +5952,80 @@ pub fn serialize_structure_training_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrainingSpecification, ) { - if let Some(var_1380) = &input.training_image { - object.key("TrainingImage").string(var_1380); + if let Some(var_1383) = &input.training_image { + object.key("TrainingImage").string(var_1383); } - if let Some(var_1381) = &input.training_image_digest { - object.key("TrainingImageDigest").string(var_1381); + if let Some(var_1384) = &input.training_image_digest { + object.key("TrainingImageDigest").string(var_1384); } - if let Some(var_1382) = &input.supported_hyper_parameters { - let mut array_1383 = object.key("SupportedHyperParameters").start_array(); - for item_1384 in var_1382 { + if let Some(var_1385) = &input.supported_hyper_parameters { + let mut array_1386 = object.key("SupportedHyperParameters").start_array(); + for item_1387 in var_1385 { { - let mut object_1385 = array_1383.value().start_object(); + let mut object_1388 = array_1386.value().start_object(); crate::json_ser::serialize_structure_hyper_parameter_specification( - &mut object_1385, - item_1384, + &mut object_1388, + item_1387, ); - object_1385.finish(); + object_1388.finish(); } } - array_1383.finish(); + array_1386.finish(); } - if let Some(var_1386) = &input.supported_training_instance_types { - let mut array_1387 = object.key("SupportedTrainingInstanceTypes").start_array(); - for item_1388 in var_1386 { + if let Some(var_1389) = &input.supported_training_instance_types { + let mut array_1390 = object.key("SupportedTrainingInstanceTypes").start_array(); + for item_1391 in var_1389 { { - array_1387.value().string(item_1388.as_str()); + array_1390.value().string(item_1391.as_str()); } } - array_1387.finish(); + array_1390.finish(); } if input.supports_distributed_training { object .key("SupportsDistributedTraining") .boolean(input.supports_distributed_training); } - if let Some(var_1389) = &input.metric_definitions { - let mut array_1390 = object.key("MetricDefinitions").start_array(); - for item_1391 in var_1389 { + if let Some(var_1392) = &input.metric_definitions { + let mut array_1393 = object.key("MetricDefinitions").start_array(); + for item_1394 in var_1392 { { - let mut object_1392 = array_1390.value().start_object(); - crate::json_ser::serialize_structure_metric_definition(&mut object_1392, item_1391); - object_1392.finish(); + let mut object_1395 = array_1393.value().start_object(); + crate::json_ser::serialize_structure_metric_definition(&mut object_1395, item_1394); + object_1395.finish(); } } - array_1390.finish(); + array_1393.finish(); } - if let Some(var_1393) = &input.training_channels { - let mut array_1394 = object.key("TrainingChannels").start_array(); - for item_1395 in var_1393 { + if let Some(var_1396) = &input.training_channels { + let mut array_1397 = object.key("TrainingChannels").start_array(); + for item_1398 in var_1396 { { - let mut object_1396 = array_1394.value().start_object(); + let mut object_1399 = array_1397.value().start_object(); crate::json_ser::serialize_structure_channel_specification( - &mut object_1396, - item_1395, + &mut object_1399, + item_1398, ); - object_1396.finish(); + object_1399.finish(); } } - array_1394.finish(); + array_1397.finish(); } - if let Some(var_1397) = &input.supported_tuning_job_objective_metrics { - let mut array_1398 = object + if let Some(var_1400) = &input.supported_tuning_job_objective_metrics { + let mut array_1401 = object .key("SupportedTuningJobObjectiveMetrics") .start_array(); - for item_1399 in var_1397 { + for item_1402 in var_1400 { { - let mut object_1400 = array_1398.value().start_object(); + let mut object_1403 = array_1401.value().start_object(); crate::json_ser::serialize_structure_hyper_parameter_tuning_job_objective( - &mut object_1400, - item_1399, + &mut object_1403, + item_1402, ); - object_1400.finish(); + object_1403.finish(); } } - array_1398.finish(); + array_1401.finish(); } } @@ -6025,33 +6033,22 @@ pub fn serialize_structure_inference_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InferenceSpecification, ) { - if let Some(var_1401) = &input.containers { - let mut array_1402 = object.key("Containers").start_array(); - for item_1403 in var_1401 { + if let Some(var_1404) = &input.containers { + let mut array_1405 = object.key("Containers").start_array(); + for item_1406 in var_1404 { { - let mut object_1404 = array_1402.value().start_object(); + let mut object_1407 = array_1405.value().start_object(); crate::json_ser::serialize_structure_model_package_container_definition( - &mut object_1404, - item_1403, + &mut object_1407, + item_1406, ); - object_1404.finish(); + object_1407.finish(); } } - array_1402.finish(); + array_1405.finish(); } - if let Some(var_1405) = &input.supported_transform_instance_types { - let mut array_1406 = object.key("SupportedTransformInstanceTypes").start_array(); - for item_1407 in var_1405 { - { - array_1406.value().string(item_1407.as_str()); - } - } - array_1406.finish(); - } - if let Some(var_1408) = &input.supported_realtime_inference_instance_types { - let mut array_1409 = object - .key("SupportedRealtimeInferenceInstanceTypes") - .start_array(); + if let Some(var_1408) = &input.supported_transform_instance_types { + let mut array_1409 = object.key("SupportedTransformInstanceTypes").start_array(); for item_1410 in var_1408 { { array_1409.value().string(item_1410.as_str()); @@ -6059,17 +6056,19 @@ pub fn serialize_structure_inference_specification( } array_1409.finish(); } - if let Some(var_1411) = &input.supported_content_types { - let mut array_1412 = object.key("SupportedContentTypes").start_array(); + if let Some(var_1411) = &input.supported_realtime_inference_instance_types { + let mut array_1412 = object + .key("SupportedRealtimeInferenceInstanceTypes") + .start_array(); for item_1413 in var_1411 { { - array_1412.value().string(item_1413); + array_1412.value().string(item_1413.as_str()); } } array_1412.finish(); } - if let Some(var_1414) = &input.supported_response_mime_types { - let mut array_1415 = object.key("SupportedResponseMIMETypes").start_array(); + if let Some(var_1414) = &input.supported_content_types { + let mut array_1415 = object.key("SupportedContentTypes").start_array(); for item_1416 in var_1414 { { array_1415.value().string(item_1416); @@ -6077,28 +6076,37 @@ pub fn serialize_structure_inference_specification( } array_1415.finish(); } + if let Some(var_1417) = &input.supported_response_mime_types { + let mut array_1418 = object.key("SupportedResponseMIMETypes").start_array(); + for item_1419 in var_1417 { + { + array_1418.value().string(item_1419); + } + } + array_1418.finish(); + } } pub fn serialize_structure_algorithm_validation_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AlgorithmValidationSpecification, ) { - if let Some(var_1417) = &input.validation_role { - object.key("ValidationRole").string(var_1417); + if let Some(var_1420) = &input.validation_role { + object.key("ValidationRole").string(var_1420); } - if let Some(var_1418) = &input.validation_profiles { - let mut array_1419 = object.key("ValidationProfiles").start_array(); - for item_1420 in var_1418 { + if let Some(var_1421) = &input.validation_profiles { + let mut array_1422 = object.key("ValidationProfiles").start_array(); + for item_1423 in var_1421 { { - let mut object_1421 = array_1419.value().start_object(); + let mut object_1424 = array_1422.value().start_object(); crate::json_ser::serialize_structure_algorithm_validation_profile( - &mut object_1421, - item_1420, + &mut object_1424, + item_1423, ); - object_1421.finish(); + object_1424.finish(); } } - array_1419.finish(); + array_1422.finish(); } } @@ -6106,14 +6114,14 @@ pub fn serialize_structure_resource_spec( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ResourceSpec, ) { - if let Some(var_1422) = &input.sage_maker_image_arn { - object.key("SageMakerImageArn").string(var_1422); + if let Some(var_1425) = &input.sage_maker_image_arn { + object.key("SageMakerImageArn").string(var_1425); } - if let Some(var_1423) = &input.sage_maker_image_version_arn { - object.key("SageMakerImageVersionArn").string(var_1423); + if let Some(var_1426) = &input.sage_maker_image_version_arn { + object.key("SageMakerImageVersionArn").string(var_1426); } - if let Some(var_1424) = &input.instance_type { - object.key("InstanceType").string(var_1424.as_str()); + if let Some(var_1427) = &input.instance_type { + object.key("InstanceType").string(var_1427.as_str()); } } @@ -6121,21 +6129,21 @@ pub fn serialize_structure_kernel_gateway_image_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KernelGatewayImageConfig, ) { - if let Some(var_1425) = &input.kernel_specs { - let mut array_1426 = object.key("KernelSpecs").start_array(); - for item_1427 in var_1425 { + if let Some(var_1428) = &input.kernel_specs { + let mut array_1429 = object.key("KernelSpecs").start_array(); + for item_1430 in var_1428 { { - let mut object_1428 = array_1426.value().start_object(); - crate::json_ser::serialize_structure_kernel_spec(&mut object_1428, item_1427); - object_1428.finish(); + let mut object_1431 = array_1429.value().start_object(); + crate::json_ser::serialize_structure_kernel_spec(&mut object_1431, item_1430); + object_1431.finish(); } } - array_1426.finish(); + array_1429.finish(); } - if let Some(var_1429) = &input.file_system_config { - let mut object_1430 = object.key("FileSystemConfig").start_object(); - crate::json_ser::serialize_structure_file_system_config(&mut object_1430, var_1429); - object_1430.finish(); + if let Some(var_1432) = &input.file_system_config { + let mut object_1433 = object.key("FileSystemConfig").start_object(); + crate::json_ser::serialize_structure_file_system_config(&mut object_1433, var_1432); + object_1433.finish(); } } @@ -6143,22 +6151,22 @@ pub fn serialize_structure_artifact_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ArtifactSource, ) { - if let Some(var_1431) = &input.source_uri { - object.key("SourceUri").string(var_1431); + if let Some(var_1434) = &input.source_uri { + object.key("SourceUri").string(var_1434); } - if let Some(var_1432) = &input.source_types { - let mut array_1433 = object.key("SourceTypes").start_array(); - for item_1434 in var_1432 { + if let Some(var_1435) = &input.source_types { + let mut array_1436 = object.key("SourceTypes").start_array(); + for item_1437 in var_1435 { { - let mut object_1435 = array_1433.value().start_object(); + let mut object_1438 = array_1436.value().start_object(); crate::json_ser::serialize_structure_artifact_source_type( - &mut object_1435, - item_1434, + &mut object_1438, + item_1437, ); - object_1435.finish(); + object_1438.finish(); } } - array_1433.finish(); + array_1436.finish(); } } @@ -6166,16 +6174,16 @@ pub fn serialize_structure_auto_ml_channel( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlChannel, ) { - if let Some(var_1436) = &input.data_source { - let mut object_1437 = object.key("DataSource").start_object(); - crate::json_ser::serialize_structure_auto_ml_data_source(&mut object_1437, var_1436); - object_1437.finish(); + if let Some(var_1439) = &input.data_source { + let mut object_1440 = object.key("DataSource").start_object(); + crate::json_ser::serialize_structure_auto_ml_data_source(&mut object_1440, var_1439); + object_1440.finish(); } - if let Some(var_1438) = &input.compression_type { - object.key("CompressionType").string(var_1438.as_str()); + if let Some(var_1441) = &input.compression_type { + object.key("CompressionType").string(var_1441.as_str()); } - if let Some(var_1439) = &input.target_attribute_name { - object.key("TargetAttributeName").string(var_1439); + if let Some(var_1442) = &input.target_attribute_name { + object.key("TargetAttributeName").string(var_1442); } } @@ -6183,11 +6191,11 @@ pub fn serialize_structure_auto_ml_output_data_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlOutputDataConfig, ) { - if let Some(var_1440) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1440); + if let Some(var_1443) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1443); } - if let Some(var_1441) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1441); + if let Some(var_1444) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1444); } } @@ -6195,8 +6203,8 @@ pub fn serialize_structure_auto_ml_job_objective( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlJobObjective, ) { - if let Some(var_1442) = &input.metric_name { - object.key("MetricName").string(var_1442.as_str()); + if let Some(var_1445) = &input.metric_name { + object.key("MetricName").string(var_1445.as_str()); } } @@ -6204,18 +6212,18 @@ pub fn serialize_structure_auto_ml_job_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlJobConfig, ) { - if let Some(var_1443) = &input.completion_criteria { - let mut object_1444 = object.key("CompletionCriteria").start_object(); + if let Some(var_1446) = &input.completion_criteria { + let mut object_1447 = object.key("CompletionCriteria").start_object(); crate::json_ser::serialize_structure_auto_ml_job_completion_criteria( - &mut object_1444, - var_1443, + &mut object_1447, + var_1446, ); - object_1444.finish(); + object_1447.finish(); } - if let Some(var_1445) = &input.security_config { - let mut object_1446 = object.key("SecurityConfig").start_object(); - crate::json_ser::serialize_structure_auto_ml_security_config(&mut object_1446, var_1445); - object_1446.finish(); + if let Some(var_1448) = &input.security_config { + let mut object_1449 = object.key("SecurityConfig").start_object(); + crate::json_ser::serialize_structure_auto_ml_security_config(&mut object_1449, var_1448); + object_1449.finish(); } } @@ -6228,8 +6236,8 @@ pub fn serialize_structure_model_deploy_config( .key("AutoGenerateEndpointName") .boolean(input.auto_generate_endpoint_name); } - if let Some(var_1447) = &input.endpoint_name { - object.key("EndpointName").string(var_1447); + if let Some(var_1450) = &input.endpoint_name { + object.key("EndpointName").string(var_1450); } } @@ -6237,14 +6245,14 @@ pub fn serialize_structure_git_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GitConfig, ) { - if let Some(var_1448) = &input.repository_url { - object.key("RepositoryUrl").string(var_1448); + if let Some(var_1451) = &input.repository_url { + object.key("RepositoryUrl").string(var_1451); } - if let Some(var_1449) = &input.branch { - object.key("Branch").string(var_1449); + if let Some(var_1452) = &input.branch { + object.key("Branch").string(var_1452); } - if let Some(var_1450) = &input.secret_arn { - object.key("SecretArn").string(var_1450); + if let Some(var_1453) = &input.secret_arn { + object.key("SecretArn").string(var_1453); } } @@ -6252,17 +6260,17 @@ pub fn serialize_structure_input_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InputConfig, ) { - if let Some(var_1451) = &input.s3_uri { - object.key("S3Uri").string(var_1451); + if let Some(var_1454) = &input.s3_uri { + object.key("S3Uri").string(var_1454); } - if let Some(var_1452) = &input.data_input_config { - object.key("DataInputConfig").string(var_1452); + if let Some(var_1455) = &input.data_input_config { + object.key("DataInputConfig").string(var_1455); } - if let Some(var_1453) = &input.framework { - object.key("Framework").string(var_1453.as_str()); + if let Some(var_1456) = &input.framework { + object.key("Framework").string(var_1456.as_str()); } - if let Some(var_1454) = &input.framework_version { - object.key("FrameworkVersion").string(var_1454); + if let Some(var_1457) = &input.framework_version { + object.key("FrameworkVersion").string(var_1457); } } @@ -6270,22 +6278,22 @@ pub fn serialize_structure_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OutputConfig, ) { - if let Some(var_1455) = &input.s3_output_location { - object.key("S3OutputLocation").string(var_1455); + if let Some(var_1458) = &input.s3_output_location { + object.key("S3OutputLocation").string(var_1458); } - if let Some(var_1456) = &input.target_device { - object.key("TargetDevice").string(var_1456.as_str()); + if let Some(var_1459) = &input.target_device { + object.key("TargetDevice").string(var_1459.as_str()); } - if let Some(var_1457) = &input.target_platform { - let mut object_1458 = object.key("TargetPlatform").start_object(); - crate::json_ser::serialize_structure_target_platform(&mut object_1458, var_1457); - object_1458.finish(); + if let Some(var_1460) = &input.target_platform { + let mut object_1461 = object.key("TargetPlatform").start_object(); + crate::json_ser::serialize_structure_target_platform(&mut object_1461, var_1460); + object_1461.finish(); } - if let Some(var_1459) = &input.compiler_options { - object.key("CompilerOptions").string(var_1459); + if let Some(var_1462) = &input.compiler_options { + object.key("CompilerOptions").string(var_1462); } - if let Some(var_1460) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1460); + if let Some(var_1463) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1463); } } @@ -6293,23 +6301,23 @@ pub fn serialize_structure_neo_vpc_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NeoVpcConfig, ) { - if let Some(var_1461) = &input.security_group_ids { - let mut array_1462 = object.key("SecurityGroupIds").start_array(); - for item_1463 in var_1461 { + if let Some(var_1464) = &input.security_group_ids { + let mut array_1465 = object.key("SecurityGroupIds").start_array(); + for item_1466 in var_1464 { { - array_1462.value().string(item_1463); + array_1465.value().string(item_1466); } } - array_1462.finish(); + array_1465.finish(); } - if let Some(var_1464) = &input.subnets { - let mut array_1465 = object.key("Subnets").start_array(); - for item_1466 in var_1464 { + if let Some(var_1467) = &input.subnets { + let mut array_1468 = object.key("Subnets").start_array(); + for item_1469 in var_1467 { { - array_1465.value().string(item_1466); + array_1468.value().string(item_1469); } } - array_1465.finish(); + array_1468.finish(); } } @@ -6323,10 +6331,10 @@ pub fn serialize_structure_stopping_condition( smithy_types::Number::NegInt((input.max_runtime_in_seconds).into()), ); } - if let Some(var_1467) = &input.max_wait_time_in_seconds { + if let Some(var_1470) = &input.max_wait_time_in_seconds { object.key("MaxWaitTimeInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1467).into()), + smithy_types::Number::NegInt((*var_1470).into()), ); } } @@ -6335,14 +6343,14 @@ pub fn serialize_structure_context_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ContextSource, ) { - if let Some(var_1468) = &input.source_uri { - object.key("SourceUri").string(var_1468); + if let Some(var_1471) = &input.source_uri { + object.key("SourceUri").string(var_1471); } - if let Some(var_1469) = &input.source_type { - object.key("SourceType").string(var_1469); + if let Some(var_1472) = &input.source_type { + object.key("SourceType").string(var_1472); } - if let Some(var_1470) = &input.source_id { - object.key("SourceId").string(var_1470); + if let Some(var_1473) = &input.source_id { + object.key("SourceId").string(var_1473); } } @@ -6350,24 +6358,24 @@ pub fn serialize_structure_data_quality_baseline_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataQualityBaselineConfig, ) { - if let Some(var_1471) = &input.baselining_job_name { - object.key("BaseliningJobName").string(var_1471); + if let Some(var_1474) = &input.baselining_job_name { + object.key("BaseliningJobName").string(var_1474); } - if let Some(var_1472) = &input.constraints_resource { - let mut object_1473 = object.key("ConstraintsResource").start_object(); + if let Some(var_1475) = &input.constraints_resource { + let mut object_1476 = object.key("ConstraintsResource").start_object(); crate::json_ser::serialize_structure_monitoring_constraints_resource( - &mut object_1473, - var_1472, + &mut object_1476, + var_1475, ); - object_1473.finish(); + object_1476.finish(); } - if let Some(var_1474) = &input.statistics_resource { - let mut object_1475 = object.key("StatisticsResource").start_object(); + if let Some(var_1477) = &input.statistics_resource { + let mut object_1478 = object.key("StatisticsResource").start_object(); crate::json_ser::serialize_structure_monitoring_statistics_resource( - &mut object_1475, - var_1474, + &mut object_1478, + var_1477, ); - object_1475.finish(); + object_1478.finish(); } } @@ -6375,43 +6383,43 @@ pub fn serialize_structure_data_quality_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataQualityAppSpecification, ) { - if let Some(var_1476) = &input.image_uri { - object.key("ImageUri").string(var_1476); + if let Some(var_1479) = &input.image_uri { + object.key("ImageUri").string(var_1479); } - if let Some(var_1477) = &input.container_entrypoint { - let mut array_1478 = object.key("ContainerEntrypoint").start_array(); - for item_1479 in var_1477 { + if let Some(var_1480) = &input.container_entrypoint { + let mut array_1481 = object.key("ContainerEntrypoint").start_array(); + for item_1482 in var_1480 { { - array_1478.value().string(item_1479); + array_1481.value().string(item_1482); } } - array_1478.finish(); + array_1481.finish(); } - if let Some(var_1480) = &input.container_arguments { - let mut array_1481 = object.key("ContainerArguments").start_array(); - for item_1482 in var_1480 { + if let Some(var_1483) = &input.container_arguments { + let mut array_1484 = object.key("ContainerArguments").start_array(); + for item_1485 in var_1483 { { - array_1481.value().string(item_1482); + array_1484.value().string(item_1485); } } - array_1481.finish(); + array_1484.finish(); } - if let Some(var_1483) = &input.record_preprocessor_source_uri { - object.key("RecordPreprocessorSourceUri").string(var_1483); + if let Some(var_1486) = &input.record_preprocessor_source_uri { + object.key("RecordPreprocessorSourceUri").string(var_1486); } - if let Some(var_1484) = &input.post_analytics_processor_source_uri { + if let Some(var_1487) = &input.post_analytics_processor_source_uri { object .key("PostAnalyticsProcessorSourceUri") - .string(var_1484); + .string(var_1487); } - if let Some(var_1485) = &input.environment { - let mut object_1486 = object.key("Environment").start_object(); - for (key_1487, value_1488) in var_1485 { + if let Some(var_1488) = &input.environment { + let mut object_1489 = object.key("Environment").start_object(); + for (key_1490, value_1491) in var_1488 { { - object_1486.key(key_1487).string(value_1488); + object_1489.key(key_1490).string(value_1491); } } - object_1486.finish(); + object_1489.finish(); } } @@ -6419,10 +6427,10 @@ pub fn serialize_structure_data_quality_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataQualityJobInput, ) { - if let Some(var_1489) = &input.endpoint_input { - let mut object_1490 = object.key("EndpointInput").start_object(); - crate::json_ser::serialize_structure_endpoint_input(&mut object_1490, var_1489); - object_1490.finish(); + if let Some(var_1492) = &input.endpoint_input { + let mut object_1493 = object.key("EndpointInput").start_object(); + crate::json_ser::serialize_structure_endpoint_input(&mut object_1493, var_1492); + object_1493.finish(); } } @@ -6430,19 +6438,19 @@ pub fn serialize_structure_monitoring_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringOutputConfig, ) { - if let Some(var_1491) = &input.monitoring_outputs { - let mut array_1492 = object.key("MonitoringOutputs").start_array(); - for item_1493 in var_1491 { + if let Some(var_1494) = &input.monitoring_outputs { + let mut array_1495 = object.key("MonitoringOutputs").start_array(); + for item_1496 in var_1494 { { - let mut object_1494 = array_1492.value().start_object(); - crate::json_ser::serialize_structure_monitoring_output(&mut object_1494, item_1493); - object_1494.finish(); + let mut object_1497 = array_1495.value().start_object(); + crate::json_ser::serialize_structure_monitoring_output(&mut object_1497, item_1496); + object_1497.finish(); } } - array_1492.finish(); + array_1495.finish(); } - if let Some(var_1495) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1495); + if let Some(var_1498) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1498); } } @@ -6450,10 +6458,10 @@ pub fn serialize_structure_monitoring_resources( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringResources, ) { - if let Some(var_1496) = &input.cluster_config { - let mut object_1497 = object.key("ClusterConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_cluster_config(&mut object_1497, var_1496); - object_1497.finish(); + if let Some(var_1499) = &input.cluster_config { + let mut object_1500 = object.key("ClusterConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_cluster_config(&mut object_1500, var_1499); + object_1500.finish(); } } @@ -6471,10 +6479,10 @@ pub fn serialize_structure_monitoring_network_config( .key("EnableNetworkIsolation") .boolean(input.enable_network_isolation); } - if let Some(var_1498) = &input.vpc_config { - let mut object_1499 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_1499, var_1498); - object_1499.finish(); + if let Some(var_1501) = &input.vpc_config { + let mut object_1502 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_1502, var_1501); + object_1502.finish(); } } @@ -6494,17 +6502,17 @@ pub fn serialize_structure_edge_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EdgeOutputConfig, ) { - if let Some(var_1500) = &input.s3_output_location { - object.key("S3OutputLocation").string(var_1500); + if let Some(var_1503) = &input.s3_output_location { + object.key("S3OutputLocation").string(var_1503); } - if let Some(var_1501) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1501); + if let Some(var_1504) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1504); } - if let Some(var_1502) = &input.preset_deployment_type { - object.key("PresetDeploymentType").string(var_1502.as_str()); + if let Some(var_1505) = &input.preset_deployment_type { + object.key("PresetDeploymentType").string(var_1505.as_str()); } - if let Some(var_1503) = &input.preset_deployment_config { - object.key("PresetDeploymentConfig").string(var_1503); + if let Some(var_1506) = &input.preset_deployment_config { + object.key("PresetDeploymentConfig").string(var_1506); } } @@ -6512,43 +6520,43 @@ pub fn serialize_structure_user_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UserSettings, ) { - if let Some(var_1504) = &input.execution_role { - object.key("ExecutionRole").string(var_1504); + if let Some(var_1507) = &input.execution_role { + object.key("ExecutionRole").string(var_1507); } - if let Some(var_1505) = &input.security_groups { - let mut array_1506 = object.key("SecurityGroups").start_array(); - for item_1507 in var_1505 { + if let Some(var_1508) = &input.security_groups { + let mut array_1509 = object.key("SecurityGroups").start_array(); + for item_1510 in var_1508 { { - array_1506.value().string(item_1507); + array_1509.value().string(item_1510); } } - array_1506.finish(); + array_1509.finish(); } - if let Some(var_1508) = &input.sharing_settings { - let mut object_1509 = object.key("SharingSettings").start_object(); - crate::json_ser::serialize_structure_sharing_settings(&mut object_1509, var_1508); - object_1509.finish(); + if let Some(var_1511) = &input.sharing_settings { + let mut object_1512 = object.key("SharingSettings").start_object(); + crate::json_ser::serialize_structure_sharing_settings(&mut object_1512, var_1511); + object_1512.finish(); } - if let Some(var_1510) = &input.jupyter_server_app_settings { - let mut object_1511 = object.key("JupyterServerAppSettings").start_object(); + if let Some(var_1513) = &input.jupyter_server_app_settings { + let mut object_1514 = object.key("JupyterServerAppSettings").start_object(); crate::json_ser::serialize_structure_jupyter_server_app_settings( - &mut object_1511, - var_1510, + &mut object_1514, + var_1513, ); - object_1511.finish(); + object_1514.finish(); } - if let Some(var_1512) = &input.kernel_gateway_app_settings { - let mut object_1513 = object.key("KernelGatewayAppSettings").start_object(); + if let Some(var_1515) = &input.kernel_gateway_app_settings { + let mut object_1516 = object.key("KernelGatewayAppSettings").start_object(); crate::json_ser::serialize_structure_kernel_gateway_app_settings( - &mut object_1513, - var_1512, + &mut object_1516, + var_1515, ); - object_1513.finish(); + object_1516.finish(); } - if let Some(var_1514) = &input.tensor_board_app_settings { - let mut object_1515 = object.key("TensorBoardAppSettings").start_object(); - crate::json_ser::serialize_structure_tensor_board_app_settings(&mut object_1515, var_1514); - object_1515.finish(); + if let Some(var_1517) = &input.tensor_board_app_settings { + let mut object_1518 = object.key("TensorBoardAppSettings").start_object(); + crate::json_ser::serialize_structure_tensor_board_app_settings(&mut object_1518, var_1517); + object_1518.finish(); } } @@ -6556,37 +6564,37 @@ pub fn serialize_structure_production_variant( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProductionVariant, ) { - if let Some(var_1516) = &input.variant_name { - object.key("VariantName").string(var_1516); + if let Some(var_1519) = &input.variant_name { + object.key("VariantName").string(var_1519); } - if let Some(var_1517) = &input.model_name { - object.key("ModelName").string(var_1517); + if let Some(var_1520) = &input.model_name { + object.key("ModelName").string(var_1520); } - if let Some(var_1518) = &input.initial_instance_count { + if let Some(var_1521) = &input.initial_instance_count { object.key("InitialInstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1518).into()), + smithy_types::Number::NegInt((*var_1521).into()), ); } - if let Some(var_1519) = &input.instance_type { - object.key("InstanceType").string(var_1519.as_str()); + if let Some(var_1522) = &input.instance_type { + object.key("InstanceType").string(var_1522.as_str()); } - if let Some(var_1520) = &input.initial_variant_weight { + if let Some(var_1523) = &input.initial_variant_weight { object.key("InitialVariantWeight").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_1520).into()), + smithy_types::Number::Float((*var_1523).into()), ); } - if let Some(var_1521) = &input.accelerator_type { - object.key("AcceleratorType").string(var_1521.as_str()); + if let Some(var_1524) = &input.accelerator_type { + object.key("AcceleratorType").string(var_1524.as_str()); } - if let Some(var_1522) = &input.core_dump_config { - let mut object_1523 = object.key("CoreDumpConfig").start_object(); + if let Some(var_1525) = &input.core_dump_config { + let mut object_1526 = object.key("CoreDumpConfig").start_object(); crate::json_ser::serialize_structure_production_variant_core_dump_config( - &mut object_1523, - var_1522, + &mut object_1526, + var_1525, ); - object_1523.finish(); + object_1526.finish(); } } @@ -6597,36 +6605,58 @@ pub fn serialize_structure_data_capture_config( if input.enable_capture { object.key("EnableCapture").boolean(input.enable_capture); } - if let Some(var_1524) = &input.initial_sampling_percentage { + if let Some(var_1527) = &input.initial_sampling_percentage { object.key("InitialSamplingPercentage").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1524).into()), + smithy_types::Number::NegInt((*var_1527).into()), ); } - if let Some(var_1525) = &input.destination_s3_uri { - object.key("DestinationS3Uri").string(var_1525); + if let Some(var_1528) = &input.destination_s3_uri { + object.key("DestinationS3Uri").string(var_1528); } - if let Some(var_1526) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1526); + if let Some(var_1529) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1529); } - if let Some(var_1527) = &input.capture_options { - let mut array_1528 = object.key("CaptureOptions").start_array(); - for item_1529 in var_1527 { + if let Some(var_1530) = &input.capture_options { + let mut array_1531 = object.key("CaptureOptions").start_array(); + for item_1532 in var_1530 { { - let mut object_1530 = array_1528.value().start_object(); - crate::json_ser::serialize_structure_capture_option(&mut object_1530, item_1529); - object_1530.finish(); + let mut object_1533 = array_1531.value().start_object(); + crate::json_ser::serialize_structure_capture_option(&mut object_1533, item_1532); + object_1533.finish(); } } - array_1528.finish(); + array_1531.finish(); } - if let Some(var_1531) = &input.capture_content_type_header { - let mut object_1532 = object.key("CaptureContentTypeHeader").start_object(); + if let Some(var_1534) = &input.capture_content_type_header { + let mut object_1535 = object.key("CaptureContentTypeHeader").start_object(); crate::json_ser::serialize_structure_capture_content_type_header( - &mut object_1532, - var_1531, + &mut object_1535, + var_1534, ); - object_1532.finish(); + object_1535.finish(); + } +} + +pub fn serialize_structure_async_inference_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AsyncInferenceConfig, +) { + if let Some(var_1536) = &input.client_config { + let mut object_1537 = object.key("ClientConfig").start_object(); + crate::json_ser::serialize_structure_async_inference_client_config( + &mut object_1537, + var_1536, + ); + object_1537.finish(); + } + if let Some(var_1538) = &input.output_config { + let mut object_1539 = object.key("OutputConfig").start_object(); + crate::json_ser::serialize_structure_async_inference_output_config( + &mut object_1539, + var_1538, + ); + object_1539.finish(); } } @@ -6634,11 +6664,11 @@ pub fn serialize_structure_feature_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FeatureDefinition, ) { - if let Some(var_1533) = &input.feature_name { - object.key("FeatureName").string(var_1533); + if let Some(var_1540) = &input.feature_name { + object.key("FeatureName").string(var_1540); } - if let Some(var_1534) = &input.feature_type { - object.key("FeatureType").string(var_1534.as_str()); + if let Some(var_1541) = &input.feature_type { + object.key("FeatureType").string(var_1541.as_str()); } } @@ -6646,13 +6676,13 @@ pub fn serialize_structure_online_store_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OnlineStoreConfig, ) { - if let Some(var_1535) = &input.security_config { - let mut object_1536 = object.key("SecurityConfig").start_object(); + if let Some(var_1542) = &input.security_config { + let mut object_1543 = object.key("SecurityConfig").start_object(); crate::json_ser::serialize_structure_online_store_security_config( - &mut object_1536, - var_1535, + &mut object_1543, + var_1542, ); - object_1536.finish(); + object_1543.finish(); } if input.enable_online_store { object @@ -6665,20 +6695,20 @@ pub fn serialize_structure_offline_store_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OfflineStoreConfig, ) { - if let Some(var_1537) = &input.s3_storage_config { - let mut object_1538 = object.key("S3StorageConfig").start_object(); - crate::json_ser::serialize_structure_s3_storage_config(&mut object_1538, var_1537); - object_1538.finish(); + if let Some(var_1544) = &input.s3_storage_config { + let mut object_1545 = object.key("S3StorageConfig").start_object(); + crate::json_ser::serialize_structure_s3_storage_config(&mut object_1545, var_1544); + object_1545.finish(); } if input.disable_glue_table_creation { object .key("DisableGlueTableCreation") .boolean(input.disable_glue_table_creation); } - if let Some(var_1539) = &input.data_catalog_config { - let mut object_1540 = object.key("DataCatalogConfig").start_object(); - crate::json_ser::serialize_structure_data_catalog_config(&mut object_1540, var_1539); - object_1540.finish(); + if let Some(var_1546) = &input.data_catalog_config { + let mut object_1547 = object.key("DataCatalogConfig").start_object(); + crate::json_ser::serialize_structure_data_catalog_config(&mut object_1547, var_1546); + object_1547.finish(); } } @@ -6686,10 +6716,10 @@ pub fn serialize_structure_human_loop_request_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HumanLoopRequestSource, ) { - if let Some(var_1541) = &input.aws_managed_human_loop_request_source { + if let Some(var_1548) = &input.aws_managed_human_loop_request_source { object .key("AwsManagedHumanLoopRequestSource") - .string(var_1541.as_str()); + .string(var_1548.as_str()); } } @@ -6697,15 +6727,15 @@ pub fn serialize_structure_human_loop_activation_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HumanLoopActivationConfig, ) { - if let Some(var_1542) = &input.human_loop_activation_conditions_config { - let mut object_1543 = object + if let Some(var_1549) = &input.human_loop_activation_conditions_config { + let mut object_1550 = object .key("HumanLoopActivationConditionsConfig") .start_object(); crate::json_ser::serialize_structure_human_loop_activation_conditions_config( - &mut object_1543, - var_1542, + &mut object_1550, + var_1549, ); - object_1543.finish(); + object_1550.finish(); } } @@ -6713,52 +6743,52 @@ pub fn serialize_structure_human_loop_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HumanLoopConfig, ) { - if let Some(var_1544) = &input.workteam_arn { - object.key("WorkteamArn").string(var_1544); + if let Some(var_1551) = &input.workteam_arn { + object.key("WorkteamArn").string(var_1551); } - if let Some(var_1545) = &input.human_task_ui_arn { - object.key("HumanTaskUiArn").string(var_1545); + if let Some(var_1552) = &input.human_task_ui_arn { + object.key("HumanTaskUiArn").string(var_1552); } - if let Some(var_1546) = &input.task_title { - object.key("TaskTitle").string(var_1546); + if let Some(var_1553) = &input.task_title { + object.key("TaskTitle").string(var_1553); } - if let Some(var_1547) = &input.task_description { - object.key("TaskDescription").string(var_1547); + if let Some(var_1554) = &input.task_description { + object.key("TaskDescription").string(var_1554); } - if let Some(var_1548) = &input.task_count { + if let Some(var_1555) = &input.task_count { object.key("TaskCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1548).into()), + smithy_types::Number::NegInt((*var_1555).into()), ); } - if let Some(var_1549) = &input.task_availability_lifetime_in_seconds { + if let Some(var_1556) = &input.task_availability_lifetime_in_seconds { object.key("TaskAvailabilityLifetimeInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1549).into()), + smithy_types::Number::NegInt((*var_1556).into()), ); } - if let Some(var_1550) = &input.task_time_limit_in_seconds { + if let Some(var_1557) = &input.task_time_limit_in_seconds { object.key("TaskTimeLimitInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1550).into()), + smithy_types::Number::NegInt((*var_1557).into()), ); } - if let Some(var_1551) = &input.task_keywords { - let mut array_1552 = object.key("TaskKeywords").start_array(); - for item_1553 in var_1551 { + if let Some(var_1558) = &input.task_keywords { + let mut array_1559 = object.key("TaskKeywords").start_array(); + for item_1560 in var_1558 { { - array_1552.value().string(item_1553); + array_1559.value().string(item_1560); } } - array_1552.finish(); + array_1559.finish(); } - if let Some(var_1554) = &input.public_workforce_task_price { - let mut object_1555 = object.key("PublicWorkforceTaskPrice").start_object(); + if let Some(var_1561) = &input.public_workforce_task_price { + let mut object_1562 = object.key("PublicWorkforceTaskPrice").start_object(); crate::json_ser::serialize_structure_public_workforce_task_price( - &mut object_1555, - var_1554, + &mut object_1562, + var_1561, ); - object_1555.finish(); + object_1562.finish(); } } @@ -6766,11 +6796,11 @@ pub fn serialize_structure_flow_definition_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FlowDefinitionOutputConfig, ) { - if let Some(var_1556) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1556); + if let Some(var_1563) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1563); } - if let Some(var_1557) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1557); + if let Some(var_1564) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1564); } } @@ -6778,8 +6808,8 @@ pub fn serialize_structure_ui_template( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UiTemplate, ) { - if let Some(var_1558) = &input.content { - object.key("Content").string(var_1558); + if let Some(var_1565) = &input.content { + object.key("Content").string(var_1565); } } @@ -6787,41 +6817,41 @@ pub fn serialize_structure_hyper_parameter_tuning_job_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterTuningJobConfig, ) { - if let Some(var_1559) = &input.strategy { - object.key("Strategy").string(var_1559.as_str()); + if let Some(var_1566) = &input.strategy { + object.key("Strategy").string(var_1566.as_str()); } - if let Some(var_1560) = &input.hyper_parameter_tuning_job_objective { - let mut object_1561 = object + if let Some(var_1567) = &input.hyper_parameter_tuning_job_objective { + let mut object_1568 = object .key("HyperParameterTuningJobObjective") .start_object(); crate::json_ser::serialize_structure_hyper_parameter_tuning_job_objective( - &mut object_1561, - var_1560, + &mut object_1568, + var_1567, ); - object_1561.finish(); + object_1568.finish(); } - if let Some(var_1562) = &input.resource_limits { - let mut object_1563 = object.key("ResourceLimits").start_object(); - crate::json_ser::serialize_structure_resource_limits(&mut object_1563, var_1562); - object_1563.finish(); + if let Some(var_1569) = &input.resource_limits { + let mut object_1570 = object.key("ResourceLimits").start_object(); + crate::json_ser::serialize_structure_resource_limits(&mut object_1570, var_1569); + object_1570.finish(); } - if let Some(var_1564) = &input.parameter_ranges { - let mut object_1565 = object.key("ParameterRanges").start_object(); - crate::json_ser::serialize_structure_parameter_ranges(&mut object_1565, var_1564); - object_1565.finish(); + if let Some(var_1571) = &input.parameter_ranges { + let mut object_1572 = object.key("ParameterRanges").start_object(); + crate::json_ser::serialize_structure_parameter_ranges(&mut object_1572, var_1571); + object_1572.finish(); } - if let Some(var_1566) = &input.training_job_early_stopping_type { + if let Some(var_1573) = &input.training_job_early_stopping_type { object .key("TrainingJobEarlyStoppingType") - .string(var_1566.as_str()); + .string(var_1573.as_str()); } - if let Some(var_1567) = &input.tuning_job_completion_criteria { - let mut object_1568 = object.key("TuningJobCompletionCriteria").start_object(); + if let Some(var_1574) = &input.tuning_job_completion_criteria { + let mut object_1575 = object.key("TuningJobCompletionCriteria").start_object(); crate::json_ser::serialize_structure_tuning_job_completion_criteria( - &mut object_1568, - var_1567, + &mut object_1575, + var_1574, ); - object_1568.finish(); + object_1575.finish(); } } @@ -6829,72 +6859,72 @@ pub fn serialize_structure_hyper_parameter_training_job_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterTrainingJobDefinition, ) { - if let Some(var_1569) = &input.definition_name { - object.key("DefinitionName").string(var_1569); + if let Some(var_1576) = &input.definition_name { + object.key("DefinitionName").string(var_1576); } - if let Some(var_1570) = &input.tuning_objective { - let mut object_1571 = object.key("TuningObjective").start_object(); + if let Some(var_1577) = &input.tuning_objective { + let mut object_1578 = object.key("TuningObjective").start_object(); crate::json_ser::serialize_structure_hyper_parameter_tuning_job_objective( - &mut object_1571, - var_1570, + &mut object_1578, + var_1577, ); - object_1571.finish(); + object_1578.finish(); } - if let Some(var_1572) = &input.hyper_parameter_ranges { - let mut object_1573 = object.key("HyperParameterRanges").start_object(); - crate::json_ser::serialize_structure_parameter_ranges(&mut object_1573, var_1572); - object_1573.finish(); + if let Some(var_1579) = &input.hyper_parameter_ranges { + let mut object_1580 = object.key("HyperParameterRanges").start_object(); + crate::json_ser::serialize_structure_parameter_ranges(&mut object_1580, var_1579); + object_1580.finish(); } - if let Some(var_1574) = &input.static_hyper_parameters { - let mut object_1575 = object.key("StaticHyperParameters").start_object(); - for (key_1576, value_1577) in var_1574 { + if let Some(var_1581) = &input.static_hyper_parameters { + let mut object_1582 = object.key("StaticHyperParameters").start_object(); + for (key_1583, value_1584) in var_1581 { { - object_1575.key(key_1576).string(value_1577); + object_1582.key(key_1583).string(value_1584); } } - object_1575.finish(); + object_1582.finish(); } - if let Some(var_1578) = &input.algorithm_specification { - let mut object_1579 = object.key("AlgorithmSpecification").start_object(); + if let Some(var_1585) = &input.algorithm_specification { + let mut object_1586 = object.key("AlgorithmSpecification").start_object(); crate::json_ser::serialize_structure_hyper_parameter_algorithm_specification( - &mut object_1579, - var_1578, + &mut object_1586, + var_1585, ); - object_1579.finish(); + object_1586.finish(); } - if let Some(var_1580) = &input.role_arn { - object.key("RoleArn").string(var_1580); + if let Some(var_1587) = &input.role_arn { + object.key("RoleArn").string(var_1587); } - if let Some(var_1581) = &input.input_data_config { - let mut array_1582 = object.key("InputDataConfig").start_array(); - for item_1583 in var_1581 { + if let Some(var_1588) = &input.input_data_config { + let mut array_1589 = object.key("InputDataConfig").start_array(); + for item_1590 in var_1588 { { - let mut object_1584 = array_1582.value().start_object(); - crate::json_ser::serialize_structure_channel(&mut object_1584, item_1583); - object_1584.finish(); + let mut object_1591 = array_1589.value().start_object(); + crate::json_ser::serialize_structure_channel(&mut object_1591, item_1590); + object_1591.finish(); } } - array_1582.finish(); + array_1589.finish(); } - if let Some(var_1585) = &input.vpc_config { - let mut object_1586 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_1586, var_1585); - object_1586.finish(); + if let Some(var_1592) = &input.vpc_config { + let mut object_1593 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_1593, var_1592); + object_1593.finish(); } - if let Some(var_1587) = &input.output_data_config { - let mut object_1588 = object.key("OutputDataConfig").start_object(); - crate::json_ser::serialize_structure_output_data_config(&mut object_1588, var_1587); - object_1588.finish(); + if let Some(var_1594) = &input.output_data_config { + let mut object_1595 = object.key("OutputDataConfig").start_object(); + crate::json_ser::serialize_structure_output_data_config(&mut object_1595, var_1594); + object_1595.finish(); } - if let Some(var_1589) = &input.resource_config { - let mut object_1590 = object.key("ResourceConfig").start_object(); - crate::json_ser::serialize_structure_resource_config(&mut object_1590, var_1589); - object_1590.finish(); + if let Some(var_1596) = &input.resource_config { + let mut object_1597 = object.key("ResourceConfig").start_object(); + crate::json_ser::serialize_structure_resource_config(&mut object_1597, var_1596); + object_1597.finish(); } - if let Some(var_1591) = &input.stopping_condition { - let mut object_1592 = object.key("StoppingCondition").start_object(); - crate::json_ser::serialize_structure_stopping_condition(&mut object_1592, var_1591); - object_1592.finish(); + if let Some(var_1598) = &input.stopping_condition { + let mut object_1599 = object.key("StoppingCondition").start_object(); + crate::json_ser::serialize_structure_stopping_condition(&mut object_1599, var_1598); + object_1599.finish(); } if input.enable_network_isolation { object @@ -6911,15 +6941,15 @@ pub fn serialize_structure_hyper_parameter_training_job_definition( .key("EnableManagedSpotTraining") .boolean(input.enable_managed_spot_training); } - if let Some(var_1593) = &input.checkpoint_config { - let mut object_1594 = object.key("CheckpointConfig").start_object(); - crate::json_ser::serialize_structure_checkpoint_config(&mut object_1594, var_1593); - object_1594.finish(); + if let Some(var_1600) = &input.checkpoint_config { + let mut object_1601 = object.key("CheckpointConfig").start_object(); + crate::json_ser::serialize_structure_checkpoint_config(&mut object_1601, var_1600); + object_1601.finish(); } - if let Some(var_1595) = &input.retry_strategy { - let mut object_1596 = object.key("RetryStrategy").start_object(); - crate::json_ser::serialize_structure_retry_strategy(&mut object_1596, var_1595); - object_1596.finish(); + if let Some(var_1602) = &input.retry_strategy { + let mut object_1603 = object.key("RetryStrategy").start_object(); + crate::json_ser::serialize_structure_retry_strategy(&mut object_1603, var_1602); + object_1603.finish(); } } @@ -6927,22 +6957,22 @@ pub fn serialize_structure_hyper_parameter_tuning_job_warm_start_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterTuningJobWarmStartConfig, ) { - if let Some(var_1597) = &input.parent_hyper_parameter_tuning_jobs { - let mut array_1598 = object.key("ParentHyperParameterTuningJobs").start_array(); - for item_1599 in var_1597 { + if let Some(var_1604) = &input.parent_hyper_parameter_tuning_jobs { + let mut array_1605 = object.key("ParentHyperParameterTuningJobs").start_array(); + for item_1606 in var_1604 { { - let mut object_1600 = array_1598.value().start_object(); + let mut object_1607 = array_1605.value().start_object(); crate::json_ser::serialize_structure_parent_hyper_parameter_tuning_job( - &mut object_1600, - item_1599, + &mut object_1607, + item_1606, ); - object_1600.finish(); + object_1607.finish(); } } - array_1598.finish(); + array_1605.finish(); } - if let Some(var_1601) = &input.warm_start_type { - object.key("WarmStartType").string(var_1601.as_str()); + if let Some(var_1608) = &input.warm_start_type { + object.key("WarmStartType").string(var_1608.as_str()); } } @@ -6950,18 +6980,18 @@ pub fn serialize_structure_labeling_job_input_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobInputConfig, ) { - if let Some(var_1602) = &input.data_source { - let mut object_1603 = object.key("DataSource").start_object(); - crate::json_ser::serialize_structure_labeling_job_data_source(&mut object_1603, var_1602); - object_1603.finish(); + if let Some(var_1609) = &input.data_source { + let mut object_1610 = object.key("DataSource").start_object(); + crate::json_ser::serialize_structure_labeling_job_data_source(&mut object_1610, var_1609); + object_1610.finish(); } - if let Some(var_1604) = &input.data_attributes { - let mut object_1605 = object.key("DataAttributes").start_object(); + if let Some(var_1611) = &input.data_attributes { + let mut object_1612 = object.key("DataAttributes").start_object(); crate::json_ser::serialize_structure_labeling_job_data_attributes( - &mut object_1605, - var_1604, + &mut object_1612, + var_1611, ); - object_1605.finish(); + object_1612.finish(); } } @@ -6969,14 +6999,14 @@ pub fn serialize_structure_labeling_job_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobOutputConfig, ) { - if let Some(var_1606) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1606); + if let Some(var_1613) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1613); } - if let Some(var_1607) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1607); + if let Some(var_1614) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1614); } - if let Some(var_1608) = &input.sns_topic_arn { - object.key("SnsTopicArn").string(var_1608); + if let Some(var_1615) = &input.sns_topic_arn { + object.key("SnsTopicArn").string(var_1615); } } @@ -6984,16 +7014,16 @@ pub fn serialize_structure_labeling_job_stopping_conditions( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobStoppingConditions, ) { - if let Some(var_1609) = &input.max_human_labeled_object_count { + if let Some(var_1616) = &input.max_human_labeled_object_count { object.key("MaxHumanLabeledObjectCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1609).into()), + smithy_types::Number::NegInt((*var_1616).into()), ); } - if let Some(var_1610) = &input.max_percentage_of_input_dataset_labeled { + if let Some(var_1617) = &input.max_percentage_of_input_dataset_labeled { object.key("MaxPercentageOfInputDatasetLabeled").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1610).into()), + smithy_types::Number::NegInt((*var_1617).into()), ); } } @@ -7002,21 +7032,21 @@ pub fn serialize_structure_labeling_job_algorithms_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobAlgorithmsConfig, ) { - if let Some(var_1611) = &input.labeling_job_algorithm_specification_arn { + if let Some(var_1618) = &input.labeling_job_algorithm_specification_arn { object .key("LabelingJobAlgorithmSpecificationArn") - .string(var_1611); + .string(var_1618); } - if let Some(var_1612) = &input.initial_active_learning_model_arn { - object.key("InitialActiveLearningModelArn").string(var_1612); + if let Some(var_1619) = &input.initial_active_learning_model_arn { + object.key("InitialActiveLearningModelArn").string(var_1619); } - if let Some(var_1613) = &input.labeling_job_resource_config { - let mut object_1614 = object.key("LabelingJobResourceConfig").start_object(); + if let Some(var_1620) = &input.labeling_job_resource_config { + let mut object_1621 = object.key("LabelingJobResourceConfig").start_object(); crate::json_ser::serialize_structure_labeling_job_resource_config( - &mut object_1614, - var_1613, + &mut object_1621, + var_1620, ); - object_1614.finish(); + object_1621.finish(); } } @@ -7024,71 +7054,71 @@ pub fn serialize_structure_human_task_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HumanTaskConfig, ) { - if let Some(var_1615) = &input.workteam_arn { - object.key("WorkteamArn").string(var_1615); + if let Some(var_1622) = &input.workteam_arn { + object.key("WorkteamArn").string(var_1622); } - if let Some(var_1616) = &input.ui_config { - let mut object_1617 = object.key("UiConfig").start_object(); - crate::json_ser::serialize_structure_ui_config(&mut object_1617, var_1616); - object_1617.finish(); + if let Some(var_1623) = &input.ui_config { + let mut object_1624 = object.key("UiConfig").start_object(); + crate::json_ser::serialize_structure_ui_config(&mut object_1624, var_1623); + object_1624.finish(); } - if let Some(var_1618) = &input.pre_human_task_lambda_arn { - object.key("PreHumanTaskLambdaArn").string(var_1618); + if let Some(var_1625) = &input.pre_human_task_lambda_arn { + object.key("PreHumanTaskLambdaArn").string(var_1625); } - if let Some(var_1619) = &input.task_keywords { - let mut array_1620 = object.key("TaskKeywords").start_array(); - for item_1621 in var_1619 { + if let Some(var_1626) = &input.task_keywords { + let mut array_1627 = object.key("TaskKeywords").start_array(); + for item_1628 in var_1626 { { - array_1620.value().string(item_1621); + array_1627.value().string(item_1628); } } - array_1620.finish(); + array_1627.finish(); } - if let Some(var_1622) = &input.task_title { - object.key("TaskTitle").string(var_1622); + if let Some(var_1629) = &input.task_title { + object.key("TaskTitle").string(var_1629); } - if let Some(var_1623) = &input.task_description { - object.key("TaskDescription").string(var_1623); + if let Some(var_1630) = &input.task_description { + object.key("TaskDescription").string(var_1630); } - if let Some(var_1624) = &input.number_of_human_workers_per_data_object { + if let Some(var_1631) = &input.number_of_human_workers_per_data_object { object.key("NumberOfHumanWorkersPerDataObject").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1624).into()), + smithy_types::Number::NegInt((*var_1631).into()), ); } - if let Some(var_1625) = &input.task_time_limit_in_seconds { + if let Some(var_1632) = &input.task_time_limit_in_seconds { object.key("TaskTimeLimitInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1625).into()), + smithy_types::Number::NegInt((*var_1632).into()), ); } - if let Some(var_1626) = &input.task_availability_lifetime_in_seconds { + if let Some(var_1633) = &input.task_availability_lifetime_in_seconds { object.key("TaskAvailabilityLifetimeInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1626).into()), + smithy_types::Number::NegInt((*var_1633).into()), ); } - if let Some(var_1627) = &input.max_concurrent_task_count { + if let Some(var_1634) = &input.max_concurrent_task_count { object.key("MaxConcurrentTaskCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1627).into()), + smithy_types::Number::NegInt((*var_1634).into()), ); } - if let Some(var_1628) = &input.annotation_consolidation_config { - let mut object_1629 = object.key("AnnotationConsolidationConfig").start_object(); + if let Some(var_1635) = &input.annotation_consolidation_config { + let mut object_1636 = object.key("AnnotationConsolidationConfig").start_object(); crate::json_ser::serialize_structure_annotation_consolidation_config( - &mut object_1629, - var_1628, + &mut object_1636, + var_1635, ); - object_1629.finish(); + object_1636.finish(); } - if let Some(var_1630) = &input.public_workforce_task_price { - let mut object_1631 = object.key("PublicWorkforceTaskPrice").start_object(); + if let Some(var_1637) = &input.public_workforce_task_price { + let mut object_1638 = object.key("PublicWorkforceTaskPrice").start_object(); crate::json_ser::serialize_structure_public_workforce_task_price( - &mut object_1631, - var_1630, + &mut object_1638, + var_1637, ); - object_1631.finish(); + object_1638.finish(); } } @@ -7096,39 +7126,39 @@ pub fn serialize_structure_container_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ContainerDefinition, ) { - if let Some(var_1632) = &input.container_hostname { - object.key("ContainerHostname").string(var_1632); + if let Some(var_1639) = &input.container_hostname { + object.key("ContainerHostname").string(var_1639); } - if let Some(var_1633) = &input.image { - object.key("Image").string(var_1633); + if let Some(var_1640) = &input.image { + object.key("Image").string(var_1640); } - if let Some(var_1634) = &input.image_config { - let mut object_1635 = object.key("ImageConfig").start_object(); - crate::json_ser::serialize_structure_image_config(&mut object_1635, var_1634); - object_1635.finish(); + if let Some(var_1641) = &input.image_config { + let mut object_1642 = object.key("ImageConfig").start_object(); + crate::json_ser::serialize_structure_image_config(&mut object_1642, var_1641); + object_1642.finish(); } - if let Some(var_1636) = &input.mode { - object.key("Mode").string(var_1636.as_str()); + if let Some(var_1643) = &input.mode { + object.key("Mode").string(var_1643.as_str()); } - if let Some(var_1637) = &input.model_data_url { - object.key("ModelDataUrl").string(var_1637); + if let Some(var_1644) = &input.model_data_url { + object.key("ModelDataUrl").string(var_1644); } - if let Some(var_1638) = &input.environment { - let mut object_1639 = object.key("Environment").start_object(); - for (key_1640, value_1641) in var_1638 { + if let Some(var_1645) = &input.environment { + let mut object_1646 = object.key("Environment").start_object(); + for (key_1647, value_1648) in var_1645 { { - object_1639.key(key_1640).string(value_1641); + object_1646.key(key_1647).string(value_1648); } } - object_1639.finish(); + object_1646.finish(); } - if let Some(var_1642) = &input.model_package_name { - object.key("ModelPackageName").string(var_1642); + if let Some(var_1649) = &input.model_package_name { + object.key("ModelPackageName").string(var_1649); } - if let Some(var_1643) = &input.multi_model_config { - let mut object_1644 = object.key("MultiModelConfig").start_object(); - crate::json_ser::serialize_structure_multi_model_config(&mut object_1644, var_1643); - object_1644.finish(); + if let Some(var_1650) = &input.multi_model_config { + let mut object_1651 = object.key("MultiModelConfig").start_object(); + crate::json_ser::serialize_structure_multi_model_config(&mut object_1651, var_1650); + object_1651.finish(); } } @@ -7136,8 +7166,8 @@ pub fn serialize_structure_inference_execution_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InferenceExecutionConfig, ) { - if let Some(var_1645) = &input.mode { - object.key("Mode").string(var_1645.as_str()); + if let Some(var_1652) = &input.mode { + object.key("Mode").string(var_1652.as_str()); } } @@ -7145,23 +7175,23 @@ pub fn serialize_structure_vpc_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::VpcConfig, ) { - if let Some(var_1646) = &input.security_group_ids { - let mut array_1647 = object.key("SecurityGroupIds").start_array(); - for item_1648 in var_1646 { + if let Some(var_1653) = &input.security_group_ids { + let mut array_1654 = object.key("SecurityGroupIds").start_array(); + for item_1655 in var_1653 { { - array_1647.value().string(item_1648); + array_1654.value().string(item_1655); } } - array_1647.finish(); + array_1654.finish(); } - if let Some(var_1649) = &input.subnets { - let mut array_1650 = object.key("Subnets").start_array(); - for item_1651 in var_1649 { + if let Some(var_1656) = &input.subnets { + let mut array_1657 = object.key("Subnets").start_array(); + for item_1658 in var_1656 { { - array_1650.value().string(item_1651); + array_1657.value().string(item_1658); } } - array_1650.finish(); + array_1657.finish(); } } @@ -7169,16 +7199,16 @@ pub fn serialize_structure_model_bias_baseline_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelBiasBaselineConfig, ) { - if let Some(var_1652) = &input.baselining_job_name { - object.key("BaseliningJobName").string(var_1652); + if let Some(var_1659) = &input.baselining_job_name { + object.key("BaseliningJobName").string(var_1659); } - if let Some(var_1653) = &input.constraints_resource { - let mut object_1654 = object.key("ConstraintsResource").start_object(); + if let Some(var_1660) = &input.constraints_resource { + let mut object_1661 = object.key("ConstraintsResource").start_object(); crate::json_ser::serialize_structure_monitoring_constraints_resource( - &mut object_1654, - var_1653, + &mut object_1661, + var_1660, ); - object_1654.finish(); + object_1661.finish(); } } @@ -7186,20 +7216,20 @@ pub fn serialize_structure_model_bias_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelBiasAppSpecification, ) { - if let Some(var_1655) = &input.image_uri { - object.key("ImageUri").string(var_1655); + if let Some(var_1662) = &input.image_uri { + object.key("ImageUri").string(var_1662); } - if let Some(var_1656) = &input.config_uri { - object.key("ConfigUri").string(var_1656); + if let Some(var_1663) = &input.config_uri { + object.key("ConfigUri").string(var_1663); } - if let Some(var_1657) = &input.environment { - let mut object_1658 = object.key("Environment").start_object(); - for (key_1659, value_1660) in var_1657 { + if let Some(var_1664) = &input.environment { + let mut object_1665 = object.key("Environment").start_object(); + for (key_1666, value_1667) in var_1664 { { - object_1658.key(key_1659).string(value_1660); + object_1665.key(key_1666).string(value_1667); } } - object_1658.finish(); + object_1665.finish(); } } @@ -7207,18 +7237,18 @@ pub fn serialize_structure_model_bias_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelBiasJobInput, ) { - if let Some(var_1661) = &input.endpoint_input { - let mut object_1662 = object.key("EndpointInput").start_object(); - crate::json_ser::serialize_structure_endpoint_input(&mut object_1662, var_1661); - object_1662.finish(); + if let Some(var_1668) = &input.endpoint_input { + let mut object_1669 = object.key("EndpointInput").start_object(); + crate::json_ser::serialize_structure_endpoint_input(&mut object_1669, var_1668); + object_1669.finish(); } - if let Some(var_1663) = &input.ground_truth_s3_input { - let mut object_1664 = object.key("GroundTruthS3Input").start_object(); + if let Some(var_1670) = &input.ground_truth_s3_input { + let mut object_1671 = object.key("GroundTruthS3Input").start_object(); crate::json_ser::serialize_structure_monitoring_ground_truth_s3_input( - &mut object_1664, - var_1663, + &mut object_1671, + var_1670, ); - object_1664.finish(); + object_1671.finish(); } } @@ -7226,16 +7256,16 @@ pub fn serialize_structure_model_explainability_baseline_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelExplainabilityBaselineConfig, ) { - if let Some(var_1665) = &input.baselining_job_name { - object.key("BaseliningJobName").string(var_1665); + if let Some(var_1672) = &input.baselining_job_name { + object.key("BaseliningJobName").string(var_1672); } - if let Some(var_1666) = &input.constraints_resource { - let mut object_1667 = object.key("ConstraintsResource").start_object(); + if let Some(var_1673) = &input.constraints_resource { + let mut object_1674 = object.key("ConstraintsResource").start_object(); crate::json_ser::serialize_structure_monitoring_constraints_resource( - &mut object_1667, - var_1666, + &mut object_1674, + var_1673, ); - object_1667.finish(); + object_1674.finish(); } } @@ -7243,20 +7273,20 @@ pub fn serialize_structure_model_explainability_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelExplainabilityAppSpecification, ) { - if let Some(var_1668) = &input.image_uri { - object.key("ImageUri").string(var_1668); + if let Some(var_1675) = &input.image_uri { + object.key("ImageUri").string(var_1675); } - if let Some(var_1669) = &input.config_uri { - object.key("ConfigUri").string(var_1669); + if let Some(var_1676) = &input.config_uri { + object.key("ConfigUri").string(var_1676); } - if let Some(var_1670) = &input.environment { - let mut object_1671 = object.key("Environment").start_object(); - for (key_1672, value_1673) in var_1670 { + if let Some(var_1677) = &input.environment { + let mut object_1678 = object.key("Environment").start_object(); + for (key_1679, value_1680) in var_1677 { { - object_1671.key(key_1672).string(value_1673); + object_1678.key(key_1679).string(value_1680); } } - object_1671.finish(); + object_1678.finish(); } } @@ -7264,10 +7294,10 @@ pub fn serialize_structure_model_explainability_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelExplainabilityJobInput, ) { - if let Some(var_1674) = &input.endpoint_input { - let mut object_1675 = object.key("EndpointInput").start_object(); - crate::json_ser::serialize_structure_endpoint_input(&mut object_1675, var_1674); - object_1675.finish(); + if let Some(var_1681) = &input.endpoint_input { + let mut object_1682 = object.key("EndpointInput").start_object(); + crate::json_ser::serialize_structure_endpoint_input(&mut object_1682, var_1681); + object_1682.finish(); } } @@ -7275,22 +7305,22 @@ pub fn serialize_structure_model_package_validation_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelPackageValidationSpecification, ) { - if let Some(var_1676) = &input.validation_role { - object.key("ValidationRole").string(var_1676); + if let Some(var_1683) = &input.validation_role { + object.key("ValidationRole").string(var_1683); } - if let Some(var_1677) = &input.validation_profiles { - let mut array_1678 = object.key("ValidationProfiles").start_array(); - for item_1679 in var_1677 { + if let Some(var_1684) = &input.validation_profiles { + let mut array_1685 = object.key("ValidationProfiles").start_array(); + for item_1686 in var_1684 { { - let mut object_1680 = array_1678.value().start_object(); + let mut object_1687 = array_1685.value().start_object(); crate::json_ser::serialize_structure_model_package_validation_profile( - &mut object_1680, - item_1679, + &mut object_1687, + item_1686, ); - object_1680.finish(); + object_1687.finish(); } } - array_1678.finish(); + array_1685.finish(); } } @@ -7298,16 +7328,16 @@ pub fn serialize_structure_source_algorithm_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceAlgorithmSpecification, ) { - if let Some(var_1681) = &input.source_algorithms { - let mut array_1682 = object.key("SourceAlgorithms").start_array(); - for item_1683 in var_1681 { + if let Some(var_1688) = &input.source_algorithms { + let mut array_1689 = object.key("SourceAlgorithms").start_array(); + for item_1690 in var_1688 { { - let mut object_1684 = array_1682.value().start_object(); - crate::json_ser::serialize_structure_source_algorithm(&mut object_1684, item_1683); - object_1684.finish(); + let mut object_1691 = array_1689.value().start_object(); + crate::json_ser::serialize_structure_source_algorithm(&mut object_1691, item_1690); + object_1691.finish(); } } - array_1682.finish(); + array_1689.finish(); } } @@ -7315,25 +7345,25 @@ pub fn serialize_structure_model_metrics( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelMetrics, ) { - if let Some(var_1685) = &input.model_quality { - let mut object_1686 = object.key("ModelQuality").start_object(); - crate::json_ser::serialize_structure_model_quality(&mut object_1686, var_1685); - object_1686.finish(); + if let Some(var_1692) = &input.model_quality { + let mut object_1693 = object.key("ModelQuality").start_object(); + crate::json_ser::serialize_structure_model_quality(&mut object_1693, var_1692); + object_1693.finish(); } - if let Some(var_1687) = &input.model_data_quality { - let mut object_1688 = object.key("ModelDataQuality").start_object(); - crate::json_ser::serialize_structure_model_data_quality(&mut object_1688, var_1687); - object_1688.finish(); + if let Some(var_1694) = &input.model_data_quality { + let mut object_1695 = object.key("ModelDataQuality").start_object(); + crate::json_ser::serialize_structure_model_data_quality(&mut object_1695, var_1694); + object_1695.finish(); } - if let Some(var_1689) = &input.bias { - let mut object_1690 = object.key("Bias").start_object(); - crate::json_ser::serialize_structure_bias(&mut object_1690, var_1689); - object_1690.finish(); + if let Some(var_1696) = &input.bias { + let mut object_1697 = object.key("Bias").start_object(); + crate::json_ser::serialize_structure_bias(&mut object_1697, var_1696); + object_1697.finish(); } - if let Some(var_1691) = &input.explainability { - let mut object_1692 = object.key("Explainability").start_object(); - crate::json_ser::serialize_structure_explainability(&mut object_1692, var_1691); - object_1692.finish(); + if let Some(var_1698) = &input.explainability { + let mut object_1699 = object.key("Explainability").start_object(); + crate::json_ser::serialize_structure_explainability(&mut object_1699, var_1698); + object_1699.finish(); } } @@ -7341,16 +7371,16 @@ pub fn serialize_structure_model_quality_baseline_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelQualityBaselineConfig, ) { - if let Some(var_1693) = &input.baselining_job_name { - object.key("BaseliningJobName").string(var_1693); + if let Some(var_1700) = &input.baselining_job_name { + object.key("BaseliningJobName").string(var_1700); } - if let Some(var_1694) = &input.constraints_resource { - let mut object_1695 = object.key("ConstraintsResource").start_object(); + if let Some(var_1701) = &input.constraints_resource { + let mut object_1702 = object.key("ConstraintsResource").start_object(); crate::json_ser::serialize_structure_monitoring_constraints_resource( - &mut object_1695, - var_1694, + &mut object_1702, + var_1701, ); - object_1695.finish(); + object_1702.finish(); } } @@ -7358,46 +7388,46 @@ pub fn serialize_structure_model_quality_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelQualityAppSpecification, ) { - if let Some(var_1696) = &input.image_uri { - object.key("ImageUri").string(var_1696); + if let Some(var_1703) = &input.image_uri { + object.key("ImageUri").string(var_1703); } - if let Some(var_1697) = &input.container_entrypoint { - let mut array_1698 = object.key("ContainerEntrypoint").start_array(); - for item_1699 in var_1697 { + if let Some(var_1704) = &input.container_entrypoint { + let mut array_1705 = object.key("ContainerEntrypoint").start_array(); + for item_1706 in var_1704 { { - array_1698.value().string(item_1699); + array_1705.value().string(item_1706); } } - array_1698.finish(); + array_1705.finish(); } - if let Some(var_1700) = &input.container_arguments { - let mut array_1701 = object.key("ContainerArguments").start_array(); - for item_1702 in var_1700 { + if let Some(var_1707) = &input.container_arguments { + let mut array_1708 = object.key("ContainerArguments").start_array(); + for item_1709 in var_1707 { { - array_1701.value().string(item_1702); + array_1708.value().string(item_1709); } } - array_1701.finish(); + array_1708.finish(); } - if let Some(var_1703) = &input.record_preprocessor_source_uri { - object.key("RecordPreprocessorSourceUri").string(var_1703); + if let Some(var_1710) = &input.record_preprocessor_source_uri { + object.key("RecordPreprocessorSourceUri").string(var_1710); } - if let Some(var_1704) = &input.post_analytics_processor_source_uri { + if let Some(var_1711) = &input.post_analytics_processor_source_uri { object .key("PostAnalyticsProcessorSourceUri") - .string(var_1704); + .string(var_1711); } - if let Some(var_1705) = &input.problem_type { - object.key("ProblemType").string(var_1705.as_str()); + if let Some(var_1712) = &input.problem_type { + object.key("ProblemType").string(var_1712.as_str()); } - if let Some(var_1706) = &input.environment { - let mut object_1707 = object.key("Environment").start_object(); - for (key_1708, value_1709) in var_1706 { + if let Some(var_1713) = &input.environment { + let mut object_1714 = object.key("Environment").start_object(); + for (key_1715, value_1716) in var_1713 { { - object_1707.key(key_1708).string(value_1709); + object_1714.key(key_1715).string(value_1716); } } - object_1707.finish(); + object_1714.finish(); } } @@ -7405,18 +7435,18 @@ pub fn serialize_structure_model_quality_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelQualityJobInput, ) { - if let Some(var_1710) = &input.endpoint_input { - let mut object_1711 = object.key("EndpointInput").start_object(); - crate::json_ser::serialize_structure_endpoint_input(&mut object_1711, var_1710); - object_1711.finish(); + if let Some(var_1717) = &input.endpoint_input { + let mut object_1718 = object.key("EndpointInput").start_object(); + crate::json_ser::serialize_structure_endpoint_input(&mut object_1718, var_1717); + object_1718.finish(); } - if let Some(var_1712) = &input.ground_truth_s3_input { - let mut object_1713 = object.key("GroundTruthS3Input").start_object(); + if let Some(var_1719) = &input.ground_truth_s3_input { + let mut object_1720 = object.key("GroundTruthS3Input").start_object(); crate::json_ser::serialize_structure_monitoring_ground_truth_s3_input( - &mut object_1713, - var_1712, + &mut object_1720, + var_1719, ); - object_1713.finish(); + object_1720.finish(); } } @@ -7424,21 +7454,21 @@ pub fn serialize_structure_monitoring_schedule_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringScheduleConfig, ) { - if let Some(var_1714) = &input.schedule_config { - let mut object_1715 = object.key("ScheduleConfig").start_object(); - crate::json_ser::serialize_structure_schedule_config(&mut object_1715, var_1714); - object_1715.finish(); + if let Some(var_1721) = &input.schedule_config { + let mut object_1722 = object.key("ScheduleConfig").start_object(); + crate::json_ser::serialize_structure_schedule_config(&mut object_1722, var_1721); + object_1722.finish(); } - if let Some(var_1716) = &input.monitoring_job_definition { - let mut object_1717 = object.key("MonitoringJobDefinition").start_object(); - crate::json_ser::serialize_structure_monitoring_job_definition(&mut object_1717, var_1716); - object_1717.finish(); + if let Some(var_1723) = &input.monitoring_job_definition { + let mut object_1724 = object.key("MonitoringJobDefinition").start_object(); + crate::json_ser::serialize_structure_monitoring_job_definition(&mut object_1724, var_1723); + object_1724.finish(); } - if let Some(var_1718) = &input.monitoring_job_definition_name { - object.key("MonitoringJobDefinitionName").string(var_1718); + if let Some(var_1725) = &input.monitoring_job_definition_name { + object.key("MonitoringJobDefinitionName").string(var_1725); } - if let Some(var_1719) = &input.monitoring_type { - object.key("MonitoringType").string(var_1719.as_str()); + if let Some(var_1726) = &input.monitoring_type { + object.key("MonitoringType").string(var_1726.as_str()); } } @@ -7446,8 +7476,8 @@ pub fn serialize_structure_notebook_instance_lifecycle_hook( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NotebookInstanceLifecycleHook, ) { - if let Some(var_1720) = &input.content { - object.key("Content").string(var_1720); + if let Some(var_1727) = &input.content { + object.key("Content").string(var_1727); } } @@ -7455,21 +7485,21 @@ pub fn serialize_structure_processing_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingInput, ) { - if let Some(var_1721) = &input.input_name { - object.key("InputName").string(var_1721); + if let Some(var_1728) = &input.input_name { + object.key("InputName").string(var_1728); } if input.app_managed { object.key("AppManaged").boolean(input.app_managed); } - if let Some(var_1722) = &input.s3_input { - let mut object_1723 = object.key("S3Input").start_object(); - crate::json_ser::serialize_structure_processing_s3_input(&mut object_1723, var_1722); - object_1723.finish(); + if let Some(var_1729) = &input.s3_input { + let mut object_1730 = object.key("S3Input").start_object(); + crate::json_ser::serialize_structure_processing_s3_input(&mut object_1730, var_1729); + object_1730.finish(); } - if let Some(var_1724) = &input.dataset_definition { - let mut object_1725 = object.key("DatasetDefinition").start_object(); - crate::json_ser::serialize_structure_dataset_definition(&mut object_1725, var_1724); - object_1725.finish(); + if let Some(var_1731) = &input.dataset_definition { + let mut object_1732 = object.key("DatasetDefinition").start_object(); + crate::json_ser::serialize_structure_dataset_definition(&mut object_1732, var_1731); + object_1732.finish(); } } @@ -7477,19 +7507,19 @@ pub fn serialize_structure_processing_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingOutputConfig, ) { - if let Some(var_1726) = &input.outputs { - let mut array_1727 = object.key("Outputs").start_array(); - for item_1728 in var_1726 { + if let Some(var_1733) = &input.outputs { + let mut array_1734 = object.key("Outputs").start_array(); + for item_1735 in var_1733 { { - let mut object_1729 = array_1727.value().start_object(); - crate::json_ser::serialize_structure_processing_output(&mut object_1729, item_1728); - object_1729.finish(); + let mut object_1736 = array_1734.value().start_object(); + crate::json_ser::serialize_structure_processing_output(&mut object_1736, item_1735); + object_1736.finish(); } } - array_1727.finish(); + array_1734.finish(); } - if let Some(var_1730) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1730); + if let Some(var_1737) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1737); } } @@ -7497,10 +7527,10 @@ pub fn serialize_structure_processing_resources( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingResources, ) { - if let Some(var_1731) = &input.cluster_config { - let mut object_1732 = object.key("ClusterConfig").start_object(); - crate::json_ser::serialize_structure_processing_cluster_config(&mut object_1732, var_1731); - object_1732.finish(); + if let Some(var_1738) = &input.cluster_config { + let mut object_1739 = object.key("ClusterConfig").start_object(); + crate::json_ser::serialize_structure_processing_cluster_config(&mut object_1739, var_1738); + object_1739.finish(); } } @@ -7520,26 +7550,26 @@ pub fn serialize_structure_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AppSpecification, ) { - if let Some(var_1733) = &input.image_uri { - object.key("ImageUri").string(var_1733); + if let Some(var_1740) = &input.image_uri { + object.key("ImageUri").string(var_1740); } - if let Some(var_1734) = &input.container_entrypoint { - let mut array_1735 = object.key("ContainerEntrypoint").start_array(); - for item_1736 in var_1734 { + if let Some(var_1741) = &input.container_entrypoint { + let mut array_1742 = object.key("ContainerEntrypoint").start_array(); + for item_1743 in var_1741 { { - array_1735.value().string(item_1736); + array_1742.value().string(item_1743); } } - array_1735.finish(); + array_1742.finish(); } - if let Some(var_1737) = &input.container_arguments { - let mut array_1738 = object.key("ContainerArguments").start_array(); - for item_1739 in var_1737 { + if let Some(var_1744) = &input.container_arguments { + let mut array_1745 = object.key("ContainerArguments").start_array(); + for item_1746 in var_1744 { { - array_1738.value().string(item_1739); + array_1745.value().string(item_1746); } } - array_1738.finish(); + array_1745.finish(); } } @@ -7557,10 +7587,10 @@ pub fn serialize_structure_network_config( .key("EnableNetworkIsolation") .boolean(input.enable_network_isolation); } - if let Some(var_1740) = &input.vpc_config { - let mut object_1741 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_1741, var_1740); - object_1741.finish(); + if let Some(var_1747) = &input.vpc_config { + let mut object_1748 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_1748, var_1747); + object_1748.finish(); } } @@ -7568,14 +7598,14 @@ pub fn serialize_structure_experiment_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ExperimentConfig, ) { - if let Some(var_1742) = &input.experiment_name { - object.key("ExperimentName").string(var_1742); + if let Some(var_1749) = &input.experiment_name { + object.key("ExperimentName").string(var_1749); } - if let Some(var_1743) = &input.trial_name { - object.key("TrialName").string(var_1743); + if let Some(var_1750) = &input.trial_name { + object.key("TrialName").string(var_1750); } - if let Some(var_1744) = &input.trial_component_display_name { - object.key("TrialComponentDisplayName").string(var_1744); + if let Some(var_1751) = &input.trial_component_display_name { + object.key("TrialComponentDisplayName").string(var_1751); } } @@ -7583,28 +7613,28 @@ pub fn serialize_structure_service_catalog_provisioning_details( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ServiceCatalogProvisioningDetails, ) { - if let Some(var_1745) = &input.product_id { - object.key("ProductId").string(var_1745); + if let Some(var_1752) = &input.product_id { + object.key("ProductId").string(var_1752); } - if let Some(var_1746) = &input.provisioning_artifact_id { - object.key("ProvisioningArtifactId").string(var_1746); + if let Some(var_1753) = &input.provisioning_artifact_id { + object.key("ProvisioningArtifactId").string(var_1753); } - if let Some(var_1747) = &input.path_id { - object.key("PathId").string(var_1747); + if let Some(var_1754) = &input.path_id { + object.key("PathId").string(var_1754); } - if let Some(var_1748) = &input.provisioning_parameters { - let mut array_1749 = object.key("ProvisioningParameters").start_array(); - for item_1750 in var_1748 { + if let Some(var_1755) = &input.provisioning_parameters { + let mut array_1756 = object.key("ProvisioningParameters").start_array(); + for item_1757 in var_1755 { { - let mut object_1751 = array_1749.value().start_object(); + let mut object_1758 = array_1756.value().start_object(); crate::json_ser::serialize_structure_provisioning_parameter( - &mut object_1751, - item_1750, + &mut object_1758, + item_1757, ); - object_1751.finish(); + object_1758.finish(); } } - array_1749.finish(); + array_1756.finish(); } } @@ -7612,25 +7642,25 @@ pub fn serialize_structure_algorithm_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AlgorithmSpecification, ) { - if let Some(var_1752) = &input.training_image { - object.key("TrainingImage").string(var_1752); + if let Some(var_1759) = &input.training_image { + object.key("TrainingImage").string(var_1759); } - if let Some(var_1753) = &input.algorithm_name { - object.key("AlgorithmName").string(var_1753); + if let Some(var_1760) = &input.algorithm_name { + object.key("AlgorithmName").string(var_1760); } - if let Some(var_1754) = &input.training_input_mode { - object.key("TrainingInputMode").string(var_1754.as_str()); + if let Some(var_1761) = &input.training_input_mode { + object.key("TrainingInputMode").string(var_1761.as_str()); } - if let Some(var_1755) = &input.metric_definitions { - let mut array_1756 = object.key("MetricDefinitions").start_array(); - for item_1757 in var_1755 { + if let Some(var_1762) = &input.metric_definitions { + let mut array_1763 = object.key("MetricDefinitions").start_array(); + for item_1764 in var_1762 { { - let mut object_1758 = array_1756.value().start_object(); - crate::json_ser::serialize_structure_metric_definition(&mut object_1758, item_1757); - object_1758.finish(); + let mut object_1765 = array_1763.value().start_object(); + crate::json_ser::serialize_structure_metric_definition(&mut object_1765, item_1764); + object_1765.finish(); } } - array_1756.finish(); + array_1763.finish(); } if input.enable_sage_maker_metrics_time_series { object @@ -7643,30 +7673,30 @@ pub fn serialize_structure_channel( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Channel, ) { - if let Some(var_1759) = &input.channel_name { - object.key("ChannelName").string(var_1759); + if let Some(var_1766) = &input.channel_name { + object.key("ChannelName").string(var_1766); } - if let Some(var_1760) = &input.data_source { - let mut object_1761 = object.key("DataSource").start_object(); - crate::json_ser::serialize_structure_data_source(&mut object_1761, var_1760); - object_1761.finish(); + if let Some(var_1767) = &input.data_source { + let mut object_1768 = object.key("DataSource").start_object(); + crate::json_ser::serialize_structure_data_source(&mut object_1768, var_1767); + object_1768.finish(); } - if let Some(var_1762) = &input.content_type { - object.key("ContentType").string(var_1762); + if let Some(var_1769) = &input.content_type { + object.key("ContentType").string(var_1769); } - if let Some(var_1763) = &input.compression_type { - object.key("CompressionType").string(var_1763.as_str()); + if let Some(var_1770) = &input.compression_type { + object.key("CompressionType").string(var_1770.as_str()); } - if let Some(var_1764) = &input.record_wrapper_type { - object.key("RecordWrapperType").string(var_1764.as_str()); + if let Some(var_1771) = &input.record_wrapper_type { + object.key("RecordWrapperType").string(var_1771.as_str()); } - if let Some(var_1765) = &input.input_mode { - object.key("InputMode").string(var_1765.as_str()); + if let Some(var_1772) = &input.input_mode { + object.key("InputMode").string(var_1772.as_str()); } - if let Some(var_1766) = &input.shuffle_config { - let mut object_1767 = object.key("ShuffleConfig").start_object(); - crate::json_ser::serialize_structure_shuffle_config(&mut object_1767, var_1766); - object_1767.finish(); + if let Some(var_1773) = &input.shuffle_config { + let mut object_1774 = object.key("ShuffleConfig").start_object(); + crate::json_ser::serialize_structure_shuffle_config(&mut object_1774, var_1773); + object_1774.finish(); } } @@ -7674,11 +7704,11 @@ pub fn serialize_structure_output_data_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OutputDataConfig, ) { - if let Some(var_1768) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1768); + if let Some(var_1775) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1775); } - if let Some(var_1769) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1769); + if let Some(var_1776) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1776); } } @@ -7686,8 +7716,8 @@ pub fn serialize_structure_resource_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ResourceConfig, ) { - if let Some(var_1770) = &input.instance_type { - object.key("InstanceType").string(var_1770.as_str()); + if let Some(var_1777) = &input.instance_type { + object.key("InstanceType").string(var_1777.as_str()); } { object.key("InstanceCount").number( @@ -7701,8 +7731,8 @@ pub fn serialize_structure_resource_config( smithy_types::Number::NegInt((input.volume_size_in_gb).into()), ); } - if let Some(var_1771) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_1771); + if let Some(var_1778) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_1778); } } @@ -7710,11 +7740,11 @@ pub fn serialize_structure_checkpoint_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CheckpointConfig, ) { - if let Some(var_1772) = &input.s3_uri { - object.key("S3Uri").string(var_1772); + if let Some(var_1779) = &input.s3_uri { + object.key("S3Uri").string(var_1779); } - if let Some(var_1773) = &input.local_path { - object.key("LocalPath").string(var_1773); + if let Some(var_1780) = &input.local_path { + object.key("LocalPath").string(var_1780); } } @@ -7722,34 +7752,34 @@ pub fn serialize_structure_debug_hook_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DebugHookConfig, ) { - if let Some(var_1774) = &input.local_path { - object.key("LocalPath").string(var_1774); + if let Some(var_1781) = &input.local_path { + object.key("LocalPath").string(var_1781); } - if let Some(var_1775) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1775); + if let Some(var_1782) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1782); } - if let Some(var_1776) = &input.hook_parameters { - let mut object_1777 = object.key("HookParameters").start_object(); - for (key_1778, value_1779) in var_1776 { + if let Some(var_1783) = &input.hook_parameters { + let mut object_1784 = object.key("HookParameters").start_object(); + for (key_1785, value_1786) in var_1783 { { - object_1777.key(key_1778).string(value_1779); + object_1784.key(key_1785).string(value_1786); } } - object_1777.finish(); + object_1784.finish(); } - if let Some(var_1780) = &input.collection_configurations { - let mut array_1781 = object.key("CollectionConfigurations").start_array(); - for item_1782 in var_1780 { + if let Some(var_1787) = &input.collection_configurations { + let mut array_1788 = object.key("CollectionConfigurations").start_array(); + for item_1789 in var_1787 { { - let mut object_1783 = array_1781.value().start_object(); + let mut object_1790 = array_1788.value().start_object(); crate::json_ser::serialize_structure_collection_configuration( - &mut object_1783, - item_1782, + &mut object_1790, + item_1789, ); - object_1783.finish(); + object_1790.finish(); } } - array_1781.finish(); + array_1788.finish(); } } @@ -7757,20 +7787,20 @@ pub fn serialize_structure_debug_rule_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DebugRuleConfiguration, ) { - if let Some(var_1784) = &input.rule_configuration_name { - object.key("RuleConfigurationName").string(var_1784); + if let Some(var_1791) = &input.rule_configuration_name { + object.key("RuleConfigurationName").string(var_1791); } - if let Some(var_1785) = &input.local_path { - object.key("LocalPath").string(var_1785); + if let Some(var_1792) = &input.local_path { + object.key("LocalPath").string(var_1792); } - if let Some(var_1786) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1786); + if let Some(var_1793) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1793); } - if let Some(var_1787) = &input.rule_evaluator_image { - object.key("RuleEvaluatorImage").string(var_1787); + if let Some(var_1794) = &input.rule_evaluator_image { + object.key("RuleEvaluatorImage").string(var_1794); } - if let Some(var_1788) = &input.instance_type { - object.key("InstanceType").string(var_1788.as_str()); + if let Some(var_1795) = &input.instance_type { + object.key("InstanceType").string(var_1795.as_str()); } if input.volume_size_in_gb != 0 { object.key("VolumeSizeInGB").number( @@ -7778,14 +7808,14 @@ pub fn serialize_structure_debug_rule_configuration( smithy_types::Number::NegInt((input.volume_size_in_gb).into()), ); } - if let Some(var_1789) = &input.rule_parameters { - let mut object_1790 = object.key("RuleParameters").start_object(); - for (key_1791, value_1792) in var_1789 { + if let Some(var_1796) = &input.rule_parameters { + let mut object_1797 = object.key("RuleParameters").start_object(); + for (key_1798, value_1799) in var_1796 { { - object_1790.key(key_1791).string(value_1792); + object_1797.key(key_1798).string(value_1799); } } - object_1790.finish(); + object_1797.finish(); } } @@ -7793,11 +7823,11 @@ pub fn serialize_structure_tensor_board_output_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TensorBoardOutputConfig, ) { - if let Some(var_1793) = &input.local_path { - object.key("LocalPath").string(var_1793); + if let Some(var_1800) = &input.local_path { + object.key("LocalPath").string(var_1800); } - if let Some(var_1794) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1794); + if let Some(var_1801) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1801); } } @@ -7805,23 +7835,23 @@ pub fn serialize_structure_profiler_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProfilerConfig, ) { - if let Some(var_1795) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1795); + if let Some(var_1802) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1802); } - if let Some(var_1796) = &input.profiling_interval_in_milliseconds { + if let Some(var_1803) = &input.profiling_interval_in_milliseconds { object.key("ProfilingIntervalInMilliseconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1796).into()), + smithy_types::Number::NegInt((*var_1803).into()), ); } - if let Some(var_1797) = &input.profiling_parameters { - let mut object_1798 = object.key("ProfilingParameters").start_object(); - for (key_1799, value_1800) in var_1797 { + if let Some(var_1804) = &input.profiling_parameters { + let mut object_1805 = object.key("ProfilingParameters").start_object(); + for (key_1806, value_1807) in var_1804 { { - object_1798.key(key_1799).string(value_1800); + object_1805.key(key_1806).string(value_1807); } } - object_1798.finish(); + object_1805.finish(); } } @@ -7829,20 +7859,20 @@ pub fn serialize_structure_profiler_rule_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProfilerRuleConfiguration, ) { - if let Some(var_1801) = &input.rule_configuration_name { - object.key("RuleConfigurationName").string(var_1801); + if let Some(var_1808) = &input.rule_configuration_name { + object.key("RuleConfigurationName").string(var_1808); } - if let Some(var_1802) = &input.local_path { - object.key("LocalPath").string(var_1802); + if let Some(var_1809) = &input.local_path { + object.key("LocalPath").string(var_1809); } - if let Some(var_1803) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1803); + if let Some(var_1810) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1810); } - if let Some(var_1804) = &input.rule_evaluator_image { - object.key("RuleEvaluatorImage").string(var_1804); + if let Some(var_1811) = &input.rule_evaluator_image { + object.key("RuleEvaluatorImage").string(var_1811); } - if let Some(var_1805) = &input.instance_type { - object.key("InstanceType").string(var_1805.as_str()); + if let Some(var_1812) = &input.instance_type { + object.key("InstanceType").string(var_1812.as_str()); } if input.volume_size_in_gb != 0 { object.key("VolumeSizeInGB").number( @@ -7850,14 +7880,14 @@ pub fn serialize_structure_profiler_rule_configuration( smithy_types::Number::NegInt((input.volume_size_in_gb).into()), ); } - if let Some(var_1806) = &input.rule_parameters { - let mut object_1807 = object.key("RuleParameters").start_object(); - for (key_1808, value_1809) in var_1806 { + if let Some(var_1813) = &input.rule_parameters { + let mut object_1814 = object.key("RuleParameters").start_object(); + for (key_1815, value_1816) in var_1813 { { - object_1807.key(key_1808).string(value_1809); + object_1814.key(key_1815).string(value_1816); } } - object_1807.finish(); + object_1814.finish(); } } @@ -7877,16 +7907,16 @@ pub fn serialize_structure_model_client_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelClientConfig, ) { - if let Some(var_1810) = &input.invocations_timeout_in_seconds { + if let Some(var_1817) = &input.invocations_timeout_in_seconds { object.key("InvocationsTimeoutInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1810).into()), + smithy_types::Number::NegInt((*var_1817).into()), ); } - if let Some(var_1811) = &input.invocations_max_retries { + if let Some(var_1818) = &input.invocations_max_retries { object.key("InvocationsMaxRetries").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1811).into()), + smithy_types::Number::NegInt((*var_1818).into()), ); } } @@ -7895,19 +7925,19 @@ pub fn serialize_structure_transform_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformInput, ) { - if let Some(var_1812) = &input.data_source { - let mut object_1813 = object.key("DataSource").start_object(); - crate::json_ser::serialize_structure_transform_data_source(&mut object_1813, var_1812); - object_1813.finish(); + if let Some(var_1819) = &input.data_source { + let mut object_1820 = object.key("DataSource").start_object(); + crate::json_ser::serialize_structure_transform_data_source(&mut object_1820, var_1819); + object_1820.finish(); } - if let Some(var_1814) = &input.content_type { - object.key("ContentType").string(var_1814); + if let Some(var_1821) = &input.content_type { + object.key("ContentType").string(var_1821); } - if let Some(var_1815) = &input.compression_type { - object.key("CompressionType").string(var_1815.as_str()); + if let Some(var_1822) = &input.compression_type { + object.key("CompressionType").string(var_1822.as_str()); } - if let Some(var_1816) = &input.split_type { - object.key("SplitType").string(var_1816.as_str()); + if let Some(var_1823) = &input.split_type { + object.key("SplitType").string(var_1823.as_str()); } } @@ -7915,17 +7945,17 @@ pub fn serialize_structure_transform_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformOutput, ) { - if let Some(var_1817) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1817); + if let Some(var_1824) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1824); } - if let Some(var_1818) = &input.accept { - object.key("Accept").string(var_1818); + if let Some(var_1825) = &input.accept { + object.key("Accept").string(var_1825); } - if let Some(var_1819) = &input.assemble_with { - object.key("AssembleWith").string(var_1819.as_str()); + if let Some(var_1826) = &input.assemble_with { + object.key("AssembleWith").string(var_1826.as_str()); } - if let Some(var_1820) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1820); + if let Some(var_1827) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1827); } } @@ -7933,17 +7963,17 @@ pub fn serialize_structure_transform_resources( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformResources, ) { - if let Some(var_1821) = &input.instance_type { - object.key("InstanceType").string(var_1821.as_str()); + if let Some(var_1828) = &input.instance_type { + object.key("InstanceType").string(var_1828.as_str()); } - if let Some(var_1822) = &input.instance_count { + if let Some(var_1829) = &input.instance_count { object.key("InstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1822).into()), + smithy_types::Number::NegInt((*var_1829).into()), ); } - if let Some(var_1823) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_1823); + if let Some(var_1830) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_1830); } } @@ -7951,14 +7981,14 @@ pub fn serialize_structure_data_processing( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataProcessing, ) { - if let Some(var_1824) = &input.input_filter { - object.key("InputFilter").string(var_1824); + if let Some(var_1831) = &input.input_filter { + object.key("InputFilter").string(var_1831); } - if let Some(var_1825) = &input.output_filter { - object.key("OutputFilter").string(var_1825); + if let Some(var_1832) = &input.output_filter { + object.key("OutputFilter").string(var_1832); } - if let Some(var_1826) = &input.join_source { - object.key("JoinSource").string(var_1826.as_str()); + if let Some(var_1833) = &input.join_source { + object.key("JoinSource").string(var_1833.as_str()); } } @@ -7966,24 +7996,24 @@ pub fn serialize_structure_trial_component_status( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrialComponentStatus, ) { - if let Some(var_1827) = &input.primary_status { - object.key("PrimaryStatus").string(var_1827.as_str()); + if let Some(var_1834) = &input.primary_status { + object.key("PrimaryStatus").string(var_1834.as_str()); } - if let Some(var_1828) = &input.message { - object.key("Message").string(var_1828); + if let Some(var_1835) = &input.message { + object.key("Message").string(var_1835); } } pub fn serialize_union_trial_component_parameter_value( - object_569: &mut smithy_json::serialize::JsonObjectWriter, + object_572: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrialComponentParameterValue, ) { match input { crate::model::TrialComponentParameterValue::StringValue(inner) => { - object_569.key("StringValue").string(inner); + object_572.key("StringValue").string(inner); } crate::model::TrialComponentParameterValue::NumberValue(inner) => { - object_569.key("NumberValue").number( + object_572.key("NumberValue").number( #[allow(clippy::useless_conversion)] smithy_types::Number::Float((*inner).into()), ); @@ -7995,11 +8025,11 @@ pub fn serialize_structure_trial_component_artifact( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrialComponentArtifact, ) { - if let Some(var_1829) = &input.media_type { - object.key("MediaType").string(var_1829); + if let Some(var_1836) = &input.media_type { + object.key("MediaType").string(var_1836); } - if let Some(var_1830) = &input.value { - object.key("Value").string(var_1830); + if let Some(var_1837) = &input.value { + object.key("Value").string(var_1837); } } @@ -8007,11 +8037,11 @@ pub fn serialize_structure_cognito_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CognitoConfig, ) { - if let Some(var_1831) = &input.user_pool { - object.key("UserPool").string(var_1831); + if let Some(var_1838) = &input.user_pool { + object.key("UserPool").string(var_1838); } - if let Some(var_1832) = &input.client_id { - object.key("ClientId").string(var_1832); + if let Some(var_1839) = &input.client_id { + object.key("ClientId").string(var_1839); } } @@ -8019,29 +8049,29 @@ pub fn serialize_structure_oidc_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OidcConfig, ) { - if let Some(var_1833) = &input.client_id { - object.key("ClientId").string(var_1833); + if let Some(var_1840) = &input.client_id { + object.key("ClientId").string(var_1840); } - if let Some(var_1834) = &input.client_secret { - object.key("ClientSecret").string(var_1834); + if let Some(var_1841) = &input.client_secret { + object.key("ClientSecret").string(var_1841); } - if let Some(var_1835) = &input.issuer { - object.key("Issuer").string(var_1835); + if let Some(var_1842) = &input.issuer { + object.key("Issuer").string(var_1842); } - if let Some(var_1836) = &input.authorization_endpoint { - object.key("AuthorizationEndpoint").string(var_1836); + if let Some(var_1843) = &input.authorization_endpoint { + object.key("AuthorizationEndpoint").string(var_1843); } - if let Some(var_1837) = &input.token_endpoint { - object.key("TokenEndpoint").string(var_1837); + if let Some(var_1844) = &input.token_endpoint { + object.key("TokenEndpoint").string(var_1844); } - if let Some(var_1838) = &input.user_info_endpoint { - object.key("UserInfoEndpoint").string(var_1838); + if let Some(var_1845) = &input.user_info_endpoint { + object.key("UserInfoEndpoint").string(var_1845); } - if let Some(var_1839) = &input.logout_endpoint { - object.key("LogoutEndpoint").string(var_1839); + if let Some(var_1846) = &input.logout_endpoint { + object.key("LogoutEndpoint").string(var_1846); } - if let Some(var_1840) = &input.jwks_uri { - object.key("JwksUri").string(var_1840); + if let Some(var_1847) = &input.jwks_uri { + object.key("JwksUri").string(var_1847); } } @@ -8049,14 +8079,14 @@ pub fn serialize_structure_source_ip_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceIpConfig, ) { - if let Some(var_1841) = &input.cidrs { - let mut array_1842 = object.key("Cidrs").start_array(); - for item_1843 in var_1841 { + if let Some(var_1848) = &input.cidrs { + let mut array_1849 = object.key("Cidrs").start_array(); + for item_1850 in var_1848 { { - array_1842.value().string(item_1843); + array_1849.value().string(item_1850); } } - array_1842.finish(); + array_1849.finish(); } } @@ -8064,15 +8094,15 @@ pub fn serialize_structure_member_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MemberDefinition, ) { - if let Some(var_1844) = &input.cognito_member_definition { - let mut object_1845 = object.key("CognitoMemberDefinition").start_object(); - crate::json_ser::serialize_structure_cognito_member_definition(&mut object_1845, var_1844); - object_1845.finish(); + if let Some(var_1851) = &input.cognito_member_definition { + let mut object_1852 = object.key("CognitoMemberDefinition").start_object(); + crate::json_ser::serialize_structure_cognito_member_definition(&mut object_1852, var_1851); + object_1852.finish(); } - if let Some(var_1846) = &input.oidc_member_definition { - let mut object_1847 = object.key("OidcMemberDefinition").start_object(); - crate::json_ser::serialize_structure_oidc_member_definition(&mut object_1847, var_1846); - object_1847.finish(); + if let Some(var_1853) = &input.oidc_member_definition { + let mut object_1854 = object.key("OidcMemberDefinition").start_object(); + crate::json_ser::serialize_structure_oidc_member_definition(&mut object_1854, var_1853); + object_1854.finish(); } } @@ -8080,8 +8110,8 @@ pub fn serialize_structure_notification_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NotificationConfiguration, ) { - if let Some(var_1848) = &input.notification_topic_arn { - object.key("NotificationTopicArn").string(var_1848); + if let Some(var_1855) = &input.notification_topic_arn { + object.key("NotificationTopicArn").string(var_1855); } } @@ -8089,8 +8119,8 @@ pub fn serialize_structure_retention_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RetentionPolicy, ) { - if let Some(var_1849) = &input.home_efs_file_system { - object.key("HomeEfsFileSystem").string(var_1849.as_str()); + if let Some(var_1856) = &input.home_efs_file_system { + object.key("HomeEfsFileSystem").string(var_1856.as_str()); } } @@ -8098,10 +8128,10 @@ pub fn serialize_structure_suggestion_query( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SuggestionQuery, ) { - if let Some(var_1850) = &input.property_name_query { - let mut object_1851 = object.key("PropertyNameQuery").start_object(); - crate::json_ser::serialize_structure_property_name_query(&mut object_1851, var_1850); - object_1851.finish(); + if let Some(var_1857) = &input.property_name_query { + let mut object_1858 = object.key("PropertyNameQuery").start_object(); + crate::json_ser::serialize_structure_property_name_query(&mut object_1858, var_1857); + object_1858.finish(); } } @@ -8109,14 +8139,14 @@ pub fn serialize_structure_device( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Device, ) { - if let Some(var_1852) = &input.device_name { - object.key("DeviceName").string(var_1852); + if let Some(var_1859) = &input.device_name { + object.key("DeviceName").string(var_1859); } - if let Some(var_1853) = &input.description { - object.key("Description").string(var_1853); + if let Some(var_1860) = &input.description { + object.key("Description").string(var_1860); } - if let Some(var_1854) = &input.iot_thing_name { - object.key("IotThingName").string(var_1854); + if let Some(var_1861) = &input.iot_thing_name { + object.key("IotThingName").string(var_1861); } } @@ -8124,8 +8154,8 @@ pub fn serialize_structure_renderable_task( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RenderableTask, ) { - if let Some(var_1855) = &input.input { - object.key("Input").string(var_1855); + if let Some(var_1862) = &input.input { + object.key("Input").string(var_1862); } } @@ -8133,41 +8163,41 @@ pub fn serialize_structure_search_expression( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SearchExpression, ) { - if let Some(var_1856) = &input.filters { - let mut array_1857 = object.key("Filters").start_array(); - for item_1858 in var_1856 { + if let Some(var_1863) = &input.filters { + let mut array_1864 = object.key("Filters").start_array(); + for item_1865 in var_1863 { { - let mut object_1859 = array_1857.value().start_object(); - crate::json_ser::serialize_structure_filter(&mut object_1859, item_1858); - object_1859.finish(); + let mut object_1866 = array_1864.value().start_object(); + crate::json_ser::serialize_structure_filter(&mut object_1866, item_1865); + object_1866.finish(); } } - array_1857.finish(); + array_1864.finish(); } - if let Some(var_1860) = &input.nested_filters { - let mut array_1861 = object.key("NestedFilters").start_array(); - for item_1862 in var_1860 { + if let Some(var_1867) = &input.nested_filters { + let mut array_1868 = object.key("NestedFilters").start_array(); + for item_1869 in var_1867 { { - let mut object_1863 = array_1861.value().start_object(); - crate::json_ser::serialize_structure_nested_filters(&mut object_1863, item_1862); - object_1863.finish(); + let mut object_1870 = array_1868.value().start_object(); + crate::json_ser::serialize_structure_nested_filters(&mut object_1870, item_1869); + object_1870.finish(); } } - array_1861.finish(); + array_1868.finish(); } - if let Some(var_1864) = &input.sub_expressions { - let mut array_1865 = object.key("SubExpressions").start_array(); - for item_1866 in var_1864 { + if let Some(var_1871) = &input.sub_expressions { + let mut array_1872 = object.key("SubExpressions").start_array(); + for item_1873 in var_1871 { { - let mut object_1867 = array_1865.value().start_object(); - crate::json_ser::serialize_structure_search_expression(&mut object_1867, item_1866); - object_1867.finish(); + let mut object_1874 = array_1872.value().start_object(); + crate::json_ser::serialize_structure_search_expression(&mut object_1874, item_1873); + object_1874.finish(); } } - array_1865.finish(); + array_1872.finish(); } - if let Some(var_1868) = &input.operator { - object.key("Operator").string(var_1868.as_str()); + if let Some(var_1875) = &input.operator { + object.key("Operator").string(var_1875.as_str()); } } @@ -8175,11 +8205,11 @@ pub fn serialize_structure_output_parameter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OutputParameter, ) { - if let Some(var_1869) = &input.name { - object.key("Name").string(var_1869); + if let Some(var_1876) = &input.name { + object.key("Name").string(var_1876); } - if let Some(var_1870) = &input.value { - object.key("Value").string(var_1870); + if let Some(var_1877) = &input.value { + object.key("Value").string(var_1877); } } @@ -8187,11 +8217,11 @@ pub fn serialize_structure_parameter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Parameter, ) { - if let Some(var_1871) = &input.name { - object.key("Name").string(var_1871); + if let Some(var_1878) = &input.name { + object.key("Name").string(var_1878); } - if let Some(var_1872) = &input.value { - object.key("Value").string(var_1872); + if let Some(var_1879) = &input.value { + object.key("Value").string(var_1879); } } @@ -8199,8 +8229,8 @@ pub fn serialize_structure_git_config_for_update( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GitConfigForUpdate, ) { - if let Some(var_1873) = &input.secret_arn { - object.key("SecretArn").string(var_1873); + if let Some(var_1880) = &input.secret_arn { + object.key("SecretArn").string(var_1880); } } @@ -8208,8 +8238,8 @@ pub fn serialize_structure_variant_property( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::VariantProperty, ) { - if let Some(var_1874) = &input.variant_property_type { - object.key("VariantPropertyType").string(var_1874.as_str()); + if let Some(var_1881) = &input.variant_property_type { + object.key("VariantPropertyType").string(var_1881.as_str()); } } @@ -8217,15 +8247,15 @@ pub fn serialize_structure_deployment_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DeploymentConfig, ) { - if let Some(var_1875) = &input.blue_green_update_policy { - let mut object_1876 = object.key("BlueGreenUpdatePolicy").start_object(); - crate::json_ser::serialize_structure_blue_green_update_policy(&mut object_1876, var_1875); - object_1876.finish(); + if let Some(var_1882) = &input.blue_green_update_policy { + let mut object_1883 = object.key("BlueGreenUpdatePolicy").start_object(); + crate::json_ser::serialize_structure_blue_green_update_policy(&mut object_1883, var_1882); + object_1883.finish(); } - if let Some(var_1877) = &input.auto_rollback_configuration { - let mut object_1878 = object.key("AutoRollbackConfiguration").start_object(); - crate::json_ser::serialize_structure_auto_rollback_config(&mut object_1878, var_1877); - object_1878.finish(); + if let Some(var_1884) = &input.auto_rollback_configuration { + let mut object_1885 = object.key("AutoRollbackConfiguration").start_object(); + crate::json_ser::serialize_structure_auto_rollback_config(&mut object_1885, var_1884); + object_1885.finish(); } } @@ -8233,19 +8263,19 @@ pub fn serialize_structure_desired_weight_and_capacity( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DesiredWeightAndCapacity, ) { - if let Some(var_1879) = &input.variant_name { - object.key("VariantName").string(var_1879); + if let Some(var_1886) = &input.variant_name { + object.key("VariantName").string(var_1886); } - if let Some(var_1880) = &input.desired_weight { + if let Some(var_1887) = &input.desired_weight { object.key("DesiredWeight").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_1880).into()), + smithy_types::Number::Float((*var_1887).into()), ); } - if let Some(var_1881) = &input.desired_instance_count { + if let Some(var_1888) = &input.desired_instance_count { object.key("DesiredInstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1881).into()), + smithy_types::Number::NegInt((*var_1888).into()), ); } } @@ -8254,23 +8284,23 @@ pub fn serialize_structure_profiler_config_for_update( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProfilerConfigForUpdate, ) { - if let Some(var_1882) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1882); + if let Some(var_1889) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1889); } - if let Some(var_1883) = &input.profiling_interval_in_milliseconds { + if let Some(var_1890) = &input.profiling_interval_in_milliseconds { object.key("ProfilingIntervalInMilliseconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1883).into()), + smithy_types::Number::NegInt((*var_1890).into()), ); } - if let Some(var_1884) = &input.profiling_parameters { - let mut object_1885 = object.key("ProfilingParameters").start_object(); - for (key_1886, value_1887) in var_1884 { + if let Some(var_1891) = &input.profiling_parameters { + let mut object_1892 = object.key("ProfilingParameters").start_object(); + for (key_1893, value_1894) in var_1891 { { - object_1885.key(key_1886).string(value_1887); + object_1892.key(key_1893).string(value_1894); } } - object_1885.finish(); + object_1892.finish(); } if input.disable_profiler { object @@ -8283,19 +8313,19 @@ pub fn serialize_structure_hyper_parameter_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterSpecification, ) { - if let Some(var_1888) = &input.name { - object.key("Name").string(var_1888); + if let Some(var_1895) = &input.name { + object.key("Name").string(var_1895); } - if let Some(var_1889) = &input.description { - object.key("Description").string(var_1889); + if let Some(var_1896) = &input.description { + object.key("Description").string(var_1896); } - if let Some(var_1890) = &input.r#type { - object.key("Type").string(var_1890.as_str()); + if let Some(var_1897) = &input.r#type { + object.key("Type").string(var_1897.as_str()); } - if let Some(var_1891) = &input.range { - let mut object_1892 = object.key("Range").start_object(); - crate::json_ser::serialize_structure_parameter_range(&mut object_1892, var_1891); - object_1892.finish(); + if let Some(var_1898) = &input.range { + let mut object_1899 = object.key("Range").start_object(); + crate::json_ser::serialize_structure_parameter_range(&mut object_1899, var_1898); + object_1899.finish(); } if input.is_tunable { object.key("IsTunable").boolean(input.is_tunable); @@ -8303,8 +8333,8 @@ pub fn serialize_structure_hyper_parameter_specification( if input.is_required { object.key("IsRequired").boolean(input.is_required); } - if let Some(var_1893) = &input.default_value { - object.key("DefaultValue").string(var_1893); + if let Some(var_1900) = &input.default_value { + object.key("DefaultValue").string(var_1900); } } @@ -8312,11 +8342,11 @@ pub fn serialize_structure_metric_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MetricDefinition, ) { - if let Some(var_1894) = &input.name { - object.key("Name").string(var_1894); + if let Some(var_1901) = &input.name { + object.key("Name").string(var_1901); } - if let Some(var_1895) = &input.regex { - object.key("Regex").string(var_1895); + if let Some(var_1902) = &input.regex { + object.key("Regex").string(var_1902); } } @@ -8324,41 +8354,41 @@ pub fn serialize_structure_channel_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ChannelSpecification, ) { - if let Some(var_1896) = &input.name { - object.key("Name").string(var_1896); + if let Some(var_1903) = &input.name { + object.key("Name").string(var_1903); } - if let Some(var_1897) = &input.description { - object.key("Description").string(var_1897); + if let Some(var_1904) = &input.description { + object.key("Description").string(var_1904); } if input.is_required { object.key("IsRequired").boolean(input.is_required); } - if let Some(var_1898) = &input.supported_content_types { - let mut array_1899 = object.key("SupportedContentTypes").start_array(); - for item_1900 in var_1898 { + if let Some(var_1905) = &input.supported_content_types { + let mut array_1906 = object.key("SupportedContentTypes").start_array(); + for item_1907 in var_1905 { { - array_1899.value().string(item_1900); + array_1906.value().string(item_1907); } } - array_1899.finish(); + array_1906.finish(); } - if let Some(var_1901) = &input.supported_compression_types { - let mut array_1902 = object.key("SupportedCompressionTypes").start_array(); - for item_1903 in var_1901 { + if let Some(var_1908) = &input.supported_compression_types { + let mut array_1909 = object.key("SupportedCompressionTypes").start_array(); + for item_1910 in var_1908 { { - array_1902.value().string(item_1903.as_str()); + array_1909.value().string(item_1910.as_str()); } } - array_1902.finish(); + array_1909.finish(); } - if let Some(var_1904) = &input.supported_input_modes { - let mut array_1905 = object.key("SupportedInputModes").start_array(); - for item_1906 in var_1904 { + if let Some(var_1911) = &input.supported_input_modes { + let mut array_1912 = object.key("SupportedInputModes").start_array(); + for item_1913 in var_1911 { { - array_1905.value().string(item_1906.as_str()); + array_1912.value().string(item_1913.as_str()); } } - array_1905.finish(); + array_1912.finish(); } } @@ -8366,11 +8396,11 @@ pub fn serialize_structure_hyper_parameter_tuning_job_objective( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterTuningJobObjective, ) { - if let Some(var_1907) = &input.r#type { - object.key("Type").string(var_1907.as_str()); + if let Some(var_1914) = &input.r#type { + object.key("Type").string(var_1914.as_str()); } - if let Some(var_1908) = &input.metric_name { - object.key("MetricName").string(var_1908); + if let Some(var_1915) = &input.metric_name { + object.key("MetricName").string(var_1915); } } @@ -8378,29 +8408,29 @@ pub fn serialize_structure_model_package_container_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelPackageContainerDefinition, ) { - if let Some(var_1909) = &input.container_hostname { - object.key("ContainerHostname").string(var_1909); + if let Some(var_1916) = &input.container_hostname { + object.key("ContainerHostname").string(var_1916); } - if let Some(var_1910) = &input.image { - object.key("Image").string(var_1910); + if let Some(var_1917) = &input.image { + object.key("Image").string(var_1917); } - if let Some(var_1911) = &input.image_digest { - object.key("ImageDigest").string(var_1911); + if let Some(var_1918) = &input.image_digest { + object.key("ImageDigest").string(var_1918); } - if let Some(var_1912) = &input.model_data_url { - object.key("ModelDataUrl").string(var_1912); + if let Some(var_1919) = &input.model_data_url { + object.key("ModelDataUrl").string(var_1919); } - if let Some(var_1913) = &input.product_id { - object.key("ProductId").string(var_1913); + if let Some(var_1920) = &input.product_id { + object.key("ProductId").string(var_1920); } - if let Some(var_1914) = &input.environment { - let mut object_1915 = object.key("Environment").start_object(); - for (key_1916, value_1917) in var_1914 { + if let Some(var_1921) = &input.environment { + let mut object_1922 = object.key("Environment").start_object(); + for (key_1923, value_1924) in var_1921 { { - object_1915.key(key_1916).string(value_1917); + object_1922.key(key_1923).string(value_1924); } } - object_1915.finish(); + object_1922.finish(); } } @@ -8408,18 +8438,18 @@ pub fn serialize_structure_algorithm_validation_profile( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AlgorithmValidationProfile, ) { - if let Some(var_1918) = &input.profile_name { - object.key("ProfileName").string(var_1918); + if let Some(var_1925) = &input.profile_name { + object.key("ProfileName").string(var_1925); } - if let Some(var_1919) = &input.training_job_definition { - let mut object_1920 = object.key("TrainingJobDefinition").start_object(); - crate::json_ser::serialize_structure_training_job_definition(&mut object_1920, var_1919); - object_1920.finish(); + if let Some(var_1926) = &input.training_job_definition { + let mut object_1927 = object.key("TrainingJobDefinition").start_object(); + crate::json_ser::serialize_structure_training_job_definition(&mut object_1927, var_1926); + object_1927.finish(); } - if let Some(var_1921) = &input.transform_job_definition { - let mut object_1922 = object.key("TransformJobDefinition").start_object(); - crate::json_ser::serialize_structure_transform_job_definition(&mut object_1922, var_1921); - object_1922.finish(); + if let Some(var_1928) = &input.transform_job_definition { + let mut object_1929 = object.key("TransformJobDefinition").start_object(); + crate::json_ser::serialize_structure_transform_job_definition(&mut object_1929, var_1928); + object_1929.finish(); } } @@ -8427,11 +8457,11 @@ pub fn serialize_structure_kernel_spec( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KernelSpec, ) { - if let Some(var_1923) = &input.name { - object.key("Name").string(var_1923); + if let Some(var_1930) = &input.name { + object.key("Name").string(var_1930); } - if let Some(var_1924) = &input.display_name { - object.key("DisplayName").string(var_1924); + if let Some(var_1931) = &input.display_name { + object.key("DisplayName").string(var_1931); } } @@ -8439,19 +8469,19 @@ pub fn serialize_structure_file_system_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FileSystemConfig, ) { - if let Some(var_1925) = &input.mount_path { - object.key("MountPath").string(var_1925); + if let Some(var_1932) = &input.mount_path { + object.key("MountPath").string(var_1932); } - if let Some(var_1926) = &input.default_uid { + if let Some(var_1933) = &input.default_uid { object.key("DefaultUid").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1926).into()), + smithy_types::Number::NegInt((*var_1933).into()), ); } - if let Some(var_1927) = &input.default_gid { + if let Some(var_1934) = &input.default_gid { object.key("DefaultGid").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1927).into()), + smithy_types::Number::NegInt((*var_1934).into()), ); } } @@ -8460,11 +8490,11 @@ pub fn serialize_structure_artifact_source_type( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ArtifactSourceType, ) { - if let Some(var_1928) = &input.source_id_type { - object.key("SourceIdType").string(var_1928.as_str()); + if let Some(var_1935) = &input.source_id_type { + object.key("SourceIdType").string(var_1935.as_str()); } - if let Some(var_1929) = &input.value { - object.key("Value").string(var_1929); + if let Some(var_1936) = &input.value { + object.key("Value").string(var_1936); } } @@ -8472,10 +8502,10 @@ pub fn serialize_structure_auto_ml_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlDataSource, ) { - if let Some(var_1930) = &input.s3_data_source { - let mut object_1931 = object.key("S3DataSource").start_object(); - crate::json_ser::serialize_structure_auto_mls3_data_source(&mut object_1931, var_1930); - object_1931.finish(); + if let Some(var_1937) = &input.s3_data_source { + let mut object_1938 = object.key("S3DataSource").start_object(); + crate::json_ser::serialize_structure_auto_mls3_data_source(&mut object_1938, var_1937); + object_1938.finish(); } } @@ -8483,22 +8513,22 @@ pub fn serialize_structure_auto_ml_job_completion_criteria( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlJobCompletionCriteria, ) { - if let Some(var_1932) = &input.max_candidates { + if let Some(var_1939) = &input.max_candidates { object.key("MaxCandidates").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1932).into()), + smithy_types::Number::NegInt((*var_1939).into()), ); } - if let Some(var_1933) = &input.max_runtime_per_training_job_in_seconds { + if let Some(var_1940) = &input.max_runtime_per_training_job_in_seconds { object.key("MaxRuntimePerTrainingJobInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1933).into()), + smithy_types::Number::NegInt((*var_1940).into()), ); } - if let Some(var_1934) = &input.max_auto_ml_job_runtime_in_seconds { + if let Some(var_1941) = &input.max_auto_ml_job_runtime_in_seconds { object.key("MaxAutoMLJobRuntimeInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1934).into()), + smithy_types::Number::NegInt((*var_1941).into()), ); } } @@ -8507,18 +8537,18 @@ pub fn serialize_structure_auto_ml_security_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMlSecurityConfig, ) { - if let Some(var_1935) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_1935); + if let Some(var_1942) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_1942); } if input.enable_inter_container_traffic_encryption { object .key("EnableInterContainerTrafficEncryption") .boolean(input.enable_inter_container_traffic_encryption); } - if let Some(var_1936) = &input.vpc_config { - let mut object_1937 = object.key("VpcConfig").start_object(); - crate::json_ser::serialize_structure_vpc_config(&mut object_1937, var_1936); - object_1937.finish(); + if let Some(var_1943) = &input.vpc_config { + let mut object_1944 = object.key("VpcConfig").start_object(); + crate::json_ser::serialize_structure_vpc_config(&mut object_1944, var_1943); + object_1944.finish(); } } @@ -8526,14 +8556,14 @@ pub fn serialize_structure_target_platform( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TargetPlatform, ) { - if let Some(var_1938) = &input.os { - object.key("Os").string(var_1938.as_str()); + if let Some(var_1945) = &input.os { + object.key("Os").string(var_1945.as_str()); } - if let Some(var_1939) = &input.arch { - object.key("Arch").string(var_1939.as_str()); + if let Some(var_1946) = &input.arch { + object.key("Arch").string(var_1946.as_str()); } - if let Some(var_1940) = &input.accelerator { - object.key("Accelerator").string(var_1940.as_str()); + if let Some(var_1947) = &input.accelerator { + object.key("Accelerator").string(var_1947.as_str()); } } @@ -8541,8 +8571,8 @@ pub fn serialize_structure_monitoring_constraints_resource( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringConstraintsResource, ) { - if let Some(var_1941) = &input.s3_uri { - object.key("S3Uri").string(var_1941); + if let Some(var_1948) = &input.s3_uri { + object.key("S3Uri").string(var_1948); } } @@ -8550,8 +8580,8 @@ pub fn serialize_structure_monitoring_statistics_resource( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringStatisticsResource, ) { - if let Some(var_1942) = &input.s3_uri { - object.key("S3Uri").string(var_1942); + if let Some(var_1949) = &input.s3_uri { + object.key("S3Uri").string(var_1949); } } @@ -8559,40 +8589,40 @@ pub fn serialize_structure_endpoint_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::EndpointInput, ) { - if let Some(var_1943) = &input.endpoint_name { - object.key("EndpointName").string(var_1943); + if let Some(var_1950) = &input.endpoint_name { + object.key("EndpointName").string(var_1950); } - if let Some(var_1944) = &input.local_path { - object.key("LocalPath").string(var_1944); + if let Some(var_1951) = &input.local_path { + object.key("LocalPath").string(var_1951); } - if let Some(var_1945) = &input.s3_input_mode { - object.key("S3InputMode").string(var_1945.as_str()); + if let Some(var_1952) = &input.s3_input_mode { + object.key("S3InputMode").string(var_1952.as_str()); } - if let Some(var_1946) = &input.s3_data_distribution_type { + if let Some(var_1953) = &input.s3_data_distribution_type { object .key("S3DataDistributionType") - .string(var_1946.as_str()); + .string(var_1953.as_str()); } - if let Some(var_1947) = &input.features_attribute { - object.key("FeaturesAttribute").string(var_1947); + if let Some(var_1954) = &input.features_attribute { + object.key("FeaturesAttribute").string(var_1954); } - if let Some(var_1948) = &input.inference_attribute { - object.key("InferenceAttribute").string(var_1948); + if let Some(var_1955) = &input.inference_attribute { + object.key("InferenceAttribute").string(var_1955); } - if let Some(var_1949) = &input.probability_attribute { - object.key("ProbabilityAttribute").string(var_1949); + if let Some(var_1956) = &input.probability_attribute { + object.key("ProbabilityAttribute").string(var_1956); } - if let Some(var_1950) = &input.probability_threshold_attribute { + if let Some(var_1957) = &input.probability_threshold_attribute { object.key("ProbabilityThresholdAttribute").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_1950).into()), + smithy_types::Number::Float((*var_1957).into()), ); } - if let Some(var_1951) = &input.start_time_offset { - object.key("StartTimeOffset").string(var_1951); + if let Some(var_1958) = &input.start_time_offset { + object.key("StartTimeOffset").string(var_1958); } - if let Some(var_1952) = &input.end_time_offset { - object.key("EndTimeOffset").string(var_1952); + if let Some(var_1959) = &input.end_time_offset { + object.key("EndTimeOffset").string(var_1959); } } @@ -8600,10 +8630,10 @@ pub fn serialize_structure_monitoring_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringOutput, ) { - if let Some(var_1953) = &input.s3_output { - let mut object_1954 = object.key("S3Output").start_object(); - crate::json_ser::serialize_structure_monitoring_s3_output(&mut object_1954, var_1953); - object_1954.finish(); + if let Some(var_1960) = &input.s3_output { + let mut object_1961 = object.key("S3Output").start_object(); + crate::json_ser::serialize_structure_monitoring_s3_output(&mut object_1961, var_1960); + object_1961.finish(); } } @@ -8611,23 +8641,23 @@ pub fn serialize_structure_monitoring_cluster_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringClusterConfig, ) { - if let Some(var_1955) = &input.instance_count { + if let Some(var_1962) = &input.instance_count { object.key("InstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1955).into()), + smithy_types::Number::NegInt((*var_1962).into()), ); } - if let Some(var_1956) = &input.instance_type { - object.key("InstanceType").string(var_1956.as_str()); + if let Some(var_1963) = &input.instance_type { + object.key("InstanceType").string(var_1963.as_str()); } - if let Some(var_1957) = &input.volume_size_in_gb { + if let Some(var_1964) = &input.volume_size_in_gb { object.key("VolumeSizeInGB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_1957).into()), + smithy_types::Number::NegInt((*var_1964).into()), ); } - if let Some(var_1958) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_1958); + if let Some(var_1965) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_1965); } } @@ -8635,14 +8665,14 @@ pub fn serialize_structure_sharing_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SharingSettings, ) { - if let Some(var_1959) = &input.notebook_output_option { - object.key("NotebookOutputOption").string(var_1959.as_str()); + if let Some(var_1966) = &input.notebook_output_option { + object.key("NotebookOutputOption").string(var_1966.as_str()); } - if let Some(var_1960) = &input.s3_output_path { - object.key("S3OutputPath").string(var_1960); + if let Some(var_1967) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1967); } - if let Some(var_1961) = &input.s3_kms_key_id { - object.key("S3KmsKeyId").string(var_1961); + if let Some(var_1968) = &input.s3_kms_key_id { + object.key("S3KmsKeyId").string(var_1968); } } @@ -8650,10 +8680,10 @@ pub fn serialize_structure_jupyter_server_app_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::JupyterServerAppSettings, ) { - if let Some(var_1962) = &input.default_resource_spec { - let mut object_1963 = object.key("DefaultResourceSpec").start_object(); - crate::json_ser::serialize_structure_resource_spec(&mut object_1963, var_1962); - object_1963.finish(); + if let Some(var_1969) = &input.default_resource_spec { + let mut object_1970 = object.key("DefaultResourceSpec").start_object(); + crate::json_ser::serialize_structure_resource_spec(&mut object_1970, var_1969); + object_1970.finish(); } } @@ -8661,21 +8691,21 @@ pub fn serialize_structure_kernel_gateway_app_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::KernelGatewayAppSettings, ) { - if let Some(var_1964) = &input.default_resource_spec { - let mut object_1965 = object.key("DefaultResourceSpec").start_object(); - crate::json_ser::serialize_structure_resource_spec(&mut object_1965, var_1964); - object_1965.finish(); + if let Some(var_1971) = &input.default_resource_spec { + let mut object_1972 = object.key("DefaultResourceSpec").start_object(); + crate::json_ser::serialize_structure_resource_spec(&mut object_1972, var_1971); + object_1972.finish(); } - if let Some(var_1966) = &input.custom_images { - let mut array_1967 = object.key("CustomImages").start_array(); - for item_1968 in var_1966 { + if let Some(var_1973) = &input.custom_images { + let mut array_1974 = object.key("CustomImages").start_array(); + for item_1975 in var_1973 { { - let mut object_1969 = array_1967.value().start_object(); - crate::json_ser::serialize_structure_custom_image(&mut object_1969, item_1968); - object_1969.finish(); + let mut object_1976 = array_1974.value().start_object(); + crate::json_ser::serialize_structure_custom_image(&mut object_1976, item_1975); + object_1976.finish(); } } - array_1967.finish(); + array_1974.finish(); } } @@ -8683,10 +8713,10 @@ pub fn serialize_structure_tensor_board_app_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TensorBoardAppSettings, ) { - if let Some(var_1970) = &input.default_resource_spec { - let mut object_1971 = object.key("DefaultResourceSpec").start_object(); - crate::json_ser::serialize_structure_resource_spec(&mut object_1971, var_1970); - object_1971.finish(); + if let Some(var_1977) = &input.default_resource_spec { + let mut object_1978 = object.key("DefaultResourceSpec").start_object(); + crate::json_ser::serialize_structure_resource_spec(&mut object_1978, var_1977); + object_1978.finish(); } } @@ -8694,11 +8724,11 @@ pub fn serialize_structure_production_variant_core_dump_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProductionVariantCoreDumpConfig, ) { - if let Some(var_1972) = &input.destination_s3_uri { - object.key("DestinationS3Uri").string(var_1972); + if let Some(var_1979) = &input.destination_s3_uri { + object.key("DestinationS3Uri").string(var_1979); } - if let Some(var_1973) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1973); + if let Some(var_1980) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1980); } } @@ -8706,8 +8736,8 @@ pub fn serialize_structure_capture_option( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CaptureOption, ) { - if let Some(var_1974) = &input.capture_mode { - object.key("CaptureMode").string(var_1974.as_str()); + if let Some(var_1981) = &input.capture_mode { + object.key("CaptureMode").string(var_1981.as_str()); } } @@ -8715,23 +8745,55 @@ pub fn serialize_structure_capture_content_type_header( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CaptureContentTypeHeader, ) { - if let Some(var_1975) = &input.csv_content_types { - let mut array_1976 = object.key("CsvContentTypes").start_array(); - for item_1977 in var_1975 { + if let Some(var_1982) = &input.csv_content_types { + let mut array_1983 = object.key("CsvContentTypes").start_array(); + for item_1984 in var_1982 { { - array_1976.value().string(item_1977); + array_1983.value().string(item_1984); } } - array_1976.finish(); + array_1983.finish(); } - if let Some(var_1978) = &input.json_content_types { - let mut array_1979 = object.key("JsonContentTypes").start_array(); - for item_1980 in var_1978 { + if let Some(var_1985) = &input.json_content_types { + let mut array_1986 = object.key("JsonContentTypes").start_array(); + for item_1987 in var_1985 { { - array_1979.value().string(item_1980); + array_1986.value().string(item_1987); } } - array_1979.finish(); + array_1986.finish(); + } +} + +pub fn serialize_structure_async_inference_client_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AsyncInferenceClientConfig, +) { + if let Some(var_1988) = &input.max_concurrent_invocations_per_instance { + object.key("MaxConcurrentInvocationsPerInstance").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_1988).into()), + ); + } +} + +pub fn serialize_structure_async_inference_output_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AsyncInferenceOutputConfig, +) { + if let Some(var_1989) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1989); + } + if let Some(var_1990) = &input.s3_output_path { + object.key("S3OutputPath").string(var_1990); + } + if let Some(var_1991) = &input.notification_config { + let mut object_1992 = object.key("NotificationConfig").start_object(); + crate::json_ser::serialize_structure_async_inference_notification_config( + &mut object_1992, + var_1991, + ); + object_1992.finish(); } } @@ -8739,8 +8801,8 @@ pub fn serialize_structure_online_store_security_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OnlineStoreSecurityConfig, ) { - if let Some(var_1981) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1981); + if let Some(var_1993) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1993); } } @@ -8748,14 +8810,14 @@ pub fn serialize_structure_s3_storage_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3StorageConfig, ) { - if let Some(var_1982) = &input.s3_uri { - object.key("S3Uri").string(var_1982); + if let Some(var_1994) = &input.s3_uri { + object.key("S3Uri").string(var_1994); } - if let Some(var_1983) = &input.kms_key_id { - object.key("KmsKeyId").string(var_1983); + if let Some(var_1995) = &input.kms_key_id { + object.key("KmsKeyId").string(var_1995); } - if let Some(var_1984) = &input.resolved_output_s3_uri { - object.key("ResolvedOutputS3Uri").string(var_1984); + if let Some(var_1996) = &input.resolved_output_s3_uri { + object.key("ResolvedOutputS3Uri").string(var_1996); } } @@ -8763,14 +8825,14 @@ pub fn serialize_structure_data_catalog_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataCatalogConfig, ) { - if let Some(var_1985) = &input.table_name { - object.key("TableName").string(var_1985); + if let Some(var_1997) = &input.table_name { + object.key("TableName").string(var_1997); } - if let Some(var_1986) = &input.catalog { - object.key("Catalog").string(var_1986); + if let Some(var_1998) = &input.catalog { + object.key("Catalog").string(var_1998); } - if let Some(var_1987) = &input.database { - object.key("Database").string(var_1987); + if let Some(var_1999) = &input.database { + object.key("Database").string(var_1999); } } @@ -8778,8 +8840,8 @@ pub fn serialize_structure_human_loop_activation_conditions_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HumanLoopActivationConditionsConfig, ) { - if let Some(var_1988) = &input.human_loop_activation_conditions { - object.key("HumanLoopActivationConditions").string(var_1988); + if let Some(var_2000) = &input.human_loop_activation_conditions { + object.key("HumanLoopActivationConditions").string(var_2000); } } @@ -8787,10 +8849,10 @@ pub fn serialize_structure_public_workforce_task_price( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PublicWorkforceTaskPrice, ) { - if let Some(var_1989) = &input.amount_in_usd { - let mut object_1990 = object.key("AmountInUsd").start_object(); - crate::json_ser::serialize_structure_usd(&mut object_1990, var_1989); - object_1990.finish(); + if let Some(var_2001) = &input.amount_in_usd { + let mut object_2002 = object.key("AmountInUsd").start_object(); + crate::json_ser::serialize_structure_usd(&mut object_2002, var_2001); + object_2002.finish(); } } @@ -8816,47 +8878,47 @@ pub fn serialize_structure_parameter_ranges( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ParameterRanges, ) { - if let Some(var_1991) = &input.integer_parameter_ranges { - let mut array_1992 = object.key("IntegerParameterRanges").start_array(); - for item_1993 in var_1991 { + if let Some(var_2003) = &input.integer_parameter_ranges { + let mut array_2004 = object.key("IntegerParameterRanges").start_array(); + for item_2005 in var_2003 { { - let mut object_1994 = array_1992.value().start_object(); + let mut object_2006 = array_2004.value().start_object(); crate::json_ser::serialize_structure_integer_parameter_range( - &mut object_1994, - item_1993, + &mut object_2006, + item_2005, ); - object_1994.finish(); + object_2006.finish(); } } - array_1992.finish(); + array_2004.finish(); } - if let Some(var_1995) = &input.continuous_parameter_ranges { - let mut array_1996 = object.key("ContinuousParameterRanges").start_array(); - for item_1997 in var_1995 { + if let Some(var_2007) = &input.continuous_parameter_ranges { + let mut array_2008 = object.key("ContinuousParameterRanges").start_array(); + for item_2009 in var_2007 { { - let mut object_1998 = array_1996.value().start_object(); + let mut object_2010 = array_2008.value().start_object(); crate::json_ser::serialize_structure_continuous_parameter_range( - &mut object_1998, - item_1997, + &mut object_2010, + item_2009, ); - object_1998.finish(); + object_2010.finish(); } } - array_1996.finish(); + array_2008.finish(); } - if let Some(var_1999) = &input.categorical_parameter_ranges { - let mut array_2000 = object.key("CategoricalParameterRanges").start_array(); - for item_2001 in var_1999 { + if let Some(var_2011) = &input.categorical_parameter_ranges { + let mut array_2012 = object.key("CategoricalParameterRanges").start_array(); + for item_2013 in var_2011 { { - let mut object_2002 = array_2000.value().start_object(); + let mut object_2014 = array_2012.value().start_object(); crate::json_ser::serialize_structure_categorical_parameter_range( - &mut object_2002, - item_2001, + &mut object_2014, + item_2013, ); - object_2002.finish(); + object_2014.finish(); } } - array_2000.finish(); + array_2012.finish(); } } @@ -8864,10 +8926,10 @@ pub fn serialize_structure_tuning_job_completion_criteria( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TuningJobCompletionCriteria, ) { - if let Some(var_2003) = &input.target_objective_metric_value { + if let Some(var_2015) = &input.target_objective_metric_value { object.key("TargetObjectiveMetricValue").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::Float((*var_2003).into()), + smithy_types::Number::Float((*var_2015).into()), ); } } @@ -8876,25 +8938,25 @@ pub fn serialize_structure_hyper_parameter_algorithm_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::HyperParameterAlgorithmSpecification, ) { - if let Some(var_2004) = &input.training_image { - object.key("TrainingImage").string(var_2004); + if let Some(var_2016) = &input.training_image { + object.key("TrainingImage").string(var_2016); } - if let Some(var_2005) = &input.training_input_mode { - object.key("TrainingInputMode").string(var_2005.as_str()); + if let Some(var_2017) = &input.training_input_mode { + object.key("TrainingInputMode").string(var_2017.as_str()); } - if let Some(var_2006) = &input.algorithm_name { - object.key("AlgorithmName").string(var_2006); + if let Some(var_2018) = &input.algorithm_name { + object.key("AlgorithmName").string(var_2018); } - if let Some(var_2007) = &input.metric_definitions { - let mut array_2008 = object.key("MetricDefinitions").start_array(); - for item_2009 in var_2007 { + if let Some(var_2019) = &input.metric_definitions { + let mut array_2020 = object.key("MetricDefinitions").start_array(); + for item_2021 in var_2019 { { - let mut object_2010 = array_2008.value().start_object(); - crate::json_ser::serialize_structure_metric_definition(&mut object_2010, item_2009); - object_2010.finish(); + let mut object_2022 = array_2020.value().start_object(); + crate::json_ser::serialize_structure_metric_definition(&mut object_2022, item_2021); + object_2022.finish(); } } - array_2008.finish(); + array_2020.finish(); } } @@ -8902,8 +8964,8 @@ pub fn serialize_structure_parent_hyper_parameter_tuning_job( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ParentHyperParameterTuningJob, ) { - if let Some(var_2011) = &input.hyper_parameter_tuning_job_name { - object.key("HyperParameterTuningJobName").string(var_2011); + if let Some(var_2023) = &input.hyper_parameter_tuning_job_name { + object.key("HyperParameterTuningJobName").string(var_2023); } } @@ -8911,21 +8973,21 @@ pub fn serialize_structure_labeling_job_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobDataSource, ) { - if let Some(var_2012) = &input.s3_data_source { - let mut object_2013 = object.key("S3DataSource").start_object(); + if let Some(var_2024) = &input.s3_data_source { + let mut object_2025 = object.key("S3DataSource").start_object(); crate::json_ser::serialize_structure_labeling_job_s3_data_source( - &mut object_2013, - var_2012, + &mut object_2025, + var_2024, ); - object_2013.finish(); + object_2025.finish(); } - if let Some(var_2014) = &input.sns_data_source { - let mut object_2015 = object.key("SnsDataSource").start_object(); + if let Some(var_2026) = &input.sns_data_source { + let mut object_2027 = object.key("SnsDataSource").start_object(); crate::json_ser::serialize_structure_labeling_job_sns_data_source( - &mut object_2015, - var_2014, + &mut object_2027, + var_2026, ); - object_2015.finish(); + object_2027.finish(); } } @@ -8933,14 +8995,14 @@ pub fn serialize_structure_labeling_job_data_attributes( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobDataAttributes, ) { - if let Some(var_2016) = &input.content_classifiers { - let mut array_2017 = object.key("ContentClassifiers").start_array(); - for item_2018 in var_2016 { + if let Some(var_2028) = &input.content_classifiers { + let mut array_2029 = object.key("ContentClassifiers").start_array(); + for item_2030 in var_2028 { { - array_2017.value().string(item_2018.as_str()); + array_2029.value().string(item_2030.as_str()); } } - array_2017.finish(); + array_2029.finish(); } } @@ -8948,8 +9010,8 @@ pub fn serialize_structure_labeling_job_resource_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobResourceConfig, ) { - if let Some(var_2019) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_2019); + if let Some(var_2031) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_2031); } } @@ -8957,11 +9019,11 @@ pub fn serialize_structure_ui_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::UiConfig, ) { - if let Some(var_2020) = &input.ui_template_s3_uri { - object.key("UiTemplateS3Uri").string(var_2020); + if let Some(var_2032) = &input.ui_template_s3_uri { + object.key("UiTemplateS3Uri").string(var_2032); } - if let Some(var_2021) = &input.human_task_ui_arn { - object.key("HumanTaskUiArn").string(var_2021); + if let Some(var_2033) = &input.human_task_ui_arn { + object.key("HumanTaskUiArn").string(var_2033); } } @@ -8969,10 +9031,10 @@ pub fn serialize_structure_annotation_consolidation_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AnnotationConsolidationConfig, ) { - if let Some(var_2022) = &input.annotation_consolidation_lambda_arn { + if let Some(var_2034) = &input.annotation_consolidation_lambda_arn { object .key("AnnotationConsolidationLambdaArn") - .string(var_2022); + .string(var_2034); } } @@ -8980,13 +9042,13 @@ pub fn serialize_structure_image_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ImageConfig, ) { - if let Some(var_2023) = &input.repository_access_mode { - object.key("RepositoryAccessMode").string(var_2023.as_str()); + if let Some(var_2035) = &input.repository_access_mode { + object.key("RepositoryAccessMode").string(var_2035.as_str()); } - if let Some(var_2024) = &input.repository_auth_config { - let mut object_2025 = object.key("RepositoryAuthConfig").start_object(); - crate::json_ser::serialize_structure_repository_auth_config(&mut object_2025, var_2024); - object_2025.finish(); + if let Some(var_2036) = &input.repository_auth_config { + let mut object_2037 = object.key("RepositoryAuthConfig").start_object(); + crate::json_ser::serialize_structure_repository_auth_config(&mut object_2037, var_2036); + object_2037.finish(); } } @@ -8994,8 +9056,8 @@ pub fn serialize_structure_multi_model_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MultiModelConfig, ) { - if let Some(var_2026) = &input.model_cache_setting { - object.key("ModelCacheSetting").string(var_2026.as_str()); + if let Some(var_2038) = &input.model_cache_setting { + object.key("ModelCacheSetting").string(var_2038.as_str()); } } @@ -9003,8 +9065,8 @@ pub fn serialize_structure_monitoring_ground_truth_s3_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringGroundTruthS3Input, ) { - if let Some(var_2027) = &input.s3_uri { - object.key("S3Uri").string(var_2027); + if let Some(var_2039) = &input.s3_uri { + object.key("S3Uri").string(var_2039); } } @@ -9012,13 +9074,13 @@ pub fn serialize_structure_model_package_validation_profile( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelPackageValidationProfile, ) { - if let Some(var_2028) = &input.profile_name { - object.key("ProfileName").string(var_2028); + if let Some(var_2040) = &input.profile_name { + object.key("ProfileName").string(var_2040); } - if let Some(var_2029) = &input.transform_job_definition { - let mut object_2030 = object.key("TransformJobDefinition").start_object(); - crate::json_ser::serialize_structure_transform_job_definition(&mut object_2030, var_2029); - object_2030.finish(); + if let Some(var_2041) = &input.transform_job_definition { + let mut object_2042 = object.key("TransformJobDefinition").start_object(); + crate::json_ser::serialize_structure_transform_job_definition(&mut object_2042, var_2041); + object_2042.finish(); } } @@ -9026,11 +9088,11 @@ pub fn serialize_structure_source_algorithm( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SourceAlgorithm, ) { - if let Some(var_2031) = &input.model_data_url { - object.key("ModelDataUrl").string(var_2031); + if let Some(var_2043) = &input.model_data_url { + object.key("ModelDataUrl").string(var_2043); } - if let Some(var_2032) = &input.algorithm_name { - object.key("AlgorithmName").string(var_2032); + if let Some(var_2044) = &input.algorithm_name { + object.key("AlgorithmName").string(var_2044); } } @@ -9038,15 +9100,15 @@ pub fn serialize_structure_model_quality( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelQuality, ) { - if let Some(var_2033) = &input.statistics { - let mut object_2034 = object.key("Statistics").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2034, var_2033); - object_2034.finish(); + if let Some(var_2045) = &input.statistics { + let mut object_2046 = object.key("Statistics").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2046, var_2045); + object_2046.finish(); } - if let Some(var_2035) = &input.constraints { - let mut object_2036 = object.key("Constraints").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2036, var_2035); - object_2036.finish(); + if let Some(var_2047) = &input.constraints { + let mut object_2048 = object.key("Constraints").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2048, var_2047); + object_2048.finish(); } } @@ -9054,15 +9116,15 @@ pub fn serialize_structure_model_data_quality( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelDataQuality, ) { - if let Some(var_2037) = &input.statistics { - let mut object_2038 = object.key("Statistics").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2038, var_2037); - object_2038.finish(); + if let Some(var_2049) = &input.statistics { + let mut object_2050 = object.key("Statistics").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2050, var_2049); + object_2050.finish(); } - if let Some(var_2039) = &input.constraints { - let mut object_2040 = object.key("Constraints").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2040, var_2039); - object_2040.finish(); + if let Some(var_2051) = &input.constraints { + let mut object_2052 = object.key("Constraints").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2052, var_2051); + object_2052.finish(); } } @@ -9070,10 +9132,10 @@ pub fn serialize_structure_bias( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Bias, ) { - if let Some(var_2041) = &input.report { - let mut object_2042 = object.key("Report").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2042, var_2041); - object_2042.finish(); + if let Some(var_2053) = &input.report { + let mut object_2054 = object.key("Report").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2054, var_2053); + object_2054.finish(); } } @@ -9081,10 +9143,10 @@ pub fn serialize_structure_explainability( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Explainability, ) { - if let Some(var_2043) = &input.report { - let mut object_2044 = object.key("Report").start_object(); - crate::json_ser::serialize_structure_metrics_source(&mut object_2044, var_2043); - object_2044.finish(); + if let Some(var_2055) = &input.report { + let mut object_2056 = object.key("Report").start_object(); + crate::json_ser::serialize_structure_metrics_source(&mut object_2056, var_2055); + object_2056.finish(); } } @@ -9092,8 +9154,8 @@ pub fn serialize_structure_schedule_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ScheduleConfig, ) { - if let Some(var_2045) = &input.schedule_expression { - object.key("ScheduleExpression").string(var_2045); + if let Some(var_2057) = &input.schedule_expression { + object.key("ScheduleExpression").string(var_2057); } } @@ -9101,64 +9163,64 @@ pub fn serialize_structure_monitoring_job_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringJobDefinition, ) { - if let Some(var_2046) = &input.baseline_config { - let mut object_2047 = object.key("BaselineConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_baseline_config(&mut object_2047, var_2046); - object_2047.finish(); + if let Some(var_2058) = &input.baseline_config { + let mut object_2059 = object.key("BaselineConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_baseline_config(&mut object_2059, var_2058); + object_2059.finish(); } - if let Some(var_2048) = &input.monitoring_inputs { - let mut array_2049 = object.key("MonitoringInputs").start_array(); - for item_2050 in var_2048 { + if let Some(var_2060) = &input.monitoring_inputs { + let mut array_2061 = object.key("MonitoringInputs").start_array(); + for item_2062 in var_2060 { { - let mut object_2051 = array_2049.value().start_object(); - crate::json_ser::serialize_structure_monitoring_input(&mut object_2051, item_2050); - object_2051.finish(); + let mut object_2063 = array_2061.value().start_object(); + crate::json_ser::serialize_structure_monitoring_input(&mut object_2063, item_2062); + object_2063.finish(); } } - array_2049.finish(); + array_2061.finish(); } - if let Some(var_2052) = &input.monitoring_output_config { - let mut object_2053 = object.key("MonitoringOutputConfig").start_object(); - crate::json_ser::serialize_structure_monitoring_output_config(&mut object_2053, var_2052); - object_2053.finish(); + if let Some(var_2064) = &input.monitoring_output_config { + let mut object_2065 = object.key("MonitoringOutputConfig").start_object(); + crate::json_ser::serialize_structure_monitoring_output_config(&mut object_2065, var_2064); + object_2065.finish(); } - if let Some(var_2054) = &input.monitoring_resources { - let mut object_2055 = object.key("MonitoringResources").start_object(); - crate::json_ser::serialize_structure_monitoring_resources(&mut object_2055, var_2054); - object_2055.finish(); + if let Some(var_2066) = &input.monitoring_resources { + let mut object_2067 = object.key("MonitoringResources").start_object(); + crate::json_ser::serialize_structure_monitoring_resources(&mut object_2067, var_2066); + object_2067.finish(); } - if let Some(var_2056) = &input.monitoring_app_specification { - let mut object_2057 = object.key("MonitoringAppSpecification").start_object(); + if let Some(var_2068) = &input.monitoring_app_specification { + let mut object_2069 = object.key("MonitoringAppSpecification").start_object(); crate::json_ser::serialize_structure_monitoring_app_specification( - &mut object_2057, - var_2056, + &mut object_2069, + var_2068, ); - object_2057.finish(); + object_2069.finish(); } - if let Some(var_2058) = &input.stopping_condition { - let mut object_2059 = object.key("StoppingCondition").start_object(); + if let Some(var_2070) = &input.stopping_condition { + let mut object_2071 = object.key("StoppingCondition").start_object(); crate::json_ser::serialize_structure_monitoring_stopping_condition( - &mut object_2059, - var_2058, + &mut object_2071, + var_2070, ); - object_2059.finish(); + object_2071.finish(); } - if let Some(var_2060) = &input.environment { - let mut object_2061 = object.key("Environment").start_object(); - for (key_2062, value_2063) in var_2060 { + if let Some(var_2072) = &input.environment { + let mut object_2073 = object.key("Environment").start_object(); + for (key_2074, value_2075) in var_2072 { { - object_2061.key(key_2062).string(value_2063); + object_2073.key(key_2074).string(value_2075); } } - object_2061.finish(); + object_2073.finish(); } - if let Some(var_2064) = &input.network_config { - let mut object_2065 = object.key("NetworkConfig").start_object(); - crate::json_ser::serialize_structure_network_config(&mut object_2065, var_2064); - object_2065.finish(); + if let Some(var_2076) = &input.network_config { + let mut object_2077 = object.key("NetworkConfig").start_object(); + crate::json_ser::serialize_structure_network_config(&mut object_2077, var_2076); + object_2077.finish(); } - if let Some(var_2066) = &input.role_arn { - object.key("RoleArn").string(var_2066); + if let Some(var_2078) = &input.role_arn { + object.key("RoleArn").string(var_2078); } } @@ -9166,25 +9228,25 @@ pub fn serialize_structure_processing_s3_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingS3Input, ) { - if let Some(var_2067) = &input.s3_uri { - object.key("S3Uri").string(var_2067); + if let Some(var_2079) = &input.s3_uri { + object.key("S3Uri").string(var_2079); } - if let Some(var_2068) = &input.local_path { - object.key("LocalPath").string(var_2068); + if let Some(var_2080) = &input.local_path { + object.key("LocalPath").string(var_2080); } - if let Some(var_2069) = &input.s3_data_type { - object.key("S3DataType").string(var_2069.as_str()); + if let Some(var_2081) = &input.s3_data_type { + object.key("S3DataType").string(var_2081.as_str()); } - if let Some(var_2070) = &input.s3_input_mode { - object.key("S3InputMode").string(var_2070.as_str()); + if let Some(var_2082) = &input.s3_input_mode { + object.key("S3InputMode").string(var_2082.as_str()); } - if let Some(var_2071) = &input.s3_data_distribution_type { + if let Some(var_2083) = &input.s3_data_distribution_type { object .key("S3DataDistributionType") - .string(var_2071.as_str()); + .string(var_2083.as_str()); } - if let Some(var_2072) = &input.s3_compression_type { - object.key("S3CompressionType").string(var_2072.as_str()); + if let Some(var_2084) = &input.s3_compression_type { + object.key("S3CompressionType").string(var_2084.as_str()); } } @@ -9192,27 +9254,27 @@ pub fn serialize_structure_dataset_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DatasetDefinition, ) { - if let Some(var_2073) = &input.athena_dataset_definition { - let mut object_2074 = object.key("AthenaDatasetDefinition").start_object(); - crate::json_ser::serialize_structure_athena_dataset_definition(&mut object_2074, var_2073); - object_2074.finish(); + if let Some(var_2085) = &input.athena_dataset_definition { + let mut object_2086 = object.key("AthenaDatasetDefinition").start_object(); + crate::json_ser::serialize_structure_athena_dataset_definition(&mut object_2086, var_2085); + object_2086.finish(); } - if let Some(var_2075) = &input.redshift_dataset_definition { - let mut object_2076 = object.key("RedshiftDatasetDefinition").start_object(); + if let Some(var_2087) = &input.redshift_dataset_definition { + let mut object_2088 = object.key("RedshiftDatasetDefinition").start_object(); crate::json_ser::serialize_structure_redshift_dataset_definition( - &mut object_2076, - var_2075, + &mut object_2088, + var_2087, ); - object_2076.finish(); + object_2088.finish(); } - if let Some(var_2077) = &input.local_path { - object.key("LocalPath").string(var_2077); + if let Some(var_2089) = &input.local_path { + object.key("LocalPath").string(var_2089); } - if let Some(var_2078) = &input.data_distribution_type { - object.key("DataDistributionType").string(var_2078.as_str()); + if let Some(var_2090) = &input.data_distribution_type { + object.key("DataDistributionType").string(var_2090.as_str()); } - if let Some(var_2079) = &input.input_mode { - object.key("InputMode").string(var_2079.as_str()); + if let Some(var_2091) = &input.input_mode { + object.key("InputMode").string(var_2091.as_str()); } } @@ -9220,21 +9282,21 @@ pub fn serialize_structure_processing_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingOutput, ) { - if let Some(var_2080) = &input.output_name { - object.key("OutputName").string(var_2080); + if let Some(var_2092) = &input.output_name { + object.key("OutputName").string(var_2092); } - if let Some(var_2081) = &input.s3_output { - let mut object_2082 = object.key("S3Output").start_object(); - crate::json_ser::serialize_structure_processing_s3_output(&mut object_2082, var_2081); - object_2082.finish(); + if let Some(var_2093) = &input.s3_output { + let mut object_2094 = object.key("S3Output").start_object(); + crate::json_ser::serialize_structure_processing_s3_output(&mut object_2094, var_2093); + object_2094.finish(); } - if let Some(var_2083) = &input.feature_store_output { - let mut object_2084 = object.key("FeatureStoreOutput").start_object(); + if let Some(var_2095) = &input.feature_store_output { + let mut object_2096 = object.key("FeatureStoreOutput").start_object(); crate::json_ser::serialize_structure_processing_feature_store_output( - &mut object_2084, - var_2083, + &mut object_2096, + var_2095, ); - object_2084.finish(); + object_2096.finish(); } if input.app_managed { object.key("AppManaged").boolean(input.app_managed); @@ -9245,23 +9307,23 @@ pub fn serialize_structure_processing_cluster_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingClusterConfig, ) { - if let Some(var_2085) = &input.instance_count { + if let Some(var_2097) = &input.instance_count { object.key("InstanceCount").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2085).into()), + smithy_types::Number::NegInt((*var_2097).into()), ); } - if let Some(var_2086) = &input.instance_type { - object.key("InstanceType").string(var_2086.as_str()); + if let Some(var_2098) = &input.instance_type { + object.key("InstanceType").string(var_2098.as_str()); } - if let Some(var_2087) = &input.volume_size_in_gb { + if let Some(var_2099) = &input.volume_size_in_gb { object.key("VolumeSizeInGB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2087).into()), + smithy_types::Number::NegInt((*var_2099).into()), ); } - if let Some(var_2088) = &input.volume_kms_key_id { - object.key("VolumeKmsKeyId").string(var_2088); + if let Some(var_2100) = &input.volume_kms_key_id { + object.key("VolumeKmsKeyId").string(var_2100); } } @@ -9269,11 +9331,11 @@ pub fn serialize_structure_provisioning_parameter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProvisioningParameter, ) { - if let Some(var_2089) = &input.key { - object.key("Key").string(var_2089); + if let Some(var_2101) = &input.key { + object.key("Key").string(var_2101); } - if let Some(var_2090) = &input.value { - object.key("Value").string(var_2090); + if let Some(var_2102) = &input.value { + object.key("Value").string(var_2102); } } @@ -9281,15 +9343,15 @@ pub fn serialize_structure_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DataSource, ) { - if let Some(var_2091) = &input.s3_data_source { - let mut object_2092 = object.key("S3DataSource").start_object(); - crate::json_ser::serialize_structure_s3_data_source(&mut object_2092, var_2091); - object_2092.finish(); + if let Some(var_2103) = &input.s3_data_source { + let mut object_2104 = object.key("S3DataSource").start_object(); + crate::json_ser::serialize_structure_s3_data_source(&mut object_2104, var_2103); + object_2104.finish(); } - if let Some(var_2093) = &input.file_system_data_source { - let mut object_2094 = object.key("FileSystemDataSource").start_object(); - crate::json_ser::serialize_structure_file_system_data_source(&mut object_2094, var_2093); - object_2094.finish(); + if let Some(var_2105) = &input.file_system_data_source { + let mut object_2106 = object.key("FileSystemDataSource").start_object(); + crate::json_ser::serialize_structure_file_system_data_source(&mut object_2106, var_2105); + object_2106.finish(); } } @@ -9309,17 +9371,17 @@ pub fn serialize_structure_collection_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CollectionConfiguration, ) { - if let Some(var_2095) = &input.collection_name { - object.key("CollectionName").string(var_2095); + if let Some(var_2107) = &input.collection_name { + object.key("CollectionName").string(var_2107); } - if let Some(var_2096) = &input.collection_parameters { - let mut object_2097 = object.key("CollectionParameters").start_object(); - for (key_2098, value_2099) in var_2096 { + if let Some(var_2108) = &input.collection_parameters { + let mut object_2109 = object.key("CollectionParameters").start_object(); + for (key_2110, value_2111) in var_2108 { { - object_2097.key(key_2098).string(value_2099); + object_2109.key(key_2110).string(value_2111); } } - object_2097.finish(); + object_2109.finish(); } } @@ -9327,10 +9389,10 @@ pub fn serialize_structure_transform_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformDataSource, ) { - if let Some(var_2100) = &input.s3_data_source { - let mut object_2101 = object.key("S3DataSource").start_object(); - crate::json_ser::serialize_structure_transform_s3_data_source(&mut object_2101, var_2100); - object_2101.finish(); + if let Some(var_2112) = &input.s3_data_source { + let mut object_2113 = object.key("S3DataSource").start_object(); + crate::json_ser::serialize_structure_transform_s3_data_source(&mut object_2113, var_2112); + object_2113.finish(); } } @@ -9338,14 +9400,14 @@ pub fn serialize_structure_cognito_member_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CognitoMemberDefinition, ) { - if let Some(var_2102) = &input.user_pool { - object.key("UserPool").string(var_2102); + if let Some(var_2114) = &input.user_pool { + object.key("UserPool").string(var_2114); } - if let Some(var_2103) = &input.user_group { - object.key("UserGroup").string(var_2103); + if let Some(var_2115) = &input.user_group { + object.key("UserGroup").string(var_2115); } - if let Some(var_2104) = &input.client_id { - object.key("ClientId").string(var_2104); + if let Some(var_2116) = &input.client_id { + object.key("ClientId").string(var_2116); } } @@ -9353,14 +9415,14 @@ pub fn serialize_structure_oidc_member_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OidcMemberDefinition, ) { - if let Some(var_2105) = &input.groups { - let mut array_2106 = object.key("Groups").start_array(); - for item_2107 in var_2105 { + if let Some(var_2117) = &input.groups { + let mut array_2118 = object.key("Groups").start_array(); + for item_2119 in var_2117 { { - array_2106.value().string(item_2107); + array_2118.value().string(item_2119); } } - array_2106.finish(); + array_2118.finish(); } } @@ -9368,8 +9430,8 @@ pub fn serialize_structure_property_name_query( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::PropertyNameQuery, ) { - if let Some(var_2108) = &input.property_name_hint { - object.key("PropertyNameHint").string(var_2108); + if let Some(var_2120) = &input.property_name_hint { + object.key("PropertyNameHint").string(var_2120); } } @@ -9377,14 +9439,14 @@ pub fn serialize_structure_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Filter, ) { - if let Some(var_2109) = &input.name { - object.key("Name").string(var_2109); + if let Some(var_2121) = &input.name { + object.key("Name").string(var_2121); } - if let Some(var_2110) = &input.operator { - object.key("Operator").string(var_2110.as_str()); + if let Some(var_2122) = &input.operator { + object.key("Operator").string(var_2122.as_str()); } - if let Some(var_2111) = &input.value { - object.key("Value").string(var_2111); + if let Some(var_2123) = &input.value { + object.key("Value").string(var_2123); } } @@ -9392,19 +9454,19 @@ pub fn serialize_structure_nested_filters( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NestedFilters, ) { - if let Some(var_2112) = &input.nested_property_name { - object.key("NestedPropertyName").string(var_2112); + if let Some(var_2124) = &input.nested_property_name { + object.key("NestedPropertyName").string(var_2124); } - if let Some(var_2113) = &input.filters { - let mut array_2114 = object.key("Filters").start_array(); - for item_2115 in var_2113 { + if let Some(var_2125) = &input.filters { + let mut array_2126 = object.key("Filters").start_array(); + for item_2127 in var_2125 { { - let mut object_2116 = array_2114.value().start_object(); - crate::json_ser::serialize_structure_filter(&mut object_2116, item_2115); - object_2116.finish(); + let mut object_2128 = array_2126.value().start_object(); + crate::json_ser::serialize_structure_filter(&mut object_2128, item_2127); + object_2128.finish(); } } - array_2114.finish(); + array_2126.finish(); } } @@ -9412,21 +9474,21 @@ pub fn serialize_structure_blue_green_update_policy( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BlueGreenUpdatePolicy, ) { - if let Some(var_2117) = &input.traffic_routing_configuration { - let mut object_2118 = object.key("TrafficRoutingConfiguration").start_object(); - crate::json_ser::serialize_structure_traffic_routing_config(&mut object_2118, var_2117); - object_2118.finish(); + if let Some(var_2129) = &input.traffic_routing_configuration { + let mut object_2130 = object.key("TrafficRoutingConfiguration").start_object(); + crate::json_ser::serialize_structure_traffic_routing_config(&mut object_2130, var_2129); + object_2130.finish(); } - if let Some(var_2119) = &input.termination_wait_in_seconds { + if let Some(var_2131) = &input.termination_wait_in_seconds { object.key("TerminationWaitInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2119).into()), + smithy_types::Number::NegInt((*var_2131).into()), ); } - if let Some(var_2120) = &input.maximum_execution_timeout_in_seconds { + if let Some(var_2132) = &input.maximum_execution_timeout_in_seconds { object.key("MaximumExecutionTimeoutInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2120).into()), + smithy_types::Number::NegInt((*var_2132).into()), ); } } @@ -9435,16 +9497,16 @@ pub fn serialize_structure_auto_rollback_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoRollbackConfig, ) { - if let Some(var_2121) = &input.alarms { - let mut array_2122 = object.key("Alarms").start_array(); - for item_2123 in var_2121 { + if let Some(var_2133) = &input.alarms { + let mut array_2134 = object.key("Alarms").start_array(); + for item_2135 in var_2133 { { - let mut object_2124 = array_2122.value().start_object(); - crate::json_ser::serialize_structure_alarm(&mut object_2124, item_2123); - object_2124.finish(); + let mut object_2136 = array_2134.value().start_object(); + crate::json_ser::serialize_structure_alarm(&mut object_2136, item_2135); + object_2136.finish(); } } - array_2122.finish(); + array_2134.finish(); } } @@ -9452,35 +9514,35 @@ pub fn serialize_structure_parameter_range( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ParameterRange, ) { - if let Some(var_2125) = &input.integer_parameter_range_specification { - let mut object_2126 = object + if let Some(var_2137) = &input.integer_parameter_range_specification { + let mut object_2138 = object .key("IntegerParameterRangeSpecification") .start_object(); crate::json_ser::serialize_structure_integer_parameter_range_specification( - &mut object_2126, - var_2125, + &mut object_2138, + var_2137, ); - object_2126.finish(); + object_2138.finish(); } - if let Some(var_2127) = &input.continuous_parameter_range_specification { - let mut object_2128 = object + if let Some(var_2139) = &input.continuous_parameter_range_specification { + let mut object_2140 = object .key("ContinuousParameterRangeSpecification") .start_object(); crate::json_ser::serialize_structure_continuous_parameter_range_specification( - &mut object_2128, - var_2127, + &mut object_2140, + var_2139, ); - object_2128.finish(); + object_2140.finish(); } - if let Some(var_2129) = &input.categorical_parameter_range_specification { - let mut object_2130 = object + if let Some(var_2141) = &input.categorical_parameter_range_specification { + let mut object_2142 = object .key("CategoricalParameterRangeSpecification") .start_object(); crate::json_ser::serialize_structure_categorical_parameter_range_specification( - &mut object_2130, - var_2129, + &mut object_2142, + var_2141, ); - object_2130.finish(); + object_2142.finish(); } } @@ -9488,43 +9550,43 @@ pub fn serialize_structure_training_job_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrainingJobDefinition, ) { - if let Some(var_2131) = &input.training_input_mode { - object.key("TrainingInputMode").string(var_2131.as_str()); + if let Some(var_2143) = &input.training_input_mode { + object.key("TrainingInputMode").string(var_2143.as_str()); } - if let Some(var_2132) = &input.hyper_parameters { - let mut object_2133 = object.key("HyperParameters").start_object(); - for (key_2134, value_2135) in var_2132 { + if let Some(var_2144) = &input.hyper_parameters { + let mut object_2145 = object.key("HyperParameters").start_object(); + for (key_2146, value_2147) in var_2144 { { - object_2133.key(key_2134).string(value_2135); + object_2145.key(key_2146).string(value_2147); } } - object_2133.finish(); + object_2145.finish(); } - if let Some(var_2136) = &input.input_data_config { - let mut array_2137 = object.key("InputDataConfig").start_array(); - for item_2138 in var_2136 { + if let Some(var_2148) = &input.input_data_config { + let mut array_2149 = object.key("InputDataConfig").start_array(); + for item_2150 in var_2148 { { - let mut object_2139 = array_2137.value().start_object(); - crate::json_ser::serialize_structure_channel(&mut object_2139, item_2138); - object_2139.finish(); + let mut object_2151 = array_2149.value().start_object(); + crate::json_ser::serialize_structure_channel(&mut object_2151, item_2150); + object_2151.finish(); } } - array_2137.finish(); + array_2149.finish(); } - if let Some(var_2140) = &input.output_data_config { - let mut object_2141 = object.key("OutputDataConfig").start_object(); - crate::json_ser::serialize_structure_output_data_config(&mut object_2141, var_2140); - object_2141.finish(); + if let Some(var_2152) = &input.output_data_config { + let mut object_2153 = object.key("OutputDataConfig").start_object(); + crate::json_ser::serialize_structure_output_data_config(&mut object_2153, var_2152); + object_2153.finish(); } - if let Some(var_2142) = &input.resource_config { - let mut object_2143 = object.key("ResourceConfig").start_object(); - crate::json_ser::serialize_structure_resource_config(&mut object_2143, var_2142); - object_2143.finish(); + if let Some(var_2154) = &input.resource_config { + let mut object_2155 = object.key("ResourceConfig").start_object(); + crate::json_ser::serialize_structure_resource_config(&mut object_2155, var_2154); + object_2155.finish(); } - if let Some(var_2144) = &input.stopping_condition { - let mut object_2145 = object.key("StoppingCondition").start_object(); - crate::json_ser::serialize_structure_stopping_condition(&mut object_2145, var_2144); - object_2145.finish(); + if let Some(var_2156) = &input.stopping_condition { + let mut object_2157 = object.key("StoppingCondition").start_object(); + crate::json_ser::serialize_structure_stopping_condition(&mut object_2157, var_2156); + object_2157.finish(); } } @@ -9532,44 +9594,44 @@ pub fn serialize_structure_transform_job_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformJobDefinition, ) { - if let Some(var_2146) = &input.max_concurrent_transforms { + if let Some(var_2158) = &input.max_concurrent_transforms { object.key("MaxConcurrentTransforms").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2146).into()), + smithy_types::Number::NegInt((*var_2158).into()), ); } - if let Some(var_2147) = &input.max_payload_in_mb { + if let Some(var_2159) = &input.max_payload_in_mb { object.key("MaxPayloadInMB").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2147).into()), + smithy_types::Number::NegInt((*var_2159).into()), ); } - if let Some(var_2148) = &input.batch_strategy { - object.key("BatchStrategy").string(var_2148.as_str()); + if let Some(var_2160) = &input.batch_strategy { + object.key("BatchStrategy").string(var_2160.as_str()); } - if let Some(var_2149) = &input.environment { - let mut object_2150 = object.key("Environment").start_object(); - for (key_2151, value_2152) in var_2149 { + if let Some(var_2161) = &input.environment { + let mut object_2162 = object.key("Environment").start_object(); + for (key_2163, value_2164) in var_2161 { { - object_2150.key(key_2151).string(value_2152); + object_2162.key(key_2163).string(value_2164); } } - object_2150.finish(); + object_2162.finish(); } - if let Some(var_2153) = &input.transform_input { - let mut object_2154 = object.key("TransformInput").start_object(); - crate::json_ser::serialize_structure_transform_input(&mut object_2154, var_2153); - object_2154.finish(); + if let Some(var_2165) = &input.transform_input { + let mut object_2166 = object.key("TransformInput").start_object(); + crate::json_ser::serialize_structure_transform_input(&mut object_2166, var_2165); + object_2166.finish(); } - if let Some(var_2155) = &input.transform_output { - let mut object_2156 = object.key("TransformOutput").start_object(); - crate::json_ser::serialize_structure_transform_output(&mut object_2156, var_2155); - object_2156.finish(); + if let Some(var_2167) = &input.transform_output { + let mut object_2168 = object.key("TransformOutput").start_object(); + crate::json_ser::serialize_structure_transform_output(&mut object_2168, var_2167); + object_2168.finish(); } - if let Some(var_2157) = &input.transform_resources { - let mut object_2158 = object.key("TransformResources").start_object(); - crate::json_ser::serialize_structure_transform_resources(&mut object_2158, var_2157); - object_2158.finish(); + if let Some(var_2169) = &input.transform_resources { + let mut object_2170 = object.key("TransformResources").start_object(); + crate::json_ser::serialize_structure_transform_resources(&mut object_2170, var_2169); + object_2170.finish(); } } @@ -9577,11 +9639,11 @@ pub fn serialize_structure_auto_mls3_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AutoMls3DataSource, ) { - if let Some(var_2159) = &input.s3_data_type { - object.key("S3DataType").string(var_2159.as_str()); + if let Some(var_2171) = &input.s3_data_type { + object.key("S3DataType").string(var_2171.as_str()); } - if let Some(var_2160) = &input.s3_uri { - object.key("S3Uri").string(var_2160); + if let Some(var_2172) = &input.s3_uri { + object.key("S3Uri").string(var_2172); } } @@ -9589,14 +9651,14 @@ pub fn serialize_structure_monitoring_s3_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringS3Output, ) { - if let Some(var_2161) = &input.s3_uri { - object.key("S3Uri").string(var_2161); + if let Some(var_2173) = &input.s3_uri { + object.key("S3Uri").string(var_2173); } - if let Some(var_2162) = &input.local_path { - object.key("LocalPath").string(var_2162); + if let Some(var_2174) = &input.local_path { + object.key("LocalPath").string(var_2174); } - if let Some(var_2163) = &input.s3_upload_mode { - object.key("S3UploadMode").string(var_2163.as_str()); + if let Some(var_2175) = &input.s3_upload_mode { + object.key("S3UploadMode").string(var_2175.as_str()); } } @@ -9604,17 +9666,29 @@ pub fn serialize_structure_custom_image( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomImage, ) { - if let Some(var_2164) = &input.image_name { - object.key("ImageName").string(var_2164); + if let Some(var_2176) = &input.image_name { + object.key("ImageName").string(var_2176); } - if let Some(var_2165) = &input.image_version_number { + if let Some(var_2177) = &input.image_version_number { object.key("ImageVersionNumber").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2165).into()), + smithy_types::Number::NegInt((*var_2177).into()), ); } - if let Some(var_2166) = &input.app_image_config_name { - object.key("AppImageConfigName").string(var_2166); + if let Some(var_2178) = &input.app_image_config_name { + object.key("AppImageConfigName").string(var_2178); + } +} + +pub fn serialize_structure_async_inference_notification_config( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AsyncInferenceNotificationConfig, +) { + if let Some(var_2179) = &input.success_topic { + object.key("SuccessTopic").string(var_2179); + } + if let Some(var_2180) = &input.error_topic { + object.key("ErrorTopic").string(var_2180); } } @@ -9646,17 +9720,17 @@ pub fn serialize_structure_integer_parameter_range( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IntegerParameterRange, ) { - if let Some(var_2167) = &input.name { - object.key("Name").string(var_2167); + if let Some(var_2181) = &input.name { + object.key("Name").string(var_2181); } - if let Some(var_2168) = &input.min_value { - object.key("MinValue").string(var_2168); + if let Some(var_2182) = &input.min_value { + object.key("MinValue").string(var_2182); } - if let Some(var_2169) = &input.max_value { - object.key("MaxValue").string(var_2169); + if let Some(var_2183) = &input.max_value { + object.key("MaxValue").string(var_2183); } - if let Some(var_2170) = &input.scaling_type { - object.key("ScalingType").string(var_2170.as_str()); + if let Some(var_2184) = &input.scaling_type { + object.key("ScalingType").string(var_2184.as_str()); } } @@ -9664,17 +9738,17 @@ pub fn serialize_structure_continuous_parameter_range( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ContinuousParameterRange, ) { - if let Some(var_2171) = &input.name { - object.key("Name").string(var_2171); + if let Some(var_2185) = &input.name { + object.key("Name").string(var_2185); } - if let Some(var_2172) = &input.min_value { - object.key("MinValue").string(var_2172); + if let Some(var_2186) = &input.min_value { + object.key("MinValue").string(var_2186); } - if let Some(var_2173) = &input.max_value { - object.key("MaxValue").string(var_2173); + if let Some(var_2187) = &input.max_value { + object.key("MaxValue").string(var_2187); } - if let Some(var_2174) = &input.scaling_type { - object.key("ScalingType").string(var_2174.as_str()); + if let Some(var_2188) = &input.scaling_type { + object.key("ScalingType").string(var_2188.as_str()); } } @@ -9682,17 +9756,17 @@ pub fn serialize_structure_categorical_parameter_range( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CategoricalParameterRange, ) { - if let Some(var_2175) = &input.name { - object.key("Name").string(var_2175); + if let Some(var_2189) = &input.name { + object.key("Name").string(var_2189); } - if let Some(var_2176) = &input.values { - let mut array_2177 = object.key("Values").start_array(); - for item_2178 in var_2176 { + if let Some(var_2190) = &input.values { + let mut array_2191 = object.key("Values").start_array(); + for item_2192 in var_2190 { { - array_2177.value().string(item_2178); + array_2191.value().string(item_2192); } } - array_2177.finish(); + array_2191.finish(); } } @@ -9700,8 +9774,8 @@ pub fn serialize_structure_labeling_job_s3_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobS3DataSource, ) { - if let Some(var_2179) = &input.manifest_s3_uri { - object.key("ManifestS3Uri").string(var_2179); + if let Some(var_2193) = &input.manifest_s3_uri { + object.key("ManifestS3Uri").string(var_2193); } } @@ -9709,8 +9783,8 @@ pub fn serialize_structure_labeling_job_sns_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelingJobSnsDataSource, ) { - if let Some(var_2180) = &input.sns_topic_arn { - object.key("SnsTopicArn").string(var_2180); + if let Some(var_2194) = &input.sns_topic_arn { + object.key("SnsTopicArn").string(var_2194); } } @@ -9718,10 +9792,10 @@ pub fn serialize_structure_repository_auth_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RepositoryAuthConfig, ) { - if let Some(var_2181) = &input.repository_credentials_provider_arn { + if let Some(var_2195) = &input.repository_credentials_provider_arn { object .key("RepositoryCredentialsProviderArn") - .string(var_2181); + .string(var_2195); } } @@ -9729,14 +9803,14 @@ pub fn serialize_structure_metrics_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MetricsSource, ) { - if let Some(var_2182) = &input.content_type { - object.key("ContentType").string(var_2182); + if let Some(var_2196) = &input.content_type { + object.key("ContentType").string(var_2196); } - if let Some(var_2183) = &input.content_digest { - object.key("ContentDigest").string(var_2183); + if let Some(var_2197) = &input.content_digest { + object.key("ContentDigest").string(var_2197); } - if let Some(var_2184) = &input.s3_uri { - object.key("S3Uri").string(var_2184); + if let Some(var_2198) = &input.s3_uri { + object.key("S3Uri").string(var_2198); } } @@ -9744,24 +9818,24 @@ pub fn serialize_structure_monitoring_baseline_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringBaselineConfig, ) { - if let Some(var_2185) = &input.baselining_job_name { - object.key("BaseliningJobName").string(var_2185); + if let Some(var_2199) = &input.baselining_job_name { + object.key("BaseliningJobName").string(var_2199); } - if let Some(var_2186) = &input.constraints_resource { - let mut object_2187 = object.key("ConstraintsResource").start_object(); + if let Some(var_2200) = &input.constraints_resource { + let mut object_2201 = object.key("ConstraintsResource").start_object(); crate::json_ser::serialize_structure_monitoring_constraints_resource( - &mut object_2187, - var_2186, + &mut object_2201, + var_2200, ); - object_2187.finish(); + object_2201.finish(); } - if let Some(var_2188) = &input.statistics_resource { - let mut object_2189 = object.key("StatisticsResource").start_object(); + if let Some(var_2202) = &input.statistics_resource { + let mut object_2203 = object.key("StatisticsResource").start_object(); crate::json_ser::serialize_structure_monitoring_statistics_resource( - &mut object_2189, - var_2188, + &mut object_2203, + var_2202, ); - object_2189.finish(); + object_2203.finish(); } } @@ -9769,10 +9843,10 @@ pub fn serialize_structure_monitoring_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringInput, ) { - if let Some(var_2190) = &input.endpoint_input { - let mut object_2191 = object.key("EndpointInput").start_object(); - crate::json_ser::serialize_structure_endpoint_input(&mut object_2191, var_2190); - object_2191.finish(); + if let Some(var_2204) = &input.endpoint_input { + let mut object_2205 = object.key("EndpointInput").start_object(); + crate::json_ser::serialize_structure_endpoint_input(&mut object_2205, var_2204); + object_2205.finish(); } } @@ -9780,34 +9854,34 @@ pub fn serialize_structure_monitoring_app_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MonitoringAppSpecification, ) { - if let Some(var_2192) = &input.image_uri { - object.key("ImageUri").string(var_2192); + if let Some(var_2206) = &input.image_uri { + object.key("ImageUri").string(var_2206); } - if let Some(var_2193) = &input.container_entrypoint { - let mut array_2194 = object.key("ContainerEntrypoint").start_array(); - for item_2195 in var_2193 { + if let Some(var_2207) = &input.container_entrypoint { + let mut array_2208 = object.key("ContainerEntrypoint").start_array(); + for item_2209 in var_2207 { { - array_2194.value().string(item_2195); + array_2208.value().string(item_2209); } } - array_2194.finish(); + array_2208.finish(); } - if let Some(var_2196) = &input.container_arguments { - let mut array_2197 = object.key("ContainerArguments").start_array(); - for item_2198 in var_2196 { + if let Some(var_2210) = &input.container_arguments { + let mut array_2211 = object.key("ContainerArguments").start_array(); + for item_2212 in var_2210 { { - array_2197.value().string(item_2198); + array_2211.value().string(item_2212); } } - array_2197.finish(); + array_2211.finish(); } - if let Some(var_2199) = &input.record_preprocessor_source_uri { - object.key("RecordPreprocessorSourceUri").string(var_2199); + if let Some(var_2213) = &input.record_preprocessor_source_uri { + object.key("RecordPreprocessorSourceUri").string(var_2213); } - if let Some(var_2200) = &input.post_analytics_processor_source_uri { + if let Some(var_2214) = &input.post_analytics_processor_source_uri { object .key("PostAnalyticsProcessorSourceUri") - .string(var_2200); + .string(var_2214); } } @@ -9815,29 +9889,29 @@ pub fn serialize_structure_athena_dataset_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AthenaDatasetDefinition, ) { - if let Some(var_2201) = &input.catalog { - object.key("Catalog").string(var_2201); + if let Some(var_2215) = &input.catalog { + object.key("Catalog").string(var_2215); } - if let Some(var_2202) = &input.database { - object.key("Database").string(var_2202); + if let Some(var_2216) = &input.database { + object.key("Database").string(var_2216); } - if let Some(var_2203) = &input.query_string { - object.key("QueryString").string(var_2203); + if let Some(var_2217) = &input.query_string { + object.key("QueryString").string(var_2217); } - if let Some(var_2204) = &input.work_group { - object.key("WorkGroup").string(var_2204); + if let Some(var_2218) = &input.work_group { + object.key("WorkGroup").string(var_2218); } - if let Some(var_2205) = &input.output_s3_uri { - object.key("OutputS3Uri").string(var_2205); + if let Some(var_2219) = &input.output_s3_uri { + object.key("OutputS3Uri").string(var_2219); } - if let Some(var_2206) = &input.kms_key_id { - object.key("KmsKeyId").string(var_2206); + if let Some(var_2220) = &input.kms_key_id { + object.key("KmsKeyId").string(var_2220); } - if let Some(var_2207) = &input.output_format { - object.key("OutputFormat").string(var_2207.as_str()); + if let Some(var_2221) = &input.output_format { + object.key("OutputFormat").string(var_2221.as_str()); } - if let Some(var_2208) = &input.output_compression { - object.key("OutputCompression").string(var_2208.as_str()); + if let Some(var_2222) = &input.output_compression { + object.key("OutputCompression").string(var_2222.as_str()); } } @@ -9845,32 +9919,32 @@ pub fn serialize_structure_redshift_dataset_definition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RedshiftDatasetDefinition, ) { - if let Some(var_2209) = &input.cluster_id { - object.key("ClusterId").string(var_2209); + if let Some(var_2223) = &input.cluster_id { + object.key("ClusterId").string(var_2223); } - if let Some(var_2210) = &input.database { - object.key("Database").string(var_2210); + if let Some(var_2224) = &input.database { + object.key("Database").string(var_2224); } - if let Some(var_2211) = &input.db_user { - object.key("DbUser").string(var_2211); + if let Some(var_2225) = &input.db_user { + object.key("DbUser").string(var_2225); } - if let Some(var_2212) = &input.query_string { - object.key("QueryString").string(var_2212); + if let Some(var_2226) = &input.query_string { + object.key("QueryString").string(var_2226); } - if let Some(var_2213) = &input.cluster_role_arn { - object.key("ClusterRoleArn").string(var_2213); + if let Some(var_2227) = &input.cluster_role_arn { + object.key("ClusterRoleArn").string(var_2227); } - if let Some(var_2214) = &input.output_s3_uri { - object.key("OutputS3Uri").string(var_2214); + if let Some(var_2228) = &input.output_s3_uri { + object.key("OutputS3Uri").string(var_2228); } - if let Some(var_2215) = &input.kms_key_id { - object.key("KmsKeyId").string(var_2215); + if let Some(var_2229) = &input.kms_key_id { + object.key("KmsKeyId").string(var_2229); } - if let Some(var_2216) = &input.output_format { - object.key("OutputFormat").string(var_2216.as_str()); + if let Some(var_2230) = &input.output_format { + object.key("OutputFormat").string(var_2230.as_str()); } - if let Some(var_2217) = &input.output_compression { - object.key("OutputCompression").string(var_2217.as_str()); + if let Some(var_2231) = &input.output_compression { + object.key("OutputCompression").string(var_2231.as_str()); } } @@ -9878,14 +9952,14 @@ pub fn serialize_structure_processing_s3_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingS3Output, ) { - if let Some(var_2218) = &input.s3_uri { - object.key("S3Uri").string(var_2218); + if let Some(var_2232) = &input.s3_uri { + object.key("S3Uri").string(var_2232); } - if let Some(var_2219) = &input.local_path { - object.key("LocalPath").string(var_2219); + if let Some(var_2233) = &input.local_path { + object.key("LocalPath").string(var_2233); } - if let Some(var_2220) = &input.s3_upload_mode { - object.key("S3UploadMode").string(var_2220.as_str()); + if let Some(var_2234) = &input.s3_upload_mode { + object.key("S3UploadMode").string(var_2234.as_str()); } } @@ -9893,8 +9967,8 @@ pub fn serialize_structure_processing_feature_store_output( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ProcessingFeatureStoreOutput, ) { - if let Some(var_2221) = &input.feature_group_name { - object.key("FeatureGroupName").string(var_2221); + if let Some(var_2235) = &input.feature_group_name { + object.key("FeatureGroupName").string(var_2235); } } @@ -9902,25 +9976,25 @@ pub fn serialize_structure_s3_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::S3DataSource, ) { - if let Some(var_2222) = &input.s3_data_type { - object.key("S3DataType").string(var_2222.as_str()); + if let Some(var_2236) = &input.s3_data_type { + object.key("S3DataType").string(var_2236.as_str()); } - if let Some(var_2223) = &input.s3_uri { - object.key("S3Uri").string(var_2223); + if let Some(var_2237) = &input.s3_uri { + object.key("S3Uri").string(var_2237); } - if let Some(var_2224) = &input.s3_data_distribution_type { + if let Some(var_2238) = &input.s3_data_distribution_type { object .key("S3DataDistributionType") - .string(var_2224.as_str()); + .string(var_2238.as_str()); } - if let Some(var_2225) = &input.attribute_names { - let mut array_2226 = object.key("AttributeNames").start_array(); - for item_2227 in var_2225 { + if let Some(var_2239) = &input.attribute_names { + let mut array_2240 = object.key("AttributeNames").start_array(); + for item_2241 in var_2239 { { - array_2226.value().string(item_2227); + array_2240.value().string(item_2241); } } - array_2226.finish(); + array_2240.finish(); } } @@ -9928,17 +10002,17 @@ pub fn serialize_structure_file_system_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FileSystemDataSource, ) { - if let Some(var_2228) = &input.file_system_id { - object.key("FileSystemId").string(var_2228); + if let Some(var_2242) = &input.file_system_id { + object.key("FileSystemId").string(var_2242); } - if let Some(var_2229) = &input.file_system_access_mode { - object.key("FileSystemAccessMode").string(var_2229.as_str()); + if let Some(var_2243) = &input.file_system_access_mode { + object.key("FileSystemAccessMode").string(var_2243.as_str()); } - if let Some(var_2230) = &input.file_system_type { - object.key("FileSystemType").string(var_2230.as_str()); + if let Some(var_2244) = &input.file_system_type { + object.key("FileSystemType").string(var_2244.as_str()); } - if let Some(var_2231) = &input.directory_path { - object.key("DirectoryPath").string(var_2231); + if let Some(var_2245) = &input.directory_path { + object.key("DirectoryPath").string(var_2245); } } @@ -9946,11 +10020,11 @@ pub fn serialize_structure_transform_s3_data_source( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TransformS3DataSource, ) { - if let Some(var_2232) = &input.s3_data_type { - object.key("S3DataType").string(var_2232.as_str()); + if let Some(var_2246) = &input.s3_data_type { + object.key("S3DataType").string(var_2246.as_str()); } - if let Some(var_2233) = &input.s3_uri { - object.key("S3Uri").string(var_2233); + if let Some(var_2247) = &input.s3_uri { + object.key("S3Uri").string(var_2247); } } @@ -9958,19 +10032,19 @@ pub fn serialize_structure_traffic_routing_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TrafficRoutingConfig, ) { - if let Some(var_2234) = &input.r#type { - object.key("Type").string(var_2234.as_str()); + if let Some(var_2248) = &input.r#type { + object.key("Type").string(var_2248.as_str()); } - if let Some(var_2235) = &input.wait_interval_in_seconds { + if let Some(var_2249) = &input.wait_interval_in_seconds { object.key("WaitIntervalInSeconds").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2235).into()), + smithy_types::Number::NegInt((*var_2249).into()), ); } - if let Some(var_2236) = &input.canary_size { - let mut object_2237 = object.key("CanarySize").start_object(); - crate::json_ser::serialize_structure_capacity_size(&mut object_2237, var_2236); - object_2237.finish(); + if let Some(var_2250) = &input.canary_size { + let mut object_2251 = object.key("CanarySize").start_object(); + crate::json_ser::serialize_structure_capacity_size(&mut object_2251, var_2250); + object_2251.finish(); } } @@ -9978,8 +10052,8 @@ pub fn serialize_structure_alarm( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Alarm, ) { - if let Some(var_2238) = &input.alarm_name { - object.key("AlarmName").string(var_2238); + if let Some(var_2252) = &input.alarm_name { + object.key("AlarmName").string(var_2252); } } @@ -9987,11 +10061,11 @@ pub fn serialize_structure_integer_parameter_range_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IntegerParameterRangeSpecification, ) { - if let Some(var_2239) = &input.min_value { - object.key("MinValue").string(var_2239); + if let Some(var_2253) = &input.min_value { + object.key("MinValue").string(var_2253); } - if let Some(var_2240) = &input.max_value { - object.key("MaxValue").string(var_2240); + if let Some(var_2254) = &input.max_value { + object.key("MaxValue").string(var_2254); } } @@ -9999,11 +10073,11 @@ pub fn serialize_structure_continuous_parameter_range_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ContinuousParameterRangeSpecification, ) { - if let Some(var_2241) = &input.min_value { - object.key("MinValue").string(var_2241); + if let Some(var_2255) = &input.min_value { + object.key("MinValue").string(var_2255); } - if let Some(var_2242) = &input.max_value { - object.key("MaxValue").string(var_2242); + if let Some(var_2256) = &input.max_value { + object.key("MaxValue").string(var_2256); } } @@ -10011,14 +10085,14 @@ pub fn serialize_structure_categorical_parameter_range_specification( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CategoricalParameterRangeSpecification, ) { - if let Some(var_2243) = &input.values { - let mut array_2244 = object.key("Values").start_array(); - for item_2245 in var_2243 { + if let Some(var_2257) = &input.values { + let mut array_2258 = object.key("Values").start_array(); + for item_2259 in var_2257 { { - array_2244.value().string(item_2245); + array_2258.value().string(item_2259); } } - array_2244.finish(); + array_2258.finish(); } } @@ -10026,13 +10100,13 @@ pub fn serialize_structure_capacity_size( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CapacitySize, ) { - if let Some(var_2246) = &input.r#type { - object.key("Type").string(var_2246.as_str()); + if let Some(var_2260) = &input.r#type { + object.key("Type").string(var_2260.as_str()); } - if let Some(var_2247) = &input.value { + if let Some(var_2261) = &input.value { object.key("Value").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_2247).into()), + smithy_types::Number::NegInt((*var_2261).into()), ); } } diff --git a/sdk/sagemaker/src/model.rs b/sdk/sagemaker/src/model.rs index 7670689820dd..9e32350adbc7 100644 --- a/sdk/sagemaker/src/model.rs +++ b/sdk/sagemaker/src/model.rs @@ -215,12 +215,12 @@ impl Workteam { } } -///

                                                                                Configures SNS notifications of available or expiring work items for work +///

                                                                                Configures Amazon SNS notifications of available or expiring work items for work /// teams.

                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct NotificationConfiguration { - ///

                                                                                The ARN for the SNS topic to which notifications should be published.

                                                                                + ///

                                                                                The ARN for the Amazon SNS topic to which notifications should be published.

                                                                                pub notification_topic_arn: std::option::Option, } impl std::fmt::Debug for NotificationConfiguration { @@ -239,7 +239,7 @@ pub mod notification_configuration { pub(crate) notification_topic_arn: std::option::Option, } impl Builder { - ///

                                                                                The ARN for the SNS topic to which notifications should be published.

                                                                                + ///

                                                                                The ARN for the Amazon SNS topic to which notifications should be published.

                                                                                pub fn notification_topic_arn(mut self, input: impl Into) -> Self { self.notification_topic_arn = Some(input.into()); self @@ -2066,7 +2066,7 @@ pub enum TrialComponentParameterValue { StringValue(std::string::String), } impl TrialComponentParameterValue { - pub fn as_number_value(&self) -> Result<&f64, &Self> { + pub fn as_number_value(&self) -> std::result::Result<&f64, &Self> { if let TrialComponentParameterValue::NumberValue(val) = &self { Ok(&val) } else { @@ -2076,7 +2076,7 @@ impl TrialComponentParameterValue { pub fn is_number_value(&self) -> bool { self.as_number_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let TrialComponentParameterValue::StringValue(val) = &self { Ok(&val) } else { @@ -2911,6 +2911,12 @@ pub enum InstanceType { MlC5D4Xlarge, MlC5D9Xlarge, MlC5DXlarge, + MlG4Dn12Xlarge, + MlG4Dn16Xlarge, + MlG4Dn2Xlarge, + MlG4Dn4Xlarge, + MlG4Dn8Xlarge, + MlG4DnXlarge, MlM410Xlarge, MlM416Xlarge, MlM42Xlarge, @@ -2921,12 +2927,29 @@ pub enum InstanceType { MlM52Xlarge, MlM54Xlarge, MlM5Xlarge, + MlM5D12Xlarge, + MlM5D16Xlarge, + MlM5D24Xlarge, + MlM5D2Xlarge, + MlM5D4Xlarge, + MlM5D8Xlarge, + MlM5DLarge, + MlM5DXlarge, MlP216Xlarge, MlP28Xlarge, MlP2Xlarge, MlP316Xlarge, MlP32Xlarge, MlP38Xlarge, + MlP3Dn24Xlarge, + MlR512Xlarge, + MlR516Xlarge, + MlR524Xlarge, + MlR52Xlarge, + MlR54Xlarge, + MlR58Xlarge, + MlR5Large, + MlR5Xlarge, MlT22Xlarge, MlT2Large, MlT2Medium, @@ -2955,6 +2978,12 @@ impl std::convert::From<&str> for InstanceType { "ml.c5d.4xlarge" => InstanceType::MlC5D4Xlarge, "ml.c5d.9xlarge" => InstanceType::MlC5D9Xlarge, "ml.c5d.xlarge" => InstanceType::MlC5DXlarge, + "ml.g4dn.12xlarge" => InstanceType::MlG4Dn12Xlarge, + "ml.g4dn.16xlarge" => InstanceType::MlG4Dn16Xlarge, + "ml.g4dn.2xlarge" => InstanceType::MlG4Dn2Xlarge, + "ml.g4dn.4xlarge" => InstanceType::MlG4Dn4Xlarge, + "ml.g4dn.8xlarge" => InstanceType::MlG4Dn8Xlarge, + "ml.g4dn.xlarge" => InstanceType::MlG4DnXlarge, "ml.m4.10xlarge" => InstanceType::MlM410Xlarge, "ml.m4.16xlarge" => InstanceType::MlM416Xlarge, "ml.m4.2xlarge" => InstanceType::MlM42Xlarge, @@ -2965,12 +2994,29 @@ impl std::convert::From<&str> for InstanceType { "ml.m5.2xlarge" => InstanceType::MlM52Xlarge, "ml.m5.4xlarge" => InstanceType::MlM54Xlarge, "ml.m5.xlarge" => InstanceType::MlM5Xlarge, + "ml.m5d.12xlarge" => InstanceType::MlM5D12Xlarge, + "ml.m5d.16xlarge" => InstanceType::MlM5D16Xlarge, + "ml.m5d.24xlarge" => InstanceType::MlM5D24Xlarge, + "ml.m5d.2xlarge" => InstanceType::MlM5D2Xlarge, + "ml.m5d.4xlarge" => InstanceType::MlM5D4Xlarge, + "ml.m5d.8xlarge" => InstanceType::MlM5D8Xlarge, + "ml.m5d.large" => InstanceType::MlM5DLarge, + "ml.m5d.xlarge" => InstanceType::MlM5DXlarge, "ml.p2.16xlarge" => InstanceType::MlP216Xlarge, "ml.p2.8xlarge" => InstanceType::MlP28Xlarge, "ml.p2.xlarge" => InstanceType::MlP2Xlarge, "ml.p3.16xlarge" => InstanceType::MlP316Xlarge, "ml.p3.2xlarge" => InstanceType::MlP32Xlarge, "ml.p3.8xlarge" => InstanceType::MlP38Xlarge, + "ml.p3dn.24xlarge" => InstanceType::MlP3Dn24Xlarge, + "ml.r5.12xlarge" => InstanceType::MlR512Xlarge, + "ml.r5.16xlarge" => InstanceType::MlR516Xlarge, + "ml.r5.24xlarge" => InstanceType::MlR524Xlarge, + "ml.r5.2xlarge" => InstanceType::MlR52Xlarge, + "ml.r5.4xlarge" => InstanceType::MlR54Xlarge, + "ml.r5.8xlarge" => InstanceType::MlR58Xlarge, + "ml.r5.large" => InstanceType::MlR5Large, + "ml.r5.xlarge" => InstanceType::MlR5Xlarge, "ml.t2.2xlarge" => InstanceType::MlT22Xlarge, "ml.t2.large" => InstanceType::MlT2Large, "ml.t2.medium" => InstanceType::MlT2Medium, @@ -3007,6 +3053,12 @@ impl InstanceType { InstanceType::MlC5D4Xlarge => "ml.c5d.4xlarge", InstanceType::MlC5D9Xlarge => "ml.c5d.9xlarge", InstanceType::MlC5DXlarge => "ml.c5d.xlarge", + InstanceType::MlG4Dn12Xlarge => "ml.g4dn.12xlarge", + InstanceType::MlG4Dn16Xlarge => "ml.g4dn.16xlarge", + InstanceType::MlG4Dn2Xlarge => "ml.g4dn.2xlarge", + InstanceType::MlG4Dn4Xlarge => "ml.g4dn.4xlarge", + InstanceType::MlG4Dn8Xlarge => "ml.g4dn.8xlarge", + InstanceType::MlG4DnXlarge => "ml.g4dn.xlarge", InstanceType::MlM410Xlarge => "ml.m4.10xlarge", InstanceType::MlM416Xlarge => "ml.m4.16xlarge", InstanceType::MlM42Xlarge => "ml.m4.2xlarge", @@ -3017,12 +3069,29 @@ impl InstanceType { InstanceType::MlM52Xlarge => "ml.m5.2xlarge", InstanceType::MlM54Xlarge => "ml.m5.4xlarge", InstanceType::MlM5Xlarge => "ml.m5.xlarge", + InstanceType::MlM5D12Xlarge => "ml.m5d.12xlarge", + InstanceType::MlM5D16Xlarge => "ml.m5d.16xlarge", + InstanceType::MlM5D24Xlarge => "ml.m5d.24xlarge", + InstanceType::MlM5D2Xlarge => "ml.m5d.2xlarge", + InstanceType::MlM5D4Xlarge => "ml.m5d.4xlarge", + InstanceType::MlM5D8Xlarge => "ml.m5d.8xlarge", + InstanceType::MlM5DLarge => "ml.m5d.large", + InstanceType::MlM5DXlarge => "ml.m5d.xlarge", InstanceType::MlP216Xlarge => "ml.p2.16xlarge", InstanceType::MlP28Xlarge => "ml.p2.8xlarge", InstanceType::MlP2Xlarge => "ml.p2.xlarge", InstanceType::MlP316Xlarge => "ml.p3.16xlarge", InstanceType::MlP32Xlarge => "ml.p3.2xlarge", InstanceType::MlP38Xlarge => "ml.p3.8xlarge", + InstanceType::MlP3Dn24Xlarge => "ml.p3dn.24xlarge", + InstanceType::MlR512Xlarge => "ml.r5.12xlarge", + InstanceType::MlR516Xlarge => "ml.r5.16xlarge", + InstanceType::MlR524Xlarge => "ml.r5.24xlarge", + InstanceType::MlR52Xlarge => "ml.r5.2xlarge", + InstanceType::MlR54Xlarge => "ml.r5.4xlarge", + InstanceType::MlR58Xlarge => "ml.r5.8xlarge", + InstanceType::MlR5Large => "ml.r5.large", + InstanceType::MlR5Xlarge => "ml.r5.xlarge", InstanceType::MlT22Xlarge => "ml.t2.2xlarge", InstanceType::MlT2Large => "ml.t2.large", InstanceType::MlT2Medium => "ml.t2.medium", @@ -3050,6 +3119,12 @@ impl InstanceType { "ml.c5d.4xlarge", "ml.c5d.9xlarge", "ml.c5d.xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.xlarge", "ml.m4.10xlarge", "ml.m4.16xlarge", "ml.m4.2xlarge", @@ -3060,12 +3135,29 @@ impl InstanceType { "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.xlarge", + "ml.m5d.12xlarge", + "ml.m5d.16xlarge", + "ml.m5d.24xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.8xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", "ml.p2.16xlarge", "ml.p2.8xlarge", "ml.p2.xlarge", "ml.p3.16xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", + "ml.p3dn.24xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.large", + "ml.r5.xlarge", "ml.t2.2xlarge", "ml.t2.large", "ml.t2.medium", @@ -35403,8 +35495,8 @@ impl AsRef for CodeRepositorySortBy { } } -///

                                                                                An Autopilot job returns recommendations, or candidates. Each candidate has futher details -/// about the steps involved and the status.

                                                                                +///

                                                                                Information about a candidate produced by an AutoML training job, including its status, +/// steps, and other properties.

                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AutoMlCandidate { @@ -35430,7 +35522,7 @@ pub struct AutoMlCandidate { pub last_modified_time: std::option::Option, ///

                                                                                The failure reason.

                                                                                pub failure_reason: std::option::Option, - ///

                                                                                The AutoML candidate's properties.

                                                                                + ///

                                                                                The properties of an AutoML candidate job.

                                                                                pub candidate_properties: std::option::Option, } impl std::fmt::Debug for AutoMlCandidate { @@ -35603,7 +35695,7 @@ pub mod auto_ml_candidate { self.failure_reason = input; self } - ///

                                                                                The AutoML candidate's properties.

                                                                                + ///

                                                                                The properties of an AutoML candidate job.

                                                                                pub fn candidate_properties(mut self, input: crate::model::CandidateProperties) -> Self { self.candidate_properties = Some(input); self @@ -35646,6 +35738,8 @@ impl AutoMlCandidate { pub struct CandidateProperties { ///

                                                                                The Amazon S3 prefix to the artifacts generated for an AutoML candidate.

                                                                                pub candidate_artifact_locations: std::option::Option, + ///

                                                                                Information about the candidate metrics for an AutoML job.

                                                                                + pub candidate_metrics: std::option::Option>, } impl std::fmt::Debug for CandidateProperties { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -35654,6 +35748,7 @@ impl std::fmt::Debug for CandidateProperties { "candidate_artifact_locations", &self.candidate_artifact_locations, ); + formatter.field("candidate_metrics", &self.candidate_metrics); formatter.finish() } } @@ -35665,6 +35760,7 @@ pub mod candidate_properties { pub struct Builder { pub(crate) candidate_artifact_locations: std::option::Option, + pub(crate) candidate_metrics: std::option::Option>, } impl Builder { ///

                                                                                The Amazon S3 prefix to the artifacts generated for an AutoML candidate.

                                                                                @@ -35682,10 +35778,24 @@ pub mod candidate_properties { self.candidate_artifact_locations = input; self } + pub fn candidate_metrics(mut self, input: impl Into) -> Self { + let mut v = self.candidate_metrics.unwrap_or_default(); + v.push(input.into()); + self.candidate_metrics = Some(v); + self + } + pub fn set_candidate_metrics( + mut self, + input: std::option::Option>, + ) -> Self { + self.candidate_metrics = input; + self + } /// Consumes the builder and constructs a [`CandidateProperties`](crate::model::CandidateProperties) pub fn build(self) -> crate::model::CandidateProperties { crate::model::CandidateProperties { candidate_artifact_locations: self.candidate_artifact_locations, + candidate_metrics: self.candidate_metrics, } } } @@ -35697,6 +35807,199 @@ impl CandidateProperties { } } +///

                                                                                Information about the metric for a candidate produced by an AutoML job.

                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MetricDatum { + ///

                                                                                The name of the metric.

                                                                                + pub metric_name: std::option::Option, + ///

                                                                                The value of the metric.

                                                                                + pub value: f32, + ///

                                                                                The dataset split from which the AutoML job produced the metric.

                                                                                + pub set: std::option::Option, +} +impl std::fmt::Debug for MetricDatum { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MetricDatum"); + formatter.field("metric_name", &self.metric_name); + formatter.field("value", &self.value); + formatter.field("set", &self.set); + formatter.finish() + } +} +/// See [`MetricDatum`](crate::model::MetricDatum) +pub mod metric_datum { + /// A builder for [`MetricDatum`](crate::model::MetricDatum) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) metric_name: std::option::Option, + pub(crate) value: std::option::Option, + pub(crate) set: std::option::Option, + } + impl Builder { + ///

                                                                                The name of the metric.

                                                                                + pub fn metric_name(mut self, input: crate::model::AutoMlMetricEnum) -> Self { + self.metric_name = Some(input); + self + } + pub fn set_metric_name( + mut self, + input: std::option::Option, + ) -> Self { + self.metric_name = input; + self + } + ///

                                                                                The value of the metric.

                                                                                + pub fn value(mut self, input: f32) -> Self { + self.value = Some(input); + self + } + pub fn set_value(mut self, input: std::option::Option) -> Self { + self.value = input; + self + } + ///

                                                                                The dataset split from which the AutoML job produced the metric.

                                                                                + pub fn set(mut self, input: crate::model::MetricSetSource) -> Self { + self.set = Some(input); + self + } + pub fn set_set( + mut self, + input: std::option::Option, + ) -> Self { + self.set = input; + self + } + /// Consumes the builder and constructs a [`MetricDatum`](crate::model::MetricDatum) + pub fn build(self) -> crate::model::MetricDatum { + crate::model::MetricDatum { + metric_name: self.metric_name, + value: self.value.unwrap_or_default(), + set: self.set, + } + } + } +} +impl MetricDatum { + /// Creates a new builder-style object to manufacture [`MetricDatum`](crate::model::MetricDatum) + pub fn builder() -> crate::model::metric_datum::Builder { + crate::model::metric_datum::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum MetricSetSource { + Test, + Train, + Validation, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for MetricSetSource { + fn from(s: &str) -> Self { + match s { + "Test" => MetricSetSource::Test, + "Train" => MetricSetSource::Train, + "Validation" => MetricSetSource::Validation, + other => MetricSetSource::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for MetricSetSource { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(MetricSetSource::from(s)) + } +} +impl MetricSetSource { + pub fn as_str(&self) -> &str { + match self { + MetricSetSource::Test => "Test", + MetricSetSource::Train => "Train", + MetricSetSource::Validation => "Validation", + MetricSetSource::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["Test", "Train", "Validation"] + } +} +impl AsRef for MetricSetSource { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum AutoMlMetricEnum { + Auc, + Accuracy, + F1, + F1Macro, + Mse, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for AutoMlMetricEnum { + fn from(s: &str) -> Self { + match s { + "AUC" => AutoMlMetricEnum::Auc, + "Accuracy" => AutoMlMetricEnum::Accuracy, + "F1" => AutoMlMetricEnum::F1, + "F1macro" => AutoMlMetricEnum::F1Macro, + "MSE" => AutoMlMetricEnum::Mse, + other => AutoMlMetricEnum::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AutoMlMetricEnum { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(AutoMlMetricEnum::from(s)) + } +} +impl AutoMlMetricEnum { + pub fn as_str(&self) -> &str { + match self { + AutoMlMetricEnum::Auc => "AUC", + AutoMlMetricEnum::Accuracy => "Accuracy", + AutoMlMetricEnum::F1 => "F1", + AutoMlMetricEnum::F1Macro => "F1macro", + AutoMlMetricEnum::Mse => "MSE", + AutoMlMetricEnum::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["AUC", "Accuracy", "F1", "F1macro", "MSE"] + } +} +impl AsRef for AutoMlMetricEnum { + fn as_ref(&self) -> &str { + self.as_str() + } +} + ///

                                                                                The location of artifacts for an AutoML candidate job.

                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -35754,7 +36057,8 @@ impl CandidateArtifactLocations { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AutoMlContainerDefinition { - ///

                                                                                The ECR path of the container. For more information, see .

                                                                                + ///

                                                                                The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more + /// information, see .

                                                                                pub image: std::option::Option, ///

                                                                                The location of the model artifacts. For more information, see .

                                                                                pub model_data_url: std::option::Option, @@ -35784,7 +36088,8 @@ pub mod auto_ml_container_definition { >, } impl Builder { - ///

                                                                                The ECR path of the container. For more information, see .

                                                                                + ///

                                                                                The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more + /// information, see .

                                                                                pub fn image(mut self, input: impl Into) -> Self { self.image = Some(input.into()); self @@ -36124,65 +36429,6 @@ impl FinalAutoMlJobObjectiveMetric { } } -#[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum AutoMlMetricEnum { - Auc, - Accuracy, - F1, - F1Macro, - Mse, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), -} -impl std::convert::From<&str> for AutoMlMetricEnum { - fn from(s: &str) -> Self { - match s { - "AUC" => AutoMlMetricEnum::Auc, - "Accuracy" => AutoMlMetricEnum::Accuracy, - "F1" => AutoMlMetricEnum::F1, - "F1macro" => AutoMlMetricEnum::F1Macro, - "MSE" => AutoMlMetricEnum::Mse, - other => AutoMlMetricEnum::Unknown(other.to_owned()), - } - } -} -impl std::str::FromStr for AutoMlMetricEnum { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(AutoMlMetricEnum::from(s)) - } -} -impl AutoMlMetricEnum { - pub fn as_str(&self) -> &str { - match self { - AutoMlMetricEnum::Auc => "AUC", - AutoMlMetricEnum::Accuracy => "Accuracy", - AutoMlMetricEnum::F1 => "F1", - AutoMlMetricEnum::F1Macro => "F1macro", - AutoMlMetricEnum::Mse => "MSE", - AutoMlMetricEnum::Unknown(s) => s.as_ref(), - } - } - pub fn values() -> &'static [&'static str] { - &["AUC", "Accuracy", "F1", "F1macro", "MSE"] - } -} -impl AsRef for AutoMlMetricEnum { - fn as_ref(&self) -> &str { - self.as_str() - } -} - #[non_exhaustive] #[derive( std::clone::Clone, @@ -36340,7 +36586,7 @@ impl AsRef for AutoMlSortOrder { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AutoMlJobSummary { - ///

                                                                                The name of the AutoML you are requesting.

                                                                                + ///

                                                                                The name of the AutoML job you are requesting.

                                                                                pub auto_ml_job_name: std::option::Option, ///

                                                                                The ARN of the AutoML job.

                                                                                pub auto_ml_job_arn: std::option::Option, @@ -36397,7 +36643,7 @@ pub mod auto_ml_job_summary { std::option::Option>, } impl Builder { - ///

                                                                                The name of the AutoML you are requesting.

                                                                                + ///

                                                                                The name of the AutoML job you are requesting.

                                                                                pub fn auto_ml_job_name(mut self, input: impl Into) -> Self { self.auto_ml_job_name = Some(input.into()); self @@ -45182,7 +45428,7 @@ pub struct AnnotationConsolidationConfig { ///
                                                                                  ///
                                                                                • ///

                                                                                  - /// rn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass + /// arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass ///

                                                                                  ///
                                                                                • ///
                                                                                • @@ -46674,7 +46920,7 @@ pub mod annotation_consolidation_config { ///
                                                                                    ///
                                                                                  • ///

                                                                                    - /// rn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass + /// arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass ///

                                                                                    ///
                                                                                  • ///
                                                                                  • @@ -47899,7 +48145,13 @@ impl AnnotationConsolidationConfig { } } -///

                                                                                    Provided configuration information for the worker UI for a labeling job.

                                                                                    +///

                                                                                    Provided configuration information for the worker UI for a labeling job. Provide +/// either HumanTaskUiArn or UiTemplateS3Uri.

                                                                                    +///

                                                                                    For named entity recognition, 3D point cloud and video frame labeling jobs, use +/// HumanTaskUiArn.

                                                                                    +///

                                                                                    For all other Ground Truth built-in task types and custom task types, use +/// UiTemplateS3Uri to specify the location of a worker task template in +/// Amazon S3.

                                                                                    #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UiConfig { @@ -47910,11 +48162,20 @@ pub struct UiConfig { pub ui_template_s3_uri: std::option::Option, ///

                                                                                    The ARN of the worker task template used to render the worker UI and tools for /// labeling job tasks.

                                                                                    - ///

                                                                                    Use this parameter when you are creating a labeling job for 3D point cloud and video - /// fram labeling jobs. Use your labeling job task type to select one of the following ARNs - /// and use it with this parameter when you create a labeling job. Replace - /// aws-region with the Amazon Web Services region you are creating your labeling job - /// in.

                                                                                    + ///

                                                                                    Use this parameter when you are creating a labeling job for named entity recognition, + /// 3D point cloud and video frame labeling jobs. Use your labeling job task type to select + /// one of the following ARNs and use it with this parameter when you create a labeling job. + /// Replace aws-region with the Amazon Web Services Region you are creating your labeling job + /// in. For example, replace aws-region with us-west-1 if you + /// create a labeling job in US West (N. California).

                                                                                    + ///

                                                                                    + /// Named Entity Recognition + ///

                                                                                    + ///

                                                                                    Use the following HumanTaskUiArn for named entity recognition labeling + /// jobs:

                                                                                    + ///

                                                                                    + /// arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition + ///

                                                                                    ///

                                                                                    /// 3D Point Cloud HumanTaskUiArns ///

                                                                                    @@ -48003,11 +48264,20 @@ pub mod ui_config { } ///

                                                                                    The ARN of the worker task template used to render the worker UI and tools for /// labeling job tasks.

                                                                                    - ///

                                                                                    Use this parameter when you are creating a labeling job for 3D point cloud and video - /// fram labeling jobs. Use your labeling job task type to select one of the following ARNs - /// and use it with this parameter when you create a labeling job. Replace - /// aws-region with the Amazon Web Services region you are creating your labeling job - /// in.

                                                                                    + ///

                                                                                    Use this parameter when you are creating a labeling job for named entity recognition, + /// 3D point cloud and video frame labeling jobs. Use your labeling job task type to select + /// one of the following ARNs and use it with this parameter when you create a labeling job. + /// Replace aws-region with the Amazon Web Services Region you are creating your labeling job + /// in. For example, replace aws-region with us-west-1 if you + /// create a labeling job in US West (N. California).

                                                                                    + ///

                                                                                    + /// Named Entity Recognition + ///

                                                                                    + ///

                                                                                    Use the following HumanTaskUiArn for named entity recognition labeling + /// jobs:

                                                                                    + ///

                                                                                    + /// arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition + ///

                                                                                    ///

                                                                                    /// 3D Point Cloud HumanTaskUiArns ///

                                                                                    @@ -51592,6 +51862,289 @@ impl AsRef for AwsManagedHumanLoopRequestSource { } } +///

                                                                                    Specifies configuration for how an endpoint performs asynchronous inference.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AsyncInferenceConfig { + ///

                                                                                    Configures the behavior of the client used by Amazon SageMaker to interact + /// with the model container during asynchronous inference.

                                                                                    + pub client_config: std::option::Option, + ///

                                                                                    Specifies the configuration for asynchronous inference invocation outputs.

                                                                                    + pub output_config: std::option::Option, +} +impl std::fmt::Debug for AsyncInferenceConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AsyncInferenceConfig"); + formatter.field("client_config", &self.client_config); + formatter.field("output_config", &self.output_config); + formatter.finish() + } +} +/// See [`AsyncInferenceConfig`](crate::model::AsyncInferenceConfig) +pub mod async_inference_config { + /// A builder for [`AsyncInferenceConfig`](crate::model::AsyncInferenceConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) client_config: std::option::Option, + pub(crate) output_config: std::option::Option, + } + impl Builder { + ///

                                                                                    Configures the behavior of the client used by Amazon SageMaker to interact + /// with the model container during asynchronous inference.

                                                                                    + pub fn client_config(mut self, input: crate::model::AsyncInferenceClientConfig) -> Self { + self.client_config = Some(input); + self + } + pub fn set_client_config( + mut self, + input: std::option::Option, + ) -> Self { + self.client_config = input; + self + } + ///

                                                                                    Specifies the configuration for asynchronous inference invocation outputs.

                                                                                    + pub fn output_config(mut self, input: crate::model::AsyncInferenceOutputConfig) -> Self { + self.output_config = Some(input); + self + } + pub fn set_output_config( + mut self, + input: std::option::Option, + ) -> Self { + self.output_config = input; + self + } + /// Consumes the builder and constructs a [`AsyncInferenceConfig`](crate::model::AsyncInferenceConfig) + pub fn build(self) -> crate::model::AsyncInferenceConfig { + crate::model::AsyncInferenceConfig { + client_config: self.client_config, + output_config: self.output_config, + } + } + } +} +impl AsyncInferenceConfig { + /// Creates a new builder-style object to manufacture [`AsyncInferenceConfig`](crate::model::AsyncInferenceConfig) + pub fn builder() -> crate::model::async_inference_config::Builder { + crate::model::async_inference_config::Builder::default() + } +} + +///

                                                                                    Specifies the configuration for asynchronous inference invocation outputs.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AsyncInferenceOutputConfig { + ///

                                                                                    The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that + /// Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.

                                                                                    + ///

                                                                                    + pub kms_key_id: std::option::Option, + ///

                                                                                    The Amazon S3 location to upload inference responses to.

                                                                                    + pub s3_output_path: std::option::Option, + ///

                                                                                    Specifies the configuration for notifications of inference results for asynchronous inference.

                                                                                    + pub notification_config: std::option::Option, +} +impl std::fmt::Debug for AsyncInferenceOutputConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AsyncInferenceOutputConfig"); + formatter.field("kms_key_id", &self.kms_key_id); + formatter.field("s3_output_path", &self.s3_output_path); + formatter.field("notification_config", &self.notification_config); + formatter.finish() + } +} +/// See [`AsyncInferenceOutputConfig`](crate::model::AsyncInferenceOutputConfig) +pub mod async_inference_output_config { + /// A builder for [`AsyncInferenceOutputConfig`](crate::model::AsyncInferenceOutputConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) kms_key_id: std::option::Option, + pub(crate) s3_output_path: std::option::Option, + pub(crate) notification_config: + std::option::Option, + } + impl Builder { + ///

                                                                                    The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that + /// Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.

                                                                                    + ///

                                                                                    + pub fn kms_key_id(mut self, input: impl Into) -> Self { + self.kms_key_id = Some(input.into()); + self + } + pub fn set_kms_key_id(mut self, input: std::option::Option) -> Self { + self.kms_key_id = input; + self + } + ///

                                                                                    The Amazon S3 location to upload inference responses to.

                                                                                    + pub fn s3_output_path(mut self, input: impl Into) -> Self { + self.s3_output_path = Some(input.into()); + self + } + pub fn set_s3_output_path( + mut self, + input: std::option::Option, + ) -> Self { + self.s3_output_path = input; + self + } + ///

                                                                                    Specifies the configuration for notifications of inference results for asynchronous inference.

                                                                                    + pub fn notification_config( + mut self, + input: crate::model::AsyncInferenceNotificationConfig, + ) -> Self { + self.notification_config = Some(input); + self + } + pub fn set_notification_config( + mut self, + input: std::option::Option, + ) -> Self { + self.notification_config = input; + self + } + /// Consumes the builder and constructs a [`AsyncInferenceOutputConfig`](crate::model::AsyncInferenceOutputConfig) + pub fn build(self) -> crate::model::AsyncInferenceOutputConfig { + crate::model::AsyncInferenceOutputConfig { + kms_key_id: self.kms_key_id, + s3_output_path: self.s3_output_path, + notification_config: self.notification_config, + } + } + } +} +impl AsyncInferenceOutputConfig { + /// Creates a new builder-style object to manufacture [`AsyncInferenceOutputConfig`](crate::model::AsyncInferenceOutputConfig) + pub fn builder() -> crate::model::async_inference_output_config::Builder { + crate::model::async_inference_output_config::Builder::default() + } +} + +///

                                                                                    Specifies the configuration for notifications of inference results for asynchronous inference.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AsyncInferenceNotificationConfig { + ///

                                                                                    Amazon SNS topic to post a notification to when inference completes successfully. + /// If no topic is provided, no notification is sent on success.

                                                                                    + pub success_topic: std::option::Option, + ///

                                                                                    Amazon SNS topic to post a notification to when inference fails. + /// If no topic is provided, no notification is sent on failure.

                                                                                    + pub error_topic: std::option::Option, +} +impl std::fmt::Debug for AsyncInferenceNotificationConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AsyncInferenceNotificationConfig"); + formatter.field("success_topic", &self.success_topic); + formatter.field("error_topic", &self.error_topic); + formatter.finish() + } +} +/// See [`AsyncInferenceNotificationConfig`](crate::model::AsyncInferenceNotificationConfig) +pub mod async_inference_notification_config { + /// A builder for [`AsyncInferenceNotificationConfig`](crate::model::AsyncInferenceNotificationConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) success_topic: std::option::Option, + pub(crate) error_topic: std::option::Option, + } + impl Builder { + ///

                                                                                    Amazon SNS topic to post a notification to when inference completes successfully. + /// If no topic is provided, no notification is sent on success.

                                                                                    + pub fn success_topic(mut self, input: impl Into) -> Self { + self.success_topic = Some(input.into()); + self + } + pub fn set_success_topic( + mut self, + input: std::option::Option, + ) -> Self { + self.success_topic = input; + self + } + ///

                                                                                    Amazon SNS topic to post a notification to when inference fails. + /// If no topic is provided, no notification is sent on failure.

                                                                                    + pub fn error_topic(mut self, input: impl Into) -> Self { + self.error_topic = Some(input.into()); + self + } + pub fn set_error_topic(mut self, input: std::option::Option) -> Self { + self.error_topic = input; + self + } + /// Consumes the builder and constructs a [`AsyncInferenceNotificationConfig`](crate::model::AsyncInferenceNotificationConfig) + pub fn build(self) -> crate::model::AsyncInferenceNotificationConfig { + crate::model::AsyncInferenceNotificationConfig { + success_topic: self.success_topic, + error_topic: self.error_topic, + } + } + } +} +impl AsyncInferenceNotificationConfig { + /// Creates a new builder-style object to manufacture [`AsyncInferenceNotificationConfig`](crate::model::AsyncInferenceNotificationConfig) + pub fn builder() -> crate::model::async_inference_notification_config::Builder { + crate::model::async_inference_notification_config::Builder::default() + } +} + +///

                                                                                    Configures the behavior of the client used by Amazon SageMaker to interact with the +/// model container during asynchronous inference.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AsyncInferenceClientConfig { + ///

                                                                                    The maximum number of concurrent requests sent by the SageMaker client to the + /// model container. If no value is provided, Amazon SageMaker will choose an optimal value for you.

                                                                                    + pub max_concurrent_invocations_per_instance: std::option::Option, +} +impl std::fmt::Debug for AsyncInferenceClientConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AsyncInferenceClientConfig"); + formatter.field( + "max_concurrent_invocations_per_instance", + &self.max_concurrent_invocations_per_instance, + ); + formatter.finish() + } +} +/// See [`AsyncInferenceClientConfig`](crate::model::AsyncInferenceClientConfig) +pub mod async_inference_client_config { + /// A builder for [`AsyncInferenceClientConfig`](crate::model::AsyncInferenceClientConfig) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) max_concurrent_invocations_per_instance: std::option::Option, + } + impl Builder { + ///

                                                                                    The maximum number of concurrent requests sent by the SageMaker client to the + /// model container. If no value is provided, Amazon SageMaker will choose an optimal value for you.

                                                                                    + pub fn max_concurrent_invocations_per_instance(mut self, input: i32) -> Self { + self.max_concurrent_invocations_per_instance = Some(input); + self + } + pub fn set_max_concurrent_invocations_per_instance( + mut self, + input: std::option::Option, + ) -> Self { + self.max_concurrent_invocations_per_instance = input; + self + } + /// Consumes the builder and constructs a [`AsyncInferenceClientConfig`](crate::model::AsyncInferenceClientConfig) + pub fn build(self) -> crate::model::AsyncInferenceClientConfig { + crate::model::AsyncInferenceClientConfig { + max_concurrent_invocations_per_instance: self + .max_concurrent_invocations_per_instance, + } + } + } +} +impl AsyncInferenceClientConfig { + /// Creates a new builder-style object to manufacture [`AsyncInferenceClientConfig`](crate::model::AsyncInferenceClientConfig) + pub fn builder() -> crate::model::async_inference_client_config::Builder { + crate::model::async_inference_client_config::Builder::default() + } +} + ///

                                                                                    #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -54780,8 +55333,8 @@ pub struct ModelDeployConfig { /// endpoint name is not generated automatically.

                                                                                    /// ///

                                                                                    Specify the EndpointName if and only if you set - /// AutoGenerateEndpointName to False; otherwise a 400 error - /// is thrown.

                                                                                    + /// AutoGenerateEndpointName to False; otherwise a 400 error is + /// thrown.

                                                                                    ///
                                                                                    pub endpoint_name: std::option::Option, } @@ -54825,8 +55378,8 @@ pub mod model_deploy_config { /// endpoint name is not generated automatically.

                                                                                    /// ///

                                                                                    Specify the EndpointName if and only if you set - /// AutoGenerateEndpointName to False; otherwise a 400 error - /// is thrown.

                                                                                    + /// AutoGenerateEndpointName to False; otherwise a 400 error is + /// thrown.

                                                                                    ///
                                                                                    pub fn endpoint_name(mut self, input: impl Into) -> Self { self.endpoint_name = Some(input.into()); @@ -54952,7 +55505,8 @@ impl ResolvedAttributes { pub struct AutoMlJobCompletionCriteria { ///

                                                                                    The maximum number of times a training job is allowed to run.

                                                                                    pub max_candidates: std::option::Option, - ///

                                                                                    The maximum time, in seconds, a training job is allowed to run as part of an AutoML job.

                                                                                    + ///

                                                                                    The maximum time, in seconds, a training job is allowed to run as part of an AutoML + /// job.

                                                                                    pub max_runtime_per_training_job_in_seconds: std::option::Option, ///

                                                                                    The maximum runtime, in seconds, an AutoML job has to complete.

                                                                                    pub max_auto_ml_job_runtime_in_seconds: std::option::Option, @@ -54992,7 +55546,8 @@ pub mod auto_ml_job_completion_criteria { self.max_candidates = input; self } - ///

                                                                                    The maximum time, in seconds, a training job is allowed to run as part of an AutoML job.

                                                                                    + ///

                                                                                    The maximum time, in seconds, a training job is allowed to run as part of an AutoML + /// job.

                                                                                    pub fn max_runtime_per_training_job_in_seconds(mut self, input: i32) -> Self { self.max_runtime_per_training_job_in_seconds = Some(input); self @@ -55105,8 +55660,8 @@ pub struct AutoMlJobObjective { /// MSE: The mean squared error (MSE) is the average of the squared /// differences between the predicted and actual values. It is used for regression. MSE /// values are always positive: the better a model is at predicting the actual values, - /// the smaller the MSE value. When the data contains outliers, they tend to dominate the - /// MSE, which might cause subpar prediction performance.

                                                                                    + /// the smaller the MSE value is. When the data contains outliers, they tend to dominate + /// the MSE, which might cause subpar prediction performance.

                                                                                    ///
                                                                                  • ///
                                                                                  • ///

                                                                                    @@ -55204,8 +55759,8 @@ pub mod auto_ml_job_objective { /// MSE: The mean squared error (MSE) is the average of the squared /// differences between the predicted and actual values. It is used for regression. MSE /// values are always positive: the better a model is at predicting the actual values, - /// the smaller the MSE value. When the data contains outliers, they tend to dominate the - /// MSE, which might cause subpar prediction performance.

                                                                                    + /// the smaller the MSE value is. When the data contains outliers, they tend to dominate + /// the MSE, which might cause subpar prediction performance.

                                                                                    ///
                                                                                  • ///
                                                                                  • ///

                                                                                    diff --git a/sdk/sagemaker/src/operation.rs b/sdk/sagemaker/src/operation.rs index 12ce66695ece..5647a3c9b207 100644 --- a/sdk/sagemaker/src/operation.rs +++ b/sdk/sagemaker/src/operation.rs @@ -270,7 +270,7 @@ impl smithy_http::response::ParseStrictResponse for CreateArtifact { } ///

                                                                                    Creates an Autopilot job.

                                                                                    -///

                                                                                    Find the best performing model after you run an Autopilot job by calling .

                                                                                    +///

                                                                                    Find the best-performing model after you run an Autopilot job by calling .

                                                                                    ///

                                                                                    For information about how to use Autopilot, see Automate Model /// Development with Amazon SageMaker Autopilot.

                                                                                    #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -6535,6 +6535,9 @@ impl smithy_http::response::ParseStrictResponse for StopNotebookInstance { } ///

                                                                                    Stops a pipeline execution.

                                                                                    +///

                                                                                    +/// Callback Step +///

                                                                                    ///

                                                                                    A pipeline execution won't stop while a callback step is running. /// When you call StopPipelineExecution /// on a pipeline execution with a running callback step, SageMaker Pipelines sends an @@ -6545,6 +6548,15 @@ impl smithy_http::response::ParseStrictResponse for StopNotebookInstance { /// SendPipelineExecutionStepSuccess or /// SendPipelineExecutionStepFailure.

                                                                                    ///

                                                                                    Only when SageMaker Pipelines receives one of these calls will it stop the pipeline execution.

                                                                                    +///

                                                                                    +/// Lambda Step +///

                                                                                    +///

                                                                                    A pipeline execution can't be stopped while a lambda step is running because the Lambda +/// function invoked by the lambda step can't be stopped. If you attempt to stop the execution +/// while the Lambda function is running, the pipeline waits for the Lambda function to finish +/// or until the timeout is hit, whichever occurs first, and then stops. If the Lambda function +/// finishes, the pipeline execution status is Stopped. If the timeout is hit +/// the pipeline execution status is Failed.

                                                                                    #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StopPipelineExecution { _private: (), diff --git a/sdk/sagemaker/src/output.rs b/sdk/sagemaker/src/output.rs index c92a786740c8..59fdbd6d35d0 100644 --- a/sdk/sagemaker/src/output.rs +++ b/sdk/sagemaker/src/output.rs @@ -10009,6 +10009,8 @@ pub struct DescribeNotebookInstanceOutput { /// users.

                                                                                    /// pub root_access: std::option::Option, + ///

                                                                                    The platform identifier of the notebook instance runtime environment.

                                                                                    + pub platform_identifier: std::option::Option, } impl std::fmt::Debug for DescribeNotebookInstanceOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -10039,6 +10041,7 @@ impl std::fmt::Debug for DescribeNotebookInstanceOutput { &self.additional_code_repositories, ); formatter.field("root_access", &self.root_access); + formatter.field("platform_identifier", &self.platform_identifier); formatter.finish() } } @@ -10072,6 +10075,7 @@ pub mod describe_notebook_instance_output { pub(crate) additional_code_repositories: std::option::Option>, pub(crate) root_access: std::option::Option, + pub(crate) platform_identifier: std::option::Option, } impl Builder { ///

                                                                                    The Amazon Resource Name (ARN) of the notebook instance.

                                                                                    @@ -10339,6 +10343,18 @@ pub mod describe_notebook_instance_output { self.root_access = input; self } + ///

                                                                                    The platform identifier of the notebook instance runtime environment.

                                                                                    + pub fn platform_identifier(mut self, input: impl Into) -> Self { + self.platform_identifier = Some(input.into()); + self + } + pub fn set_platform_identifier( + mut self, + input: std::option::Option, + ) -> Self { + self.platform_identifier = input; + self + } /// Consumes the builder and constructs a [`DescribeNotebookInstanceOutput`](crate::output::DescribeNotebookInstanceOutput) pub fn build(self) -> crate::output::DescribeNotebookInstanceOutput { crate::output::DescribeNotebookInstanceOutput { @@ -10363,6 +10379,7 @@ pub mod describe_notebook_instance_output { default_code_repository: self.default_code_repository, additional_code_repositories: self.additional_code_repositories, root_access: self.root_access, + platform_identifier: self.platform_identifier, } } } @@ -14195,6 +14212,11 @@ pub struct DescribeEndpointConfigOutput { pub kms_key_id: std::option::Option, ///

                                                                                    A timestamp that shows when the endpoint configuration was created.

                                                                                    pub creation_time: std::option::Option, + ///

                                                                                    Returns the description of an endpoint configuration created using the + /// + /// CreateEndpointConfig + /// API.

                                                                                    + pub async_inference_config: std::option::Option, } impl std::fmt::Debug for DescribeEndpointConfigOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -14205,6 +14227,7 @@ impl std::fmt::Debug for DescribeEndpointConfigOutput { formatter.field("data_capture_config", &self.data_capture_config); formatter.field("kms_key_id", &self.kms_key_id); formatter.field("creation_time", &self.creation_time); + formatter.field("async_inference_config", &self.async_inference_config); formatter.finish() } } @@ -14221,6 +14244,7 @@ pub mod describe_endpoint_config_output { pub(crate) data_capture_config: std::option::Option, pub(crate) kms_key_id: std::option::Option, pub(crate) creation_time: std::option::Option, + pub(crate) async_inference_config: std::option::Option, } impl Builder { ///

                                                                                    Name of the Amazon SageMaker endpoint configuration.

                                                                                    @@ -14297,6 +14321,21 @@ pub mod describe_endpoint_config_output { self.creation_time = input; self } + ///

                                                                                    Returns the description of an endpoint configuration created using the + /// + /// CreateEndpointConfig + /// API.

                                                                                    + pub fn async_inference_config(mut self, input: crate::model::AsyncInferenceConfig) -> Self { + self.async_inference_config = Some(input); + self + } + pub fn set_async_inference_config( + mut self, + input: std::option::Option, + ) -> Self { + self.async_inference_config = input; + self + } /// Consumes the builder and constructs a [`DescribeEndpointConfigOutput`](crate::output::DescribeEndpointConfigOutput) pub fn build(self) -> crate::output::DescribeEndpointConfigOutput { crate::output::DescribeEndpointConfigOutput { @@ -14306,6 +14345,7 @@ pub mod describe_endpoint_config_output { data_capture_config: self.data_capture_config, kms_key_id: self.kms_key_id, creation_time: self.creation_time, + async_inference_config: self.async_inference_config, } } } @@ -14391,6 +14431,11 @@ pub struct DescribeEndpointOutput { pub last_modified_time: std::option::Option, ///

                                                                                    The most recent deployment configuration for the endpoint.

                                                                                    pub last_deployment_config: std::option::Option, + ///

                                                                                    Returns the description of an endpoint configuration created + /// using the + /// CreateEndpointConfig + /// API.

                                                                                    + pub async_inference_config: std::option::Option, } impl std::fmt::Debug for DescribeEndpointOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -14405,6 +14450,7 @@ impl std::fmt::Debug for DescribeEndpointOutput { formatter.field("creation_time", &self.creation_time); formatter.field("last_modified_time", &self.last_modified_time); formatter.field("last_deployment_config", &self.last_deployment_config); + formatter.field("async_inference_config", &self.async_inference_config); formatter.finish() } } @@ -14425,6 +14471,7 @@ pub mod describe_endpoint_output { pub(crate) creation_time: std::option::Option, pub(crate) last_modified_time: std::option::Option, pub(crate) last_deployment_config: std::option::Option, + pub(crate) async_inference_config: std::option::Option, } impl Builder { ///

                                                                                    Name of the endpoint.

                                                                                    @@ -14600,6 +14647,21 @@ pub mod describe_endpoint_output { self.last_deployment_config = input; self } + ///

                                                                                    Returns the description of an endpoint configuration created + /// using the + /// CreateEndpointConfig + /// API.

                                                                                    + pub fn async_inference_config(mut self, input: crate::model::AsyncInferenceConfig) -> Self { + self.async_inference_config = Some(input); + self + } + pub fn set_async_inference_config( + mut self, + input: std::option::Option, + ) -> Self { + self.async_inference_config = input; + self + } /// Consumes the builder and constructs a [`DescribeEndpointOutput`](crate::output::DescribeEndpointOutput) pub fn build(self) -> crate::output::DescribeEndpointOutput { crate::output::DescribeEndpointOutput { @@ -14613,6 +14675,7 @@ pub mod describe_endpoint_output { creation_time: self.creation_time, last_modified_time: self.last_modified_time, last_deployment_config: self.last_deployment_config, + async_inference_config: self.async_inference_config, } } } @@ -16535,8 +16598,9 @@ pub struct DescribeAutoMlJobOutput { pub input_data_config: std::option::Option>, ///

                                                                                    Returns the job's output data config.

                                                                                    pub output_data_config: std::option::Option, - ///

                                                                                    The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that has read permission to - /// the input data location and write permission to the output data location in Amazon S3.

                                                                                    + ///

                                                                                    The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that + /// has read permission to the input data location and write permission to the output data + /// location in Amazon S3.

                                                                                    pub role_arn: std::option::Option, ///

                                                                                    Returns the job's objective.

                                                                                    pub auto_ml_job_objective: std::option::Option, @@ -16567,7 +16631,7 @@ pub struct DescribeAutoMlJobOutput { ///

                                                                                    Returns information on the job's artifacts found in /// AutoMLJobArtifacts.

                                                                                    pub auto_ml_job_artifacts: std::option::Option, - ///

                                                                                    This contains ProblemType, AutoMLJobObjective and + ///

                                                                                    This contains ProblemType, AutoMLJobObjective, and /// CompletionCriteria. If you do not provide these values, they are /// auto-inferred. If you do provide them, the values used are the ones you provide.

                                                                                    pub resolved_attributes: std::option::Option, @@ -16691,8 +16755,9 @@ pub mod describe_auto_ml_job_output { self.output_data_config = input; self } - ///

                                                                                    The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that has read permission to - /// the input data location and write permission to the output data location in Amazon S3.

                                                                                    + ///

                                                                                    The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that + /// has read permission to the input data location and write permission to the output data + /// location in Amazon S3.

                                                                                    pub fn role_arn(mut self, input: impl Into) -> Self { self.role_arn = Some(input.into()); self @@ -16863,7 +16928,7 @@ pub mod describe_auto_ml_job_output { self.auto_ml_job_artifacts = input; self } - ///

                                                                                    This contains ProblemType, AutoMLJobObjective and + ///

                                                                                    This contains ProblemType, AutoMLJobObjective, and /// CompletionCriteria. If you do not provide these values, they are /// auto-inferred. If you do provide them, the values used are the ones you provide.

                                                                                    pub fn resolved_attributes(mut self, input: crate::model::ResolvedAttributes) -> Self { @@ -21097,7 +21162,7 @@ impl CreateCodeRepositoryOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateAutoMlJobOutput { - ///

                                                                                    The unique ARN that is assigned to the AutoML job when it is created.

                                                                                    + ///

                                                                                    The unique ARN assigned to the AutoML job when it is created.

                                                                                    pub auto_ml_job_arn: std::option::Option, } impl std::fmt::Debug for CreateAutoMlJobOutput { @@ -21116,7 +21181,7 @@ pub mod create_auto_ml_job_output { pub(crate) auto_ml_job_arn: std::option::Option, } impl Builder { - ///

                                                                                    The unique ARN that is assigned to the AutoML job when it is created.

                                                                                    + ///

                                                                                    The unique ARN assigned to the AutoML job when it is created.

                                                                                    pub fn auto_ml_job_arn(mut self, input: impl Into) -> Self { self.auto_ml_job_arn = Some(input.into()); self diff --git a/sdk/sagemakera2iruntime/Cargo.toml b/sdk/sagemakera2iruntime/Cargo.toml index 32c6f906b561..09bb347aace5 100644 --- a/sdk/sagemakera2iruntime/Cargo.toml +++ b/sdk/sagemakera2iruntime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemakera2iruntime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Amazon Augmented AI (Amazon A2I) adds the benefit of human judgment to any machine learning\n application. When an AI application can't evaluate data with a high degree of confidence,\n human reviewers can take over. This human review is called a human review workflow. To create\n and start a human review workflow, you need three resources: a worker task\n template, a flow definition, and a human\n loop.

                                                                                    \n

                                                                                    For information about these resources and prerequisites for using Amazon A2I, see Get Started with\n Amazon Augmented AI in the Amazon SageMaker Developer Guide.

                                                                                    \n

                                                                                    This API reference includes information about API actions and data types that you can use\n to interact with Amazon A2I programmatically. Use this guide to:

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Start a human loop with the StartHumanLoop operation when using\n Amazon A2I with a custom task type. To learn more about the\n difference between custom and built-in task types, see Use Task Types . To learn\n how to start a human loop using this API, see Create and Start a Human Loop for a Custom Task Type in the\n Amazon SageMaker Developer Guide.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Manage your human loops. You can list all human loops that you have created, describe\n individual human loops, and stop and delete human loops. To learn more, see Monitor and Manage Your Human Loop in the Amazon SageMaker Developer Guide.

                                                                                      \n
                                                                                    • \n
                                                                                    \n

                                                                                    Amazon A2I integrates APIs from various AWS services to create and start human review\n workflows for those services. To learn how Amazon A2I uses these APIs, see Use APIs in\n Amazon A2I in the Amazon SageMaker Developer Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemakeredge/Cargo.toml b/sdk/sagemakeredge/Cargo.toml index 738dd9913b4c..13afce342ca9 100644 --- a/sdk/sagemakeredge/Cargo.toml +++ b/sdk/sagemakeredge/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemakeredge" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    SageMaker Edge Manager dataplane service for communicating with active agents.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemakerfeaturestoreruntime/Cargo.toml b/sdk/sagemakerfeaturestoreruntime/Cargo.toml index 359018a92dda..3a4ece4e9b75 100644 --- a/sdk/sagemakerfeaturestoreruntime/Cargo.toml +++ b/sdk/sagemakerfeaturestoreruntime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemakerfeaturestoreruntime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Contains all data plane API operations and data types for the Amazon SageMaker Feature\n Store. Use this API to put, delete, and retrieve (get) features from a feature\n store.

                                                                                    \n

                                                                                    Use the following operations to configure your OnlineStore and\n OfflineStore features, and to create and manage feature groups:

                                                                                    \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemakerruntime/Cargo.toml b/sdk/sagemakerruntime/Cargo.toml index 90a1f192f263..75df4d760620 100644 --- a/sdk/sagemakerruntime/Cargo.toml +++ b/sdk/sagemakerruntime/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemakerruntime" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    The Amazon SageMaker runtime API.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sagemakerruntime/src/client.rs b/sdk/sagemakerruntime/src/client.rs index 07a219ca1369..a8dd2c7e5518 100644 --- a/sdk/sagemakerruntime/src/client.rs +++ b/sdk/sagemakerruntime/src/client.rs @@ -42,6 +42,9 @@ where pub fn invoke_endpoint(&self) -> fluent_builders::InvokeEndpoint { fluent_builders::InvokeEndpoint::new(self.handle.clone()) } + pub fn invoke_endpoint_async(&self) -> fluent_builders::InvokeEndpointAsync { + fluent_builders::InvokeEndpointAsync::new(self.handle.clone()) + } } pub mod fluent_builders { #[derive(std::fmt::Debug)] @@ -195,4 +198,124 @@ pub mod fluent_builders { self } } + #[derive(std::fmt::Debug)] + pub struct InvokeEndpointAsync { + handle: std::sync::Arc>, + inner: crate::input::invoke_endpoint_async_input::Builder, + } + impl InvokeEndpointAsync { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::InvokeEndpointAsyncOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The name of the endpoint that you specified when you created the endpoint using + /// the + /// CreateEndpoint + /// API.

                                                                                    + pub fn endpoint_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.endpoint_name(input); + self + } + pub fn set_endpoint_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_endpoint_name(input); + self + } + ///

                                                                                    The MIME type of the input data in the request body.

                                                                                    + pub fn content_type(mut self, input: impl Into) -> Self { + self.inner = self.inner.content_type(input); + self + } + pub fn set_content_type(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_content_type(input); + self + } + ///

                                                                                    The desired MIME type of the inference in the response.

                                                                                    + pub fn accept(mut self, input: impl Into) -> Self { + self.inner = self.inner.accept(input); + self + } + pub fn set_accept(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_accept(input); + self + } + ///

                                                                                    Provides additional information about a request for an inference submitted to + /// a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + /// forwarded verbatim. You could use this value, for example, to provide an ID that you + /// can use to track a request or to provide other metadata that a service endpoint was + /// programmed to process. The value must consist of no more than 1024 + /// visible US-ASCII characters as specified in + /// Section 3.3.6. + /// Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                                                    + ///

                                                                                    The code in your model is responsible for setting or updating any custom attributes + /// in the response. If your code does not set this value in the response, an empty + /// value is returned. For example, if a custom attribute represents the trace ID, + /// your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                                                    + ///

                                                                                    This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                                                    + pub fn custom_attributes(mut self, input: impl Into) -> Self { + self.inner = self.inner.custom_attributes(input); + self + } + pub fn set_custom_attributes( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_custom_attributes(input); + self + } + ///

                                                                                    The identifier for the inference request. Amazon SageMaker will generate an identifier for you + /// if none is specified.

                                                                                    + pub fn inference_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.inference_id(input); + self + } + pub fn set_inference_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_inference_id(input); + self + } + ///

                                                                                    The Amazon S3 URI where the inference request payload is stored.

                                                                                    + pub fn input_location(mut self, input: impl Into) -> Self { + self.inner = self.inner.input_location(input); + self + } + pub fn set_input_location( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_input_location(input); + self + } + ///

                                                                                    Maximum age in seconds a request can be in the queue before it is marked as expired.

                                                                                    + pub fn request_ttl_seconds(mut self, input: i32) -> Self { + self.inner = self.inner.request_ttl_seconds(input); + self + } + pub fn set_request_ttl_seconds(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_request_ttl_seconds(input); + self + } + } } diff --git a/sdk/sagemakerruntime/src/error.rs b/sdk/sagemakerruntime/src/error.rs index 8c590b8d04b0..273e852d476a 100644 --- a/sdk/sagemakerruntime/src/error.rs +++ b/sdk/sagemakerruntime/src/error.rs @@ -95,6 +95,99 @@ impl std::error::Error for InvokeEndpointError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct InvokeEndpointAsyncError { + pub kind: InvokeEndpointAsyncErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum InvokeEndpointAsyncErrorKind { + InternalFailure(crate::error::InternalFailure), + ServiceUnavailable(crate::error::ServiceUnavailable), + ValidationError(crate::error::ValidationError), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for InvokeEndpointAsyncError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + InvokeEndpointAsyncErrorKind::InternalFailure(_inner) => _inner.fmt(f), + InvokeEndpointAsyncErrorKind::ServiceUnavailable(_inner) => _inner.fmt(f), + InvokeEndpointAsyncErrorKind::ValidationError(_inner) => _inner.fmt(f), + InvokeEndpointAsyncErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for InvokeEndpointAsyncError { + fn code(&self) -> Option<&str> { + InvokeEndpointAsyncError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl InvokeEndpointAsyncError { + pub fn new(kind: InvokeEndpointAsyncErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: InvokeEndpointAsyncErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: InvokeEndpointAsyncErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_failure(&self) -> bool { + matches!(&self.kind, InvokeEndpointAsyncErrorKind::InternalFailure(_)) + } + pub fn is_service_unavailable(&self) -> bool { + matches!( + &self.kind, + InvokeEndpointAsyncErrorKind::ServiceUnavailable(_) + ) + } + pub fn is_validation_error(&self) -> bool { + matches!(&self.kind, InvokeEndpointAsyncErrorKind::ValidationError(_)) + } +} +impl std::error::Error for InvokeEndpointAsyncError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + InvokeEndpointAsyncErrorKind::InternalFailure(_inner) => Some(_inner), + InvokeEndpointAsyncErrorKind::ServiceUnavailable(_inner) => Some(_inner), + InvokeEndpointAsyncErrorKind::ValidationError(_inner) => Some(_inner), + InvokeEndpointAsyncErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + ///

                                                                                    Inspect your request and try again.

                                                                                    #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -215,6 +308,66 @@ impl ServiceUnavailable { } } +///

                                                                                    An internal failure occurred.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InternalFailure { + pub message: std::option::Option, +} +impl std::fmt::Debug for InternalFailure { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InternalFailure"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl InternalFailure { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for InternalFailure { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InternalFailure")?; + if let Some(inner_3) = &self.message { + write!(f, ": {}", inner_3)?; + } + Ok(()) + } +} +impl std::error::Error for InternalFailure {} +/// See [`InternalFailure`](crate::error::InternalFailure) +pub mod internal_failure { + /// A builder for [`InternalFailure`](crate::error::InternalFailure) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`InternalFailure`](crate::error::InternalFailure) + pub fn build(self) -> crate::error::InternalFailure { + crate::error::InternalFailure { + message: self.message, + } + } + } +} +impl InternalFailure { + /// Creates a new builder-style object to manufacture [`InternalFailure`](crate::error::InternalFailure) + pub fn builder() -> crate::error::internal_failure::Builder { + crate::error::internal_failure::Builder::default() + } +} + ///

                                                                                    Model (owned by the customer in the container) returned 4xx or 5xx error code. ///

                                                                                    #[non_exhaustive] @@ -246,8 +399,8 @@ impl ModelError { impl std::fmt::Display for ModelError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "ModelError")?; - if let Some(inner_3) = &self.message { - write!(f, ": {}", inner_3)?; + if let Some(inner_4) = &self.message { + write!(f, ": {}", inner_4)?; } Ok(()) } @@ -323,63 +476,3 @@ impl ModelError { crate::error::model_error::Builder::default() } } - -///

                                                                                    An internal failure occurred.

                                                                                    -#[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct InternalFailure { - pub message: std::option::Option, -} -impl std::fmt::Debug for InternalFailure { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("InternalFailure"); - formatter.field("message", &self.message); - formatter.finish() - } -} -impl InternalFailure { - pub fn message(&self) -> Option<&str> { - self.message.as_deref() - } -} -impl std::fmt::Display for InternalFailure { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "InternalFailure")?; - if let Some(inner_4) = &self.message { - write!(f, ": {}", inner_4)?; - } - Ok(()) - } -} -impl std::error::Error for InternalFailure {} -/// See [`InternalFailure`](crate::error::InternalFailure) -pub mod internal_failure { - /// A builder for [`InternalFailure`](crate::error::InternalFailure) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) message: std::option::Option, - } - impl Builder { - pub fn message(mut self, input: impl Into) -> Self { - self.message = Some(input.into()); - self - } - pub fn set_message(mut self, input: std::option::Option) -> Self { - self.message = input; - self - } - /// Consumes the builder and constructs a [`InternalFailure`](crate::error::InternalFailure) - pub fn build(self) -> crate::error::InternalFailure { - crate::error::InternalFailure { - message: self.message, - } - } - } -} -impl InternalFailure { - /// Creates a new builder-style object to manufacture [`InternalFailure`](crate::error::InternalFailure) - pub fn builder() -> crate::error::internal_failure::Builder { - crate::error::internal_failure::Builder::default() - } -} diff --git a/sdk/sagemakerruntime/src/error_meta.rs b/sdk/sagemakerruntime/src/error_meta.rs index d778a0a081f5..d0ab8a17e6bd 100644 --- a/sdk/sagemakerruntime/src/error_meta.rs +++ b/sdk/sagemakerruntime/src/error_meta.rs @@ -41,4 +41,25 @@ impl From> for } } } +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::InvokeEndpointAsyncErrorKind::InternalFailure(inner) => { + Error::InternalFailure(inner) + } + crate::error::InvokeEndpointAsyncErrorKind::ServiceUnavailable(inner) => { + Error::ServiceUnavailable(inner) + } + crate::error::InvokeEndpointAsyncErrorKind::ValidationError(inner) => { + Error::ValidationError(inner) + } + crate::error::InvokeEndpointAsyncErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl std::error::Error for Error {} diff --git a/sdk/sagemakerruntime/src/http_serde.rs b/sdk/sagemakerruntime/src/http_serde.rs index d09a297c9880..aea32b284ea1 100644 --- a/sdk/sagemakerruntime/src/http_serde.rs +++ b/sdk/sagemakerruntime/src/http_serde.rs @@ -35,3 +35,11 @@ pub fn deser_header_invoke_endpoint_invoke_endpoint_output_invoked_production_va .iter(); smithy_http::header::one_or_none(headers) } + +pub fn deser_header_invoke_endpoint_async_invoke_endpoint_async_output_output_location( + header_map: &http::HeaderMap, +) -> std::result::Result, smithy_http::header::ParseError> +{ + let headers = header_map.get_all("X-Amzn-SageMaker-OutputLocation").iter(); + smithy_http::header::one_or_none(headers) +} diff --git a/sdk/sagemakerruntime/src/input.rs b/sdk/sagemakerruntime/src/input.rs index a366f60aa84f..3b3568057d53 100644 --- a/sdk/sagemakerruntime/src/input.rs +++ b/sdk/sagemakerruntime/src/input.rs @@ -410,6 +410,409 @@ impl InvokeEndpointInput { } } +/// See [`InvokeEndpointAsyncInput`](crate::input::InvokeEndpointAsyncInput) +pub mod invoke_endpoint_async_input { + /// A builder for [`InvokeEndpointAsyncInput`](crate::input::InvokeEndpointAsyncInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) endpoint_name: std::option::Option, + pub(crate) content_type: std::option::Option, + pub(crate) accept: std::option::Option, + pub(crate) custom_attributes: std::option::Option, + pub(crate) inference_id: std::option::Option, + pub(crate) input_location: std::option::Option, + pub(crate) request_ttl_seconds: std::option::Option, + } + impl Builder { + ///

                                                                                    The name of the endpoint that you specified when you created the endpoint using + /// the + /// CreateEndpoint + /// API.

                                                                                    + pub fn endpoint_name(mut self, input: impl Into) -> Self { + self.endpoint_name = Some(input.into()); + self + } + pub fn set_endpoint_name( + mut self, + input: std::option::Option, + ) -> Self { + self.endpoint_name = input; + self + } + ///

                                                                                    The MIME type of the input data in the request body.

                                                                                    + pub fn content_type(mut self, input: impl Into) -> Self { + self.content_type = Some(input.into()); + self + } + pub fn set_content_type(mut self, input: std::option::Option) -> Self { + self.content_type = input; + self + } + ///

                                                                                    The desired MIME type of the inference in the response.

                                                                                    + pub fn accept(mut self, input: impl Into) -> Self { + self.accept = Some(input.into()); + self + } + pub fn set_accept(mut self, input: std::option::Option) -> Self { + self.accept = input; + self + } + ///

                                                                                    Provides additional information about a request for an inference submitted to + /// a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + /// forwarded verbatim. You could use this value, for example, to provide an ID that you + /// can use to track a request or to provide other metadata that a service endpoint was + /// programmed to process. The value must consist of no more than 1024 + /// visible US-ASCII characters as specified in + /// Section 3.3.6. + /// Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                                                    + ///

                                                                                    The code in your model is responsible for setting or updating any custom attributes + /// in the response. If your code does not set this value in the response, an empty + /// value is returned. For example, if a custom attribute represents the trace ID, + /// your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                                                    + ///

                                                                                    This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                                                    + pub fn custom_attributes(mut self, input: impl Into) -> Self { + self.custom_attributes = Some(input.into()); + self + } + pub fn set_custom_attributes( + mut self, + input: std::option::Option, + ) -> Self { + self.custom_attributes = input; + self + } + ///

                                                                                    The identifier for the inference request. Amazon SageMaker will generate an identifier for you + /// if none is specified.

                                                                                    + pub fn inference_id(mut self, input: impl Into) -> Self { + self.inference_id = Some(input.into()); + self + } + pub fn set_inference_id(mut self, input: std::option::Option) -> Self { + self.inference_id = input; + self + } + ///

                                                                                    The Amazon S3 URI where the inference request payload is stored.

                                                                                    + pub fn input_location(mut self, input: impl Into) -> Self { + self.input_location = Some(input.into()); + self + } + pub fn set_input_location( + mut self, + input: std::option::Option, + ) -> Self { + self.input_location = input; + self + } + ///

                                                                                    Maximum age in seconds a request can be in the queue before it is marked as expired.

                                                                                    + pub fn request_ttl_seconds(mut self, input: i32) -> Self { + self.request_ttl_seconds = Some(input); + self + } + pub fn set_request_ttl_seconds(mut self, input: std::option::Option) -> Self { + self.request_ttl_seconds = input; + self + } + /// Consumes the builder and constructs a [`InvokeEndpointAsyncInput`](crate::input::InvokeEndpointAsyncInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::InvokeEndpointAsyncInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::InvokeEndpointAsyncInput { + endpoint_name: self.endpoint_name, + content_type: self.content_type, + accept: self.accept, + custom_attributes: self.custom_attributes, + inference_id: self.inference_id, + input_location: self.input_location, + request_ttl_seconds: self.request_ttl_seconds, + }) + } + } +} +#[doc(hidden)] +pub type InvokeEndpointAsyncInputOperationOutputAlias = crate::operation::InvokeEndpointAsync; +#[doc(hidden)] +pub type InvokeEndpointAsyncInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl InvokeEndpointAsyncInput { + /// Consumes the builder and constructs an Operation<[`InvokeEndpointAsync`](crate::operation::InvokeEndpointAsync)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::InvokeEndpointAsync, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::InvokeEndpointAsync::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "InvokeEndpointAsync", + "sagemakerruntime", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_16 = &self.endpoint_name; + let input_16 = + input_16 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "endpoint_name", + details: "cannot be empty or unset", + })?; + let endpoint_name = smithy_http::label::fmt_string(input_16, false); + if endpoint_name.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "endpoint_name", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/endpoints/{EndpointName}/async-invocations", + EndpointName = endpoint_name + ) + .expect("formatting should succeed"); + Ok(()) + } + fn add_headers( + &self, + mut builder: http::request::Builder, + ) -> std::result::Result { + if let Some(inner_17) = &self.content_type { + let formatted_18 = AsRef::::as_ref(inner_17); + if !formatted_18.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_18; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "content_type", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-Content-Type", header_value); + } + } + if let Some(inner_19) = &self.accept { + let formatted_20 = AsRef::::as_ref(inner_19); + if !formatted_20.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_20; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "accept", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-Accept", header_value); + } + } + if let Some(inner_21) = &self.custom_attributes { + let formatted_22 = AsRef::::as_ref(inner_21); + if !formatted_22.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_22; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "custom_attributes", + details: format!( + "`{}` cannot be used as a header value: {}", + &"*** Sensitive Data Redacted ***", err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-Custom-Attributes", header_value); + } + } + if let Some(inner_23) = &self.inference_id { + let formatted_24 = AsRef::::as_ref(inner_23); + if !formatted_24.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_24; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "inference_id", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-Inference-Id", header_value); + } + } + if let Some(inner_25) = &self.input_location { + let formatted_26 = AsRef::::as_ref(inner_25); + if !formatted_26.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_26; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "input_location", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-InputLocation", header_value); + } + } + if let Some(inner_27) = &self.request_ttl_seconds { + let mut encoder = smithy_types::primitive::Encoder::from(*inner_27); + let formatted_28 = encoder.encode(); + if !formatted_28.is_empty() { + use std::convert::TryFrom; + let header_value = formatted_28; + let header_value = + http::header::HeaderValue::try_from(&*header_value).map_err(|err| { + smithy_http::operation::BuildError::InvalidField { + field: "request_ttl_seconds", + details: format!( + "`{}` cannot be used as a header value: {}", + &header_value, err + ), + } + })?; + builder = builder.header("X-Amzn-SageMaker-RequestTTLSeconds", header_value); + } + } + Ok(builder) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + let builder = self.add_headers(builder)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`InvokeEndpointAsyncInput`](crate::input::InvokeEndpointAsyncInput) + pub fn builder() -> crate::input::invoke_endpoint_async_input::Builder { + crate::input::invoke_endpoint_async_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvokeEndpointAsyncInput { + ///

                                                                                    The name of the endpoint that you specified when you created the endpoint using + /// the + /// CreateEndpoint + /// API.

                                                                                    + pub endpoint_name: std::option::Option, + ///

                                                                                    The MIME type of the input data in the request body.

                                                                                    + pub content_type: std::option::Option, + ///

                                                                                    The desired MIME type of the inference in the response.

                                                                                    + pub accept: std::option::Option, + ///

                                                                                    Provides additional information about a request for an inference submitted to + /// a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is + /// forwarded verbatim. You could use this value, for example, to provide an ID that you + /// can use to track a request or to provide other metadata that a service endpoint was + /// programmed to process. The value must consist of no more than 1024 + /// visible US-ASCII characters as specified in + /// Section 3.3.6. + /// Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).

                                                                                    + ///

                                                                                    The code in your model is responsible for setting or updating any custom attributes + /// in the response. If your code does not set this value in the response, an empty + /// value is returned. For example, if a custom attribute represents the trace ID, + /// your model can prepend the custom attribute with Trace ID: in your post-processing function.

                                                                                    + ///

                                                                                    This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

                                                                                    + pub custom_attributes: std::option::Option, + ///

                                                                                    The identifier for the inference request. Amazon SageMaker will generate an identifier for you + /// if none is specified.

                                                                                    + pub inference_id: std::option::Option, + ///

                                                                                    The Amazon S3 URI where the inference request payload is stored.

                                                                                    + pub input_location: std::option::Option, + ///

                                                                                    Maximum age in seconds a request can be in the queue before it is marked as expired.

                                                                                    + pub request_ttl_seconds: std::option::Option, +} +impl std::fmt::Debug for InvokeEndpointAsyncInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvokeEndpointAsyncInput"); + formatter.field("endpoint_name", &self.endpoint_name); + formatter.field("content_type", &self.content_type); + formatter.field("accept", &self.accept); + formatter.field("custom_attributes", &"*** Sensitive Data Redacted ***"); + formatter.field("inference_id", &self.inference_id); + formatter.field("input_location", &self.input_location); + formatter.field("request_ttl_seconds", &self.request_ttl_seconds); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InvokeEndpointInput { diff --git a/sdk/sagemakerruntime/src/json_deser.rs b/sdk/sagemakerruntime/src/json_deser.rs index 1ec8e8f93058..b158a4b9481e 100644 --- a/sdk/sagemakerruntime/src/json_deser.rs +++ b/sdk/sagemakerruntime/src/json_deser.rs @@ -181,6 +181,45 @@ pub fn deser_structure_validation_errorjson_err( Ok(builder) } +pub fn deser_operation_invoke_endpoint_async( + input: &[u8], + mut builder: crate::output::invoke_endpoint_async_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "InferenceId" => { + builder = builder.set_inference_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn or_empty_doc(data: &[u8]) -> &[u8] { if data.is_empty() { b"{}" diff --git a/sdk/sagemakerruntime/src/operation.rs b/sdk/sagemakerruntime/src/operation.rs index 18953b3b4530..9dc54dfb3a54 100644 --- a/sdk/sagemakerruntime/src/operation.rs +++ b/sdk/sagemakerruntime/src/operation.rs @@ -43,3 +43,44 @@ impl smithy_http::response::ParseStrictResponse for InvokeEndpoint { } } } + +///

                                                                                    After you deploy a model into production using Amazon SageMaker hosting services, +/// your client applications use this API to get inferences from the model hosted at +/// the specified endpoint in an asynchronous manner.

                                                                                    +///

                                                                                    Inference requests sent to this API are enqueued for asynchronous processing. +/// The processing of the inference request may or may not complete before the +/// you receive a response from this API. The response from this API will +/// not contain the result of the inference request but contain information +/// about where you can locate it.

                                                                                    +///

                                                                                    Amazon SageMaker strips all POST headers except those supported by the API. +/// Amazon SageMaker might add additional headers. You should not rely on the behavior +/// of headers outside those enumerated in the request syntax.

                                                                                    +///

                                                                                    Calls to InvokeEndpointAsync are authenticated by using AWS Signature +/// Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API +/// Reference.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct InvokeEndpointAsync { + _private: (), +} +impl InvokeEndpointAsync { + /// Creates a new builder-style object to manufacture [`InvokeEndpointAsyncInput`](crate::input::InvokeEndpointAsyncInput) + pub fn builder() -> crate::input::invoke_endpoint_async_input::Builder { + crate::input::invoke_endpoint_async_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for InvokeEndpointAsync { + type Output = std::result::Result< + crate::output::InvokeEndpointAsyncOutput, + crate::error::InvokeEndpointAsyncError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 202 { + crate::operation_deser::parse_invoke_endpoint_async_error(response) + } else { + crate::operation_deser::parse_invoke_endpoint_async_response(response) + } + } +} diff --git a/sdk/sagemakerruntime/src/operation_deser.rs b/sdk/sagemakerruntime/src/operation_deser.rs index 7203ba6422e0..165e35034a97 100644 --- a/sdk/sagemakerruntime/src/operation_deser.rs +++ b/sdk/sagemakerruntime/src/operation_deser.rs @@ -134,3 +134,110 @@ pub fn parse_invoke_endpoint_response( output.build() }) } + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_invoke_endpoint_async_error( + response: &http::Response, +) -> std::result::Result< + crate::output::InvokeEndpointAsyncOutput, + crate::error::InvokeEndpointAsyncError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::InvokeEndpointAsyncError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::InvokeEndpointAsyncError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalFailure" => crate::error::InvokeEndpointAsyncError { + meta: generic, + kind: crate::error::InvokeEndpointAsyncErrorKind::InternalFailure({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failurejson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::InvokeEndpointAsyncError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ServiceUnavailable" => crate::error::InvokeEndpointAsyncError { + meta: generic, + kind: crate::error::InvokeEndpointAsyncErrorKind::ServiceUnavailable({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::service_unavailable::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_unavailablejson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::InvokeEndpointAsyncError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationError" => crate::error::InvokeEndpointAsyncError { + meta: generic, + kind: crate::error::InvokeEndpointAsyncErrorKind::ValidationError({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_error::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_errorjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::InvokeEndpointAsyncError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::InvokeEndpointAsyncError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_invoke_endpoint_async_response( + response: &http::Response, +) -> std::result::Result< + crate::output::InvokeEndpointAsyncOutput, + crate::error::InvokeEndpointAsyncError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::invoke_endpoint_async_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_invoke_endpoint_async( + response.body().as_ref(), + output, + ) + .map_err(crate::error::InvokeEndpointAsyncError::unhandled)?; + output = output.set_output_location( + crate::http_serde::deser_header_invoke_endpoint_async_invoke_endpoint_async_output_output_location(response.headers()) + .map_err(|_|crate::error::InvokeEndpointAsyncError::unhandled("Failed to parse OutputLocation from header `X-Amzn-SageMaker-OutputLocation"))? + ); + output.build() + }) +} diff --git a/sdk/sagemakerruntime/src/output.rs b/sdk/sagemakerruntime/src/output.rs index 9f68818673c1..11e1cc888788 100644 --- a/sdk/sagemakerruntime/src/output.rs +++ b/sdk/sagemakerruntime/src/output.rs @@ -1,4 +1,69 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InvokeEndpointAsyncOutput { + ///

                                                                                    Identifier for an inference request. This will be the same as the InferenceId specified + /// in the input. Amazon SageMaker will generate an identifier for you if you do not specify one.

                                                                                    + pub inference_id: std::option::Option, + ///

                                                                                    The Amazon S3 URI where the inference response payload is stored.

                                                                                    + pub output_location: std::option::Option, +} +impl std::fmt::Debug for InvokeEndpointAsyncOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InvokeEndpointAsyncOutput"); + formatter.field("inference_id", &self.inference_id); + formatter.field("output_location", &self.output_location); + formatter.finish() + } +} +/// See [`InvokeEndpointAsyncOutput`](crate::output::InvokeEndpointAsyncOutput) +pub mod invoke_endpoint_async_output { + /// A builder for [`InvokeEndpointAsyncOutput`](crate::output::InvokeEndpointAsyncOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) inference_id: std::option::Option, + pub(crate) output_location: std::option::Option, + } + impl Builder { + ///

                                                                                    Identifier for an inference request. This will be the same as the InferenceId specified + /// in the input. Amazon SageMaker will generate an identifier for you if you do not specify one.

                                                                                    + pub fn inference_id(mut self, input: impl Into) -> Self { + self.inference_id = Some(input.into()); + self + } + pub fn set_inference_id(mut self, input: std::option::Option) -> Self { + self.inference_id = input; + self + } + ///

                                                                                    The Amazon S3 URI where the inference response payload is stored.

                                                                                    + pub fn output_location(mut self, input: impl Into) -> Self { + self.output_location = Some(input.into()); + self + } + pub fn set_output_location( + mut self, + input: std::option::Option, + ) -> Self { + self.output_location = input; + self + } + /// Consumes the builder and constructs a [`InvokeEndpointAsyncOutput`](crate::output::InvokeEndpointAsyncOutput) + pub fn build(self) -> crate::output::InvokeEndpointAsyncOutput { + crate::output::InvokeEndpointAsyncOutput { + inference_id: self.inference_id, + output_location: self.output_location, + } + } + } +} +impl InvokeEndpointAsyncOutput { + /// Creates a new builder-style object to manufacture [`InvokeEndpointAsyncOutput`](crate::output::InvokeEndpointAsyncOutput) + pub fn builder() -> crate::output::invoke_endpoint_async_output::Builder { + crate::output::invoke_endpoint_async_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct InvokeEndpointOutput { diff --git a/sdk/savingsplans/Cargo.toml b/sdk/savingsplans/Cargo.toml index ea9882c09ccd..a0494708eda6 100644 --- a/sdk/savingsplans/Cargo.toml +++ b/sdk/savingsplans/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-savingsplans" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Savings Plans are a pricing model that offer significant savings on AWS usage (for\n example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD\n per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For\n more information, see the AWS Savings Plans User Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/schemas/Cargo.toml b/sdk/schemas/Cargo.toml index 57e27779bd01..5b21425b8f40 100644 --- a/sdk/schemas/Cargo.toml +++ b/sdk/schemas/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-schemas" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Amazon EventBridge Schema Registry

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/secretsmanager/Cargo.toml b/sdk/secretsmanager/Cargo.toml index 9a8571b84555..5609a6558a28 100644 --- a/sdk/secretsmanager/Cargo.toml +++ b/sdk/secretsmanager/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-secretsmanager" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Web Services Secrets Manager\n

                                                                                    Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.

                                                                                    \n \n

                                                                                    This guide provides descriptions of the Secrets Manager API. For more information about using this\n service, see the Amazon Web Services Secrets Manager User Guide.

                                                                                    \n \n

                                                                                    \n API Version\n

                                                                                    \n \n

                                                                                    This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

                                                                                    \n \n

                                                                                    As an alternative to using the API, you can use one of the Amazon Web Services SDKs, which consist of\n libraries and sample code for various programming languages and platforms such as Java,\n Ruby, .NET, iOS, and Android. The SDKs provide a convenient way to create programmatic\n access to Amazon Web Services Secrets Manager. For example, the SDKs provide cryptographically signing requests,\n managing errors, and retrying requests automatically. For more information about the Amazon Web Services\n SDKs, including downloading and installing them, see Tools for Amazon Web Services.

                                                                                    \n
                                                                                    \n

                                                                                    We recommend you use the Amazon Web Services SDKs to make programmatic API calls to Secrets Manager. However, you\n also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn\n more about the Secrets Manager HTTP Query API, see Making Query Requests in the\n Amazon Web Services Secrets Manager User Guide.

                                                                                    \n

                                                                                    Secrets Manager API supports GET and POST requests for all actions, and doesn't require you to use\n GET for some actions and POST for others. However, GET requests are subject to the limitation\n size of a URL. Therefore, for operations that require larger sizes, use a POST request.

                                                                                    \n \n \n \n \n \n \n \n

                                                                                    \n Support and Feedback for Amazon Web Services Secrets Manager\n

                                                                                    \n \n

                                                                                    We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more\n information about the Amazon Web Services Discussion Forums, see Forums\n Help.

                                                                                    \n \n

                                                                                    \n How examples are presented\n

                                                                                    \n \n

                                                                                    The JSON that Amazon Web Services Secrets Manager expects as your request parameters and the service returns as a\n response to HTTP query requests contain single, long strings without line breaks or white\n space formatting. The JSON shown in the examples displays the code formatted with both line\n breaks and white space to improve readability. When example input parameters can also cause\n long strings extending beyond the screen, you can insert line breaks to enhance readability.\n You should always submit the input as a single JSON text string.

                                                                                    \n \n \n

                                                                                    \n Logging API Requests\n

                                                                                    \n

                                                                                    Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services\n account and delivers log files to an Amazon S3 bucket. By using information that's collected\n by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the\n request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services\n CloudTrail, see Logging\n Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide.\n To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/securityhub/Cargo.toml b/sdk/securityhub/Cargo.toml index 7665f0a2ba05..e87bae28a4d1 100644 --- a/sdk/securityhub/Cargo.toml +++ b/sdk/securityhub/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-securityhub" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Security Hub provides you with a comprehensive view of the security state of your Amazon Web Services environment and resources. It also provides you with the readiness status\n of your environment based on controls from supported security standards. Security Hub collects\n security data from Amazon Web Services accounts, services, and integrated third-party products and helps\n you analyze security trends in your environment to identify the highest priority security\n issues. For more information about Security Hub, see the Security HubUser\n Guide\n .

                                                                                    \n

                                                                                    When you use operations in the Security Hub API, the requests are executed only in the Amazon Web Services\n Region that is currently active or in the specific Amazon Web Services Region that you specify in your\n request. Any configuration or settings change that results from the operation is applied\n only to that Region. To make the same change in other Regions, execute the same command for\n each Region to apply the change to.

                                                                                    \n

                                                                                    For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of\n the member account with the administrator account is created only in the us-west-2\n Region. Security Hub must be enabled for the member account in the same Region that the invitation\n was sent from.

                                                                                    \n

                                                                                    The following throttling limits apply to using Security Hub API operations.

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      \n BatchEnableStandards - RateLimit of 1\n request per second, BurstLimit of 1 request per second.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n GetFindings - RateLimit of 3 requests per second.\n BurstLimit of 6 requests per second.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n UpdateFindings - RateLimit of 1 request per\n second. BurstLimit of 5 requests per second.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n UpdateStandardsControl - RateLimit of\n 1 request per second, BurstLimit of 5 requests per second.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      All other operations - RateLimit of 10 requests per second.\n BurstLimit of 30 requests per second.

                                                                                      \n
                                                                                    • \n
                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/serverlessapplicationrepository/Cargo.toml b/sdk/serverlessapplicationrepository/Cargo.toml index 34873caa6b6a..749b1e1f1c45 100644 --- a/sdk/serverlessapplicationrepository/Cargo.toml +++ b/sdk/serverlessapplicationrepository/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-serverlessapplicationrepository" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find\n and deploy serverless applications in the AWS Cloud. For more information about serverless applications,\n see Serverless Computing and Applications on the AWS website.

                                                                                    The AWS Serverless Application Repository is deeply integrated with the AWS Lambda console, so that developers of \n all levels can get started with serverless computing without needing to learn anything new. You can use category \n keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. \n You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, \n configure any required fields, and deploy it with a few clicks.

                                                                                    You can also easily publish applications, sharing them publicly with the community at large, or privately\n within your team or across your organization. To publish a serverless application (or app), you can use the\n AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the\n code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template.\n For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs\n GitHub repository.

                                                                                    The AWS Serverless Application Repository Developer Guide contains more information about the two developer\n experiences available:

                                                                                      \n
                                                                                    • \n

                                                                                      Consuming Applications – Browse for applications and view information about them, including\n source code and readme files. Also install, configure, and deploy applications of your choosing.

                                                                                      \n

                                                                                      Publishing Applications – Configure and upload applications to make them available to other\n developers, and publish new versions of applications.

                                                                                      \n
                                                                                    • \n
                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/servicecatalog/Cargo.toml b/sdk/servicecatalog/Cargo.toml index 2dd5e8abb4a2..33f29756c56a 100644 --- a/sdk/servicecatalog/Cargo.toml +++ b/sdk/servicecatalog/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-servicecatalog" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Service Catalog\n

                                                                                    \n AWS Service Catalog enables\n organizations to create and manage catalogs of IT services that are approved for AWS. To\n get the most out of this documentation, you should be familiar with the terminology\n discussed in AWS Service Catalog\n Concepts.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/servicecatalogappregistry/Cargo.toml b/sdk/servicecatalogappregistry/Cargo.toml index c3e9cb57e051..d0fa1ad7fc04 100644 --- a/sdk/servicecatalogappregistry/Cargo.toml +++ b/sdk/servicecatalogappregistry/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-servicecatalogappregistry" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    AWS Service Catalog AppRegistry enables organizations to understand the application context of their AWS resources. AppRegistry provides a repository of your applications, their resources, and the application metadata that you use within your enterprise.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/servicediscovery/Cargo.toml b/sdk/servicediscovery/Cargo.toml index 24e77a2d3299..2fa4770d7873 100644 --- a/sdk/servicediscovery/Cargo.toml +++ b/sdk/servicediscovery/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-servicediscovery" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Cloud Map\n

                                                                                    With Cloud Map, you can configure public DNS, private DNS, or HTTP namespaces that your microservice\n applications run in. When an instance becomes available, you can call the Cloud Map API to register the instance\n with Cloud Map. For public or private DNS namespaces, Cloud Map automatically creates DNS records and an optional\n health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer\n that contains up to eight healthy records.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/servicequotas/Cargo.toml b/sdk/servicequotas/Cargo.toml index fb12f71a0245..a09ad2665428 100644 --- a/sdk/servicequotas/Cargo.toml +++ b/sdk/servicequotas/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-servicequotas" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    With Service Quotas, you can view and manage your quotas easily as your AWS workloads\n grow. Quotas, also referred to as limits, are the maximum number of resources that you can\n create in your AWS account. For more information, see the Service Quotas User Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ses/Cargo.toml b/sdk/ses/Cargo.toml index 009883ff2612..d19b5c97d850 100644 --- a/sdk/ses/Cargo.toml +++ b/sdk/ses/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ses" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Simple Email Service\n

                                                                                    This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version\n 2010-12-01. This document is best used in conjunction with the Amazon SES Developer\n Guide.

                                                                                    \n \n

                                                                                    For a list of Amazon SES endpoints to use in service requests, see Regions and\n Amazon SES in the Amazon SES Developer\n Guide.

                                                                                    \n
                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sesv2/Cargo.toml b/sdk/sesv2/Cargo.toml index f74e50910352..241b04df578b 100644 --- a/sdk/sesv2/Cargo.toml +++ b/sdk/sesv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sesv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon SES API v2\n

                                                                                    Welcome to the Amazon SES API v2 Reference. This guide provides information about the Amazon SES API v2,\n including supported operations, data types, parameters, and schemas.

                                                                                    \n

                                                                                    \n Amazon SES is an AWS service that\n you can use to send email messages to your customers.

                                                                                    \n

                                                                                    If you're new to Amazon SES API v2, you might find it helpful to also review the Amazon Simple Email Service Developer\n Guide. The Amazon SES Developer Guide provides information\n and code samples that demonstrate how to use Amazon SES API v2 features programmatically.

                                                                                    \n

                                                                                    The Amazon SES API v2 is available in several AWS Regions and it provides an endpoint for each\n of these Regions. For a list of all the Regions and endpoints where the API is currently\n available, see AWS Service Endpoints in the Amazon Web Services General Reference. To\n learn more about AWS Regions, see Managing AWS Regions in the\n Amazon Web Services General Reference.

                                                                                    \n

                                                                                    In each Region, AWS maintains multiple Availability Zones. These Availability Zones\n are physically isolated from each other, but are united by private, low-latency,\n high-throughput, and highly redundant network connections. These Availability Zones\n enable us to provide very high levels of availability and redundancy, while also\n minimizing latency. To learn more about the number of Availability Zones that are\n available in each Region, see AWS Global Infrastructure.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sfn/Cargo.toml b/sdk/sfn/Cargo.toml index c69f3ee140a5..8c51d10bcefb 100644 --- a/sdk/sfn/Cargo.toml +++ b/sdk/sfn/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sfn" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Step Functions\n

                                                                                    AWS Step Functions is a service that lets you coordinate the components of distributed applications\n and microservices using visual workflows.

                                                                                    \n

                                                                                    You can use Step Functions to build applications from individual components, each of which performs\n a discrete function, or task, allowing you to scale and change\n applications quickly. Step Functions provides a console that helps visualize the components of your\n application as a series of steps. Step Functions automatically triggers and tracks each step, and\n retries steps when there are errors, so your application executes predictably and in the right\n order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any\n issues.

                                                                                    \n

                                                                                    Step Functions manages operations and underlying infrastructure to ensure your application is\n available at any scale. You can run tasks on AWS, your own servers, or any system that has\n access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API.\n For more information about Step Functions, see the \n AWS Step Functions Developer Guide\n .

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/shield/Cargo.toml b/sdk/shield/Cargo.toml index ef76be19c175..9071e02bf874 100644 --- a/sdk/shield/Cargo.toml +++ b/sdk/shield/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-shield" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Shield Advanced\n

                                                                                    This is the Shield Advanced API Reference. This guide is for developers who need detailed information about the Shield Advanced API actions, \n data types, and errors. For detailed information about WAF and Shield Advanced features and an overview of how to use the WAF and Shield Advanced APIs, see the \n WAF and Shield Developer Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/signer/Cargo.toml b/sdk/signer/Cargo.toml index 1ab5671e3a83..78a3674d3dc4 100644 --- a/sdk/signer/Cargo.toml +++ b/sdk/signer/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-signer" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    AWS Signer is a fully managed code signing service to help you ensure the trust and\n\t\t\tintegrity of your code.

                                                                                    \n\t\t

                                                                                    AWS Signer supports the following applications:

                                                                                    \n\n\t\t

                                                                                    With code signing for AWS Lambda, you can sign AWS Lambda\n\t\t\tdeployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch,\n\t\t\tand AWS CloudTrail. In order to sign code, you create a signing profile and then use\n\t\t\tSigner to sign Lambda zip files in S3.

                                                                                    \n\t\t\n\t\t

                                                                                    With code signing for IoT, you can sign code for any IoT device that is\n\t\t\tsupported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is\n\t\t\tintegrated with AWS Certificate Manager (ACM). In order to sign\n\t\t\tcode, you import a third-party code signing certificate using ACM, and use that to\n\t\t\tsign updates in Amazon FreeRTOS and AWS IoT Device Management.

                                                                                    \n\t\t

                                                                                    For more information about AWS Signer, see the AWS Signer Developer Guide.

                                                                                    \n\t\t\n\t\t

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/smithy-async/src/rt/sleep.rs b/sdk/smithy-async/src/rt/sleep.rs index 4ac7dceb8296..e376778e919f 100644 --- a/sdk/smithy-async/src/rt/sleep.rs +++ b/sdk/smithy-async/src/rt/sleep.rs @@ -17,6 +17,16 @@ pub trait AsyncSleep: std::fmt::Debug + Send + Sync { fn sleep(&self, duration: Duration) -> Sleep; } +impl AsyncSleep for Box +where + T: AsyncSleep, + T: ?Sized, +{ + fn sleep(&self, duration: Duration) -> Sleep { + T::sleep(&self, duration) + } +} + /// Returns a default sleep implementation based on the features enabled, or `None` if /// there isn't one available from this crate. pub fn default_async_sleep() -> Option> { diff --git a/sdk/smithy-client/Cargo.toml b/sdk/smithy-client/Cargo.toml index 669364c4cda0..d6205edbccfc 100644 --- a/sdk/smithy-client/Cargo.toml +++ b/sdk/smithy-client/Cargo.toml @@ -8,7 +8,7 @@ license = "Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -test-util = ["protocol-test-helpers"] +test-util = ["protocol-test-helpers", "serde/derive"] default = ["hyper", "rustls"] native-tls = ["hyper", "hyper-tls"] rustls = ["hyper", "hyper-rustls"] @@ -31,7 +31,10 @@ pin-project = "1" tracing = "0.1" protocol-test-helpers = { path = "../protocol-test-helpers", optional = true } +serde = { version = "1", features = ["derive"], optional = true } [dev-dependencies] tokio = { version = "1", features = ["full", "test-util"] } tower-test = "0.4.0" +serde = { version = "1", features = ["derive"] } +serde_json = "1" diff --git a/sdk/smithy-client/src/dvr.rs b/sdk/smithy-client/src/dvr.rs new file mode 100644 index 000000000000..01f8cf8e9d7b --- /dev/null +++ b/sdk/smithy-client/src/dvr.rs @@ -0,0 +1,276 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +//! Extremely Experimental Test Connection +//! +//! Warning: Extremely experimental, API likely to change. +//! +//! DVR is an extremely experimental record & replay framework that supports multi-frame HTTP request / response traffic. + +use std::collections::HashMap; + +use bytes::Bytes; +use serde::{Deserialize, Serialize}; + +pub use record::RecordingConnection; +pub use replay::ReplayingConnection; +use smithy_types::base64; + +mod record; +mod replay; + +/// A complete traffic recording +/// +/// A traffic recording can be replayed with [`RecordingConnection`](RecordingConnection) +#[derive(Debug, Serialize, Deserialize)] +pub struct NetworkTraffic { + events: Vec, + docs: Option, + version: Version, +} + +impl NetworkTraffic { + /// Network events + pub fn events(&self) -> &Vec { + &self.events + } +} + +/// Serialization version of DVR data +#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] +pub enum Version { + /// Initial network traffic version + V0, +} + +/// A network traffic recording may contain multiple different connections occurring simultaneously +#[derive(Copy, Clone, Debug, Serialize, Deserialize, Hash, PartialEq, Eq)] +pub struct ConnectionId(usize); + +/// A network event +/// +/// Network events consist of a connection identifier and an action. An event is sufficient to +/// reproduce traffic later during replay +#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)] +pub struct Event { + connection_id: ConnectionId, + action: Action, +} + +/// An initial HTTP request, roughly equivalent to `http::Request<()>` +/// +/// The initial request phase of an HTTP request. The body will be +/// sent later as a separate action. +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +pub struct Request { + uri: String, + headers: HashMap>, + method: String, +} + +/// An initial HTTP response roughly equivalent to `http::Response<()>` +/// +/// The initial response phase of an HTTP request. The body will be +/// sent later as a separate action. +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +pub struct Response { + status: u16, + version: String, + headers: HashMap>, +} + +impl From<&Request> for http::Request<()> { + fn from(request: &Request) -> Self { + let mut builder = http::Request::builder().uri(request.uri.as_str()); + for (k, values) in request.headers.iter() { + for v in values { + builder = builder.header(k, v); + } + } + builder.method(request.method.as_str()).body(()).unwrap() + } +} + +impl<'a, B> From<&'a http::Request> for Request { + fn from(req: &'a http::Request) -> Self { + let uri = req.uri().to_string(); + let headers = headers_to_map(req.headers()); + let method = req.method().to_string(); + Self { + uri, + headers, + method, + } + } +} + +fn headers_to_map(headers: &http::HeaderMap) -> HashMap> { + let mut out: HashMap<_, Vec<_>> = HashMap::new(); + for (header_name, header_value) in headers.iter() { + let entry = out.entry(header_name.to_string()).or_default(); + entry.push(header_value.to_str().unwrap().to_string()); + } + out +} + +impl<'a, B> From<&'a http::Response> for Response { + fn from(resp: &'a http::Response) -> Self { + let status = resp.status().as_u16(); + let version = format!("{:?}", resp.version()); + let headers = headers_to_map(resp.headers()); + Self { + status, + version, + headers, + } + } +} + +/// Error response wrapper +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +pub struct Error(String); + +/// Network Action +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +#[non_exhaustive] +pub enum Action { + /// Initial HTTP Request + Request { + /// HTTP Request headers, method, and URI + request: Request, + }, + + /// Initial HTTP response or failure + Response { + /// HTTP response or failure + response: Result, + }, + + /// Data segment + Data { + /// Body Data + data: BodyData, + /// Direction: request vs. response + direction: Direction, + }, + + /// End of data + Eof { + /// Succesful vs. failed termination + ok: bool, + /// Direction: request vs. response + direction: Direction, + }, +} + +/// Event direction +/// +/// During replay, this is used to replay data in the right direction +#[derive(Copy, Clone, Debug, Serialize, Deserialize, Eq, PartialEq)] +pub enum Direction { + /// Request phase + Request, + /// Response phase + Response, +} + +impl Direction { + /// The opposite of a given direction + pub fn opposite(self) -> Self { + match self { + Direction::Request => Direction::Response, + Direction::Response => Direction::Request, + } + } +} + +/// HTTP Body Data Abstraction +/// +/// When the data is a UTF-8 encoded string, it will be serialized as a string for readability. +/// Otherwise, it will be base64 encoded. +#[derive(Clone, Debug, Serialize, Deserialize, Eq, PartialEq)] +#[non_exhaustive] +pub enum BodyData { + /// UTF-8 encoded data + Utf8(String), + + /// Base64 encoded binary data + Base64(String), +} + +impl BodyData { + /// Convert [`BodyData`](BodyData) into Bytes + pub fn into_bytes(self) -> Vec { + match self { + BodyData::Utf8(string) => string.into_bytes(), + BodyData::Base64(string) => base64::decode(string).unwrap(), + } + } + + /// Copy [`BodyData`](BodyData) into a `Vec` + pub fn copy_to_vec(&self) -> Vec { + match self { + BodyData::Utf8(string) => string.as_bytes().into(), + BodyData::Base64(string) => base64::decode(string).unwrap(), + } + } +} + +impl From for BodyData { + fn from(data: Bytes) -> Self { + match std::str::from_utf8(data.as_ref()) { + Ok(string) => BodyData::Utf8(string.to_string()), + Err(_) => BodyData::Base64(base64::encode(data)), + } + } +} + +#[cfg(test)] +mod tests { + use std::error::Error; + use std::fs; + + use smithy_http::body::SdkBody; + use smithy_http::byte_stream::ByteStream; + + use crate::dvr::{NetworkTraffic, RecordingConnection, ReplayingConnection}; + use bytes::Bytes; + use http::Uri; + + #[tokio::test] + async fn turtles_all_the_way_down() -> Result<(), Box> { + // create a replaying connection from a recording, wrap a recording connection around it, + // make a request, then verify that the same traffic was recorded. + let network_traffic = fs::read_to_string("test-data/example.com.json")?; + let network_traffic: NetworkTraffic = serde_json::from_str(&network_traffic)?; + let inner = ReplayingConnection::new(network_traffic.events.clone()); + let mut connection = RecordingConnection::new(inner.clone()); + let req = http::Request::post("https://www.example.com") + .body(SdkBody::from("hello world")) + .unwrap(); + use tower::Service; + let mut resp = connection.call(req).await.expect("ok"); + let body = std::mem::replace(resp.body_mut(), SdkBody::taken()); + let data = ByteStream::new(body).collect().await.unwrap().into_bytes(); + assert_eq!( + String::from_utf8(data.to_vec()).unwrap(), + "hello from example.com" + ); + assert_eq!( + connection.events().as_slice(), + network_traffic.events.as_slice() + ); + let requests = inner.take_requests(); + assert_eq!( + requests[0].uri(), + &Uri::from_static("https://www.example.com") + ); + assert_eq!( + requests[0].body(), + &Bytes::from_static("hello world".as_bytes()) + ); + Ok(()) + } +} diff --git a/sdk/smithy-client/src/dvr/record.rs b/sdk/smithy-client/src/dvr/record.rs new file mode 100644 index 000000000000..416cc038a9bf --- /dev/null +++ b/sdk/smithy-client/src/dvr/record.rs @@ -0,0 +1,216 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::future::Future; +use std::pin::Pin; +use std::sync::atomic::{AtomicUsize, Ordering}; +use std::sync::{Arc, Mutex, MutexGuard}; +use std::task::{Context, Poll}; + +use http_body::Body; +use tokio::task::JoinHandle; +use tower::{BoxError, Service}; + +use smithy_http::body::SdkBody; + +use crate::dvr::{self, Action, BodyData, ConnectionId, Direction, Error, NetworkTraffic, Version}; + +use super::Event; + +/// Recording Connection Wrapper +/// +/// RecordingConnection wraps an inner connection and records all traffic, enabling traffic replay. +#[derive(Clone, Debug)] +pub struct RecordingConnection { + pub(crate) data: Arc>>, + pub(crate) num_events: Arc, + pub(crate) inner: S, +} + +impl RecordingConnection { + /// Construct a recording connection wrapping a default HTTPS implementation + #[cfg(feature = "hyper-rustls")] + pub fn https() -> Self { + Self { + data: Default::default(), + inner: crate::conns::https(), + num_events: Arc::new(AtomicUsize::new(0)), + } + } +} + +impl RecordingConnection { + /// Create a new recording connection from a connection + pub fn new(connection: S) -> Self { + Self { + data: Default::default(), + inner: connection, + num_events: Arc::new(AtomicUsize::new(0)), + } + } + + /// Return the traffic recorded by this connection + pub fn events(&self) -> MutexGuard<'_, Vec> { + self.data.lock().unwrap() + } + + /// NetworkTraffic struct suitable for serialization + pub fn network_traffic(&self) -> NetworkTraffic { + NetworkTraffic { + events: self.events().clone(), + docs: Some("todo docs".into()), + version: Version::V0, + } + } + + fn next_id(&self) -> ConnectionId { + ConnectionId(self.num_events.fetch_add(1, Ordering::Relaxed)) + } +} + +fn record_body( + body: &mut SdkBody, + event_id: ConnectionId, + direction: Direction, + event_bus: Arc>>, +) -> JoinHandle<()> { + let (sender, output_body) = hyper::Body::channel(); + let real_body = std::mem::replace(body, SdkBody::from(output_body)); + tokio::spawn(async move { + let mut real_body = real_body; + let mut sender = sender; + loop { + let data = real_body.data().await; + match data { + Some(Ok(data)) => { + event_bus.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Data { + data: BodyData::from(data.clone()), + direction, + }, + }); + // This happens if the real connection is closed during recording. + // Need to think more carefully if this is the correct thing to log in this + // case. + if sender.send_data(data).await.is_err() { + event_bus.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Eof { + direction: direction.opposite(), + ok: false, + }, + }) + }; + } + None => { + event_bus.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Eof { + ok: true, + direction, + }, + }); + drop(sender); + break; + } + Some(Err(_err)) => { + event_bus.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Eof { + ok: false, + direction, + }, + }); + sender.abort(); + break; + } + } + } + }) +} + +impl tower::Service> for RecordingConnection +where + S: Service, Response = http::Response> + + Send + + Clone + + 'static, + S::Error: Into + Send + Sync + 'static, + S::Future: Send + 'static, + ResponseBody: Into, +{ + type Response = http::Response; + type Error = BoxError; + #[allow(clippy::type_complexity)] + type Future = + Pin, Self::Error>> + Send>>; + + fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll> { + self.inner.poll_ready(cx).map_err(|err| err.into()) + } + + fn call(&mut self, mut req: http::Request) -> Self::Future { + let event_id = self.next_id(); + // A request has two 3 phases: + // 1. A "Request" phase. This is initial HTTP request, headers, & URI + // 2. A body phase. This may contain multiple data segments. + // 3. A finalization phase. An EOF of some sort is sent on the body to indicate that + // the channel should be closed. + + // Phase 1: the initial http request + self.data.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Request { + request: dvr::Request::from(&req), + }, + }); + + // Phase 2: Swap out the real request body for one that will log all traffic that passes + // through it + // This will also handle phase three when the request body runs out of data. + record_body( + req.body_mut(), + event_id, + Direction::Request, + self.data.clone(), + ); + let events = self.data.clone(); + // create a channel we'll use to stream the data while reading it + let resp_fut = self.inner.call(req); + let fut = async move { + let resp = resp_fut.await; + match resp { + Ok(resp) => { + // wrap the hyper body in an SDK body + let mut resp = resp.map(|body| body.into()); + + // push the initial response event + events.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Response { + response: Ok(dvr::Response::from(&resp)), + }, + }); + + // instrument the body and record traffic + record_body(resp.body_mut(), event_id, Direction::Response, events); + Ok(resp) + } + Err(e) => { + let e = e.into(); + events.lock().unwrap().push(Event { + connection_id: event_id, + action: Action::Response { + response: Err(Error(format!("{}", &e))), + }, + }); + Err(e) + } + } + }; + Box::pin(fut) + } +} diff --git a/sdk/smithy-client/src/dvr/replay.rs b/sdk/smithy-client/src/dvr/replay.rs new file mode 100644 index 000000000000..e4b87e1faffa --- /dev/null +++ b/sdk/smithy-client/src/dvr/replay.rs @@ -0,0 +1,276 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use crate::dvr::{Action, ConnectionId, Direction, Event}; +use bytes::{Bytes, BytesMut}; +use http::{Request, Version}; +use http_body::Body; +use smithy_http::body::SdkBody; +use std::collections::{HashMap, VecDeque}; +use std::error::Error; +use std::sync::atomic::{AtomicUsize, Ordering}; +use std::sync::{Arc, Mutex}; +use std::task::{Context, Poll}; + +/// Replay traffic recorded by a [`RecordingConnection`](super::RecordingConnection) +#[derive(Clone, Debug)] +pub struct ReplayingConnection { + live_events: Arc>>>, + verifiable_events: Arc>>, + num_events: Arc, + recorded_requests: Arc>>>, +} + +impl ReplayingConnection { + fn next_id(&self) -> ConnectionId { + ConnectionId(self.num_events.fetch_add(1, Ordering::Relaxed)) + } + + /// Validate actual requests against expected requests + pub fn validate( + self, + checked_headers: &[&str], + body_comparer: impl Fn(&[u8], &[u8]) -> Result<(), Box>, + ) -> Result<(), Box> { + let actual_requests = self.recorded_requests.lock().unwrap(); + for conn_id in 0..self.verifiable_events.len() { + let conn_id = ConnectionId(conn_id); + let expected = self.verifiable_events.get(&conn_id).unwrap(); + let actual = actual_requests.get(&conn_id).ok_or(format!( + "expected connection {:?} but request was never sent", + conn_id + ))?; + if actual.uri() != expected.uri() { + return Err(format!( + "URI did not match. Expected: {}. Found: {}", + expected.uri(), + actual.uri() + ) + .into()); + } + body_comparer(expected.body().as_ref(), actual.body().as_ref())?; + let expected_headers = checked_headers + .iter() + .flat_map(|key| { + let _ = expected.headers().get(*key)?; + Some(( + *key, + expected + .headers() + .get_all(*key) + .iter() + .map(|h| h.to_str().unwrap()) + .collect::>() + .join(", "), + )) + }) + .collect::>(); + protocol_test_helpers::validate_headers(actual, expected_headers.as_slice())?; + } + Ok(()) + } + + /// Return all the recorded requests for further analysis + pub fn take_requests(self) -> Vec> { + let mut recorded_requests = self.recorded_requests.lock().unwrap(); + let mut out = Vec::with_capacity(recorded_requests.len()); + for conn_id in 0..recorded_requests.len() { + out.push( + recorded_requests + .remove(&ConnectionId(conn_id)) + .expect("should exist"), + ) + } + out + } + + /// Build a replay connection from a sequence of events + pub fn new(events: Vec) -> Self { + let mut event_map: HashMap<_, VecDeque<_>> = HashMap::new(); + for event in events { + let event_buffer = event_map.entry(event.connection_id).or_default(); + event_buffer.push_back(event); + } + let verifiable_events = event_map + .iter() + .map(|(id, events)| { + let mut body = BytesMut::new(); + for event in events { + if let Action::Data { + direction: Direction::Request, + data, + } = &event.action + { + body.extend_from_slice(&data.copy_to_vec()); + } + } + let initial_request = events.iter().next().expect("must have one event"); + let request = match &initial_request.action { + Action::Request { request } => { + http::Request::from(request).map(|_| Bytes::from(body)) + } + _ => panic!("invalid first event"), + }; + (*id, request) + }) + .collect(); + let verifiable_events = Arc::new(verifiable_events); + + ReplayingConnection { + live_events: Arc::new(Mutex::new(event_map)), + num_events: Arc::new(AtomicUsize::new(0)), + recorded_requests: Default::default(), + verifiable_events, + } + } +} + +async fn replay_body(events: VecDeque, mut sender: hyper::body::Sender) { + for event in events { + match event.action { + Action::Request { .. } => panic!(), + Action::Response { .. } => panic!(), + Action::Data { + data, + direction: Direction::Response, + } => { + sender + .send_data(Bytes::from(data.into_bytes())) + .await + .expect("this is in memory traffic that should not fail to send"); + } + Action::Data { + data: _data, + direction: Direction::Request, + } => {} + Action::Eof { + direction: Direction::Request, + .. + } => {} + Action::Eof { + direction: Direction::Response, + ok: true, + .. + } => { + drop(sender); + break; + } + Action::Eof { + direction: Direction::Response, + ok: false, + .. + } => { + sender.abort(); + break; + } + } + } +} + +fn convert_version(version: &str) -> Version { + match version { + "HTTP/1.1" => Version::HTTP_11, + "HTTP/2.0" => Version::HTTP_2, + _ => panic!("unsupported: {}", version), + } +} + +impl tower::Service> for ReplayingConnection { + type Response = http::Response; + type Error = Box; + + #[allow(clippy::type_complexity)] + type Future = std::pin::Pin< + Box> + Send + 'static>, + >; + + fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { + Poll::Ready(Ok(())) + } + + fn call(&mut self, mut req: Request) -> Self::Future { + let event_id = self.next_id(); + let mut events = self + .live_events + .lock() + .unwrap() + .remove(&event_id) + .expect("no data for event id"); + let _initial_request = events.pop_front().unwrap(); + let (sender, response_body) = hyper::Body::channel(); + let body = SdkBody::from(response_body); + let recording = self.recorded_requests.clone(); + let mut request_complete = Some(tokio::spawn(async move { + let mut data_read = vec![]; + while let Some(data) = req.body_mut().data().await { + data_read + .extend_from_slice(data.expect("in memory request should not fail").as_ref()) + } + recording + .lock() + .unwrap() + .insert(event_id, req.map(|_| Bytes::from(data_read))); + })); + let fut = async move { + let resp = loop { + let event = events + .pop_front() + .expect("no events, needed a response event"); + match event.action { + // to ensure deterministic behavior if the request EOF happens first in the log, + // wait for the request body to be done before returning a response. + Action::Eof { + direction: Direction::Request, + .. + } => match request_complete.take() { + Some(handle) => { + let _ = handle.await; + } + None => panic!("double await on request eof"), + }, + Action::Request { .. } => panic!("invalid"), + Action::Response { + response: Err(error), + } => break Err(error.0.into()), + Action::Response { + response: Ok(response), + } => { + let mut builder = http::Response::builder() + .status(response.status) + .version(convert_version(&response.version)); + for (name, values) in response.headers { + for value in values { + builder = builder.header(&name, &value); + } + } + tokio::spawn(async move { + replay_body(events, sender).await; + // insert the finalized body into + }); + break Ok(builder.body(body).expect("valid builder")); + } + + Action::Data { + direction: Direction::Request, + data: _data, + } => { + tracing::info!("get request data"); + } + Action::Eof { + direction: Direction::Response, + .. + } => panic!("got eof before response"), + + Action::Data { + data: _, + direction: Direction::Response, + } => panic!("got response data before response"), + } + }; + resp + }; + Box::pin(fut) + } +} diff --git a/sdk/smithy-client/src/hyper_impls.rs b/sdk/smithy-client/src/hyper_impls.rs index 041a59bf212e..e3b239da211b 100644 --- a/sdk/smithy-client/src/hyper_impls.rs +++ b/sdk/smithy-client/src/hyper_impls.rs @@ -83,9 +83,7 @@ impl Builder<(), M, R> { self, ) -> Builder>, M, R> { - let https = hyper_rustls::HttpsConnector::with_native_roots(); - let client = hyper::Client::builder().build::<_, SdkBody>(https); - self.connector(HyperAdapter::from(client)) + self.connector(crate::conns::https()) } /// Connect to the service over HTTPS using Rustls. @@ -105,8 +103,6 @@ impl Builder<(), M, R> { pub fn native_tls( self, ) -> Builder>, M, R> { - let https = hyper_tls::HttpsConnector::new(); - let client = hyper::Client::builder().build::<_, SdkBody>(https); - self.connector(HyperAdapter::from(client)) + self.connector(crate::conns::native_tls()) } } diff --git a/sdk/smithy-client/src/lib.rs b/sdk/smithy-client/src/lib.rs index 0da3048af2ff..6454d6830537 100644 --- a/sdk/smithy-client/src/lib.rs +++ b/sdk/smithy-client/src/lib.rs @@ -19,6 +19,8 @@ pub mod retry; mod builder; pub use builder::Builder; +#[cfg(feature = "test-util")] +pub mod dvr; #[cfg(feature = "test-util")] pub mod test_connection; @@ -41,11 +43,27 @@ pub mod static_tests; #[cfg(feature = "hyper")] #[allow(missing_docs)] pub mod conns { + use smithy_http::body::SdkBody; + #[cfg(feature = "rustls")] pub type Https = crate::hyper_impls::HyperAdapter< hyper_rustls::HttpsConnector, >; + #[cfg(feature = "rustls")] + pub fn https() -> Https { + let https = hyper_rustls::HttpsConnector::with_native_roots(); + let client = hyper::Client::builder().build::<_, SdkBody>(https); + crate::hyper_impls::HyperAdapter::from(client) + } + + #[cfg(feature = "native-tls")] + pub fn native_tls() -> NativeTls { + let https = hyper_tls::HttpsConnector::new(); + let client = hyper::Client::builder().build::<_, SdkBody>(https); + crate::hyper_impls::HyperAdapter::from(client) + } + #[cfg(feature = "native-tls")] pub type NativeTls = crate::hyper_impls::HyperAdapter>; diff --git a/sdk/smithy-client/src/test_connection.rs b/sdk/smithy-client/src/test_connection.rs index 29de07f91b8d..b84879e4da59 100644 --- a/sdk/smithy-client/src/test_connection.rs +++ b/sdk/smithy-client/src/test_connection.rs @@ -15,8 +15,88 @@ use std::future::Ready; use std::ops::Deref; use std::sync::{Arc, Mutex}; use std::task::{Context, Poll}; +use tokio::sync::oneshot; use tower::BoxError; +/// Test Connection to capture a single request +#[derive(Debug, Clone)] +pub struct CaptureRequestHandler(Arc>); + +#[derive(Debug)] +struct Inner { + response: Option>, + sender: Option>>, +} + +/// Receiver for [`CaptureRequestHandler`](CaptureRequestHandler) +#[derive(Debug)] +pub struct CaptureRequestReceiver { + receiver: oneshot::Receiver>, +} + +impl CaptureRequestReceiver { + pub fn expect_request(mut self) -> http::Request { + self.receiver.try_recv().expect("no request was received") + } +} + +impl tower::Service> for CaptureRequestHandler { + type Response = http::Response; + type Error = BoxError; + type Future = Ready>; + + fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { + Poll::Ready(Ok(())) + } + + fn call(&mut self, req: Request) -> Self::Future { + let mut inner = self.0.lock().unwrap(); + inner + .sender + .take() + .expect("already sent") + .send(req) + .expect("channel not ready"); + std::future::ready(Ok(inner + .response + .take() + .expect("could not handle second request"))) + } +} + +/// Test connection used to capture a single request +/// +/// If response is `None`, it will reply with a 200 response with an empty body +/// +/// Example: +/// ```rust,compile_fail +/// let (server, request) = capture_request(None); +/// let client = aws_sdk_sts::Client::from_conf_conn(conf, server); +/// let _ = client.assume_role_with_saml().send().await; +/// // web identity should be unsigned +/// assert_eq!( +/// request.expect_request().headers().get("AUTHORIZATION"), +/// None +/// ); +/// ``` +pub fn capture_request( + response: Option>, +) -> (CaptureRequestHandler, CaptureRequestReceiver) { + let (tx, rx) = oneshot::channel(); + ( + CaptureRequestHandler(Arc::new(Mutex::new(Inner { + response: Some(response.unwrap_or_else(|| { + http::Response::builder() + .status(200) + .body(SdkBody::empty()) + .expect("unreachable") + })), + sender: Some(tx), + }))), + CaptureRequestReceiver { receiver: rx }, + ) +} + type ConnectVec = Vec<(http::Request, http::Response)>; #[derive(Debug)] @@ -155,8 +235,10 @@ where #[cfg(test)] mod tests { - use crate::test_connection::TestConnection; - use crate::Client; + use crate::test_connection::{capture_request, TestConnection}; + use crate::{BoxError, Client}; + use hyper::service::Service; + use smithy_http::body::SdkBody; fn is_send_sync(_: T) {} @@ -166,4 +248,22 @@ mod tests { let client: Client<_, _, _> = test_conn.into(); is_send_sync(client); } + + fn is_valid_smithy_connector(_: T) + where + T: Service, Response = http::Response> + + Send + + Sync + + Clone + + 'static, + T::Error: Into + Send + Sync + 'static, + T::Future: Send + 'static, + { + } + + #[test] + fn oneshot_client() { + let (tx, _rx) = capture_request(None); + is_valid_smithy_connector(tx); + } } diff --git a/sdk/smithy-client/test-data/example.com.json b/sdk/smithy-client/test-data/example.com.json new file mode 100644 index 000000000000..821548cc2177 --- /dev/null +++ b/sdk/smithy-client/test-data/example.com.json @@ -0,0 +1,106 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "https://www.example.com/", + "headers": {}, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "hello world" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/2.0", + "headers": { + "etag": [ + "\"3147526947+ident\"" + ], + "vary": [ + "Accept-Encoding" + ], + "server": [ + "ECS (bsa/EB20)" + ], + "x-cache": [ + "HIT" + ], + "age": [ + "355292" + ], + "content-length": [ + "1256" + ], + "cache-control": [ + "max-age=604800" + ], + "expires": [ + "Mon, 16 Aug 2021 18:51:30 GMT" + ], + "content-type": [ + "text/html; charset=UTF-8" + ], + "date": [ + "Mon, 09 Aug 2021 18:51:30 GMT" + ], + "last-modified": [ + "Thu, 17 Oct 2019 07:18:26 GMT" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "hello from example.com" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "test of example.com. response body has been manually changed", + "version": "V0" +} diff --git a/sdk/smithy-http/src/result.rs b/sdk/smithy-http/src/result.rs index 5cda96d51748..6b2be33705ac 100644 --- a/sdk/smithy-http/src/result.rs +++ b/sdk/smithy-http/src/result.rs @@ -44,7 +44,7 @@ where { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { match self { - SdkError::ConstructionFailure(err) => Display::fmt(&err, f), + SdkError::ConstructionFailure(err) => write!(f, "failed to construct request: {}", err), SdkError::DispatchFailure(err) => Display::fmt(&err, f), SdkError::ResponseError { err, .. } => Display::fmt(&err, f), SdkError::ServiceError { err, .. } => Display::fmt(&err, f), diff --git a/sdk/sms/Cargo.toml b/sdk/sms/Cargo.toml index 90a955580ec0..6e05ad7d5ca3 100644 --- a/sdk/sms/Cargo.toml +++ b/sdk/sms/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sms" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Server Migration Service\n

                                                                                    AWS Server Migration Service (AWS SMS) makes it easier and faster for you to migrate your\n on-premises workloads to AWS. To learn more about AWS SMS, see the following \n resources:

                                                                                    \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/snowball/Cargo.toml b/sdk/snowball/Cargo.toml index 52dcbaee1df3..f62cd7990958 100644 --- a/sdk/snowball/Cargo.toml +++ b/sdk/snowball/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-snowball" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to\n transfer large amounts of data between your on-premises data centers and Amazon Simple Storage\n Service (Amazon S3). The Snow commands described here provide access to the same\n functionality that is available in the AWS Snow Family Management Console, which enables you to\n create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll\n need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more\n information, see the User Guide.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/snowdevicemanagement/Cargo.toml b/sdk/snowdevicemanagement/Cargo.toml new file mode 100644 index 000000000000..fdc551510959 --- /dev/null +++ b/sdk/snowdevicemanagement/Cargo.toml @@ -0,0 +1,40 @@ +# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +[package] +name = "aws-sdk-snowdevicemanagement" +version = "0.0.16-alpha" +description = "

                                                                                    Amazon Web Services Snow Device Management documentation.

                                                                                    " +authors = ["AWS Rust SDK Team ", "Russell Cohen "] +license = "Apache-2.0" +edition = "2018" +[dependencies.aws-endpoint] +path = "..//aws-endpoint" +[dependencies.aws-hyper] +path = "..//aws-hyper" +optional = true +[dependencies.smithy-http] +path = "..//smithy-http" +[dependencies.fastrand] +version = "1" +[dependencies.aws-types] +path = "..//aws-types" +[dependencies.aws-auth] +path = "..//aws-auth" +[dependencies.smithy-types] +path = "..//smithy-types" +[dependencies.aws-http] +path = "..//aws-http" +[dependencies.aws-sig-auth] +path = "..//aws-sig-auth" +[dependencies.http] +version = "0.2" +[dependencies.bytes] +version = "1" +[dependencies.smithy-json] +path = "..//smithy-json" +[features] +client = ["aws-hyper"] +rustls = ["aws-hyper/rustls"] +native-tls = ["aws-hyper/native-tls"] +default = ["client", "rustls"] + + diff --git a/sdk/snowdevicemanagement/LICENSE b/sdk/snowdevicemanagement/LICENSE new file mode 100644 index 000000000000..3581ac356771 --- /dev/null +++ b/sdk/snowdevicemanagement/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/sdk/snowdevicemanagement/src/aws_endpoint.rs b/sdk/snowdevicemanagement/src/aws_endpoint.rs new file mode 100644 index 000000000000..f667eeee3be8 --- /dev/null +++ b/sdk/snowdevicemanagement/src/aws_endpoint.rs @@ -0,0 +1,67 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn endpoint_resolver() -> impl aws_endpoint::ResolveAwsEndpoint { + aws_endpoint::PartitionResolver::new( + aws_endpoint::Partition::builder() + .id("aws") + .region_regex(r#"^(us|eu|ap|sa|ca|me|af)\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "snow-device-management.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + vec![ + aws_endpoint::Partition::builder() + .id("aws-cn") + .region_regex(r#"^cn\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "snow-device-management.{region}.amazonaws.com.cn", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso") + .region_regex(r#"^us\-iso\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "snow-device-management.{region}.c2s.ic.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-iso-b") + .region_regex(r#"^us\-isob\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "snow-device-management.{region}.sc2s.sgov.gov", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + aws_endpoint::Partition::builder() + .id("aws-us-gov") + .region_regex(r#"^us\-gov\-\w+\-\d+$"#) + .default_endpoint(aws_endpoint::partition::endpoint::Metadata { + uri_template: "snow-device-management.{region}.amazonaws.com", + protocol: aws_endpoint::partition::endpoint::Protocol::Https, + signature_versions: aws_endpoint::partition::endpoint::SignatureVersion::V4, + credential_scope: aws_endpoint::CredentialScope::builder().build(), + }) + .regionalized(aws_endpoint::partition::Regionalized::Regionalized) + .build() + .expect("invalid partition"), + ], + ) +} diff --git a/sdk/snowdevicemanagement/src/client.rs b/sdk/snowdevicemanagement/src/client.rs new file mode 100644 index 000000000000..118ae66e9e96 --- /dev/null +++ b/sdk/snowdevicemanagement/src/client.rs @@ -0,0 +1,824 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[derive(std::fmt::Debug)] +pub(crate) struct Handle { + client: aws_hyper::Client, + conf: crate::Config, +} + +#[derive(Clone, std::fmt::Debug)] +pub struct Client { + handle: std::sync::Arc>, +} +impl Client { + pub fn from_conf_conn(conf: crate::Config, conn: C) -> Self { + let client = aws_hyper::Client::new(conn); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } + + pub fn conf(&self) -> &crate::Config { + &self.handle.conf + } +} +impl Client { + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_env() -> Self { + Self::from_conf(crate::Config::builder().build()) + } + + #[cfg(any(feature = "rustls", feature = "native-tls"))] + pub fn from_conf(conf: crate::Config) -> Self { + let client = aws_hyper::Client::https(); + Self { + handle: std::sync::Arc::new(Handle { client, conf }), + } + } +} +impl Client +where + C: aws_hyper::SmithyConnector, +{ + pub fn cancel_task(&self) -> fluent_builders::CancelTask { + fluent_builders::CancelTask::new(self.handle.clone()) + } + pub fn create_task(&self) -> fluent_builders::CreateTask { + fluent_builders::CreateTask::new(self.handle.clone()) + } + pub fn describe_device(&self) -> fluent_builders::DescribeDevice { + fluent_builders::DescribeDevice::new(self.handle.clone()) + } + pub fn describe_device_ec2_instances(&self) -> fluent_builders::DescribeDeviceEc2Instances { + fluent_builders::DescribeDeviceEc2Instances::new(self.handle.clone()) + } + pub fn describe_execution(&self) -> fluent_builders::DescribeExecution { + fluent_builders::DescribeExecution::new(self.handle.clone()) + } + pub fn describe_task(&self) -> fluent_builders::DescribeTask { + fluent_builders::DescribeTask::new(self.handle.clone()) + } + pub fn list_device_resources(&self) -> fluent_builders::ListDeviceResources { + fluent_builders::ListDeviceResources::new(self.handle.clone()) + } + pub fn list_devices(&self) -> fluent_builders::ListDevices { + fluent_builders::ListDevices::new(self.handle.clone()) + } + pub fn list_executions(&self) -> fluent_builders::ListExecutions { + fluent_builders::ListExecutions::new(self.handle.clone()) + } + pub fn list_tags_for_resource(&self) -> fluent_builders::ListTagsForResource { + fluent_builders::ListTagsForResource::new(self.handle.clone()) + } + pub fn list_tasks(&self) -> fluent_builders::ListTasks { + fluent_builders::ListTasks::new(self.handle.clone()) + } + pub fn tag_resource(&self) -> fluent_builders::TagResource { + fluent_builders::TagResource::new(self.handle.clone()) + } + pub fn untag_resource(&self) -> fluent_builders::UntagResource { + fluent_builders::UntagResource::new(self.handle.clone()) + } +} +pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct CancelTask { + handle: std::sync::Arc>, + inner: crate::input::cancel_task_input::Builder, + } + impl CancelTask { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CancelTaskOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the task that you are attempting to cancel. You can retrieve a task ID by using + /// the ListTasks operation.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.task_id(input); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_task_id(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct CreateTask { + handle: std::sync::Arc>, + inner: crate::input::create_task_input::Builder, + } + impl CreateTask { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateTaskOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    A list of managed device IDs.

                                                                                    + pub fn targets(mut self, inp: impl Into) -> Self { + self.inner = self.inner.targets(inp); + self + } + pub fn set_targets( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_targets(input); + self + } + ///

                                                                                    The task to be performed. Only one task is executed on a device at a time.

                                                                                    + pub fn command(mut self, input: crate::model::Command) -> Self { + self.inner = self.inner.command(input); + self + } + pub fn set_command(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_command(input); + self + } + ///

                                                                                    A description of the task and its targets.

                                                                                    + pub fn description(mut self, input: impl Into) -> Self { + self.inner = self.inner.description(input); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_description(input); + self + } + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.tags(k, v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + ///

                                                                                    A token ensuring that the action is called only once with the specified details.

                                                                                    + pub fn client_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.client_token(input); + self + } + pub fn set_client_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_client_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeDevice { + handle: std::sync::Arc>, + inner: crate::input::describe_device_input::Builder, + } + impl DescribeDevice { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeDeviceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the device that you are checking the information of.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.managed_device_id(input); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_managed_device_id(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeDeviceEc2Instances { + handle: std::sync::Arc>, + inner: crate::input::describe_device_ec2_instances_input::Builder, + } + impl DescribeDeviceEc2Instances { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeDeviceEc2InstancesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the managed device.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.managed_device_id(input); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_managed_device_id(input); + self + } + ///

                                                                                    A list of instance IDs associated with the managed device.

                                                                                    + pub fn instance_ids(mut self, inp: impl Into) -> Self { + self.inner = self.inner.instance_ids(inp); + self + } + pub fn set_instance_ids( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_instance_ids(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeExecution { + handle: std::sync::Arc>, + inner: crate::input::describe_execution_input::Builder, + } + impl DescribeExecution { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeExecutionOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the task that the action is describing.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.task_id(input); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_task_id(input); + self + } + ///

                                                                                    The ID of the managed device.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.managed_device_id(input); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_managed_device_id(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DescribeTask { + handle: std::sync::Arc>, + inner: crate::input::describe_task_input::Builder, + } + impl DescribeTask { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DescribeTaskOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the task to be described.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.task_id(input); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_task_id(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListDeviceResources { + handle: std::sync::Arc>, + inner: crate::input::list_device_resources_input::Builder, + } + impl ListDeviceResources { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListDeviceResourcesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the managed device that you are listing the resources of.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.managed_device_id(input); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_managed_device_id(input); + self + } + ///

                                                                                    A structure used to filter the results by type of resource.

                                                                                    + pub fn r#type(mut self, input: impl Into) -> Self { + self.inner = self.inner.r#type(input); + self + } + pub fn set_type(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_type(input); + self + } + ///

                                                                                    The maximum number of resources per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListDevices { + handle: std::sync::Arc>, + inner: crate::input::list_devices_input::Builder, + } + impl ListDevices { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListDevicesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the job used to order the device.

                                                                                    + pub fn job_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.job_id(input); + self + } + pub fn set_job_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_job_id(input); + self + } + ///

                                                                                    The maximum number of devices to list per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListExecutions { + handle: std::sync::Arc>, + inner: crate::input::list_executions_input::Builder, + } + impl ListExecutions { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListExecutionsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The ID of the task.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.inner = self.inner.task_id(input); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_task_id(input); + self + } + ///

                                                                                    A structure used to filter the tasks by their current state.

                                                                                    + pub fn state(mut self, input: crate::model::ExecutionState) -> Self { + self.inner = self.inner.state(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_state(input); + self + } + ///

                                                                                    The maximum number of tasks to list per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListTagsForResource { + handle: std::sync::Arc>, + inner: crate::input::list_tags_for_resource_input::Builder, + } + impl ListTagsForResource { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListTagsForResourceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.resource_arn(input); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListTasks { + handle: std::sync::Arc>, + inner: crate::input::list_tasks_input::Builder, + } + impl ListTasks { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListTasksOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    A structure used to filter the list of tasks.

                                                                                    + pub fn state(mut self, input: crate::model::TaskState) -> Self { + self.inner = self.inner.state(input); + self + } + pub fn set_state(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_state(input); + self + } + ///

                                                                                    The maximum number of tasks per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct TagResource { + handle: std::sync::Arc>, + inner: crate::input::tag_resource_input::Builder, + } + impl TagResource { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::TagResourceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.resource_arn(input); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(input); + self + } + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.tags(k, v); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_tags(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UntagResource { + handle: std::sync::Arc>, + inner: crate::input::untag_resource_input::Builder, + } + impl UntagResource { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UntagResourceOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.resource_arn(input); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_resource_arn(input); + self + } + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub fn tag_keys(mut self, inp: impl Into) -> Self { + self.inner = self.inner.tag_keys(inp); + self + } + pub fn set_tag_keys( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_tag_keys(input); + self + } + } +} diff --git a/sdk/snowdevicemanagement/src/config.rs b/sdk/snowdevicemanagement/src/config.rs new file mode 100644 index 000000000000..0e733a1a385e --- /dev/null +++ b/sdk/snowdevicemanagement/src/config.rs @@ -0,0 +1,82 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub struct Config { + pub(crate) make_token: crate::idempotency_token::IdempotencyTokenProvider, + pub(crate) endpoint_resolver: ::std::sync::Arc, + pub(crate) region: Option, + pub(crate) credentials_provider: + std::sync::Arc, +} +impl std::fmt::Debug for Config { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut config = f.debug_struct("Config"); + config.finish() + } +} +impl Config { + pub fn builder() -> Builder { + Builder::default() + } + /// The signature version 4 service signing name to use in the credential scope when signing requests. + /// + /// The signing service may be overidden by the `Endpoint`, or by specifying a custom [`SigningService`](aws_types::SigningService) during + /// operation construction + pub fn signing_service(&self) -> &'static str { + "snow-device-management" + } +} +#[derive(Default)] +pub struct Builder { + make_token: Option, + endpoint_resolver: Option<::std::sync::Arc>, + region: Option, + credentials_provider: Option>, +} +impl Builder { + pub fn new() -> Self { + Self::default() + } + pub fn make_token( + mut self, + make_token: impl Into, + ) -> Self { + self.make_token = Some(make_token.into()); + self + } + pub fn endpoint_resolver( + mut self, + endpoint_resolver: impl aws_endpoint::ResolveAwsEndpoint + 'static, + ) -> Self { + self.endpoint_resolver = Some(::std::sync::Arc::new(endpoint_resolver)); + self + } + pub fn region(mut self, region_provider: impl aws_types::region::ProvideRegion) -> Self { + self.region = region_provider.region(); + self + } + /// Set the credentials provider for this service + pub fn credentials_provider( + mut self, + credentials_provider: impl aws_auth::provider::AsyncProvideCredentials + 'static, + ) -> Self { + self.credentials_provider = Some(std::sync::Arc::new(credentials_provider)); + self + } + pub fn build(self) -> Config { + Config { + make_token: self + .make_token + .unwrap_or_else(crate::idempotency_token::default_provider), + endpoint_resolver: self + .endpoint_resolver + .unwrap_or_else(|| ::std::sync::Arc::new(crate::aws_endpoint::endpoint_resolver())), + region: { + use aws_types::region::ProvideRegion; + self.region + .or_else(|| aws_types::region::default_provider().region()) + }, + credentials_provider: self + .credentials_provider + .unwrap_or_else(|| std::sync::Arc::new(aws_auth::provider::default_provider())), + } + } +} diff --git a/sdk/snowdevicemanagement/src/error.rs b/sdk/snowdevicemanagement/src/error.rs new file mode 100644 index 000000000000..cd1c9a063603 --- /dev/null +++ b/sdk/snowdevicemanagement/src/error.rs @@ -0,0 +1,1831 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CancelTaskError { + pub kind: CancelTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CancelTaskErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CancelTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CancelTaskErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + CancelTaskErrorKind::InternalServerException(_inner) => _inner.fmt(f), + CancelTaskErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + CancelTaskErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + CancelTaskErrorKind::ValidationException(_inner) => _inner.fmt(f), + CancelTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CancelTaskError { + fn code(&self) -> Option<&str> { + CancelTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + CancelTaskErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + CancelTaskErrorKind::ThrottlingException(inner) => Some(inner.retryable_error_kind()), + _ => None, + } + } +} +impl CancelTaskError { + pub fn new(kind: CancelTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CancelTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CancelTaskErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!(&self.kind, CancelTaskErrorKind::AccessDeniedException(_)) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!(&self.kind, CancelTaskErrorKind::InternalServerException(_)) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + CancelTaskErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, CancelTaskErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, CancelTaskErrorKind::ValidationException(_)) + } +} +impl std::error::Error for CancelTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CancelTaskErrorKind::AccessDeniedException(_inner) => Some(_inner), + CancelTaskErrorKind::InternalServerException(_inner) => Some(_inner), + CancelTaskErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + CancelTaskErrorKind::ThrottlingException(_inner) => Some(_inner), + CancelTaskErrorKind::ValidationException(_inner) => Some(_inner), + CancelTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateTaskError { + pub kind: CreateTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateTaskErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ServiceQuotaExceededException(crate::error::ServiceQuotaExceededException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateTaskErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::InternalServerException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::ServiceQuotaExceededException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::ValidationException(_inner) => _inner.fmt(f), + CreateTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateTaskError { + fn code(&self) -> Option<&str> { + CreateTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + CreateTaskErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + CreateTaskErrorKind::ThrottlingException(inner) => Some(inner.retryable_error_kind()), + _ => None, + } + } +} +impl CreateTaskError { + pub fn new(kind: CreateTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateTaskErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!(&self.kind, CreateTaskErrorKind::AccessDeniedException(_)) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!(&self.kind, CreateTaskErrorKind::InternalServerException(_)) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + CreateTaskErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_service_quota_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateTaskErrorKind::ServiceQuotaExceededException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, CreateTaskErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, CreateTaskErrorKind::ValidationException(_)) + } +} +impl std::error::Error for CreateTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateTaskErrorKind::AccessDeniedException(_inner) => Some(_inner), + CreateTaskErrorKind::InternalServerException(_inner) => Some(_inner), + CreateTaskErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + CreateTaskErrorKind::ServiceQuotaExceededException(_inner) => Some(_inner), + CreateTaskErrorKind::ThrottlingException(_inner) => Some(_inner), + CreateTaskErrorKind::ValidationException(_inner) => Some(_inner), + CreateTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeDeviceError { + pub kind: DescribeDeviceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeDeviceErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeDeviceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeDeviceErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + DescribeDeviceErrorKind::InternalServerException(_inner) => _inner.fmt(f), + DescribeDeviceErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DescribeDeviceErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DescribeDeviceErrorKind::ValidationException(_inner) => _inner.fmt(f), + DescribeDeviceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeDeviceError { + fn code(&self) -> Option<&str> { + DescribeDeviceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + DescribeDeviceErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + DescribeDeviceErrorKind::ThrottlingException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl DescribeDeviceError { + pub fn new(kind: DescribeDeviceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeDeviceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeDeviceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceErrorKind::AccessDeniedException(_) + ) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, DescribeDeviceErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, DescribeDeviceErrorKind::ValidationException(_)) + } +} +impl std::error::Error for DescribeDeviceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeDeviceErrorKind::AccessDeniedException(_inner) => Some(_inner), + DescribeDeviceErrorKind::InternalServerException(_inner) => Some(_inner), + DescribeDeviceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DescribeDeviceErrorKind::ThrottlingException(_inner) => Some(_inner), + DescribeDeviceErrorKind::ValidationException(_inner) => Some(_inner), + DescribeDeviceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeDeviceEc2InstancesError { + pub kind: DescribeDeviceEc2InstancesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeDeviceEc2InstancesErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeDeviceEc2InstancesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeDeviceEc2InstancesErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + DescribeDeviceEc2InstancesErrorKind::InternalServerException(_inner) => _inner.fmt(f), + DescribeDeviceEc2InstancesErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DescribeDeviceEc2InstancesErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DescribeDeviceEc2InstancesErrorKind::ValidationException(_inner) => _inner.fmt(f), + DescribeDeviceEc2InstancesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeDeviceEc2InstancesError { + fn code(&self) -> Option<&str> { + DescribeDeviceEc2InstancesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + DescribeDeviceEc2InstancesErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + DescribeDeviceEc2InstancesErrorKind::ThrottlingException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl DescribeDeviceEc2InstancesError { + pub fn new(kind: DescribeDeviceEc2InstancesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeDeviceEc2InstancesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeDeviceEc2InstancesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceEc2InstancesErrorKind::AccessDeniedException(_) + ) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceEc2InstancesErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceEc2InstancesErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceEc2InstancesErrorKind::ThrottlingException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!( + &self.kind, + DescribeDeviceEc2InstancesErrorKind::ValidationException(_) + ) + } +} +impl std::error::Error for DescribeDeviceEc2InstancesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeDeviceEc2InstancesErrorKind::AccessDeniedException(_inner) => Some(_inner), + DescribeDeviceEc2InstancesErrorKind::InternalServerException(_inner) => Some(_inner), + DescribeDeviceEc2InstancesErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DescribeDeviceEc2InstancesErrorKind::ThrottlingException(_inner) => Some(_inner), + DescribeDeviceEc2InstancesErrorKind::ValidationException(_inner) => Some(_inner), + DescribeDeviceEc2InstancesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeExecutionError { + pub kind: DescribeExecutionErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeExecutionErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeExecutionError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeExecutionErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + DescribeExecutionErrorKind::InternalServerException(_inner) => _inner.fmt(f), + DescribeExecutionErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DescribeExecutionErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DescribeExecutionErrorKind::ValidationException(_inner) => _inner.fmt(f), + DescribeExecutionErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeExecutionError { + fn code(&self) -> Option<&str> { + DescribeExecutionError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + DescribeExecutionErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + DescribeExecutionErrorKind::ThrottlingException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl DescribeExecutionError { + pub fn new(kind: DescribeExecutionErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeExecutionErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeExecutionErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + DescribeExecutionErrorKind::AccessDeniedException(_) + ) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + DescribeExecutionErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeExecutionErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + DescribeExecutionErrorKind::ThrottlingException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!( + &self.kind, + DescribeExecutionErrorKind::ValidationException(_) + ) + } +} +impl std::error::Error for DescribeExecutionError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeExecutionErrorKind::AccessDeniedException(_inner) => Some(_inner), + DescribeExecutionErrorKind::InternalServerException(_inner) => Some(_inner), + DescribeExecutionErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DescribeExecutionErrorKind::ThrottlingException(_inner) => Some(_inner), + DescribeExecutionErrorKind::ValidationException(_inner) => Some(_inner), + DescribeExecutionErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DescribeTaskError { + pub kind: DescribeTaskErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DescribeTaskErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DescribeTaskError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DescribeTaskErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + DescribeTaskErrorKind::InternalServerException(_inner) => _inner.fmt(f), + DescribeTaskErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + DescribeTaskErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + DescribeTaskErrorKind::ValidationException(_inner) => _inner.fmt(f), + DescribeTaskErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DescribeTaskError { + fn code(&self) -> Option<&str> { + DescribeTaskError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + DescribeTaskErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + DescribeTaskErrorKind::ThrottlingException(inner) => Some(inner.retryable_error_kind()), + _ => None, + } + } +} +impl DescribeTaskError { + pub fn new(kind: DescribeTaskErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DescribeTaskErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DescribeTaskErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!(&self.kind, DescribeTaskErrorKind::AccessDeniedException(_)) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + DescribeTaskErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DescribeTaskErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, DescribeTaskErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, DescribeTaskErrorKind::ValidationException(_)) + } +} +impl std::error::Error for DescribeTaskError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DescribeTaskErrorKind::AccessDeniedException(_inner) => Some(_inner), + DescribeTaskErrorKind::InternalServerException(_inner) => Some(_inner), + DescribeTaskErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + DescribeTaskErrorKind::ThrottlingException(_inner) => Some(_inner), + DescribeTaskErrorKind::ValidationException(_inner) => Some(_inner), + DescribeTaskErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListDeviceResourcesError { + pub kind: ListDeviceResourcesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListDeviceResourcesErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListDeviceResourcesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListDeviceResourcesErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + ListDeviceResourcesErrorKind::InternalServerException(_inner) => _inner.fmt(f), + ListDeviceResourcesErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + ListDeviceResourcesErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + ListDeviceResourcesErrorKind::ValidationException(_inner) => _inner.fmt(f), + ListDeviceResourcesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListDeviceResourcesError { + fn code(&self) -> Option<&str> { + ListDeviceResourcesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + ListDeviceResourcesErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + ListDeviceResourcesErrorKind::ThrottlingException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl ListDeviceResourcesError { + pub fn new(kind: ListDeviceResourcesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListDeviceResourcesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListDeviceResourcesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + ListDeviceResourcesErrorKind::AccessDeniedException(_) + ) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + ListDeviceResourcesErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + ListDeviceResourcesErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!( + &self.kind, + ListDeviceResourcesErrorKind::ThrottlingException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!( + &self.kind, + ListDeviceResourcesErrorKind::ValidationException(_) + ) + } +} +impl std::error::Error for ListDeviceResourcesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListDeviceResourcesErrorKind::AccessDeniedException(_inner) => Some(_inner), + ListDeviceResourcesErrorKind::InternalServerException(_inner) => Some(_inner), + ListDeviceResourcesErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + ListDeviceResourcesErrorKind::ThrottlingException(_inner) => Some(_inner), + ListDeviceResourcesErrorKind::ValidationException(_inner) => Some(_inner), + ListDeviceResourcesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListDevicesError { + pub kind: ListDevicesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListDevicesErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListDevicesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListDevicesErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + ListDevicesErrorKind::InternalServerException(_inner) => _inner.fmt(f), + ListDevicesErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + ListDevicesErrorKind::ValidationException(_inner) => _inner.fmt(f), + ListDevicesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListDevicesError { + fn code(&self) -> Option<&str> { + ListDevicesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + ListDevicesErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + ListDevicesErrorKind::ThrottlingException(inner) => Some(inner.retryable_error_kind()), + _ => None, + } + } +} +impl ListDevicesError { + pub fn new(kind: ListDevicesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListDevicesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListDevicesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!(&self.kind, ListDevicesErrorKind::AccessDeniedException(_)) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!(&self.kind, ListDevicesErrorKind::InternalServerException(_)) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, ListDevicesErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, ListDevicesErrorKind::ValidationException(_)) + } +} +impl std::error::Error for ListDevicesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListDevicesErrorKind::AccessDeniedException(_inner) => Some(_inner), + ListDevicesErrorKind::InternalServerException(_inner) => Some(_inner), + ListDevicesErrorKind::ThrottlingException(_inner) => Some(_inner), + ListDevicesErrorKind::ValidationException(_inner) => Some(_inner), + ListDevicesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListExecutionsError { + pub kind: ListExecutionsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListExecutionsErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListExecutionsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListExecutionsErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + ListExecutionsErrorKind::InternalServerException(_inner) => _inner.fmt(f), + ListExecutionsErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + ListExecutionsErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + ListExecutionsErrorKind::ValidationException(_inner) => _inner.fmt(f), + ListExecutionsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListExecutionsError { + fn code(&self) -> Option<&str> { + ListExecutionsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + ListExecutionsErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + ListExecutionsErrorKind::ThrottlingException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl ListExecutionsError { + pub fn new(kind: ListExecutionsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListExecutionsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListExecutionsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!( + &self.kind, + ListExecutionsErrorKind::AccessDeniedException(_) + ) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + ListExecutionsErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + ListExecutionsErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, ListExecutionsErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, ListExecutionsErrorKind::ValidationException(_)) + } +} +impl std::error::Error for ListExecutionsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListExecutionsErrorKind::AccessDeniedException(_inner) => Some(_inner), + ListExecutionsErrorKind::InternalServerException(_inner) => Some(_inner), + ListExecutionsErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + ListExecutionsErrorKind::ThrottlingException(_inner) => Some(_inner), + ListExecutionsErrorKind::ValidationException(_inner) => Some(_inner), + ListExecutionsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListTagsForResourceError { + pub kind: ListTagsForResourceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListTagsForResourceErrorKind { + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListTagsForResourceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListTagsForResourceErrorKind::InternalServerException(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::ValidationException(_inner) => _inner.fmt(f), + ListTagsForResourceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListTagsForResourceError { + fn code(&self) -> Option<&str> { + ListTagsForResourceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + ListTagsForResourceErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl ListTagsForResourceError { + pub fn new(kind: ListTagsForResourceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListTagsForResourceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListTagsForResourceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + ListTagsForResourceErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + ListTagsForResourceErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!( + &self.kind, + ListTagsForResourceErrorKind::ValidationException(_) + ) + } +} +impl std::error::Error for ListTagsForResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTagsForResourceErrorKind::InternalServerException(_inner) => Some(_inner), + ListTagsForResourceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + ListTagsForResourceErrorKind::ValidationException(_inner) => Some(_inner), + ListTagsForResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListTasksError { + pub kind: ListTasksErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListTasksErrorKind { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListTasksError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListTasksErrorKind::AccessDeniedException(_inner) => _inner.fmt(f), + ListTasksErrorKind::InternalServerException(_inner) => _inner.fmt(f), + ListTasksErrorKind::ThrottlingException(_inner) => _inner.fmt(f), + ListTasksErrorKind::ValidationException(_inner) => _inner.fmt(f), + ListTasksErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListTasksError { + fn code(&self) -> Option<&str> { + ListTasksError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + ListTasksErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + ListTasksErrorKind::ThrottlingException(inner) => Some(inner.retryable_error_kind()), + _ => None, + } + } +} +impl ListTasksError { + pub fn new(kind: ListTasksErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListTasksErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListTasksErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_access_denied_exception(&self) -> bool { + matches!(&self.kind, ListTasksErrorKind::AccessDeniedException(_)) + } + pub fn is_internal_server_exception(&self) -> bool { + matches!(&self.kind, ListTasksErrorKind::InternalServerException(_)) + } + pub fn is_throttling_exception(&self) -> bool { + matches!(&self.kind, ListTasksErrorKind::ThrottlingException(_)) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, ListTasksErrorKind::ValidationException(_)) + } +} +impl std::error::Error for ListTasksError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListTasksErrorKind::AccessDeniedException(_inner) => Some(_inner), + ListTasksErrorKind::InternalServerException(_inner) => Some(_inner), + ListTasksErrorKind::ThrottlingException(_inner) => Some(_inner), + ListTasksErrorKind::ValidationException(_inner) => Some(_inner), + ListTasksErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct TagResourceError { + pub kind: TagResourceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum TagResourceErrorKind { + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for TagResourceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + TagResourceErrorKind::InternalServerException(_inner) => _inner.fmt(f), + TagResourceErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + TagResourceErrorKind::ValidationException(_inner) => _inner.fmt(f), + TagResourceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for TagResourceError { + fn code(&self) -> Option<&str> { + TagResourceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + TagResourceErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl TagResourceError { + pub fn new(kind: TagResourceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: TagResourceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: TagResourceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_server_exception(&self) -> bool { + matches!(&self.kind, TagResourceErrorKind::InternalServerException(_)) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + TagResourceErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, TagResourceErrorKind::ValidationException(_)) + } +} +impl std::error::Error for TagResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + TagResourceErrorKind::InternalServerException(_inner) => Some(_inner), + TagResourceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + TagResourceErrorKind::ValidationException(_inner) => Some(_inner), + TagResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UntagResourceError { + pub kind: UntagResourceErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UntagResourceErrorKind { + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ValidationException(crate::error::ValidationException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UntagResourceError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UntagResourceErrorKind::InternalServerException(_inner) => _inner.fmt(f), + UntagResourceErrorKind::ResourceNotFoundException(_inner) => _inner.fmt(f), + UntagResourceErrorKind::ValidationException(_inner) => _inner.fmt(f), + UntagResourceErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UntagResourceError { + fn code(&self) -> Option<&str> { + UntagResourceError::code(self) + } + fn retryable_error_kind(&self) -> Option { + match &self.kind { + UntagResourceErrorKind::InternalServerException(inner) => { + Some(inner.retryable_error_kind()) + } + _ => None, + } + } +} +impl UntagResourceError { + pub fn new(kind: UntagResourceErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UntagResourceErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UntagResourceErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_internal_server_exception(&self) -> bool { + matches!( + &self.kind, + UntagResourceErrorKind::InternalServerException(_) + ) + } + pub fn is_resource_not_found_exception(&self) -> bool { + matches!( + &self.kind, + UntagResourceErrorKind::ResourceNotFoundException(_) + ) + } + pub fn is_validation_exception(&self) -> bool { + matches!(&self.kind, UntagResourceErrorKind::ValidationException(_)) + } +} +impl std::error::Error for UntagResourceError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UntagResourceErrorKind::InternalServerException(_inner) => Some(_inner), + UntagResourceErrorKind::ResourceNotFoundException(_inner) => Some(_inner), + UntagResourceErrorKind::ValidationException(_inner) => Some(_inner), + UntagResourceErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +///

                                                                                    The input fails to satisfy the constraints specified by an Amazon Web Services service.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ValidationException { + pub message: std::option::Option, +} +impl std::fmt::Debug for ValidationException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ValidationException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ValidationException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ValidationException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ValidationException")?; + if let Some(inner_1) = &self.message { + write!(f, ": {}", inner_1)?; + } + Ok(()) + } +} +impl std::error::Error for ValidationException {} +/// See [`ValidationException`](crate::error::ValidationException) +pub mod validation_exception { + /// A builder for [`ValidationException`](crate::error::ValidationException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ValidationException`](crate::error::ValidationException) + pub fn build(self) -> crate::error::ValidationException { + crate::error::ValidationException { + message: self.message, + } + } + } +} +impl ValidationException { + /// Creates a new builder-style object to manufacture [`ValidationException`](crate::error::ValidationException) + pub fn builder() -> crate::error::validation_exception::Builder { + crate::error::validation_exception::Builder::default() + } +} + +///

                                                                                    The request was denied due to request throttling.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ThrottlingException { + pub message: std::option::Option, +} +impl std::fmt::Debug for ThrottlingException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ThrottlingException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ThrottlingException { + pub fn retryable_error_kind(&self) -> smithy_types::retry::ErrorKind { + smithy_types::retry::ErrorKind::ThrottlingError + } + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ThrottlingException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ThrottlingException")?; + if let Some(inner_2) = &self.message { + write!(f, ": {}", inner_2)?; + } + Ok(()) + } +} +impl std::error::Error for ThrottlingException {} +/// See [`ThrottlingException`](crate::error::ThrottlingException) +pub mod throttling_exception { + /// A builder for [`ThrottlingException`](crate::error::ThrottlingException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ThrottlingException`](crate::error::ThrottlingException) + pub fn build(self) -> crate::error::ThrottlingException { + crate::error::ThrottlingException { + message: self.message, + } + } + } +} +impl ThrottlingException { + /// Creates a new builder-style object to manufacture [`ThrottlingException`](crate::error::ThrottlingException) + pub fn builder() -> crate::error::throttling_exception::Builder { + crate::error::throttling_exception::Builder::default() + } +} + +///

                                                                                    The request references a resource that doesn't exist.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceNotFoundException { + pub message: std::option::Option, +} +impl std::fmt::Debug for ResourceNotFoundException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceNotFoundException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ResourceNotFoundException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ResourceNotFoundException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ResourceNotFoundException")?; + if let Some(inner_3) = &self.message { + write!(f, ": {}", inner_3)?; + } + Ok(()) + } +} +impl std::error::Error for ResourceNotFoundException {} +/// See [`ResourceNotFoundException`](crate::error::ResourceNotFoundException) +pub mod resource_not_found_exception { + /// A builder for [`ResourceNotFoundException`](crate::error::ResourceNotFoundException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ResourceNotFoundException`](crate::error::ResourceNotFoundException) + pub fn build(self) -> crate::error::ResourceNotFoundException { + crate::error::ResourceNotFoundException { + message: self.message, + } + } + } +} +impl ResourceNotFoundException { + /// Creates a new builder-style object to manufacture [`ResourceNotFoundException`](crate::error::ResourceNotFoundException) + pub fn builder() -> crate::error::resource_not_found_exception::Builder { + crate::error::resource_not_found_exception::Builder::default() + } +} + +///

                                                                                    An unexpected error occurred while processing the request.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InternalServerException { + pub message: std::option::Option, +} +impl std::fmt::Debug for InternalServerException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InternalServerException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl InternalServerException { + pub fn retryable_error_kind(&self) -> smithy_types::retry::ErrorKind { + smithy_types::retry::ErrorKind::ServerError + } + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for InternalServerException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "InternalServerException")?; + if let Some(inner_4) = &self.message { + write!(f, ": {}", inner_4)?; + } + Ok(()) + } +} +impl std::error::Error for InternalServerException {} +/// See [`InternalServerException`](crate::error::InternalServerException) +pub mod internal_server_exception { + /// A builder for [`InternalServerException`](crate::error::InternalServerException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`InternalServerException`](crate::error::InternalServerException) + pub fn build(self) -> crate::error::InternalServerException { + crate::error::InternalServerException { + message: self.message, + } + } + } +} +impl InternalServerException { + /// Creates a new builder-style object to manufacture [`InternalServerException`](crate::error::InternalServerException) + pub fn builder() -> crate::error::internal_server_exception::Builder { + crate::error::internal_server_exception::Builder::default() + } +} + +///

                                                                                    You don't have sufficient access to perform this action.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AccessDeniedException { + pub message: std::option::Option, +} +impl std::fmt::Debug for AccessDeniedException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AccessDeniedException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl AccessDeniedException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for AccessDeniedException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "AccessDeniedException")?; + if let Some(inner_5) = &self.message { + write!(f, ": {}", inner_5)?; + } + Ok(()) + } +} +impl std::error::Error for AccessDeniedException {} +/// See [`AccessDeniedException`](crate::error::AccessDeniedException) +pub mod access_denied_exception { + /// A builder for [`AccessDeniedException`](crate::error::AccessDeniedException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`AccessDeniedException`](crate::error::AccessDeniedException) + pub fn build(self) -> crate::error::AccessDeniedException { + crate::error::AccessDeniedException { + message: self.message, + } + } + } +} +impl AccessDeniedException { + /// Creates a new builder-style object to manufacture [`AccessDeniedException`](crate::error::AccessDeniedException) + pub fn builder() -> crate::error::access_denied_exception::Builder { + crate::error::access_denied_exception::Builder::default() + } +} + +///

                                                                                    The request would cause a service quota to be exceeded.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ServiceQuotaExceededException { + pub message: std::option::Option, +} +impl std::fmt::Debug for ServiceQuotaExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ServiceQuotaExceededException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl ServiceQuotaExceededException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for ServiceQuotaExceededException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "ServiceQuotaExceededException")?; + if let Some(inner_6) = &self.message { + write!(f, ": {}", inner_6)?; + } + Ok(()) + } +} +impl std::error::Error for ServiceQuotaExceededException {} +/// See [`ServiceQuotaExceededException`](crate::error::ServiceQuotaExceededException) +pub mod service_quota_exceeded_exception { + /// A builder for [`ServiceQuotaExceededException`](crate::error::ServiceQuotaExceededException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`ServiceQuotaExceededException`](crate::error::ServiceQuotaExceededException) + pub fn build(self) -> crate::error::ServiceQuotaExceededException { + crate::error::ServiceQuotaExceededException { + message: self.message, + } + } + } +} +impl ServiceQuotaExceededException { + /// Creates a new builder-style object to manufacture [`ServiceQuotaExceededException`](crate::error::ServiceQuotaExceededException) + pub fn builder() -> crate::error::service_quota_exceeded_exception::Builder { + crate::error::service_quota_exceeded_exception::Builder::default() + } +} diff --git a/sdk/snowdevicemanagement/src/error_meta.rs b/sdk/snowdevicemanagement/src/error_meta.rs new file mode 100644 index 000000000000..ad2c4c764b04 --- /dev/null +++ b/sdk/snowdevicemanagement/src/error_meta.rs @@ -0,0 +1,340 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum Error { + AccessDeniedException(crate::error::AccessDeniedException), + InternalServerException(crate::error::InternalServerException), + ResourceNotFoundException(crate::error::ResourceNotFoundException), + ServiceQuotaExceededException(crate::error::ServiceQuotaExceededException), + ThrottlingException(crate::error::ThrottlingException), + ValidationException(crate::error::ValidationException), + Unhandled(Box), +} +impl std::fmt::Display for Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Error::AccessDeniedException(inner) => inner.fmt(f), + Error::InternalServerException(inner) => inner.fmt(f), + Error::ResourceNotFoundException(inner) => inner.fmt(f), + Error::ServiceQuotaExceededException(inner) => inner.fmt(f), + Error::ThrottlingException(inner) => inner.fmt(f), + Error::ValidationException(inner) => inner.fmt(f), + Error::Unhandled(inner) => inner.fmt(f), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CancelTaskErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::CancelTaskErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::CancelTaskErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::CancelTaskErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::CancelTaskErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::CancelTaskErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateTaskErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::CreateTaskErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::CreateTaskErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::CreateTaskErrorKind::ServiceQuotaExceededException(inner) => { + Error::ServiceQuotaExceededException(inner) + } + crate::error::CreateTaskErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::CreateTaskErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::CreateTaskErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeDeviceErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::DescribeDeviceErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::DescribeDeviceErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::DescribeDeviceErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DescribeDeviceErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::DescribeDeviceErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeDeviceEc2InstancesErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::DescribeDeviceEc2InstancesErrorKind::InternalServerException( + inner, + ) => Error::InternalServerException(inner), + crate::error::DescribeDeviceEc2InstancesErrorKind::ResourceNotFoundException( + inner, + ) => Error::ResourceNotFoundException(inner), + crate::error::DescribeDeviceEc2InstancesErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DescribeDeviceEc2InstancesErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::DescribeDeviceEc2InstancesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeExecutionErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::DescribeExecutionErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::DescribeExecutionErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::DescribeExecutionErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DescribeExecutionErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::DescribeExecutionErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DescribeTaskErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::DescribeTaskErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::DescribeTaskErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::DescribeTaskErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::DescribeTaskErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::DescribeTaskErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListDeviceResourcesErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::ListDeviceResourcesErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::ListDeviceResourcesErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::ListDeviceResourcesErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::ListDeviceResourcesErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::ListDeviceResourcesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListDevicesErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::ListDevicesErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::ListDevicesErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::ListDevicesErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::ListDevicesErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListExecutionsErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::ListExecutionsErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::ListExecutionsErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::ListExecutionsErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::ListExecutionsErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::ListExecutionsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListTagsForResourceErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::ListTagsForResourceErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::ListTagsForResourceErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::ListTagsForResourceErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListTasksErrorKind::AccessDeniedException(inner) => { + Error::AccessDeniedException(inner) + } + crate::error::ListTasksErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::ListTasksErrorKind::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::error::ListTasksErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::ListTasksErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::TagResourceErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::TagResourceErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::TagResourceErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::TagResourceErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UntagResourceErrorKind::InternalServerException(inner) => { + Error::InternalServerException(inner) + } + crate::error::UntagResourceErrorKind::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::error::UntagResourceErrorKind::ValidationException(inner) => { + Error::ValidationException(inner) + } + crate::error::UntagResourceErrorKind::Unhandled(inner) => Error::Unhandled(inner), + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl std::error::Error for Error {} diff --git a/sdk/snowdevicemanagement/src/idempotency_token.rs b/sdk/snowdevicemanagement/src/idempotency_token.rs new file mode 100644 index 000000000000..dedcbd849bad --- /dev/null +++ b/sdk/snowdevicemanagement/src/idempotency_token.rs @@ -0,0 +1,88 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use std::sync::Mutex; + +pub(crate) fn uuid_v4(input: u128) -> String { + let mut out = String::with_capacity(36); + // u4-aligned index into [input] + let mut rnd_idx: u8 = 0; + const HEX_CHARS: &[u8; 16] = b"0123456789abcdef"; + + for str_idx in 0..36 { + if str_idx == 8 || str_idx == 13 || str_idx == 18 || str_idx == 23 { + out.push('-'); + // UUID version character + } else if str_idx == 14 { + out.push('4'); + } else { + let mut dat: u8 = ((input >> (rnd_idx * 4)) & 0x0F) as u8; + // UUID variant bits + if str_idx == 19 { + dat |= 0b00001000; + } + rnd_idx += 1; + out.push(HEX_CHARS[dat as usize] as char); + } + } + out +} + +/// IdempotencyTokenProvider generates idempotency tokens for idempotency API requests +/// +/// Generally, customers will not need to interact with this at all. A sensible default will be +/// provided automatically during config construction. However, if you need deterministic behavior +/// for testing, two options are available: +/// 1. Utilize the From<&'static str>` implementation to hard code an idempotency token +/// 2. Seed the token provider with [`IdempotencyTokenProvider::with_seed`](IdempotencyTokenProvider::with_seed) +pub struct IdempotencyTokenProvider { + inner: Inner, +} + +enum Inner { + Static(&'static str), + Random(Mutex), +} + +pub fn default_provider() -> IdempotencyTokenProvider { + IdempotencyTokenProvider::random() +} + +impl From<&'static str> for IdempotencyTokenProvider { + fn from(token: &'static str) -> Self { + Self::fixed(token) + } +} + +impl IdempotencyTokenProvider { + pub fn make_idempotency_token(&self) -> String { + match &self.inner { + Inner::Static(token) => token.to_string(), + Inner::Random(rng) => { + let input: u128 = rng.lock().unwrap().u128(..); + uuid_v4(input) + } + } + } + + pub fn with_seed(seed: u64) -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::with_seed(seed))), + } + } + + pub fn random() -> Self { + Self { + inner: Inner::Random(Mutex::new(fastrand::Rng::new())), + } + } + + pub fn fixed(token: &'static str) -> Self { + Self { + inner: Inner::Static(token), + } + } +} diff --git a/sdk/snowdevicemanagement/src/input.rs b/sdk/snowdevicemanagement/src/input.rs new file mode 100644 index 000000000000..45f845afa2bd --- /dev/null +++ b/sdk/snowdevicemanagement/src/input.rs @@ -0,0 +1,2399 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +use std::fmt::Write; +/// See [`CancelTaskInput`](crate::input::CancelTaskInput) +pub mod cancel_task_input { + /// A builder for [`CancelTaskInput`](crate::input::CancelTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task that you are attempting to cancel. You can retrieve a task ID by using + /// the ListTasks operation.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + /// Consumes the builder and constructs a [`CancelTaskInput`](crate::input::CancelTaskInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::CancelTaskInput { + task_id: self.task_id, + }) + } + } +} +#[doc(hidden)] +pub type CancelTaskInputOperationOutputAlias = crate::operation::CancelTask; +#[doc(hidden)] +pub type CancelTaskInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CancelTaskInput { + /// Consumes the builder and constructs an Operation<[`CancelTask`](crate::operation::CancelTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CancelTask, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CancelTask::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CancelTask", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_1 = &self.task_id; + let input_1 = input_1 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + })?; + let task_id = smithy_http::label::fmt_string(input_1, false); + if task_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + }); + } + write!(output, "/task/{taskId}/cancel", taskId = task_id) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CancelTaskInput`](crate::input::CancelTaskInput) + pub fn builder() -> crate::input::cancel_task_input::Builder { + crate::input::cancel_task_input::Builder::default() + } +} + +/// See [`CreateTaskInput`](crate::input::CreateTaskInput) +pub mod create_task_input { + /// A builder for [`CreateTaskInput`](crate::input::CreateTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) targets: std::option::Option>, + pub(crate) command: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + pub(crate) client_token: std::option::Option, + } + impl Builder { + pub fn targets(mut self, input: impl Into) -> Self { + let mut v = self.targets.unwrap_or_default(); + v.push(input.into()); + self.targets = Some(v); + self + } + pub fn set_targets( + mut self, + input: std::option::Option>, + ) -> Self { + self.targets = input; + self + } + ///

                                                                                    The task to be performed. Only one task is executed on a device at a time.

                                                                                    + pub fn command(mut self, input: crate::model::Command) -> Self { + self.command = Some(input); + self + } + pub fn set_command(mut self, input: std::option::Option) -> Self { + self.command = input; + self + } + ///

                                                                                    A description of the task and its targets.

                                                                                    + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + ///

                                                                                    A token ensuring that the action is called only once with the specified details.

                                                                                    + pub fn client_token(mut self, input: impl Into) -> Self { + self.client_token = Some(input.into()); + self + } + pub fn set_client_token(mut self, input: std::option::Option) -> Self { + self.client_token = input; + self + } + /// Consumes the builder and constructs a [`CreateTaskInput`](crate::input::CreateTaskInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::CreateTaskInput { + targets: self.targets, + command: self.command, + description: self.description, + tags: self.tags, + client_token: self.client_token, + }) + } + } +} +#[doc(hidden)] +pub type CreateTaskInputOperationOutputAlias = crate::operation::CreateTask; +#[doc(hidden)] +pub type CreateTaskInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateTaskInput { + /// Consumes the builder and constructs an Operation<[`CreateTask`](crate::operation::CreateTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + mut self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateTask, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + if self.client_token.is_none() { + self.client_token = Some(_config.make_token.make_idempotency_token()); + } + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_task(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateTask::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateTask", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/task").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateTaskInput`](crate::input::CreateTaskInput) + pub fn builder() -> crate::input::create_task_input::Builder { + crate::input::create_task_input::Builder::default() + } +} + +/// See [`DescribeDeviceInput`](crate::input::DescribeDeviceInput) +pub mod describe_device_input { + /// A builder for [`DescribeDeviceInput`](crate::input::DescribeDeviceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_device_id: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the device that you are checking the information of.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + /// Consumes the builder and constructs a [`DescribeDeviceInput`](crate::input::DescribeDeviceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeDeviceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeDeviceInput { + managed_device_id: self.managed_device_id, + }) + } + } +} +#[doc(hidden)] +pub type DescribeDeviceInputOperationOutputAlias = crate::operation::DescribeDevice; +#[doc(hidden)] +pub type DescribeDeviceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeDeviceInput { + /// Consumes the builder and constructs an Operation<[`DescribeDevice`](crate::operation::DescribeDevice)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeDevice, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeDevice::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeDevice", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_2 = &self.managed_device_id; + let input_2 = input_2 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + })?; + let managed_device_id = smithy_http::label::fmt_string(input_2, false); + if managed_device_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/managed-device/{managedDeviceId}/describe", + managedDeviceId = managed_device_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeDeviceInput`](crate::input::DescribeDeviceInput) + pub fn builder() -> crate::input::describe_device_input::Builder { + crate::input::describe_device_input::Builder::default() + } +} + +/// See [`DescribeDeviceEc2InstancesInput`](crate::input::DescribeDeviceEc2InstancesInput) +pub mod describe_device_ec2_instances_input { + /// A builder for [`DescribeDeviceEc2InstancesInput`](crate::input::DescribeDeviceEc2InstancesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_device_id: std::option::Option, + pub(crate) instance_ids: std::option::Option>, + } + impl Builder { + ///

                                                                                    The ID of the managed device.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + pub fn instance_ids(mut self, input: impl Into) -> Self { + let mut v = self.instance_ids.unwrap_or_default(); + v.push(input.into()); + self.instance_ids = Some(v); + self + } + pub fn set_instance_ids( + mut self, + input: std::option::Option>, + ) -> Self { + self.instance_ids = input; + self + } + /// Consumes the builder and constructs a [`DescribeDeviceEc2InstancesInput`](crate::input::DescribeDeviceEc2InstancesInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeDeviceEc2InstancesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeDeviceEc2InstancesInput { + managed_device_id: self.managed_device_id, + instance_ids: self.instance_ids, + }) + } + } +} +#[doc(hidden)] +pub type DescribeDeviceEc2InstancesInputOperationOutputAlias = + crate::operation::DescribeDeviceEc2Instances; +#[doc(hidden)] +pub type DescribeDeviceEc2InstancesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeDeviceEc2InstancesInput { + /// Consumes the builder and constructs an Operation<[`DescribeDeviceEc2Instances`](crate::operation::DescribeDeviceEc2Instances)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeDeviceEc2Instances, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_describe_device_ec2_instances(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeDeviceEc2Instances::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeDeviceEc2Instances", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_3 = &self.managed_device_id; + let input_3 = input_3 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + })?; + let managed_device_id = smithy_http::label::fmt_string(input_3, false); + if managed_device_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/managed-device/{managedDeviceId}/resources/ec2/describe", + managedDeviceId = managed_device_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeDeviceEc2InstancesInput`](crate::input::DescribeDeviceEc2InstancesInput) + pub fn builder() -> crate::input::describe_device_ec2_instances_input::Builder { + crate::input::describe_device_ec2_instances_input::Builder::default() + } +} + +/// See [`DescribeExecutionInput`](crate::input::DescribeExecutionInput) +pub mod describe_execution_input { + /// A builder for [`DescribeExecutionInput`](crate::input::DescribeExecutionInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) managed_device_id: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task that the action is describing.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The ID of the managed device.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + /// Consumes the builder and constructs a [`DescribeExecutionInput`](crate::input::DescribeExecutionInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeExecutionInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeExecutionInput { + task_id: self.task_id, + managed_device_id: self.managed_device_id, + }) + } + } +} +#[doc(hidden)] +pub type DescribeExecutionInputOperationOutputAlias = crate::operation::DescribeExecution; +#[doc(hidden)] +pub type DescribeExecutionInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeExecutionInput { + /// Consumes the builder and constructs an Operation<[`DescribeExecution`](crate::operation::DescribeExecution)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeExecution, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeExecution::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeExecution", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_4 = &self.task_id; + let input_4 = input_4 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + })?; + let task_id = smithy_http::label::fmt_string(input_4, false); + if task_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + }); + } + let input_5 = &self.managed_device_id; + let input_5 = input_5 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + })?; + let managed_device_id = smithy_http::label::fmt_string(input_5, false); + if managed_device_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/task/{taskId}/execution/{managedDeviceId}", + taskId = task_id, + managedDeviceId = managed_device_id + ) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeExecutionInput`](crate::input::DescribeExecutionInput) + pub fn builder() -> crate::input::describe_execution_input::Builder { + crate::input::describe_execution_input::Builder::default() + } +} + +/// See [`DescribeTaskInput`](crate::input::DescribeTaskInput) +pub mod describe_task_input { + /// A builder for [`DescribeTaskInput`](crate::input::DescribeTaskInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task to be described.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + /// Consumes the builder and constructs a [`DescribeTaskInput`](crate::input::DescribeTaskInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::DescribeTaskInput { + task_id: self.task_id, + }) + } + } +} +#[doc(hidden)] +pub type DescribeTaskInputOperationOutputAlias = crate::operation::DescribeTask; +#[doc(hidden)] +pub type DescribeTaskInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeTaskInput { + /// Consumes the builder and constructs an Operation<[`DescribeTask`](crate::operation::DescribeTask)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeTask, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeTask::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeTask", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_6 = &self.task_id; + let input_6 = input_6 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + })?; + let task_id = smithy_http::label::fmt_string(input_6, false); + if task_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "task_id", + details: "cannot be empty or unset", + }); + } + write!(output, "/task/{taskId}", taskId = task_id).expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeTaskInput`](crate::input::DescribeTaskInput) + pub fn builder() -> crate::input::describe_task_input::Builder { + crate::input::describe_task_input::Builder::default() + } +} + +/// See [`ListDeviceResourcesInput`](crate::input::ListDeviceResourcesInput) +pub mod list_device_resources_input { + /// A builder for [`ListDeviceResourcesInput`](crate::input::ListDeviceResourcesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_device_id: std::option::Option, + pub(crate) r#type: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the managed device that you are listing the resources of.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + ///

                                                                                    A structure used to filter the results by type of resource.

                                                                                    + pub fn r#type(mut self, input: impl Into) -> Self { + self.r#type = Some(input.into()); + self + } + pub fn set_type(mut self, input: std::option::Option) -> Self { + self.r#type = input; + self + } + ///

                                                                                    The maximum number of resources per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListDeviceResourcesInput`](crate::input::ListDeviceResourcesInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListDeviceResourcesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListDeviceResourcesInput { + managed_device_id: self.managed_device_id, + r#type: self.r#type, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListDeviceResourcesInputOperationOutputAlias = crate::operation::ListDeviceResources; +#[doc(hidden)] +pub type ListDeviceResourcesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListDeviceResourcesInput { + /// Consumes the builder and constructs an Operation<[`ListDeviceResources`](crate::operation::ListDeviceResources)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListDeviceResources, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListDeviceResources::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListDeviceResources", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_7 = &self.managed_device_id; + let input_7 = input_7 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + })?; + let managed_device_id = smithy_http::label::fmt_string(input_7, false); + if managed_device_id.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "managed_device_id", + details: "cannot be empty or unset", + }); + } + write!( + output, + "/managed-device/{managedDeviceId}/resources", + managedDeviceId = managed_device_id + ) + .expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_8) = &self.r#type { + query.push_kv("type", &smithy_http::query::fmt_string(&inner_8)); + } + if let Some(inner_9) = &self.max_results { + query.push_kv( + "maxResults", + &smithy_types::primitive::Encoder::from(*inner_9).encode(), + ); + } + if let Some(inner_10) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_10)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListDeviceResourcesInput`](crate::input::ListDeviceResourcesInput) + pub fn builder() -> crate::input::list_device_resources_input::Builder { + crate::input::list_device_resources_input::Builder::default() + } +} + +/// See [`ListDevicesInput`](crate::input::ListDevicesInput) +pub mod list_devices_input { + /// A builder for [`ListDevicesInput`](crate::input::ListDevicesInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) job_id: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the job used to order the device.

                                                                                    + pub fn job_id(mut self, input: impl Into) -> Self { + self.job_id = Some(input.into()); + self + } + pub fn set_job_id(mut self, input: std::option::Option) -> Self { + self.job_id = input; + self + } + ///

                                                                                    The maximum number of devices to list per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListDevicesInput`](crate::input::ListDevicesInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::ListDevicesInput { + job_id: self.job_id, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListDevicesInputOperationOutputAlias = crate::operation::ListDevices; +#[doc(hidden)] +pub type ListDevicesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListDevicesInput { + /// Consumes the builder and constructs an Operation<[`ListDevices`](crate::operation::ListDevices)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListDevices, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListDevices::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListDevices", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/managed-devices").expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_11) = &self.job_id { + query.push_kv("jobId", &smithy_http::query::fmt_string(&inner_11)); + } + if let Some(inner_12) = &self.max_results { + query.push_kv( + "maxResults", + &smithy_types::primitive::Encoder::from(*inner_12).encode(), + ); + } + if let Some(inner_13) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_13)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListDevicesInput`](crate::input::ListDevicesInput) + pub fn builder() -> crate::input::list_devices_input::Builder { + crate::input::list_devices_input::Builder::default() + } +} + +/// See [`ListExecutionsInput`](crate::input::ListExecutionsInput) +pub mod list_executions_input { + /// A builder for [`ListExecutionsInput`](crate::input::ListExecutionsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    A structure used to filter the tasks by their current state.

                                                                                    + pub fn state(mut self, input: crate::model::ExecutionState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + ///

                                                                                    The maximum number of tasks to list per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListExecutionsInput`](crate::input::ListExecutionsInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListExecutionsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListExecutionsInput { + task_id: self.task_id, + state: self.state, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListExecutionsInputOperationOutputAlias = crate::operation::ListExecutions; +#[doc(hidden)] +pub type ListExecutionsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListExecutionsInput { + /// Consumes the builder and constructs an Operation<[`ListExecutions`](crate::operation::ListExecutions)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListExecutions, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListExecutions::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListExecutions", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/executions").expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_14) = &self.task_id { + query.push_kv("taskId", &smithy_http::query::fmt_string(&inner_14)); + } + if let Some(inner_15) = &self.state { + query.push_kv("state", &smithy_http::query::fmt_string(&inner_15)); + } + if let Some(inner_16) = &self.max_results { + query.push_kv( + "maxResults", + &smithy_types::primitive::Encoder::from(*inner_16).encode(), + ); + } + if let Some(inner_17) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_17)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListExecutionsInput`](crate::input::ListExecutionsInput) + pub fn builder() -> crate::input::list_executions_input::Builder { + crate::input::list_executions_input::Builder::default() + } +} + +/// See [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) +pub mod list_tags_for_resource_input { + /// A builder for [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) resource_arn: std::option::Option, + } + impl Builder { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.resource_arn = Some(input.into()); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.resource_arn = input; + self + } + /// Consumes the builder and constructs a [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListTagsForResourceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListTagsForResourceInput { + resource_arn: self.resource_arn, + }) + } + } +} +#[doc(hidden)] +pub type ListTagsForResourceInputOperationOutputAlias = crate::operation::ListTagsForResource; +#[doc(hidden)] +pub type ListTagsForResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListTagsForResourceInput { + /// Consumes the builder and constructs an Operation<[`ListTagsForResource`](crate::operation::ListTagsForResource)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListTagsForResource, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListTagsForResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListTagsForResource", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_18 = &self.resource_arn; + let input_18 = + input_18 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + })?; + let resource_arn = smithy_http::label::fmt_string(input_18, false); + if resource_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/tags/{resourceArn}", resourceArn = resource_arn) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn builder() -> crate::input::list_tags_for_resource_input::Builder { + crate::input::list_tags_for_resource_input::Builder::default() + } +} + +/// See [`ListTasksInput`](crate::input::ListTasksInput) +pub mod list_tasks_input { + /// A builder for [`ListTasksInput`](crate::input::ListTasksInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) state: std::option::Option, + pub(crate) max_results: std::option::Option, + pub(crate) next_token: std::option::Option, + } + impl Builder { + ///

                                                                                    A structure used to filter the list of tasks.

                                                                                    + pub fn state(mut self, input: crate::model::TaskState) -> Self { + self.state = Some(input); + self + } + pub fn set_state(mut self, input: std::option::Option) -> Self { + self.state = input; + self + } + ///

                                                                                    The maximum number of tasks per page.

                                                                                    + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListTasksInput`](crate::input::ListTasksInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::ListTasksInput { + state: self.state, + max_results: self.max_results, + next_token: self.next_token, + }) + } + } +} +#[doc(hidden)] +pub type ListTasksInputOperationOutputAlias = crate::operation::ListTasks; +#[doc(hidden)] +pub type ListTasksInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListTasksInput { + /// Consumes the builder and constructs an Operation<[`ListTasks`](crate::operation::ListTasks)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListTasks, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = + smithy_http::operation::Operation::new(request, crate::operation::ListTasks::new()) + .with_metadata(smithy_http::operation::Metadata::new( + "ListTasks", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/tasks").expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_19) = &self.state { + query.push_kv("state", &smithy_http::query::fmt_string(&inner_19)); + } + if let Some(inner_20) = &self.max_results { + query.push_kv( + "maxResults", + &smithy_types::primitive::Encoder::from(*inner_20).encode(), + ); + } + if let Some(inner_21) = &self.next_token { + query.push_kv("nextToken", &smithy_http::query::fmt_string(&inner_21)); + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("GET").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListTasksInput`](crate::input::ListTasksInput) + pub fn builder() -> crate::input::list_tasks_input::Builder { + crate::input::list_tasks_input::Builder::default() + } +} + +/// See [`TagResourceInput`](crate::input::TagResourceInput) +pub mod tag_resource_input { + /// A builder for [`TagResourceInput`](crate::input::TagResourceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) resource_arn: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.resource_arn = Some(input.into()); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.resource_arn = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`TagResourceInput`](crate::input::TagResourceInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::TagResourceInput { + resource_arn: self.resource_arn, + tags: self.tags, + }) + } + } +} +#[doc(hidden)] +pub type TagResourceInputOperationOutputAlias = crate::operation::TagResource; +#[doc(hidden)] +pub type TagResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl TagResourceInput { + /// Consumes the builder and constructs an Operation<[`TagResource`](crate::operation::TagResource)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::TagResource, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_tag_resource(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::TagResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "TagResource", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_22 = &self.resource_arn; + let input_22 = + input_22 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + })?; + let resource_arn = smithy_http::label::fmt_string(input_22, false); + if resource_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/tags/{resourceArn}", resourceArn = resource_arn) + .expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`TagResourceInput`](crate::input::TagResourceInput) + pub fn builder() -> crate::input::tag_resource_input::Builder { + crate::input::tag_resource_input::Builder::default() + } +} + +/// See [`UntagResourceInput`](crate::input::UntagResourceInput) +pub mod untag_resource_input { + /// A builder for [`UntagResourceInput`](crate::input::UntagResourceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) resource_arn: std::option::Option, + pub(crate) tag_keys: std::option::Option>, + } + impl Builder { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.resource_arn = Some(input.into()); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.resource_arn = input; + self + } + pub fn tag_keys(mut self, input: impl Into) -> Self { + let mut v = self.tag_keys.unwrap_or_default(); + v.push(input.into()); + self.tag_keys = Some(v); + self + } + pub fn set_tag_keys( + mut self, + input: std::option::Option>, + ) -> Self { + self.tag_keys = input; + self + } + /// Consumes the builder and constructs a [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::UntagResourceInput { + resource_arn: self.resource_arn, + tag_keys: self.tag_keys, + }) + } + } +} +#[doc(hidden)] +pub type UntagResourceInputOperationOutputAlias = crate::operation::UntagResource; +#[doc(hidden)] +pub type UntagResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UntagResourceInput { + /// Consumes the builder and constructs an Operation<[`UntagResource`](crate::operation::UntagResource)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UntagResource, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = smithy_http::body::SdkBody::from(""); + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UntagResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UntagResource", + "snowdevicemanagement", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + let input_23 = &self.resource_arn; + let input_23 = + input_23 + .as_ref() + .ok_or(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + })?; + let resource_arn = smithy_http::label::fmt_string(input_23, false); + if resource_arn.is_empty() { + return Err(smithy_http::operation::BuildError::MissingField { + field: "resource_arn", + details: "cannot be empty or unset", + }); + } + write!(output, "/tags/{resourceArn}", resourceArn = resource_arn) + .expect("formatting should succeed"); + Ok(()) + } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_24) = &self.tag_keys { + for inner_25 in inner_24 { + query.push_kv("tagKeys", &smithy_http::query::fmt_string(&inner_25)); + } + } + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + self.uri_query(&mut uri); + Ok(builder.method("DELETE").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = + smithy_http::header::set_header_if_absent(builder, "content-type", "application/json"); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn builder() -> crate::input::untag_resource_input::Builder { + crate::input::untag_resource_input::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CancelTaskInput { + ///

                                                                                    The ID of the task that you are attempting to cancel. You can retrieve a task ID by using + /// the ListTasks operation.

                                                                                    + pub task_id: std::option::Option, +} +impl std::fmt::Debug for CancelTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CancelTaskInput"); + formatter.field("task_id", &self.task_id); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTasksInput { + ///

                                                                                    A structure used to filter the list of tasks.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    The maximum number of tasks per page.

                                                                                    + pub max_results: std::option::Option, + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTasksInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTasksInput"); + formatter.field("state", &self.state); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskInput { + ///

                                                                                    A list of managed device IDs.

                                                                                    + pub targets: std::option::Option>, + ///

                                                                                    The task to be performed. Only one task is executed on a device at a time.

                                                                                    + pub command: std::option::Option, + ///

                                                                                    A description of the task and its targets.

                                                                                    + pub description: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, + ///

                                                                                    A token ensuring that the action is called only once with the specified details.

                                                                                    + pub client_token: std::option::Option, +} +impl std::fmt::Debug for CreateTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskInput"); + formatter.field("targets", &self.targets); + formatter.field("command", &self.command); + formatter.field("description", &self.description); + formatter.field("tags", &self.tags); + formatter.field("client_token", &self.client_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskInput { + ///

                                                                                    The ID of the task to be described.

                                                                                    + pub task_id: std::option::Option, +} +impl std::fmt::Debug for DescribeTaskInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskInput"); + formatter.field("task_id", &self.task_id); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListExecutionsInput { + ///

                                                                                    The ID of the task.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    A structure used to filter the tasks by their current state.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    The maximum number of tasks to list per page.

                                                                                    + pub max_results: std::option::Option, + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListExecutionsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListExecutionsInput"); + formatter.field("task_id", &self.task_id); + formatter.field("state", &self.state); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeExecutionInput { + ///

                                                                                    The ID of the task that the action is describing.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The ID of the managed device.

                                                                                    + pub managed_device_id: std::option::Option, +} +impl std::fmt::Debug for DescribeExecutionInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeExecutionInput"); + formatter.field("task_id", &self.task_id); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListDeviceResourcesInput { + ///

                                                                                    The ID of the managed device that you are listing the resources of.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    A structure used to filter the results by type of resource.

                                                                                    + pub r#type: std::option::Option, + ///

                                                                                    The maximum number of resources per page.

                                                                                    + pub max_results: std::option::Option, + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListDeviceResourcesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDeviceResourcesInput"); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("r#type", &self.r#type); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeDeviceEc2InstancesInput { + ///

                                                                                    The ID of the managed device.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    A list of instance IDs associated with the managed device.

                                                                                    + pub instance_ids: std::option::Option>, +} +impl std::fmt::Debug for DescribeDeviceEc2InstancesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeDeviceEc2InstancesInput"); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("instance_ids", &self.instance_ids); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListDevicesInput { + ///

                                                                                    The ID of the job used to order the device.

                                                                                    + pub job_id: std::option::Option, + ///

                                                                                    The maximum number of devices to list per page.

                                                                                    + pub max_results: std::option::Option, + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListDevicesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDevicesInput"); + formatter.field("job_id", &self.job_id); + formatter.field("max_results", &self.max_results); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeDeviceInput { + ///

                                                                                    The ID of the device that you are checking the information of.

                                                                                    + pub managed_device_id: std::option::Option, +} +impl std::fmt::Debug for DescribeDeviceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeDeviceInput"); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UntagResourceInput { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub resource_arn: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tag_keys: std::option::Option>, +} +impl std::fmt::Debug for UntagResourceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UntagResourceInput"); + formatter.field("resource_arn", &self.resource_arn); + formatter.field("tag_keys", &self.tag_keys); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TagResourceInput { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub resource_arn: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for TagResourceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TagResourceInput"); + formatter.field("resource_arn", &self.resource_arn); + formatter.field("tags", &self.tags); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTagsForResourceInput { + ///

                                                                                    The Amazon Resource Name (ARN) of the device or task.

                                                                                    + pub resource_arn: std::option::Option, +} +impl std::fmt::Debug for ListTagsForResourceInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTagsForResourceInput"); + formatter.field("resource_arn", &self.resource_arn); + formatter.finish() + } +} diff --git a/sdk/snowdevicemanagement/src/json_deser.rs b/sdk/snowdevicemanagement/src/json_deser.rs new file mode 100644 index 000000000000..fcf02bc4bcc9 --- /dev/null +++ b/sdk/snowdevicemanagement/src/json_deser.rs @@ -0,0 +1,2269 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn parse_generic_error( + response: &http::Response, +) -> Result { + crate::json_errors::parse_generic_error(response) +} + +pub fn deser_structure_access_denied_exceptionjson_err( + input: &[u8], + mut builder: crate::error::access_denied_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_internal_server_exceptionjson_err( + input: &[u8], + mut builder: crate::error::internal_server_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_resource_not_found_exceptionjson_err( + input: &[u8], + mut builder: crate::error::resource_not_found_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_throttling_exceptionjson_err( + input: &[u8], + mut builder: crate::error::throttling_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_validation_exceptionjson_err( + input: &[u8], + mut builder: crate::error::validation_exception::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_cancel_task( + input: &[u8], + mut builder: crate::output::cancel_task_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_structure_service_quota_exceeded_exceptionjson_err( + input: &[u8], + mut builder: crate::error::service_quota_exceeded_exception::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_create_task( + input: &[u8], + mut builder: crate::output::create_task_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "taskArn" => { + builder = builder.set_task_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_device( + input: &[u8], + mut builder: crate::output::describe_device_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "associatedWithJob" => { + builder = builder.set_associated_with_job( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "deviceCapacities" => { + builder = builder.set_device_capacities( + crate::json_deser::deser_list_capacity_list(tokens)?, + ); + } + "deviceState" => { + builder = builder.set_device_state( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::UnlockState::from(u.as_ref())) + }) + .transpose()?, + ); + } + "deviceType" => { + builder = builder.set_device_type( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "lastReachedOutAt" => { + builder = builder.set_last_reached_out_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "lastUpdatedAt" => { + builder = builder.set_last_updated_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "managedDeviceArn" => { + builder = builder.set_managed_device_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "managedDeviceId" => { + builder = builder.set_managed_device_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "physicalNetworkInterfaces" => { + builder = builder.set_physical_network_interfaces( + crate::json_deser::deser_list_physical_network_interface_list(tokens)?, + ); + } + "software" => { + builder = builder.set_software( + crate::json_deser::deser_structure_software_information(tokens)?, + ); + } + "tags" => { + builder = builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_device_ec2_instances( + input: &[u8], + mut builder: crate::output::describe_device_ec2_instances_output::Builder, +) -> Result< + crate::output::describe_device_ec2_instances_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "instances" => { + builder = builder.set_instances( + crate::json_deser::deser_list_instance_summary_list(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_execution( + input: &[u8], + mut builder: crate::output::describe_execution_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "executionId" => { + builder = builder.set_execution_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "lastUpdatedAt" => { + builder = builder.set_last_updated_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "managedDeviceId" => { + builder = builder.set_managed_device_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "startedAt" => { + builder = builder.set_started_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "state" => { + builder = builder.set_state( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ExecutionState::from(u.as_ref())) + }) + .transpose()?, + ); + } + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_describe_task( + input: &[u8], + mut builder: crate::output::describe_task_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "completedAt" => { + builder = builder.set_completed_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "createdAt" => { + builder = builder.set_created_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "description" => { + builder = builder.set_description( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "lastUpdatedAt" => { + builder = builder.set_last_updated_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "state" => { + builder = builder.set_state( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::TaskState::from(u.as_ref())) + }) + .transpose()?, + ); + } + "tags" => { + builder = builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + "targets" => { + builder = + builder.set_targets(crate::json_deser::deser_list_target_list(tokens)?); + } + "taskArn" => { + builder = builder.set_task_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_device_resources( + input: &[u8], + mut builder: crate::output::list_device_resources_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "nextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "resources" => { + builder = builder.set_resources( + crate::json_deser::deser_list_resource_summary_list(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_devices( + input: &[u8], + mut builder: crate::output::list_devices_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "devices" => { + builder = builder.set_devices( + crate::json_deser::deser_list_device_summary_list(tokens)?, + ); + } + "nextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_executions( + input: &[u8], + mut builder: crate::output::list_executions_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "executions" => { + builder = builder.set_executions( + crate::json_deser::deser_list_execution_summary_list(tokens)?, + ); + } + "nextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_tags_for_resource( + input: &[u8], + mut builder: crate::output::list_tags_for_resource_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "tags" => { + builder = builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_tasks( + input: &[u8], + mut builder: crate::output::list_tasks_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "nextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "tasks" => { + builder = builder + .set_tasks(crate::json_deser::deser_list_task_summary_list(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn or_empty_doc(data: &[u8]) -> &[u8] { + if data.is_empty() { + b"{}" + } else { + data + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_capacity_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_capacity(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_physical_network_interface_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_physical_network_interface(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_software_information<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::SoftwareInformation::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "installedVersion" => { + builder = builder.set_installed_version( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "installingVersion" => { + builder = builder.set_installing_version( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "installState" => { + builder = builder.set_install_state( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_map_tag_map<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + let mut map = std::collections::HashMap::new(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + let key = key.to_unescaped().map(|u| u.into_owned())?; + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?; + if let Some(value) = value { + map.insert(key, value); + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(map)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_instance_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_instance_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_target_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_resource_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_resource_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_device_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_device_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_execution_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_execution_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_task_summary_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_task_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_capacity<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Capacity::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "unit" => { + builder = builder.set_unit( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "total" => { + builder = builder.set_total( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "used" => { + builder = builder.set_used( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "available" => { + builder = builder.set_available( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_physical_network_interface<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::PhysicalNetworkInterface::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "physicalNetworkInterfaceId" => { + builder = builder.set_physical_network_interface_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "physicalConnectorType" => { + builder = builder.set_physical_connector_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::PhysicalConnectorType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "ipAddressAssignment" => { + builder = builder.set_ip_address_assignment( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::IpAddressAssignment::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "ipAddress" => { + builder = builder.set_ip_address( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "netmask" => { + builder = builder.set_netmask( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "defaultGateway" => { + builder = builder.set_default_gateway( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "macAddress" => { + builder = builder.set_mac_address( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_instance_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::InstanceSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "instance" => { + builder = builder.set_instance( + crate::json_deser::deser_structure_instance(tokens)?, + ); + } + "lastUpdatedAt" => { + builder = builder.set_last_updated_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_resource_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ResourceSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "resourceType" => { + builder = builder.set_resource_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "arn" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "id" => { + builder = builder.set_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_device_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::DeviceSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "managedDeviceId" => { + builder = builder.set_managed_device_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "managedDeviceArn" => { + builder = builder.set_managed_device_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "associatedWithJob" => { + builder = builder.set_associated_with_job( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "tags" => { + builder = + builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_execution_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ExecutionSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "executionId" => { + builder = builder.set_execution_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "managedDeviceId" => { + builder = builder.set_managed_device_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "state" => { + builder = builder.set_state( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::ExecutionState::from(u.as_ref())) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_task_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::TaskSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "taskId" => { + builder = builder.set_task_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "taskArn" => { + builder = builder.set_task_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "state" => { + builder = builder.set_state( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::TaskState::from(u.as_ref())) + }) + .transpose()?, + ); + } + "tags" => { + builder = + builder.set_tags(crate::json_deser::deser_map_tag_map(tokens)?); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_instance<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Instance::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "imageId" => { + builder = builder.set_image_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "amiLaunchIndex" => { + builder = builder.set_ami_launch_index( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "instanceId" => { + builder = builder.set_instance_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "state" => { + builder = builder.set_state( + crate::json_deser::deser_structure_instance_state(tokens)?, + ); + } + "instanceType" => { + builder = builder.set_instance_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "privateIpAddress" => { + builder = builder.set_private_ip_address( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "publicIpAddress" => { + builder = builder.set_public_ip_address( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "createdAt" => { + builder = builder.set_created_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "updatedAt" => { + builder = builder.set_updated_at( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "blockDeviceMappings" => { + builder = builder.set_block_device_mappings( + crate::json_deser::deser_list_instance_block_device_mapping_list(tokens)? + ); + } + "securityGroups" => { + builder = builder.set_security_groups( + crate::json_deser::deser_list_security_group_identifier_list( + tokens, + )?, + ); + } + "cpuOptions" => { + builder = builder.set_cpu_options( + crate::json_deser::deser_structure_cpu_options(tokens)?, + ); + } + "rootDeviceName" => { + builder = builder.set_root_device_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_instance_state<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::InstanceState::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "code" => { + builder = builder.set_code( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::InstanceStateName::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_instance_block_device_mapping_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_instance_block_device_mapping( + tokens, + )?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_security_group_identifier_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_security_group_identifier(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_cpu_options<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::CpuOptions::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "coreCount" => { + builder = builder.set_core_count( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "threadsPerCore" => { + builder = builder.set_threads_per_core( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_instance_block_device_mapping<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::InstanceBlockDeviceMapping::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "deviceName" => { + builder = builder.set_device_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ebs" => { + builder = builder.set_ebs( + crate::json_deser::deser_structure_ebs_instance_block_device( + tokens, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_security_group_identifier<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::SecurityGroupIdentifier::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "groupId" => { + builder = builder.set_group_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "groupName" => { + builder = builder.set_group_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_ebs_instance_block_device<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::EbsInstanceBlockDevice::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "attachTime" => { + builder = builder.set_attach_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "deleteOnTermination" => { + builder = builder.set_delete_on_termination( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "status" => { + builder = builder.set_status( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::AttachmentStatus::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "volumeId" => { + builder = builder.set_volume_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/snowdevicemanagement/src/json_errors.rs b/sdk/snowdevicemanagement/src/json_errors.rs new file mode 100644 index 000000000000..b8d4287b0c18 --- /dev/null +++ b/sdk/snowdevicemanagement/src/json_errors.rs @@ -0,0 +1,219 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use bytes::Bytes; +use http::header::ToStrError; +use http::Response; +use smithy_json::deserialize::token::skip_value; +use smithy_json::deserialize::{json_token_iter, Error as DeserializeError, Token}; +use smithy_types::Error as SmithyError; +use std::borrow::Cow; + +// currently only used by AwsJson +#[allow(unused)] +pub fn is_error(response: &http::Response) -> bool { + !response.status().is_success() +} + +fn error_type_from_header(response: &http::Response) -> Result, ToStrError> { + response + .headers() + .get("X-Amzn-Errortype") + .map(|v| v.to_str()) + .transpose() +} + +fn sanitize_error_code(error_code: &str) -> &str { + // Trim a trailing URL from the error code, beginning with a `:` + let error_code = match error_code.find(':') { + Some(idx) => &error_code[..idx], + None => &error_code, + }; + + // Trim a prefixing namespace from the error code, beginning with a `#` + match error_code.find('#') { + Some(idx) => &error_code[idx + 1..], + None => &error_code, + } +} + +fn request_id(response: &Response) -> Option<&str> { + response + .headers() + .get("X-Amzn-Requestid") + .and_then(|v| v.to_str().ok()) +} + +struct ErrorBody<'a> { + code: Option>, + message: Option>, +} + +fn parse_error_body(bytes: &[u8]) -> Result { + let mut tokens = json_token_iter(bytes).peekable(); + let (mut typ, mut code, mut message) = (None, None, None); + if let Some(Token::StartObject { .. }) = tokens.next().transpose()? { + loop { + match tokens.next().transpose()? { + Some(Token::EndObject { .. }) => break, + Some(Token::ObjectKey { key, .. }) => { + if let Some(Ok(Token::ValueString { value, .. })) = tokens.peek() { + match key.as_escaped_str() { + "code" => code = Some(value.to_unescaped()?), + "__type" => typ = Some(value.to_unescaped()?), + "message" | "Message" | "errorMessage" => { + message = Some(value.to_unescaped()?) + } + _ => {} + } + } + skip_value(&mut tokens)?; + } + _ => { + return Err(DeserializeError::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(DeserializeError::custom( + "found more JSON tokens after completing parsing", + )); + } + } + Ok(ErrorBody { + code: code.or(typ), + message, + }) +} + +pub fn parse_generic_error(response: &Response) -> Result { + let ErrorBody { code, message } = parse_error_body(response.body().as_ref())?; + + let mut err_builder = SmithyError::builder(); + if let Some(code) = error_type_from_header(response) + .map_err(|_| DeserializeError::custom("X-Amzn-Errortype header was not valid UTF-8"))? + .or_else(|| code.as_deref()) + .map(|c| sanitize_error_code(c)) + { + err_builder.code(code); + } + if let Some(message) = message { + err_builder.message(message); + } + if let Some(request_id) = request_id(response) { + err_builder.request_id(request_id); + } + Ok(err_builder.build()) +} + +#[cfg(test)] +mod test { + use crate::json_errors::{parse_error_body, parse_generic_error, sanitize_error_code}; + use bytes::Bytes; + use smithy_types::Error; + use std::borrow::Cow; + + #[test] + fn generic_error() { + let response = http::Response::builder() + .header("X-Amzn-Requestid", "1234") + .body(Bytes::from_static( + br#"{ "__type": "FooError", "message": "Go to foo" }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("FooError") + .message("Go to foo") + .request_id("1234") + .build() + ) + } + + #[test] + fn error_type() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn code_takes_priority() { + assert_eq!( + Some(Cow::Borrowed("BarError")), + parse_error_body(br#"{ "code": "BarError", "__type": "FooError" }"#) + .unwrap() + .code + ); + } + + #[test] + fn ignore_unrecognized_fields() { + assert_eq!( + Some(Cow::Borrowed("FooError")), + parse_error_body(br#"{ "__type": "FooError", "asdf": 5, "fdsa": {}, "foo": "1" }"#) + .unwrap() + .code + ); + } + + #[test] + fn sanitize_namespace_and_url() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/"), + "FooError"); + } + + #[test] + fn sanitize_noop() { + assert_eq!(sanitize_error_code("FooError"), "FooError"); + } + + #[test] + fn sanitize_url() { + assert_eq!( + sanitize_error_code( + "FooError:http://internal.amazon.com/coral/com.amazon.coral.validate/" + ), + "FooError" + ); + } + + #[test] + fn sanitize_namespace() { + assert_eq!( + sanitize_error_code("aws.protocoltests.restjson#FooError"), + "FooError" + ); + } + + // services like lambda use an alternate `Message` instead of `message` + #[test] + fn alternative_error_message_names() { + let response = http::Response::builder() + .header("x-amzn-errortype", "ResourceNotFoundException") + .body(Bytes::from_static( + br#"{ + "Type": "User", + "Message": "Functions from 'us-west-2' are not reachable from us-east-1" + }"#, + )) + .unwrap(); + assert_eq!( + parse_generic_error(&response).unwrap(), + Error::builder() + .code("ResourceNotFoundException") + .message("Functions from 'us-west-2' are not reachable from us-east-1") + .build() + ); + } +} diff --git a/sdk/snowdevicemanagement/src/json_ser.rs b/sdk/snowdevicemanagement/src/json_ser.rs new file mode 100644 index 000000000000..1db4cdd6db8b --- /dev/null +++ b/sdk/snowdevicemanagement/src/json_ser.rs @@ -0,0 +1,97 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_task_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateTaskInput, +) { + if let Some(var_1) = &input.client_token { + object.key("clientToken").string(var_1); + } + if let Some(var_2) = &input.command { + let mut object_3 = object.key("command").start_object(); + crate::json_ser::serialize_union_command(&mut object_3, var_2); + object_3.finish(); + } + if let Some(var_4) = &input.description { + object.key("description").string(var_4); + } + if let Some(var_5) = &input.tags { + let mut object_6 = object.key("tags").start_object(); + for (key_7, value_8) in var_5 { + { + object_6.key(key_7).string(value_8); + } + } + object_6.finish(); + } + if let Some(var_9) = &input.targets { + let mut array_10 = object.key("targets").start_array(); + for item_11 in var_9 { + { + array_10.value().string(item_11); + } + } + array_10.finish(); + } +} + +pub fn serialize_structure_describe_device_ec2_instances_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DescribeDeviceEc2InstancesInput, +) { + if let Some(var_12) = &input.instance_ids { + let mut array_13 = object.key("instanceIds").start_array(); + for item_14 in var_12 { + { + array_13.value().string(item_14); + } + } + array_13.finish(); + } +} + +pub fn serialize_structure_tag_resource_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::TagResourceInput, +) { + if let Some(var_15) = &input.tags { + let mut object_16 = object.key("tags").start_object(); + for (key_17, value_18) in var_15 { + { + object_16.key(key_17).string(value_18); + } + } + object_16.finish(); + } +} + +pub fn serialize_union_command( + object_3: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Command, +) { + match input { + crate::model::Command::Unlock(inner) => { + let mut object_19 = object_3.key("unlock").start_object(); + crate::json_ser::serialize_structure_unlock(&mut object_19, inner); + object_19.finish(); + } + crate::model::Command::Reboot(inner) => { + let mut object_20 = object_3.key("reboot").start_object(); + crate::json_ser::serialize_structure_reboot(&mut object_20, inner); + object_20.finish(); + } + } +} + +pub fn serialize_structure_unlock( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Unlock, +) { + let (_, _) = (object, input); +} + +pub fn serialize_structure_reboot( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Reboot, +) { + let (_, _) = (object, input); +} diff --git a/sdk/snowdevicemanagement/src/lib.rs b/sdk/snowdevicemanagement/src/lib.rs new file mode 100644 index 000000000000..028562a70ccc --- /dev/null +++ b/sdk/snowdevicemanagement/src/lib.rs @@ -0,0 +1,40 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::upper_case_acronyms)] +#![allow(clippy::large_enum_variant)] +#![allow(clippy::wrong_self_convention)] +#![allow(clippy::should_implement_trait)] +#![allow(clippy::blacklisted_name)] +//!

                                                                                    Amazon Web Services Snow Device Management documentation.

                                                                                    + +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use error_meta::Error; + +pub use config::Config; + +mod aws_endpoint; +#[cfg(feature = "client")] +pub mod client; +pub mod config; +pub mod error; +mod error_meta; +mod idempotency_token; +pub mod input; +mod json_deser; +mod json_errors; +mod json_ser; +pub mod model; +pub mod operation; +mod operation_deser; +mod operation_ser; +pub mod output; +pub static PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub use smithy_http::byte_stream::ByteStream; +pub use smithy_http::result::SdkError; +pub use smithy_types::Blob; +static API_METADATA: aws_http::user_agent::ApiMetadata = + aws_http::user_agent::ApiMetadata::new("snowdevicemanagement", PKG_VERSION); +pub use aws_auth::Credentials; +pub use aws_types::region::Region; +#[cfg(feature = "client")] +pub use client::Client; +pub use smithy_http::endpoint::Endpoint; diff --git a/sdk/snowdevicemanagement/src/model.rs b/sdk/snowdevicemanagement/src/model.rs new file mode 100644 index 000000000000..ed5131fb4045 --- /dev/null +++ b/sdk/snowdevicemanagement/src/model.rs @@ -0,0 +1,1990 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

                                                                                    Information about the task assigned to one or many devices.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TaskSummary { + ///

                                                                                    The task ID.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the task.

                                                                                    + pub task_arn: std::option::Option, + ///

                                                                                    The state of the task assigned to one or many devices.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for TaskSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TaskSummary"); + formatter.field("task_id", &self.task_id); + formatter.field("task_arn", &self.task_arn); + formatter.field("state", &self.state); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`TaskSummary`](crate::model::TaskSummary) +pub mod task_summary { + /// A builder for [`TaskSummary`](crate::model::TaskSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) task_arn: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                                                    The task ID.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the task.

                                                                                    + pub fn task_arn(mut self, input: impl Into) -> Self { + self.task_arn = Some(input.into()); + self + } + pub fn set_task_arn(mut self, input: std::option::Option) -> Self { + self.task_arn = input; + self + } + ///

                                                                                    The state of the task assigned to one or many devices.

                                                                                    + pub fn state(mut self, input: crate::model::TaskState) -> Self { + self.state = Some(input); + self + } + pub fn set_state(mut self, input: std::option::Option) -> Self { + self.state = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`TaskSummary`](crate::model::TaskSummary) + pub fn build(self) -> crate::model::TaskSummary { + crate::model::TaskSummary { + task_id: self.task_id, + task_arn: self.task_arn, + state: self.state, + tags: self.tags, + } + } + } +} +impl TaskSummary { + /// Creates a new builder-style object to manufacture [`TaskSummary`](crate::model::TaskSummary) + pub fn builder() -> crate::model::task_summary::Builder { + crate::model::task_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum TaskState { + Canceled, + Completed, + InProgress, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for TaskState { + fn from(s: &str) -> Self { + match s { + "CANCELED" => TaskState::Canceled, + "COMPLETED" => TaskState::Completed, + "IN_PROGRESS" => TaskState::InProgress, + other => TaskState::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TaskState { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(TaskState::from(s)) + } +} +impl TaskState { + pub fn as_str(&self) -> &str { + match self { + TaskState::Canceled => "CANCELED", + TaskState::Completed => "COMPLETED", + TaskState::InProgress => "IN_PROGRESS", + TaskState::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["CANCELED", "COMPLETED", "IN_PROGRESS"] + } +} +impl AsRef for TaskState { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] +pub enum Command { + ///

                                                                                    Reboots the device.

                                                                                    + Reboot(crate::model::Reboot), + ///

                                                                                    Unlocks the device.

                                                                                    + Unlock(crate::model::Unlock), +} +impl Command { + pub fn as_reboot(&self) -> std::result::Result<&crate::model::Reboot, &Self> { + if let Command::Reboot(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_reboot(&self) -> bool { + self.as_reboot().is_ok() + } + pub fn as_unlock(&self) -> std::result::Result<&crate::model::Unlock, &Self> { + if let Command::Unlock(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_unlock(&self) -> bool { + self.as_unlock().is_ok() + } +} + +///

                                                                                    A structure used to reboot the device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Reboot {} +impl std::fmt::Debug for Reboot { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Reboot"); + formatter.finish() + } +} +/// See [`Reboot`](crate::model::Reboot) +pub mod reboot { + /// A builder for [`Reboot`](crate::model::Reboot) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`Reboot`](crate::model::Reboot) + pub fn build(self) -> crate::model::Reboot { + crate::model::Reboot {} + } + } +} +impl Reboot { + /// Creates a new builder-style object to manufacture [`Reboot`](crate::model::Reboot) + pub fn builder() -> crate::model::reboot::Builder { + crate::model::reboot::Builder::default() + } +} + +///

                                                                                    A structure used to unlock a device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Unlock {} +impl std::fmt::Debug for Unlock { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Unlock"); + formatter.finish() + } +} +/// See [`Unlock`](crate::model::Unlock) +pub mod unlock { + /// A builder for [`Unlock`](crate::model::Unlock) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`Unlock`](crate::model::Unlock) + pub fn build(self) -> crate::model::Unlock { + crate::model::Unlock {} + } + } +} +impl Unlock { + /// Creates a new builder-style object to manufacture [`Unlock`](crate::model::Unlock) + pub fn builder() -> crate::model::unlock::Builder { + crate::model::unlock::Builder::default() + } +} + +///

                                                                                    The summary of a task execution on a specified device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ExecutionSummary { + ///

                                                                                    The ID of the task.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The ID of the execution.

                                                                                    + pub execution_id: std::option::Option, + ///

                                                                                    The ID of the managed device that the task is being executed on.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    The state of the execution.

                                                                                    + pub state: std::option::Option, +} +impl std::fmt::Debug for ExecutionSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ExecutionSummary"); + formatter.field("task_id", &self.task_id); + formatter.field("execution_id", &self.execution_id); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("state", &self.state); + formatter.finish() + } +} +/// See [`ExecutionSummary`](crate::model::ExecutionSummary) +pub mod execution_summary { + /// A builder for [`ExecutionSummary`](crate::model::ExecutionSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) execution_id: std::option::Option, + pub(crate) managed_device_id: std::option::Option, + pub(crate) state: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The ID of the execution.

                                                                                    + pub fn execution_id(mut self, input: impl Into) -> Self { + self.execution_id = Some(input.into()); + self + } + pub fn set_execution_id(mut self, input: std::option::Option) -> Self { + self.execution_id = input; + self + } + ///

                                                                                    The ID of the managed device that the task is being executed on.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + ///

                                                                                    The state of the execution.

                                                                                    + pub fn state(mut self, input: crate::model::ExecutionState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + /// Consumes the builder and constructs a [`ExecutionSummary`](crate::model::ExecutionSummary) + pub fn build(self) -> crate::model::ExecutionSummary { + crate::model::ExecutionSummary { + task_id: self.task_id, + execution_id: self.execution_id, + managed_device_id: self.managed_device_id, + state: self.state, + } + } + } +} +impl ExecutionSummary { + /// Creates a new builder-style object to manufacture [`ExecutionSummary`](crate::model::ExecutionSummary) + pub fn builder() -> crate::model::execution_summary::Builder { + crate::model::execution_summary::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ExecutionState { + Canceled, + Failed, + InProgress, + Queued, + Rejected, + Succeeded, + TimedOut, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ExecutionState { + fn from(s: &str) -> Self { + match s { + "CANCELED" => ExecutionState::Canceled, + "FAILED" => ExecutionState::Failed, + "IN_PROGRESS" => ExecutionState::InProgress, + "QUEUED" => ExecutionState::Queued, + "REJECTED" => ExecutionState::Rejected, + "SUCCEEDED" => ExecutionState::Succeeded, + "TIMED_OUT" => ExecutionState::TimedOut, + other => ExecutionState::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ExecutionState { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ExecutionState::from(s)) + } +} +impl ExecutionState { + pub fn as_str(&self) -> &str { + match self { + ExecutionState::Canceled => "CANCELED", + ExecutionState::Failed => "FAILED", + ExecutionState::InProgress => "IN_PROGRESS", + ExecutionState::Queued => "QUEUED", + ExecutionState::Rejected => "REJECTED", + ExecutionState::Succeeded => "SUCCEEDED", + ExecutionState::TimedOut => "TIMED_OUT", + ExecutionState::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &[ + "CANCELED", + "FAILED", + "IN_PROGRESS", + "QUEUED", + "REJECTED", + "SUCCEEDED", + "TIMED_OUT", + ] + } +} +impl AsRef for ExecutionState { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                    A summary of a resource available on the device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ResourceSummary { + ///

                                                                                    The resource type.

                                                                                    + pub resource_type: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                                    + pub arn: std::option::Option, + ///

                                                                                    The ID of the resource.

                                                                                    + pub id: std::option::Option, +} +impl std::fmt::Debug for ResourceSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ResourceSummary"); + formatter.field("resource_type", &self.resource_type); + formatter.field("arn", &self.arn); + formatter.field("id", &self.id); + formatter.finish() + } +} +/// See [`ResourceSummary`](crate::model::ResourceSummary) +pub mod resource_summary { + /// A builder for [`ResourceSummary`](crate::model::ResourceSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) resource_type: std::option::Option, + pub(crate) arn: std::option::Option, + pub(crate) id: std::option::Option, + } + impl Builder { + ///

                                                                                    The resource type.

                                                                                    + pub fn resource_type(mut self, input: impl Into) -> Self { + self.resource_type = Some(input.into()); + self + } + pub fn set_resource_type( + mut self, + input: std::option::Option, + ) -> Self { + self.resource_type = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                                    + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } + ///

                                                                                    The ID of the resource.

                                                                                    + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + /// Consumes the builder and constructs a [`ResourceSummary`](crate::model::ResourceSummary) + pub fn build(self) -> crate::model::ResourceSummary { + crate::model::ResourceSummary { + resource_type: self.resource_type, + arn: self.arn, + id: self.id, + } + } + } +} +impl ResourceSummary { + /// Creates a new builder-style object to manufacture [`ResourceSummary`](crate::model::ResourceSummary) + pub fn builder() -> crate::model::resource_summary::Builder { + crate::model::resource_summary::Builder::default() + } +} + +///

                                                                                    The details about the instance.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InstanceSummary { + ///

                                                                                    A structure containing details about the instance.

                                                                                    + pub instance: std::option::Option, + ///

                                                                                    When the instance summary was last updated.

                                                                                    + pub last_updated_at: std::option::Option, +} +impl std::fmt::Debug for InstanceSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InstanceSummary"); + formatter.field("instance", &self.instance); + formatter.field("last_updated_at", &self.last_updated_at); + formatter.finish() + } +} +/// See [`InstanceSummary`](crate::model::InstanceSummary) +pub mod instance_summary { + /// A builder for [`InstanceSummary`](crate::model::InstanceSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instance: std::option::Option, + pub(crate) last_updated_at: std::option::Option, + } + impl Builder { + ///

                                                                                    A structure containing details about the instance.

                                                                                    + pub fn instance(mut self, input: crate::model::Instance) -> Self { + self.instance = Some(input); + self + } + pub fn set_instance(mut self, input: std::option::Option) -> Self { + self.instance = input; + self + } + ///

                                                                                    When the instance summary was last updated.

                                                                                    + pub fn last_updated_at(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_at = Some(input); + self + } + pub fn set_last_updated_at( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_at = input; + self + } + /// Consumes the builder and constructs a [`InstanceSummary`](crate::model::InstanceSummary) + pub fn build(self) -> crate::model::InstanceSummary { + crate::model::InstanceSummary { + instance: self.instance, + last_updated_at: self.last_updated_at, + } + } + } +} +impl InstanceSummary { + /// Creates a new builder-style object to manufacture [`InstanceSummary`](crate::model::InstanceSummary) + pub fn builder() -> crate::model::instance_summary::Builder { + crate::model::instance_summary::Builder::default() + } +} + +///

                                                                                    The description of an +/// instance. +/// Currently, Amazon EC2 instances are the only supported instance type.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Instance { + ///

                                                                                    The ID of the AMI used to launch the instance.

                                                                                    + pub image_id: std::option::Option, + ///

                                                                                    The Amazon Machine Image (AMI) launch index, which you can use to find this instance in + /// the launch group.

                                                                                    + pub ami_launch_index: std::option::Option, + ///

                                                                                    The ID of the instance.

                                                                                    + pub instance_id: std::option::Option, + ///

                                                                                    The description of the current state of an instance.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    The instance type.

                                                                                    + pub instance_type: std::option::Option, + ///

                                                                                    The private IPv4 address assigned to the instance.

                                                                                    + pub private_ip_address: std::option::Option, + ///

                                                                                    The public IPv4 address assigned to the instance.

                                                                                    + pub public_ip_address: std::option::Option, + ///

                                                                                    When the instance was created.

                                                                                    + pub created_at: std::option::Option, + ///

                                                                                    When the instance was last updated.

                                                                                    + pub updated_at: std::option::Option, + ///

                                                                                    Any block device mapping entries for the instance.

                                                                                    + pub block_device_mappings: + std::option::Option>, + ///

                                                                                    The security groups for the instance.

                                                                                    + pub security_groups: std::option::Option>, + ///

                                                                                    The CPU options for the instance.

                                                                                    + pub cpu_options: std::option::Option, + ///

                                                                                    The device name of the root device volume (for example, /dev/sda1).

                                                                                    + pub root_device_name: std::option::Option, +} +impl std::fmt::Debug for Instance { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Instance"); + formatter.field("image_id", &self.image_id); + formatter.field("ami_launch_index", &self.ami_launch_index); + formatter.field("instance_id", &self.instance_id); + formatter.field("state", &self.state); + formatter.field("instance_type", &self.instance_type); + formatter.field("private_ip_address", &self.private_ip_address); + formatter.field("public_ip_address", &self.public_ip_address); + formatter.field("created_at", &self.created_at); + formatter.field("updated_at", &self.updated_at); + formatter.field("block_device_mappings", &self.block_device_mappings); + formatter.field("security_groups", &self.security_groups); + formatter.field("cpu_options", &self.cpu_options); + formatter.field("root_device_name", &self.root_device_name); + formatter.finish() + } +} +/// See [`Instance`](crate::model::Instance) +pub mod instance { + /// A builder for [`Instance`](crate::model::Instance) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) image_id: std::option::Option, + pub(crate) ami_launch_index: std::option::Option, + pub(crate) instance_id: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) instance_type: std::option::Option, + pub(crate) private_ip_address: std::option::Option, + pub(crate) public_ip_address: std::option::Option, + pub(crate) created_at: std::option::Option, + pub(crate) updated_at: std::option::Option, + pub(crate) block_device_mappings: + std::option::Option>, + pub(crate) security_groups: + std::option::Option>, + pub(crate) cpu_options: std::option::Option, + pub(crate) root_device_name: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the AMI used to launch the instance.

                                                                                    + pub fn image_id(mut self, input: impl Into) -> Self { + self.image_id = Some(input.into()); + self + } + pub fn set_image_id(mut self, input: std::option::Option) -> Self { + self.image_id = input; + self + } + ///

                                                                                    The Amazon Machine Image (AMI) launch index, which you can use to find this instance in + /// the launch group.

                                                                                    + pub fn ami_launch_index(mut self, input: i32) -> Self { + self.ami_launch_index = Some(input); + self + } + pub fn set_ami_launch_index(mut self, input: std::option::Option) -> Self { + self.ami_launch_index = input; + self + } + ///

                                                                                    The ID of the instance.

                                                                                    + pub fn instance_id(mut self, input: impl Into) -> Self { + self.instance_id = Some(input.into()); + self + } + pub fn set_instance_id(mut self, input: std::option::Option) -> Self { + self.instance_id = input; + self + } + ///

                                                                                    The description of the current state of an instance.

                                                                                    + pub fn state(mut self, input: crate::model::InstanceState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + ///

                                                                                    The instance type.

                                                                                    + pub fn instance_type(mut self, input: impl Into) -> Self { + self.instance_type = Some(input.into()); + self + } + pub fn set_instance_type( + mut self, + input: std::option::Option, + ) -> Self { + self.instance_type = input; + self + } + ///

                                                                                    The private IPv4 address assigned to the instance.

                                                                                    + pub fn private_ip_address(mut self, input: impl Into) -> Self { + self.private_ip_address = Some(input.into()); + self + } + pub fn set_private_ip_address( + mut self, + input: std::option::Option, + ) -> Self { + self.private_ip_address = input; + self + } + ///

                                                                                    The public IPv4 address assigned to the instance.

                                                                                    + pub fn public_ip_address(mut self, input: impl Into) -> Self { + self.public_ip_address = Some(input.into()); + self + } + pub fn set_public_ip_address( + mut self, + input: std::option::Option, + ) -> Self { + self.public_ip_address = input; + self + } + ///

                                                                                    When the instance was created.

                                                                                    + pub fn created_at(mut self, input: smithy_types::Instant) -> Self { + self.created_at = Some(input); + self + } + pub fn set_created_at(mut self, input: std::option::Option) -> Self { + self.created_at = input; + self + } + ///

                                                                                    When the instance was last updated.

                                                                                    + pub fn updated_at(mut self, input: smithy_types::Instant) -> Self { + self.updated_at = Some(input); + self + } + pub fn set_updated_at(mut self, input: std::option::Option) -> Self { + self.updated_at = input; + self + } + pub fn block_device_mappings( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.block_device_mappings.unwrap_or_default(); + v.push(input.into()); + self.block_device_mappings = Some(v); + self + } + pub fn set_block_device_mappings( + mut self, + input: std::option::Option>, + ) -> Self { + self.block_device_mappings = input; + self + } + pub fn security_groups( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.security_groups.unwrap_or_default(); + v.push(input.into()); + self.security_groups = Some(v); + self + } + pub fn set_security_groups( + mut self, + input: std::option::Option>, + ) -> Self { + self.security_groups = input; + self + } + ///

                                                                                    The CPU options for the instance.

                                                                                    + pub fn cpu_options(mut self, input: crate::model::CpuOptions) -> Self { + self.cpu_options = Some(input); + self + } + pub fn set_cpu_options( + mut self, + input: std::option::Option, + ) -> Self { + self.cpu_options = input; + self + } + ///

                                                                                    The device name of the root device volume (for example, /dev/sda1).

                                                                                    + pub fn root_device_name(mut self, input: impl Into) -> Self { + self.root_device_name = Some(input.into()); + self + } + pub fn set_root_device_name( + mut self, + input: std::option::Option, + ) -> Self { + self.root_device_name = input; + self + } + /// Consumes the builder and constructs a [`Instance`](crate::model::Instance) + pub fn build(self) -> crate::model::Instance { + crate::model::Instance { + image_id: self.image_id, + ami_launch_index: self.ami_launch_index, + instance_id: self.instance_id, + state: self.state, + instance_type: self.instance_type, + private_ip_address: self.private_ip_address, + public_ip_address: self.public_ip_address, + created_at: self.created_at, + updated_at: self.updated_at, + block_device_mappings: self.block_device_mappings, + security_groups: self.security_groups, + cpu_options: self.cpu_options, + root_device_name: self.root_device_name, + } + } + } +} +impl Instance { + /// Creates a new builder-style object to manufacture [`Instance`](crate::model::Instance) + pub fn builder() -> crate::model::instance::Builder { + crate::model::instance::Builder::default() + } +} + +///

                                                                                    The options for how a device's CPU is configured.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CpuOptions { + ///

                                                                                    The number of cores that the CPU can use.

                                                                                    + pub core_count: std::option::Option, + ///

                                                                                    The number of threads per core in the CPU.

                                                                                    + pub threads_per_core: std::option::Option, +} +impl std::fmt::Debug for CpuOptions { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CpuOptions"); + formatter.field("core_count", &self.core_count); + formatter.field("threads_per_core", &self.threads_per_core); + formatter.finish() + } +} +/// See [`CpuOptions`](crate::model::CpuOptions) +pub mod cpu_options { + /// A builder for [`CpuOptions`](crate::model::CpuOptions) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) core_count: std::option::Option, + pub(crate) threads_per_core: std::option::Option, + } + impl Builder { + ///

                                                                                    The number of cores that the CPU can use.

                                                                                    + pub fn core_count(mut self, input: i32) -> Self { + self.core_count = Some(input); + self + } + pub fn set_core_count(mut self, input: std::option::Option) -> Self { + self.core_count = input; + self + } + ///

                                                                                    The number of threads per core in the CPU.

                                                                                    + pub fn threads_per_core(mut self, input: i32) -> Self { + self.threads_per_core = Some(input); + self + } + pub fn set_threads_per_core(mut self, input: std::option::Option) -> Self { + self.threads_per_core = input; + self + } + /// Consumes the builder and constructs a [`CpuOptions`](crate::model::CpuOptions) + pub fn build(self) -> crate::model::CpuOptions { + crate::model::CpuOptions { + core_count: self.core_count, + threads_per_core: self.threads_per_core, + } + } + } +} +impl CpuOptions { + /// Creates a new builder-style object to manufacture [`CpuOptions`](crate::model::CpuOptions) + pub fn builder() -> crate::model::cpu_options::Builder { + crate::model::cpu_options::Builder::default() + } +} + +///

                                                                                    Information about the device's security group.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SecurityGroupIdentifier { + ///

                                                                                    The security group ID.

                                                                                    + pub group_id: std::option::Option, + ///

                                                                                    The security group name.

                                                                                    + pub group_name: std::option::Option, +} +impl std::fmt::Debug for SecurityGroupIdentifier { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SecurityGroupIdentifier"); + formatter.field("group_id", &self.group_id); + formatter.field("group_name", &self.group_name); + formatter.finish() + } +} +/// See [`SecurityGroupIdentifier`](crate::model::SecurityGroupIdentifier) +pub mod security_group_identifier { + /// A builder for [`SecurityGroupIdentifier`](crate::model::SecurityGroupIdentifier) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) group_id: std::option::Option, + pub(crate) group_name: std::option::Option, + } + impl Builder { + ///

                                                                                    The security group ID.

                                                                                    + pub fn group_id(mut self, input: impl Into) -> Self { + self.group_id = Some(input.into()); + self + } + pub fn set_group_id(mut self, input: std::option::Option) -> Self { + self.group_id = input; + self + } + ///

                                                                                    The security group name.

                                                                                    + pub fn group_name(mut self, input: impl Into) -> Self { + self.group_name = Some(input.into()); + self + } + pub fn set_group_name(mut self, input: std::option::Option) -> Self { + self.group_name = input; + self + } + /// Consumes the builder and constructs a [`SecurityGroupIdentifier`](crate::model::SecurityGroupIdentifier) + pub fn build(self) -> crate::model::SecurityGroupIdentifier { + crate::model::SecurityGroupIdentifier { + group_id: self.group_id, + group_name: self.group_name, + } + } + } +} +impl SecurityGroupIdentifier { + /// Creates a new builder-style object to manufacture [`SecurityGroupIdentifier`](crate::model::SecurityGroupIdentifier) + pub fn builder() -> crate::model::security_group_identifier::Builder { + crate::model::security_group_identifier::Builder::default() + } +} + +///

                                                                                    The description of a block device mapping.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InstanceBlockDeviceMapping { + ///

                                                                                    The block device name.

                                                                                    + pub device_name: std::option::Option, + ///

                                                                                    The parameters used to automatically set up Amazon Elastic Block Store (Amazon EBS) + /// volumes when the instance is launched.

                                                                                    + pub ebs: std::option::Option, +} +impl std::fmt::Debug for InstanceBlockDeviceMapping { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InstanceBlockDeviceMapping"); + formatter.field("device_name", &self.device_name); + formatter.field("ebs", &self.ebs); + formatter.finish() + } +} +/// See [`InstanceBlockDeviceMapping`](crate::model::InstanceBlockDeviceMapping) +pub mod instance_block_device_mapping { + /// A builder for [`InstanceBlockDeviceMapping`](crate::model::InstanceBlockDeviceMapping) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) device_name: std::option::Option, + pub(crate) ebs: std::option::Option, + } + impl Builder { + ///

                                                                                    The block device name.

                                                                                    + pub fn device_name(mut self, input: impl Into) -> Self { + self.device_name = Some(input.into()); + self + } + pub fn set_device_name(mut self, input: std::option::Option) -> Self { + self.device_name = input; + self + } + ///

                                                                                    The parameters used to automatically set up Amazon Elastic Block Store (Amazon EBS) + /// volumes when the instance is launched.

                                                                                    + pub fn ebs(mut self, input: crate::model::EbsInstanceBlockDevice) -> Self { + self.ebs = Some(input); + self + } + pub fn set_ebs( + mut self, + input: std::option::Option, + ) -> Self { + self.ebs = input; + self + } + /// Consumes the builder and constructs a [`InstanceBlockDeviceMapping`](crate::model::InstanceBlockDeviceMapping) + pub fn build(self) -> crate::model::InstanceBlockDeviceMapping { + crate::model::InstanceBlockDeviceMapping { + device_name: self.device_name, + ebs: self.ebs, + } + } + } +} +impl InstanceBlockDeviceMapping { + /// Creates a new builder-style object to manufacture [`InstanceBlockDeviceMapping`](crate::model::InstanceBlockDeviceMapping) + pub fn builder() -> crate::model::instance_block_device_mapping::Builder { + crate::model::instance_block_device_mapping::Builder::default() + } +} + +///

                                                                                    Describes a parameter used to set up an Amazon Elastic Block Store (Amazon EBS) volume +/// in a block device mapping.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct EbsInstanceBlockDevice { + ///

                                                                                    When the attachment was initiated.

                                                                                    + pub attach_time: std::option::Option, + ///

                                                                                    A value that indicates whether the volume is deleted on instance termination.

                                                                                    + pub delete_on_termination: std::option::Option, + ///

                                                                                    The attachment state.

                                                                                    + pub status: std::option::Option, + ///

                                                                                    The ID of the Amazon EBS volume.

                                                                                    + pub volume_id: std::option::Option, +} +impl std::fmt::Debug for EbsInstanceBlockDevice { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("EbsInstanceBlockDevice"); + formatter.field("attach_time", &self.attach_time); + formatter.field("delete_on_termination", &self.delete_on_termination); + formatter.field("status", &self.status); + formatter.field("volume_id", &self.volume_id); + formatter.finish() + } +} +/// See [`EbsInstanceBlockDevice`](crate::model::EbsInstanceBlockDevice) +pub mod ebs_instance_block_device { + /// A builder for [`EbsInstanceBlockDevice`](crate::model::EbsInstanceBlockDevice) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) attach_time: std::option::Option, + pub(crate) delete_on_termination: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) volume_id: std::option::Option, + } + impl Builder { + ///

                                                                                    When the attachment was initiated.

                                                                                    + pub fn attach_time(mut self, input: smithy_types::Instant) -> Self { + self.attach_time = Some(input); + self + } + pub fn set_attach_time( + mut self, + input: std::option::Option, + ) -> Self { + self.attach_time = input; + self + } + ///

                                                                                    A value that indicates whether the volume is deleted on instance termination.

                                                                                    + pub fn delete_on_termination(mut self, input: bool) -> Self { + self.delete_on_termination = Some(input); + self + } + pub fn set_delete_on_termination(mut self, input: std::option::Option) -> Self { + self.delete_on_termination = input; + self + } + ///

                                                                                    The attachment state.

                                                                                    + pub fn status(mut self, input: crate::model::AttachmentStatus) -> Self { + self.status = Some(input); + self + } + pub fn set_status( + mut self, + input: std::option::Option, + ) -> Self { + self.status = input; + self + } + ///

                                                                                    The ID of the Amazon EBS volume.

                                                                                    + pub fn volume_id(mut self, input: impl Into) -> Self { + self.volume_id = Some(input.into()); + self + } + pub fn set_volume_id(mut self, input: std::option::Option) -> Self { + self.volume_id = input; + self + } + /// Consumes the builder and constructs a [`EbsInstanceBlockDevice`](crate::model::EbsInstanceBlockDevice) + pub fn build(self) -> crate::model::EbsInstanceBlockDevice { + crate::model::EbsInstanceBlockDevice { + attach_time: self.attach_time, + delete_on_termination: self.delete_on_termination, + status: self.status, + volume_id: self.volume_id, + } + } + } +} +impl EbsInstanceBlockDevice { + /// Creates a new builder-style object to manufacture [`EbsInstanceBlockDevice`](crate::model::EbsInstanceBlockDevice) + pub fn builder() -> crate::model::ebs_instance_block_device::Builder { + crate::model::ebs_instance_block_device::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum AttachmentStatus { + Attached, + Attaching, + Detached, + Detaching, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for AttachmentStatus { + fn from(s: &str) -> Self { + match s { + "ATTACHED" => AttachmentStatus::Attached, + "ATTACHING" => AttachmentStatus::Attaching, + "DETACHED" => AttachmentStatus::Detached, + "DETACHING" => AttachmentStatus::Detaching, + other => AttachmentStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for AttachmentStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(AttachmentStatus::from(s)) + } +} +impl AttachmentStatus { + pub fn as_str(&self) -> &str { + match self { + AttachmentStatus::Attached => "ATTACHED", + AttachmentStatus::Attaching => "ATTACHING", + AttachmentStatus::Detached => "DETACHED", + AttachmentStatus::Detaching => "DETACHING", + AttachmentStatus::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["ATTACHED", "ATTACHING", "DETACHED", "DETACHING"] + } +} +impl AsRef for AttachmentStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                    The description of the current state of an instance.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct InstanceState { + ///

                                                                                    The state of the instance as a 16-bit unsigned integer.

                                                                                    + ///

                                                                                    The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + /// between 256 and 65,535. These numerical values are used for internal purposes and should be + /// ignored.

                                                                                    + ///

                                                                                    The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + /// between 0 and 255.

                                                                                    + ///

                                                                                    The valid values for the instance state code are all in the range of the low byte. These + /// values are:

                                                                                    + ///
                                                                                      + ///
                                                                                    • + ///

                                                                                      + /// 0 : pending + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 16 : running + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 32 : shutting-down + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 48 : terminated + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 64 : stopping + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 80 : stopped + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    + ///

                                                                                    You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + /// decimal.

                                                                                    + pub code: std::option::Option, + ///

                                                                                    The current + /// state + /// of the instance.

                                                                                    + pub name: std::option::Option, +} +impl std::fmt::Debug for InstanceState { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("InstanceState"); + formatter.field("code", &self.code); + formatter.field("name", &self.name); + formatter.finish() + } +} +/// See [`InstanceState`](crate::model::InstanceState) +pub mod instance_state { + /// A builder for [`InstanceState`](crate::model::InstanceState) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) code: std::option::Option, + pub(crate) name: std::option::Option, + } + impl Builder { + ///

                                                                                    The state of the instance as a 16-bit unsigned integer.

                                                                                    + ///

                                                                                    The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + /// between 256 and 65,535. These numerical values are used for internal purposes and should be + /// ignored.

                                                                                    + ///

                                                                                    The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + /// between 0 and 255.

                                                                                    + ///

                                                                                    The valid values for the instance state code are all in the range of the low byte. These + /// values are:

                                                                                    + ///
                                                                                      + ///
                                                                                    • + ///

                                                                                      + /// 0 : pending + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 16 : running + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 32 : shutting-down + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 48 : terminated + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 64 : stopping + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    • + ///

                                                                                      + /// 80 : stopped + ///

                                                                                      + ///
                                                                                    • + ///
                                                                                    + ///

                                                                                    You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + /// decimal.

                                                                                    + pub fn code(mut self, input: i32) -> Self { + self.code = Some(input); + self + } + pub fn set_code(mut self, input: std::option::Option) -> Self { + self.code = input; + self + } + ///

                                                                                    The current + /// state + /// of the instance.

                                                                                    + pub fn name(mut self, input: crate::model::InstanceStateName) -> Self { + self.name = Some(input); + self + } + pub fn set_name( + mut self, + input: std::option::Option, + ) -> Self { + self.name = input; + self + } + /// Consumes the builder and constructs a [`InstanceState`](crate::model::InstanceState) + pub fn build(self) -> crate::model::InstanceState { + crate::model::InstanceState { + code: self.code, + name: self.name, + } + } + } +} +impl InstanceState { + /// Creates a new builder-style object to manufacture [`InstanceState`](crate::model::InstanceState) + pub fn builder() -> crate::model::instance_state::Builder { + crate::model::instance_state::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum InstanceStateName { + Pending, + Running, + ShuttingDown, + Stopped, + Stopping, + Terminated, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for InstanceStateName { + fn from(s: &str) -> Self { + match s { + "PENDING" => InstanceStateName::Pending, + "RUNNING" => InstanceStateName::Running, + "SHUTTING_DOWN" => InstanceStateName::ShuttingDown, + "STOPPED" => InstanceStateName::Stopped, + "STOPPING" => InstanceStateName::Stopping, + "TERMINATED" => InstanceStateName::Terminated, + other => InstanceStateName::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for InstanceStateName { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(InstanceStateName::from(s)) + } +} +impl InstanceStateName { + pub fn as_str(&self) -> &str { + match self { + InstanceStateName::Pending => "PENDING", + InstanceStateName::Running => "RUNNING", + InstanceStateName::ShuttingDown => "SHUTTING_DOWN", + InstanceStateName::Stopped => "STOPPED", + InstanceStateName::Stopping => "STOPPING", + InstanceStateName::Terminated => "TERMINATED", + InstanceStateName::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &[ + "PENDING", + "RUNNING", + "SHUTTING_DOWN", + "STOPPED", + "STOPPING", + "TERMINATED", + ] + } +} +impl AsRef for InstanceStateName { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                    Identifying information about the device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeviceSummary { + ///

                                                                                    The ID of the device.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the device.

                                                                                    + pub managed_device_arn: std::option::Option, + ///

                                                                                    The ID of the job used to order the device.

                                                                                    + pub associated_with_job: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for DeviceSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeviceSummary"); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("managed_device_arn", &self.managed_device_arn); + formatter.field("associated_with_job", &self.associated_with_job); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`DeviceSummary`](crate::model::DeviceSummary) +pub mod device_summary { + /// A builder for [`DeviceSummary`](crate::model::DeviceSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_device_id: std::option::Option, + pub(crate) managed_device_arn: std::option::Option, + pub(crate) associated_with_job: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                                                    The ID of the device.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the device.

                                                                                    + pub fn managed_device_arn(mut self, input: impl Into) -> Self { + self.managed_device_arn = Some(input.into()); + self + } + pub fn set_managed_device_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_arn = input; + self + } + ///

                                                                                    The ID of the job used to order the device.

                                                                                    + pub fn associated_with_job(mut self, input: impl Into) -> Self { + self.associated_with_job = Some(input.into()); + self + } + pub fn set_associated_with_job( + mut self, + input: std::option::Option, + ) -> Self { + self.associated_with_job = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`DeviceSummary`](crate::model::DeviceSummary) + pub fn build(self) -> crate::model::DeviceSummary { + crate::model::DeviceSummary { + managed_device_id: self.managed_device_id, + managed_device_arn: self.managed_device_arn, + associated_with_job: self.associated_with_job, + tags: self.tags, + } + } + } +} +impl DeviceSummary { + /// Creates a new builder-style object to manufacture [`DeviceSummary`](crate::model::DeviceSummary) + pub fn builder() -> crate::model::device_summary::Builder { + crate::model::device_summary::Builder::default() + } +} + +///

                                                                                    Information about the software on the device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SoftwareInformation { + ///

                                                                                    The version of the software currently installed on the device.

                                                                                    + pub installed_version: std::option::Option, + ///

                                                                                    The version of the software being installed on the device.

                                                                                    + pub installing_version: std::option::Option, + ///

                                                                                    The state of the software that is installed or that is being installed on the + /// device.

                                                                                    + pub install_state: std::option::Option, +} +impl std::fmt::Debug for SoftwareInformation { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SoftwareInformation"); + formatter.field("installed_version", &self.installed_version); + formatter.field("installing_version", &self.installing_version); + formatter.field("install_state", &self.install_state); + formatter.finish() + } +} +/// See [`SoftwareInformation`](crate::model::SoftwareInformation) +pub mod software_information { + /// A builder for [`SoftwareInformation`](crate::model::SoftwareInformation) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) installed_version: std::option::Option, + pub(crate) installing_version: std::option::Option, + pub(crate) install_state: std::option::Option, + } + impl Builder { + ///

                                                                                    The version of the software currently installed on the device.

                                                                                    + pub fn installed_version(mut self, input: impl Into) -> Self { + self.installed_version = Some(input.into()); + self + } + pub fn set_installed_version( + mut self, + input: std::option::Option, + ) -> Self { + self.installed_version = input; + self + } + ///

                                                                                    The version of the software being installed on the device.

                                                                                    + pub fn installing_version(mut self, input: impl Into) -> Self { + self.installing_version = Some(input.into()); + self + } + pub fn set_installing_version( + mut self, + input: std::option::Option, + ) -> Self { + self.installing_version = input; + self + } + ///

                                                                                    The state of the software that is installed or that is being installed on the + /// device.

                                                                                    + pub fn install_state(mut self, input: impl Into) -> Self { + self.install_state = Some(input.into()); + self + } + pub fn set_install_state( + mut self, + input: std::option::Option, + ) -> Self { + self.install_state = input; + self + } + /// Consumes the builder and constructs a [`SoftwareInformation`](crate::model::SoftwareInformation) + pub fn build(self) -> crate::model::SoftwareInformation { + crate::model::SoftwareInformation { + installed_version: self.installed_version, + installing_version: self.installing_version, + install_state: self.install_state, + } + } + } +} +impl SoftwareInformation { + /// Creates a new builder-style object to manufacture [`SoftwareInformation`](crate::model::SoftwareInformation) + pub fn builder() -> crate::model::software_information::Builder { + crate::model::software_information::Builder::default() + } +} + +///

                                                                                    The physical capacity of the Amazon Web Services Snow Family device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Capacity { + ///

                                                                                    The name of the type of capacity, such as memory.

                                                                                    + pub name: std::option::Option, + ///

                                                                                    The unit of measure for the type of capacity.

                                                                                    + pub unit: std::option::Option, + ///

                                                                                    The total capacity on the device.

                                                                                    + pub total: std::option::Option, + ///

                                                                                    The amount of capacity used on the device.

                                                                                    + pub used: std::option::Option, + ///

                                                                                    The amount of capacity available for use on the device.

                                                                                    + pub available: std::option::Option, +} +impl std::fmt::Debug for Capacity { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Capacity"); + formatter.field("name", &self.name); + formatter.field("unit", &self.unit); + formatter.field("total", &self.total); + formatter.field("used", &self.used); + formatter.field("available", &self.available); + formatter.finish() + } +} +/// See [`Capacity`](crate::model::Capacity) +pub mod capacity { + /// A builder for [`Capacity`](crate::model::Capacity) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) unit: std::option::Option, + pub(crate) total: std::option::Option, + pub(crate) used: std::option::Option, + pub(crate) available: std::option::Option, + } + impl Builder { + ///

                                                                                    The name of the type of capacity, such as memory.

                                                                                    + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                    The unit of measure for the type of capacity.

                                                                                    + pub fn unit(mut self, input: impl Into) -> Self { + self.unit = Some(input.into()); + self + } + pub fn set_unit(mut self, input: std::option::Option) -> Self { + self.unit = input; + self + } + ///

                                                                                    The total capacity on the device.

                                                                                    + pub fn total(mut self, input: i64) -> Self { + self.total = Some(input); + self + } + pub fn set_total(mut self, input: std::option::Option) -> Self { + self.total = input; + self + } + ///

                                                                                    The amount of capacity used on the device.

                                                                                    + pub fn used(mut self, input: i64) -> Self { + self.used = Some(input); + self + } + pub fn set_used(mut self, input: std::option::Option) -> Self { + self.used = input; + self + } + ///

                                                                                    The amount of capacity available for use on the device.

                                                                                    + pub fn available(mut self, input: i64) -> Self { + self.available = Some(input); + self + } + pub fn set_available(mut self, input: std::option::Option) -> Self { + self.available = input; + self + } + /// Consumes the builder and constructs a [`Capacity`](crate::model::Capacity) + pub fn build(self) -> crate::model::Capacity { + crate::model::Capacity { + name: self.name, + unit: self.unit, + total: self.total, + used: self.used, + available: self.available, + } + } + } +} +impl Capacity { + /// Creates a new builder-style object to manufacture [`Capacity`](crate::model::Capacity) + pub fn builder() -> crate::model::capacity::Builder { + crate::model::capacity::Builder::default() + } +} + +///

                                                                                    The details about the physical network interface for the device.

                                                                                    +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PhysicalNetworkInterface { + ///

                                                                                    The physical network interface ID.

                                                                                    + pub physical_network_interface_id: std::option::Option, + ///

                                                                                    The + /// physical + /// connector type.

                                                                                    + pub physical_connector_type: std::option::Option, + ///

                                                                                    A value that describes whether the IP address is dynamic or persistent.

                                                                                    + pub ip_address_assignment: std::option::Option, + ///

                                                                                    The IP address of the device.

                                                                                    + pub ip_address: std::option::Option, + ///

                                                                                    The netmask used to divide the IP address into subnets.

                                                                                    + pub netmask: std::option::Option, + ///

                                                                                    The default gateway of the device.

                                                                                    + pub default_gateway: std::option::Option, + ///

                                                                                    The MAC address of the device.

                                                                                    + pub mac_address: std::option::Option, +} +impl std::fmt::Debug for PhysicalNetworkInterface { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PhysicalNetworkInterface"); + formatter.field( + "physical_network_interface_id", + &self.physical_network_interface_id, + ); + formatter.field("physical_connector_type", &self.physical_connector_type); + formatter.field("ip_address_assignment", &self.ip_address_assignment); + formatter.field("ip_address", &self.ip_address); + formatter.field("netmask", &self.netmask); + formatter.field("default_gateway", &self.default_gateway); + formatter.field("mac_address", &self.mac_address); + formatter.finish() + } +} +/// See [`PhysicalNetworkInterface`](crate::model::PhysicalNetworkInterface) +pub mod physical_network_interface { + /// A builder for [`PhysicalNetworkInterface`](crate::model::PhysicalNetworkInterface) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) physical_network_interface_id: std::option::Option, + pub(crate) physical_connector_type: + std::option::Option, + pub(crate) ip_address_assignment: std::option::Option, + pub(crate) ip_address: std::option::Option, + pub(crate) netmask: std::option::Option, + pub(crate) default_gateway: std::option::Option, + pub(crate) mac_address: std::option::Option, + } + impl Builder { + ///

                                                                                    The physical network interface ID.

                                                                                    + pub fn physical_network_interface_id( + mut self, + input: impl Into, + ) -> Self { + self.physical_network_interface_id = Some(input.into()); + self + } + pub fn set_physical_network_interface_id( + mut self, + input: std::option::Option, + ) -> Self { + self.physical_network_interface_id = input; + self + } + ///

                                                                                    The + /// physical + /// connector type.

                                                                                    + pub fn physical_connector_type( + mut self, + input: crate::model::PhysicalConnectorType, + ) -> Self { + self.physical_connector_type = Some(input); + self + } + pub fn set_physical_connector_type( + mut self, + input: std::option::Option, + ) -> Self { + self.physical_connector_type = input; + self + } + ///

                                                                                    A value that describes whether the IP address is dynamic or persistent.

                                                                                    + pub fn ip_address_assignment(mut self, input: crate::model::IpAddressAssignment) -> Self { + self.ip_address_assignment = Some(input); + self + } + pub fn set_ip_address_assignment( + mut self, + input: std::option::Option, + ) -> Self { + self.ip_address_assignment = input; + self + } + ///

                                                                                    The IP address of the device.

                                                                                    + pub fn ip_address(mut self, input: impl Into) -> Self { + self.ip_address = Some(input.into()); + self + } + pub fn set_ip_address(mut self, input: std::option::Option) -> Self { + self.ip_address = input; + self + } + ///

                                                                                    The netmask used to divide the IP address into subnets.

                                                                                    + pub fn netmask(mut self, input: impl Into) -> Self { + self.netmask = Some(input.into()); + self + } + pub fn set_netmask(mut self, input: std::option::Option) -> Self { + self.netmask = input; + self + } + ///

                                                                                    The default gateway of the device.

                                                                                    + pub fn default_gateway(mut self, input: impl Into) -> Self { + self.default_gateway = Some(input.into()); + self + } + pub fn set_default_gateway( + mut self, + input: std::option::Option, + ) -> Self { + self.default_gateway = input; + self + } + ///

                                                                                    The MAC address of the device.

                                                                                    + pub fn mac_address(mut self, input: impl Into) -> Self { + self.mac_address = Some(input.into()); + self + } + pub fn set_mac_address(mut self, input: std::option::Option) -> Self { + self.mac_address = input; + self + } + /// Consumes the builder and constructs a [`PhysicalNetworkInterface`](crate::model::PhysicalNetworkInterface) + pub fn build(self) -> crate::model::PhysicalNetworkInterface { + crate::model::PhysicalNetworkInterface { + physical_network_interface_id: self.physical_network_interface_id, + physical_connector_type: self.physical_connector_type, + ip_address_assignment: self.ip_address_assignment, + ip_address: self.ip_address, + netmask: self.netmask, + default_gateway: self.default_gateway, + mac_address: self.mac_address, + } + } + } +} +impl PhysicalNetworkInterface { + /// Creates a new builder-style object to manufacture [`PhysicalNetworkInterface`](crate::model::PhysicalNetworkInterface) + pub fn builder() -> crate::model::physical_network_interface::Builder { + crate::model::physical_network_interface::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum IpAddressAssignment { + Dhcp, + Static, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for IpAddressAssignment { + fn from(s: &str) -> Self { + match s { + "DHCP" => IpAddressAssignment::Dhcp, + "STATIC" => IpAddressAssignment::Static, + other => IpAddressAssignment::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for IpAddressAssignment { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(IpAddressAssignment::from(s)) + } +} +impl IpAddressAssignment { + pub fn as_str(&self) -> &str { + match self { + IpAddressAssignment::Dhcp => "DHCP", + IpAddressAssignment::Static => "STATIC", + IpAddressAssignment::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["DHCP", "STATIC"] + } +} +impl AsRef for IpAddressAssignment { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum PhysicalConnectorType { + Qsfp, + Rj45, + Rj452, + SfpPlus, + Wifi, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for PhysicalConnectorType { + fn from(s: &str) -> Self { + match s { + "QSFP" => PhysicalConnectorType::Qsfp, + "RJ45" => PhysicalConnectorType::Rj45, + "RJ45_2" => PhysicalConnectorType::Rj452, + "SFP_PLUS" => PhysicalConnectorType::SfpPlus, + "WIFI" => PhysicalConnectorType::Wifi, + other => PhysicalConnectorType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for PhysicalConnectorType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(PhysicalConnectorType::from(s)) + } +} +impl PhysicalConnectorType { + pub fn as_str(&self) -> &str { + match self { + PhysicalConnectorType::Qsfp => "QSFP", + PhysicalConnectorType::Rj45 => "RJ45", + PhysicalConnectorType::Rj452 => "RJ45_2", + PhysicalConnectorType::SfpPlus => "SFP_PLUS", + PhysicalConnectorType::Wifi => "WIFI", + PhysicalConnectorType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["QSFP", "RJ45", "RJ45_2", "SFP_PLUS", "WIFI"] + } +} +impl AsRef for PhysicalConnectorType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum UnlockState { + Locked, + Unlocked, + Unlocking, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for UnlockState { + fn from(s: &str) -> Self { + match s { + "LOCKED" => UnlockState::Locked, + "UNLOCKED" => UnlockState::Unlocked, + "UNLOCKING" => UnlockState::Unlocking, + other => UnlockState::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for UnlockState { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(UnlockState::from(s)) + } +} +impl UnlockState { + pub fn as_str(&self) -> &str { + match self { + UnlockState::Locked => "LOCKED", + UnlockState::Unlocked => "UNLOCKED", + UnlockState::Unlocking => "UNLOCKING", + UnlockState::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["LOCKED", "UNLOCKED", "UNLOCKING"] + } +} +impl AsRef for UnlockState { + fn as_ref(&self) -> &str { + self.as_str() + } +} diff --git a/sdk/snowdevicemanagement/src/operation.rs b/sdk/snowdevicemanagement/src/operation.rs new file mode 100644 index 000000000000..73f531c191ed --- /dev/null +++ b/sdk/snowdevicemanagement/src/operation.rs @@ -0,0 +1,354 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

                                                                                    Sends a cancel request for a specified task. You can cancel a task only if it's still in a +/// QUEUED state. Tasks that are already running can't be cancelled.

                                                                                    +/// +///

                                                                                    A task might still run if it's processed from the queue before the +/// CancelTask operation changes the task's state.

                                                                                    +///
                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CancelTask { + _private: (), +} +impl CancelTask { + /// Creates a new builder-style object to manufacture [`CancelTaskInput`](crate::input::CancelTaskInput) + pub fn builder() -> crate::input::cancel_task_input::Builder { + crate::input::cancel_task_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CancelTask { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_cancel_task_error(response) + } else { + crate::operation_deser::parse_cancel_task_response(response) + } + } +} + +///

                                                                                    Instructs one or more devices to start a task, such as unlocking or rebooting.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateTask { + _private: (), +} +impl CreateTask { + /// Creates a new builder-style object to manufacture [`CreateTaskInput`](crate::input::CreateTaskInput) + pub fn builder() -> crate::input::create_task_input::Builder { + crate::input::create_task_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateTask { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_create_task_error(response) + } else { + crate::operation_deser::parse_create_task_response(response) + } + } +} + +///

                                                                                    Checks device-specific information, such as the device type, software version, IP +/// addresses, and lock status.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeDevice { + _private: (), +} +impl DescribeDevice { + /// Creates a new builder-style object to manufacture [`DescribeDeviceInput`](crate::input::DescribeDeviceInput) + pub fn builder() -> crate::input::describe_device_input::Builder { + crate::input::describe_device_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeDevice { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_device_error(response) + } else { + crate::operation_deser::parse_describe_device_response(response) + } + } +} + +///

                                                                                    Checks the current state of the Amazon EC2 instances. The output is similar to +/// describeDevice, but the results are sourced from the device cache in the +/// Amazon Web Services Cloud and include a subset of the available fields.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeDeviceEc2Instances { + _private: (), +} +impl DescribeDeviceEc2Instances { + /// Creates a new builder-style object to manufacture [`DescribeDeviceEc2InstancesInput`](crate::input::DescribeDeviceEc2InstancesInput) + pub fn builder() -> crate::input::describe_device_ec2_instances_input::Builder { + crate::input::describe_device_ec2_instances_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeDeviceEc2Instances { + type Output = std::result::Result< + crate::output::DescribeDeviceEc2InstancesOutput, + crate::error::DescribeDeviceEc2InstancesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_device_ec2_instances_error(response) + } else { + crate::operation_deser::parse_describe_device_ec2_instances_response(response) + } + } +} + +///

                                                                                    Checks the status of a remote task running on one or more target devices.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeExecution { + _private: (), +} +impl DescribeExecution { + /// Creates a new builder-style object to manufacture [`DescribeExecutionInput`](crate::input::DescribeExecutionInput) + pub fn builder() -> crate::input::describe_execution_input::Builder { + crate::input::describe_execution_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeExecution { + type Output = std::result::Result< + crate::output::DescribeExecutionOutput, + crate::error::DescribeExecutionError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_execution_error(response) + } else { + crate::operation_deser::parse_describe_execution_response(response) + } + } +} + +///

                                                                                    Checks the metadata for a given task on a device.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DescribeTask { + _private: (), +} +impl DescribeTask { + /// Creates a new builder-style object to manufacture [`DescribeTaskInput`](crate::input::DescribeTaskInput) + pub fn builder() -> crate::input::describe_task_input::Builder { + crate::input::describe_task_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DescribeTask { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_describe_task_error(response) + } else { + crate::operation_deser::parse_describe_task_response(response) + } + } +} + +///

                                                                                    Returns a list of the Amazon Web Services resources available for a device. Currently, Amazon EC2 instances are the only supported resource type.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListDeviceResources { + _private: (), +} +impl ListDeviceResources { + /// Creates a new builder-style object to manufacture [`ListDeviceResourcesInput`](crate::input::ListDeviceResourcesInput) + pub fn builder() -> crate::input::list_device_resources_input::Builder { + crate::input::list_device_resources_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListDeviceResources { + type Output = std::result::Result< + crate::output::ListDeviceResourcesOutput, + crate::error::ListDeviceResourcesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_device_resources_error(response) + } else { + crate::operation_deser::parse_list_device_resources_response(response) + } + } +} + +///

                                                                                    Returns a list of all devices on your Amazon Web Services account that have Amazon Web Services Snow Device Management +/// enabled in the Amazon Web Services Region where the command is run.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListDevices { + _private: (), +} +impl ListDevices { + /// Creates a new builder-style object to manufacture [`ListDevicesInput`](crate::input::ListDevicesInput) + pub fn builder() -> crate::input::list_devices_input::Builder { + crate::input::list_devices_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListDevices { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_devices_error(response) + } else { + crate::operation_deser::parse_list_devices_response(response) + } + } +} + +///

                                                                                    Returns the status of tasks for one or more target devices.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListExecutions { + _private: (), +} +impl ListExecutions { + /// Creates a new builder-style object to manufacture [`ListExecutionsInput`](crate::input::ListExecutionsInput) + pub fn builder() -> crate::input::list_executions_input::Builder { + crate::input::list_executions_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListExecutions { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_executions_error(response) + } else { + crate::operation_deser::parse_list_executions_response(response) + } + } +} + +///

                                                                                    Returns a list of tags for a managed device or task.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListTagsForResource { + _private: (), +} +impl ListTagsForResource { + /// Creates a new builder-style object to manufacture [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn builder() -> crate::input::list_tags_for_resource_input::Builder { + crate::input::list_tags_for_resource_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTagsForResource { + type Output = std::result::Result< + crate::output::ListTagsForResourceOutput, + crate::error::ListTagsForResourceError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_tags_for_resource_error(response) + } else { + crate::operation_deser::parse_list_tags_for_resource_response(response) + } + } +} + +///

                                                                                    Returns a list of tasks that can be filtered by state.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListTasks { + _private: (), +} +impl ListTasks { + /// Creates a new builder-style object to manufacture [`ListTasksInput`](crate::input::ListTasksInput) + pub fn builder() -> crate::input::list_tasks_input::Builder { + crate::input::list_tasks_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListTasks { + type Output = std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_tasks_error(response) + } else { + crate::operation_deser::parse_list_tasks_response(response) + } + } +} + +///

                                                                                    Adds or replaces tags on a device or task.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct TagResource { + _private: (), +} +impl TagResource { + /// Creates a new builder-style object to manufacture [`TagResourceInput`](crate::input::TagResourceInput) + pub fn builder() -> crate::input::tag_resource_input::Builder { + crate::input::tag_resource_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for TagResource { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_tag_resource_error(response) + } else { + crate::operation_deser::parse_tag_resource_response(response) + } + } +} + +///

                                                                                    Removes a tag from a device or task.

                                                                                    +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UntagResource { + _private: (), +} +impl UntagResource { + /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn builder() -> crate::input::untag_resource_input::Builder { + crate::input::untag_resource_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UntagResource { + type Output = + std::result::Result; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_untag_resource_error(response) + } else { + crate::operation_deser::parse_untag_resource_response(response) + } + } +} diff --git a/sdk/snowdevicemanagement/src/operation_deser.rs b/sdk/snowdevicemanagement/src/operation_deser.rs new file mode 100644 index 000000000000..34249dbe8b2c --- /dev/null +++ b/sdk/snowdevicemanagement/src/operation_deser.rs @@ -0,0 +1,1641 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn parse_cancel_task_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CancelTaskError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CancelTaskError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::CancelTaskError { + meta: generic, + kind: crate::error::CancelTaskErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::CancelTaskError { + meta: generic, + kind: crate::error::CancelTaskErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::CancelTaskError { + meta: generic, + kind: crate::error::CancelTaskErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::CancelTaskError { + meta: generic, + kind: crate::error::CancelTaskErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::CancelTaskError { + meta: generic, + kind: crate::error::CancelTaskErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::CancelTaskError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_cancel_task_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::cancel_task_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_cancel_task(response.body().as_ref(), output) + .map_err(crate::error::CancelTaskError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_task_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateTaskError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::CreateTaskError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ServiceQuotaExceededException" => crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::ServiceQuotaExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::service_quota_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_service_quota_exceeded_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ThrottlingException" => crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::CreateTaskError { + meta: generic, + kind: crate::error::CreateTaskErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::CreateTaskError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_task_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_task_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_task(response.body().as_ref(), output) + .map_err(crate::error::CreateTaskError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_device_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeDeviceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::DescribeDeviceError { + meta: generic, + kind: crate::error::DescribeDeviceErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::DescribeDeviceError { + meta: generic, + kind: crate::error::DescribeDeviceErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DescribeDeviceError { + meta: generic, + kind: crate::error::DescribeDeviceErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::DescribeDeviceError { + meta: generic, + kind: crate::error::DescribeDeviceErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::DescribeDeviceError { + meta: generic, + kind: crate::error::DescribeDeviceErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DescribeDeviceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_device_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_device_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_describe_device(response.body().as_ref(), output) + .map_err(crate::error::DescribeDeviceError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_device_ec2_instances_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeDeviceEc2InstancesOutput, + crate::error::DescribeDeviceEc2InstancesError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DescribeDeviceEc2InstancesError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::DescribeDeviceEc2InstancesError { + meta: generic, + kind: crate::error::DescribeDeviceEc2InstancesErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::DescribeDeviceEc2InstancesError { + meta: generic, + kind: crate::error::DescribeDeviceEc2InstancesErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DescribeDeviceEc2InstancesError { + meta: generic, + kind: crate::error::DescribeDeviceEc2InstancesErrorKind::ResourceNotFoundException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "ThrottlingException" => crate::error::DescribeDeviceEc2InstancesError { + meta: generic, + kind: crate::error::DescribeDeviceEc2InstancesErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::DescribeDeviceEc2InstancesError { + meta: generic, + kind: crate::error::DescribeDeviceEc2InstancesErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DescribeDeviceEc2InstancesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_device_ec2_instances_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeDeviceEc2InstancesOutput, + crate::error::DescribeDeviceEc2InstancesError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_device_ec2_instances_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_device_ec2_instances( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeDeviceEc2InstancesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_execution_error( + response: &http::Response, +) -> std::result::Result +{ + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeExecutionError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::DescribeExecutionError { + meta: generic, + kind: crate::error::DescribeExecutionErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::DescribeExecutionError { + meta: generic, + kind: crate::error::DescribeExecutionErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DescribeExecutionError { + meta: generic, + kind: crate::error::DescribeExecutionErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::DescribeExecutionError { + meta: generic, + kind: crate::error::DescribeExecutionErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::DescribeExecutionError { + meta: generic, + kind: crate::error::DescribeExecutionErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DescribeExecutionError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_execution_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_execution_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_describe_execution(response.body().as_ref(), output) + .map_err(crate::error::DescribeExecutionError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_task_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeTaskError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeTaskError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::DescribeTaskError { + meta: generic, + kind: crate::error::DescribeTaskErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::DescribeTaskError { + meta: generic, + kind: crate::error::DescribeTaskErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::DescribeTaskError { + meta: generic, + kind: crate::error::DescribeTaskErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::DescribeTaskError { + meta: generic, + kind: crate::error::DescribeTaskErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::DescribeTaskError { + meta: generic, + kind: crate::error::DescribeTaskErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DescribeTaskError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_task_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::describe_task_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_describe_task(response.body().as_ref(), output) + .map_err(crate::error::DescribeTaskError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_device_resources_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListDeviceResourcesOutput, + crate::error::ListDeviceResourcesError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListDeviceResourcesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::ListDeviceResourcesError { + meta: generic, + kind: crate::error::ListDeviceResourcesErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::ListDeviceResourcesError { + meta: generic, + kind: crate::error::ListDeviceResourcesErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::ListDeviceResourcesError { + meta: generic, + kind: crate::error::ListDeviceResourcesErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::ListDeviceResourcesError { + meta: generic, + kind: crate::error::ListDeviceResourcesErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::ListDeviceResourcesError { + meta: generic, + kind: crate::error::ListDeviceResourcesErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListDeviceResourcesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_device_resources_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListDeviceResourcesOutput, + crate::error::ListDeviceResourcesError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_device_resources_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_device_resources( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDeviceResourcesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_devices_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListDevicesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListDevicesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::ListDevicesError { + meta: generic, + kind: crate::error::ListDevicesErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDevicesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::ListDevicesError { + meta: generic, + kind: crate::error::ListDevicesErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDevicesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ThrottlingException" => crate::error::ListDevicesError { + meta: generic, + kind: crate::error::ListDevicesErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDevicesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::ListDevicesError { + meta: generic, + kind: crate::error::ListDevicesErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListDevicesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListDevicesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_devices_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_devices_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_devices(response.body().as_ref(), output) + .map_err(crate::error::ListDevicesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_executions_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListExecutionsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListExecutionsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::ListExecutionsError { + meta: generic, + kind: crate::error::ListExecutionsErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::ListExecutionsError { + meta: generic, + kind: crate::error::ListExecutionsErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::ListExecutionsError { + meta: generic, + kind: crate::error::ListExecutionsErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ThrottlingException" => crate::error::ListExecutionsError { + meta: generic, + kind: crate::error::ListExecutionsErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::ListExecutionsError { + meta: generic, + kind: crate::error::ListExecutionsErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListExecutionsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_executions_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_executions_output::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_operation_list_executions(response.body().as_ref(), output) + .map_err(crate::error::ListExecutionsError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_tags_for_resource_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListTagsForResourceOutput, + crate::error::ListTagsForResourceError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListTagsForResourceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListTagsForResourceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServerException" => crate::error::ListTagsForResourceError { + meta: generic, + kind: crate::error::ListTagsForResourceErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTagsForResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::ListTagsForResourceError { + meta: generic, + kind: crate::error::ListTagsForResourceErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListTagsForResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ValidationException" => crate::error::ListTagsForResourceError { + meta: generic, + kind: crate::error::ListTagsForResourceErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTagsForResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListTagsForResourceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_tags_for_resource_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListTagsForResourceOutput, + crate::error::ListTagsForResourceError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_tags_for_resource_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_tags_for_resource( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTagsForResourceError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_tasks_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListTasksError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListTasksError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "AccessDeniedException" => crate::error::ListTasksError { + meta: generic, + kind: crate::error::ListTasksErrorKind::AccessDeniedException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::access_denied_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_access_denied_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTasksError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalServerException" => crate::error::ListTasksError { + meta: generic, + kind: crate::error::ListTasksErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTasksError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ThrottlingException" => crate::error::ListTasksError { + meta: generic, + kind: crate::error::ListTasksErrorKind::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::throttling_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_throttling_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTasksError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ValidationException" => crate::error::ListTasksError { + meta: generic, + kind: crate::error::ListTasksErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListTasksError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListTasksError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_tasks_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_tasks_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_tasks(response.body().as_ref(), output) + .map_err(crate::error::ListTasksError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_resource_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::TagResourceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::TagResourceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServerException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ValidationException" => crate::error::TagResourceError { + meta: generic, + kind: crate::error::TagResourceErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::TagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::TagResourceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_tag_resource_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::tag_resource_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_untag_resource_error( + response: &http::Response, +) -> std::result::Result { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UntagResourceError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::UntagResourceError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServerException" => crate::error::UntagResourceError { + meta: generic, + kind: crate::error::UntagResourceErrorKind::InternalServerException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_server_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_server_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UntagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ResourceNotFoundException" => { + crate::error::UntagResourceError { + meta: generic, + kind: crate::error::UntagResourceErrorKind::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::resource_not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_resource_not_found_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UntagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "ValidationException" => crate::error::UntagResourceError { + meta: generic, + kind: crate::error::UntagResourceErrorKind::ValidationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::validation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_validation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UntagResourceError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::UntagResourceError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_untag_resource_response( + response: &http::Response, +) -> std::result::Result { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::untag_resource_output::Builder::default(); + let _ = response; + output.build() + }) +} diff --git a/sdk/snowdevicemanagement/src/operation_ser.rs b/sdk/snowdevicemanagement/src/operation_ser.rs new file mode 100644 index 000000000000..3819c72184e9 --- /dev/null +++ b/sdk/snowdevicemanagement/src/operation_ser.rs @@ -0,0 +1,30 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_create_task( + input: &crate::input::CreateTaskInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_task_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_describe_device_ec2_instances( + input: &crate::input::DescribeDeviceEc2InstancesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_describe_device_ec2_instances_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_tag_resource( + input: &crate::input::TagResourceInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_tag_resource_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} diff --git a/sdk/snowdevicemanagement/src/output.rs b/sdk/snowdevicemanagement/src/output.rs new file mode 100644 index 000000000000..e4f48d7cbb82 --- /dev/null +++ b/sdk/snowdevicemanagement/src/output.rs @@ -0,0 +1,1076 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CancelTaskOutput { + ///

                                                                                    The ID of the task that you are attempting to cancel.

                                                                                    + pub task_id: std::option::Option, +} +impl std::fmt::Debug for CancelTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CancelTaskOutput"); + formatter.field("task_id", &self.task_id); + formatter.finish() + } +} +/// See [`CancelTaskOutput`](crate::output::CancelTaskOutput) +pub mod cancel_task_output { + /// A builder for [`CancelTaskOutput`](crate::output::CancelTaskOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task that you are attempting to cancel.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + /// Consumes the builder and constructs a [`CancelTaskOutput`](crate::output::CancelTaskOutput) + pub fn build(self) -> crate::output::CancelTaskOutput { + crate::output::CancelTaskOutput { + task_id: self.task_id, + } + } + } +} +impl CancelTaskOutput { + /// Creates a new builder-style object to manufacture [`CancelTaskOutput`](crate::output::CancelTaskOutput) + pub fn builder() -> crate::output::cancel_task_output::Builder { + crate::output::cancel_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTasksOutput { + ///

                                                                                    A list of task structures containing details about each task.

                                                                                    + pub tasks: std::option::Option>, + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListTasksOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTasksOutput"); + formatter.field("tasks", &self.tasks); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListTasksOutput`](crate::output::ListTasksOutput) +pub mod list_tasks_output { + /// A builder for [`ListTasksOutput`](crate::output::ListTasksOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) tasks: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn tasks(mut self, input: impl Into) -> Self { + let mut v = self.tasks.unwrap_or_default(); + v.push(input.into()); + self.tasks = Some(v); + self + } + pub fn set_tasks( + mut self, + input: std::option::Option>, + ) -> Self { + self.tasks = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of tasks.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListTasksOutput`](crate::output::ListTasksOutput) + pub fn build(self) -> crate::output::ListTasksOutput { + crate::output::ListTasksOutput { + tasks: self.tasks, + next_token: self.next_token, + } + } + } +} +impl ListTasksOutput { + /// Creates a new builder-style object to manufacture [`ListTasksOutput`](crate::output::ListTasksOutput) + pub fn builder() -> crate::output::list_tasks_output::Builder { + crate::output::list_tasks_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateTaskOutput { + ///

                                                                                    The ID of the task that you created.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the task that you created.

                                                                                    + pub task_arn: std::option::Option, +} +impl std::fmt::Debug for CreateTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateTaskOutput"); + formatter.field("task_id", &self.task_id); + formatter.field("task_arn", &self.task_arn); + formatter.finish() + } +} +/// See [`CreateTaskOutput`](crate::output::CreateTaskOutput) +pub mod create_task_output { + /// A builder for [`CreateTaskOutput`](crate::output::CreateTaskOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) task_arn: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task that you created.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the task that you created.

                                                                                    + pub fn task_arn(mut self, input: impl Into) -> Self { + self.task_arn = Some(input.into()); + self + } + pub fn set_task_arn(mut self, input: std::option::Option) -> Self { + self.task_arn = input; + self + } + /// Consumes the builder and constructs a [`CreateTaskOutput`](crate::output::CreateTaskOutput) + pub fn build(self) -> crate::output::CreateTaskOutput { + crate::output::CreateTaskOutput { + task_id: self.task_id, + task_arn: self.task_arn, + } + } + } +} +impl CreateTaskOutput { + /// Creates a new builder-style object to manufacture [`CreateTaskOutput`](crate::output::CreateTaskOutput) + pub fn builder() -> crate::output::create_task_output::Builder { + crate::output::create_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeTaskOutput { + ///

                                                                                    The ID of the task.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the task.

                                                                                    + pub task_arn: std::option::Option, + ///

                                                                                    The managed devices that the task was sent to.

                                                                                    + pub targets: std::option::Option>, + ///

                                                                                    The current state of the task.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    When the CreateTask operation was called.

                                                                                    + pub created_at: std::option::Option, + ///

                                                                                    When the state of the task was last updated.

                                                                                    + pub last_updated_at: std::option::Option, + ///

                                                                                    When the task was completed.

                                                                                    + pub completed_at: std::option::Option, + ///

                                                                                    The description provided of the task and managed devices.

                                                                                    + pub description: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for DescribeTaskOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeTaskOutput"); + formatter.field("task_id", &self.task_id); + formatter.field("task_arn", &self.task_arn); + formatter.field("targets", &self.targets); + formatter.field("state", &self.state); + formatter.field("created_at", &self.created_at); + formatter.field("last_updated_at", &self.last_updated_at); + formatter.field("completed_at", &self.completed_at); + formatter.field("description", &self.description); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`DescribeTaskOutput`](crate::output::DescribeTaskOutput) +pub mod describe_task_output { + /// A builder for [`DescribeTaskOutput`](crate::output::DescribeTaskOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) task_arn: std::option::Option, + pub(crate) targets: std::option::Option>, + pub(crate) state: std::option::Option, + pub(crate) created_at: std::option::Option, + pub(crate) last_updated_at: std::option::Option, + pub(crate) completed_at: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                                                    The ID of the task.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the task.

                                                                                    + pub fn task_arn(mut self, input: impl Into) -> Self { + self.task_arn = Some(input.into()); + self + } + pub fn set_task_arn(mut self, input: std::option::Option) -> Self { + self.task_arn = input; + self + } + pub fn targets(mut self, input: impl Into) -> Self { + let mut v = self.targets.unwrap_or_default(); + v.push(input.into()); + self.targets = Some(v); + self + } + pub fn set_targets( + mut self, + input: std::option::Option>, + ) -> Self { + self.targets = input; + self + } + ///

                                                                                    The current state of the task.

                                                                                    + pub fn state(mut self, input: crate::model::TaskState) -> Self { + self.state = Some(input); + self + } + pub fn set_state(mut self, input: std::option::Option) -> Self { + self.state = input; + self + } + ///

                                                                                    When the CreateTask operation was called.

                                                                                    + pub fn created_at(mut self, input: smithy_types::Instant) -> Self { + self.created_at = Some(input); + self + } + pub fn set_created_at(mut self, input: std::option::Option) -> Self { + self.created_at = input; + self + } + ///

                                                                                    When the state of the task was last updated.

                                                                                    + pub fn last_updated_at(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_at = Some(input); + self + } + pub fn set_last_updated_at( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_at = input; + self + } + ///

                                                                                    When the task was completed.

                                                                                    + pub fn completed_at(mut self, input: smithy_types::Instant) -> Self { + self.completed_at = Some(input); + self + } + pub fn set_completed_at( + mut self, + input: std::option::Option, + ) -> Self { + self.completed_at = input; + self + } + ///

                                                                                    The description provided of the task and managed devices.

                                                                                    + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`DescribeTaskOutput`](crate::output::DescribeTaskOutput) + pub fn build(self) -> crate::output::DescribeTaskOutput { + crate::output::DescribeTaskOutput { + task_id: self.task_id, + task_arn: self.task_arn, + targets: self.targets, + state: self.state, + created_at: self.created_at, + last_updated_at: self.last_updated_at, + completed_at: self.completed_at, + description: self.description, + tags: self.tags, + } + } + } +} +impl DescribeTaskOutput { + /// Creates a new builder-style object to manufacture [`DescribeTaskOutput`](crate::output::DescribeTaskOutput) + pub fn builder() -> crate::output::describe_task_output::Builder { + crate::output::describe_task_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListExecutionsOutput { + ///

                                                                                    A list of executions. Each execution contains the task ID, the device that the task is + /// executing on, the execution ID, and the status of the execution.

                                                                                    + pub executions: std::option::Option>, + ///

                                                                                    A pagination token to continue to the next page of executions.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListExecutionsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListExecutionsOutput"); + formatter.field("executions", &self.executions); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListExecutionsOutput`](crate::output::ListExecutionsOutput) +pub mod list_executions_output { + /// A builder for [`ListExecutionsOutput`](crate::output::ListExecutionsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) executions: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn executions(mut self, input: impl Into) -> Self { + let mut v = self.executions.unwrap_or_default(); + v.push(input.into()); + self.executions = Some(v); + self + } + pub fn set_executions( + mut self, + input: std::option::Option>, + ) -> Self { + self.executions = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of executions.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListExecutionsOutput`](crate::output::ListExecutionsOutput) + pub fn build(self) -> crate::output::ListExecutionsOutput { + crate::output::ListExecutionsOutput { + executions: self.executions, + next_token: self.next_token, + } + } + } +} +impl ListExecutionsOutput { + /// Creates a new builder-style object to manufacture [`ListExecutionsOutput`](crate::output::ListExecutionsOutput) + pub fn builder() -> crate::output::list_executions_output::Builder { + crate::output::list_executions_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeExecutionOutput { + ///

                                                                                    The ID of the task being executed on the device.

                                                                                    + pub task_id: std::option::Option, + ///

                                                                                    The ID of the execution.

                                                                                    + pub execution_id: std::option::Option, + ///

                                                                                    The ID of the managed device that the task is being executed on.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    The current state of the execution.

                                                                                    + pub state: std::option::Option, + ///

                                                                                    When the execution began.

                                                                                    + pub started_at: std::option::Option, + ///

                                                                                    When the status of the execution was last updated.

                                                                                    + pub last_updated_at: std::option::Option, +} +impl std::fmt::Debug for DescribeExecutionOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeExecutionOutput"); + formatter.field("task_id", &self.task_id); + formatter.field("execution_id", &self.execution_id); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("state", &self.state); + formatter.field("started_at", &self.started_at); + formatter.field("last_updated_at", &self.last_updated_at); + formatter.finish() + } +} +/// See [`DescribeExecutionOutput`](crate::output::DescribeExecutionOutput) +pub mod describe_execution_output { + /// A builder for [`DescribeExecutionOutput`](crate::output::DescribeExecutionOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) task_id: std::option::Option, + pub(crate) execution_id: std::option::Option, + pub(crate) managed_device_id: std::option::Option, + pub(crate) state: std::option::Option, + pub(crate) started_at: std::option::Option, + pub(crate) last_updated_at: std::option::Option, + } + impl Builder { + ///

                                                                                    The ID of the task being executed on the device.

                                                                                    + pub fn task_id(mut self, input: impl Into) -> Self { + self.task_id = Some(input.into()); + self + } + pub fn set_task_id(mut self, input: std::option::Option) -> Self { + self.task_id = input; + self + } + ///

                                                                                    The ID of the execution.

                                                                                    + pub fn execution_id(mut self, input: impl Into) -> Self { + self.execution_id = Some(input.into()); + self + } + pub fn set_execution_id(mut self, input: std::option::Option) -> Self { + self.execution_id = input; + self + } + ///

                                                                                    The ID of the managed device that the task is being executed on.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + ///

                                                                                    The current state of the execution.

                                                                                    + pub fn state(mut self, input: crate::model::ExecutionState) -> Self { + self.state = Some(input); + self + } + pub fn set_state( + mut self, + input: std::option::Option, + ) -> Self { + self.state = input; + self + } + ///

                                                                                    When the execution began.

                                                                                    + pub fn started_at(mut self, input: smithy_types::Instant) -> Self { + self.started_at = Some(input); + self + } + pub fn set_started_at(mut self, input: std::option::Option) -> Self { + self.started_at = input; + self + } + ///

                                                                                    When the status of the execution was last updated.

                                                                                    + pub fn last_updated_at(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_at = Some(input); + self + } + pub fn set_last_updated_at( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_at = input; + self + } + /// Consumes the builder and constructs a [`DescribeExecutionOutput`](crate::output::DescribeExecutionOutput) + pub fn build(self) -> crate::output::DescribeExecutionOutput { + crate::output::DescribeExecutionOutput { + task_id: self.task_id, + execution_id: self.execution_id, + managed_device_id: self.managed_device_id, + state: self.state, + started_at: self.started_at, + last_updated_at: self.last_updated_at, + } + } + } +} +impl DescribeExecutionOutput { + /// Creates a new builder-style object to manufacture [`DescribeExecutionOutput`](crate::output::DescribeExecutionOutput) + pub fn builder() -> crate::output::describe_execution_output::Builder { + crate::output::describe_execution_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListDeviceResourcesOutput { + ///

                                                                                    A structure defining the resource's type, Amazon Resource Name (ARN), and ID.

                                                                                    + pub resources: std::option::Option>, + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListDeviceResourcesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDeviceResourcesOutput"); + formatter.field("resources", &self.resources); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListDeviceResourcesOutput`](crate::output::ListDeviceResourcesOutput) +pub mod list_device_resources_output { + /// A builder for [`ListDeviceResourcesOutput`](crate::output::ListDeviceResourcesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) resources: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn resources(mut self, input: impl Into) -> Self { + let mut v = self.resources.unwrap_or_default(); + v.push(input.into()); + self.resources = Some(v); + self + } + pub fn set_resources( + mut self, + input: std::option::Option>, + ) -> Self { + self.resources = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of results.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListDeviceResourcesOutput`](crate::output::ListDeviceResourcesOutput) + pub fn build(self) -> crate::output::ListDeviceResourcesOutput { + crate::output::ListDeviceResourcesOutput { + resources: self.resources, + next_token: self.next_token, + } + } + } +} +impl ListDeviceResourcesOutput { + /// Creates a new builder-style object to manufacture [`ListDeviceResourcesOutput`](crate::output::ListDeviceResourcesOutput) + pub fn builder() -> crate::output::list_device_resources_output::Builder { + crate::output::list_device_resources_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeDeviceEc2InstancesOutput { + ///

                                                                                    A list of structures containing information about each instance.

                                                                                    + pub instances: std::option::Option>, +} +impl std::fmt::Debug for DescribeDeviceEc2InstancesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeDeviceEc2InstancesOutput"); + formatter.field("instances", &self.instances); + formatter.finish() + } +} +/// See [`DescribeDeviceEc2InstancesOutput`](crate::output::DescribeDeviceEc2InstancesOutput) +pub mod describe_device_ec2_instances_output { + /// A builder for [`DescribeDeviceEc2InstancesOutput`](crate::output::DescribeDeviceEc2InstancesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) instances: std::option::Option>, + } + impl Builder { + pub fn instances(mut self, input: impl Into) -> Self { + let mut v = self.instances.unwrap_or_default(); + v.push(input.into()); + self.instances = Some(v); + self + } + pub fn set_instances( + mut self, + input: std::option::Option>, + ) -> Self { + self.instances = input; + self + } + /// Consumes the builder and constructs a [`DescribeDeviceEc2InstancesOutput`](crate::output::DescribeDeviceEc2InstancesOutput) + pub fn build(self) -> crate::output::DescribeDeviceEc2InstancesOutput { + crate::output::DescribeDeviceEc2InstancesOutput { + instances: self.instances, + } + } + } +} +impl DescribeDeviceEc2InstancesOutput { + /// Creates a new builder-style object to manufacture [`DescribeDeviceEc2InstancesOutput`](crate::output::DescribeDeviceEc2InstancesOutput) + pub fn builder() -> crate::output::describe_device_ec2_instances_output::Builder { + crate::output::describe_device_ec2_instances_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListDevicesOutput { + ///

                                                                                    A list of device structures that contain information about the device.

                                                                                    + pub devices: std::option::Option>, + ///

                                                                                    A pagination token to continue to the next page of devices.

                                                                                    + pub next_token: std::option::Option, +} +impl std::fmt::Debug for ListDevicesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListDevicesOutput"); + formatter.field("devices", &self.devices); + formatter.field("next_token", &self.next_token); + formatter.finish() + } +} +/// See [`ListDevicesOutput`](crate::output::ListDevicesOutput) +pub mod list_devices_output { + /// A builder for [`ListDevicesOutput`](crate::output::ListDevicesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) devices: std::option::Option>, + pub(crate) next_token: std::option::Option, + } + impl Builder { + pub fn devices(mut self, input: impl Into) -> Self { + let mut v = self.devices.unwrap_or_default(); + v.push(input.into()); + self.devices = Some(v); + self + } + pub fn set_devices( + mut self, + input: std::option::Option>, + ) -> Self { + self.devices = input; + self + } + ///

                                                                                    A pagination token to continue to the next page of devices.

                                                                                    + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + /// Consumes the builder and constructs a [`ListDevicesOutput`](crate::output::ListDevicesOutput) + pub fn build(self) -> crate::output::ListDevicesOutput { + crate::output::ListDevicesOutput { + devices: self.devices, + next_token: self.next_token, + } + } + } +} +impl ListDevicesOutput { + /// Creates a new builder-style object to manufacture [`ListDevicesOutput`](crate::output::ListDevicesOutput) + pub fn builder() -> crate::output::list_devices_output::Builder { + crate::output::list_devices_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DescribeDeviceOutput { + ///

                                                                                    When the device last contacted the Amazon Web Services Cloud. Indicates that the device is + /// online.

                                                                                    + pub last_reached_out_at: std::option::Option, + ///

                                                                                    When the device last pushed an update to the Amazon Web Services Cloud. Indicates when the device cache + /// was refreshed.

                                                                                    + pub last_updated_at: std::option::Option, + ///

                                                                                    Optional metadata that you assign to a resource. You can use tags to categorize a resource + /// in different ways, such as by purpose, owner, or environment.

                                                                                    + pub tags: + std::option::Option>, + ///

                                                                                    The ID of the device that you checked the information for.

                                                                                    + pub managed_device_id: std::option::Option, + ///

                                                                                    The Amazon Resource Name (ARN) of the device.

                                                                                    + pub managed_device_arn: std::option::Option, + ///

                                                                                    The type of Amazon Web Services Snow Family device.

                                                                                    + pub device_type: std::option::Option, + ///

                                                                                    The ID of the job used when ordering the device.

                                                                                    + pub associated_with_job: std::option::Option, + ///

                                                                                    The current state of the device.

                                                                                    + pub device_state: std::option::Option, + ///

                                                                                    The network interfaces available on the device.

                                                                                    + pub physical_network_interfaces: + std::option::Option>, + ///

                                                                                    The hardware specifications of the device.

                                                                                    + pub device_capacities: std::option::Option>, + ///

                                                                                    The software installed on the device.

                                                                                    + pub software: std::option::Option, +} +impl std::fmt::Debug for DescribeDeviceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DescribeDeviceOutput"); + formatter.field("last_reached_out_at", &self.last_reached_out_at); + formatter.field("last_updated_at", &self.last_updated_at); + formatter.field("tags", &self.tags); + formatter.field("managed_device_id", &self.managed_device_id); + formatter.field("managed_device_arn", &self.managed_device_arn); + formatter.field("device_type", &self.device_type); + formatter.field("associated_with_job", &self.associated_with_job); + formatter.field("device_state", &self.device_state); + formatter.field( + "physical_network_interfaces", + &self.physical_network_interfaces, + ); + formatter.field("device_capacities", &self.device_capacities); + formatter.field("software", &self.software); + formatter.finish() + } +} +/// See [`DescribeDeviceOutput`](crate::output::DescribeDeviceOutput) +pub mod describe_device_output { + /// A builder for [`DescribeDeviceOutput`](crate::output::DescribeDeviceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) last_reached_out_at: std::option::Option, + pub(crate) last_updated_at: std::option::Option, + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + pub(crate) managed_device_id: std::option::Option, + pub(crate) managed_device_arn: std::option::Option, + pub(crate) device_type: std::option::Option, + pub(crate) associated_with_job: std::option::Option, + pub(crate) device_state: std::option::Option, + pub(crate) physical_network_interfaces: + std::option::Option>, + pub(crate) device_capacities: std::option::Option>, + pub(crate) software: std::option::Option, + } + impl Builder { + ///

                                                                                    When the device last contacted the Amazon Web Services Cloud. Indicates that the device is + /// online.

                                                                                    + pub fn last_reached_out_at(mut self, input: smithy_types::Instant) -> Self { + self.last_reached_out_at = Some(input); + self + } + pub fn set_last_reached_out_at( + mut self, + input: std::option::Option, + ) -> Self { + self.last_reached_out_at = input; + self + } + ///

                                                                                    When the device last pushed an update to the Amazon Web Services Cloud. Indicates when the device cache + /// was refreshed.

                                                                                    + pub fn last_updated_at(mut self, input: smithy_types::Instant) -> Self { + self.last_updated_at = Some(input); + self + } + pub fn set_last_updated_at( + mut self, + input: std::option::Option, + ) -> Self { + self.last_updated_at = input; + self + } + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + ///

                                                                                    The ID of the device that you checked the information for.

                                                                                    + pub fn managed_device_id(mut self, input: impl Into) -> Self { + self.managed_device_id = Some(input.into()); + self + } + pub fn set_managed_device_id( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_id = input; + self + } + ///

                                                                                    The Amazon Resource Name (ARN) of the device.

                                                                                    + pub fn managed_device_arn(mut self, input: impl Into) -> Self { + self.managed_device_arn = Some(input.into()); + self + } + pub fn set_managed_device_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_device_arn = input; + self + } + ///

                                                                                    The type of Amazon Web Services Snow Family device.

                                                                                    + pub fn device_type(mut self, input: impl Into) -> Self { + self.device_type = Some(input.into()); + self + } + pub fn set_device_type(mut self, input: std::option::Option) -> Self { + self.device_type = input; + self + } + ///

                                                                                    The ID of the job used when ordering the device.

                                                                                    + pub fn associated_with_job(mut self, input: impl Into) -> Self { + self.associated_with_job = Some(input.into()); + self + } + pub fn set_associated_with_job( + mut self, + input: std::option::Option, + ) -> Self { + self.associated_with_job = input; + self + } + ///

                                                                                    The current state of the device.

                                                                                    + pub fn device_state(mut self, input: crate::model::UnlockState) -> Self { + self.device_state = Some(input); + self + } + pub fn set_device_state( + mut self, + input: std::option::Option, + ) -> Self { + self.device_state = input; + self + } + pub fn physical_network_interfaces( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.physical_network_interfaces.unwrap_or_default(); + v.push(input.into()); + self.physical_network_interfaces = Some(v); + self + } + pub fn set_physical_network_interfaces( + mut self, + input: std::option::Option>, + ) -> Self { + self.physical_network_interfaces = input; + self + } + pub fn device_capacities(mut self, input: impl Into) -> Self { + let mut v = self.device_capacities.unwrap_or_default(); + v.push(input.into()); + self.device_capacities = Some(v); + self + } + pub fn set_device_capacities( + mut self, + input: std::option::Option>, + ) -> Self { + self.device_capacities = input; + self + } + ///

                                                                                    The software installed on the device.

                                                                                    + pub fn software(mut self, input: crate::model::SoftwareInformation) -> Self { + self.software = Some(input); + self + } + pub fn set_software( + mut self, + input: std::option::Option, + ) -> Self { + self.software = input; + self + } + /// Consumes the builder and constructs a [`DescribeDeviceOutput`](crate::output::DescribeDeviceOutput) + pub fn build(self) -> crate::output::DescribeDeviceOutput { + crate::output::DescribeDeviceOutput { + last_reached_out_at: self.last_reached_out_at, + last_updated_at: self.last_updated_at, + tags: self.tags, + managed_device_id: self.managed_device_id, + managed_device_arn: self.managed_device_arn, + device_type: self.device_type, + associated_with_job: self.associated_with_job, + device_state: self.device_state, + physical_network_interfaces: self.physical_network_interfaces, + device_capacities: self.device_capacities, + software: self.software, + } + } + } +} +impl DescribeDeviceOutput { + /// Creates a new builder-style object to manufacture [`DescribeDeviceOutput`](crate::output::DescribeDeviceOutput) + pub fn builder() -> crate::output::describe_device_output::Builder { + crate::output::describe_device_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UntagResourceOutput {} +impl std::fmt::Debug for UntagResourceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UntagResourceOutput"); + formatter.finish() + } +} +/// See [`UntagResourceOutput`](crate::output::UntagResourceOutput) +pub mod untag_resource_output { + /// A builder for [`UntagResourceOutput`](crate::output::UntagResourceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`UntagResourceOutput`](crate::output::UntagResourceOutput) + pub fn build(self) -> crate::output::UntagResourceOutput { + crate::output::UntagResourceOutput {} + } + } +} +impl UntagResourceOutput { + /// Creates a new builder-style object to manufacture [`UntagResourceOutput`](crate::output::UntagResourceOutput) + pub fn builder() -> crate::output::untag_resource_output::Builder { + crate::output::untag_resource_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TagResourceOutput {} +impl std::fmt::Debug for TagResourceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TagResourceOutput"); + formatter.finish() + } +} +/// See [`TagResourceOutput`](crate::output::TagResourceOutput) +pub mod tag_resource_output { + /// A builder for [`TagResourceOutput`](crate::output::TagResourceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`TagResourceOutput`](crate::output::TagResourceOutput) + pub fn build(self) -> crate::output::TagResourceOutput { + crate::output::TagResourceOutput {} + } + } +} +impl TagResourceOutput { + /// Creates a new builder-style object to manufacture [`TagResourceOutput`](crate::output::TagResourceOutput) + pub fn builder() -> crate::output::tag_resource_output::Builder { + crate::output::tag_resource_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListTagsForResourceOutput { + ///

                                                                                    The list of tags for the device or task.

                                                                                    + pub tags: + std::option::Option>, +} +impl std::fmt::Debug for ListTagsForResourceOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListTagsForResourceOutput"); + formatter.field("tags", &self.tags); + formatter.finish() + } +} +/// See [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput) +pub mod list_tags_for_resource_output { + /// A builder for [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) tags: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + pub fn tags( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.tags.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.tags = Some(hash_map); + self + } + pub fn set_tags( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.tags = input; + self + } + /// Consumes the builder and constructs a [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput) + pub fn build(self) -> crate::output::ListTagsForResourceOutput { + crate::output::ListTagsForResourceOutput { tags: self.tags } + } + } +} +impl ListTagsForResourceOutput { + /// Creates a new builder-style object to manufacture [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput) + pub fn builder() -> crate::output::list_tags_for_resource_output::Builder { + crate::output::list_tags_for_resource_output::Builder::default() + } +} diff --git a/sdk/sns/Cargo.toml b/sdk/sns/Cargo.toml index 09eaf05ce297..825a7ff3019a 100644 --- a/sdk/sns/Cargo.toml +++ b/sdk/sns/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sns" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Simple Notification Service\n

                                                                                    Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build\n distributed web-enabled applications. Applications can use Amazon SNS to easily push\n real-time notification messages to interested subscribers over multiple delivery\n protocols. For more information about this product see the Amazon SNS product page. For detailed information about Amazon SNS features\n and their associated API calls, see the Amazon SNS Developer Guide.

                                                                                    \n

                                                                                    For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in the Amazon SNS Developer\n Guide.\n

                                                                                    \n

                                                                                    We also provide SDKs that enable you to access Amazon SNS from your preferred programming\n language. The SDKs contain functionality that automatically takes care of tasks such as:\n cryptographically signing your service requests, retrying requests, and handling error\n responses. For a list of available SDKs, go to Tools for Amazon Web Services.

                                                                                    " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sqs/Cargo.toml b/sdk/sqs/Cargo.toml index d53eeb7c9cec..ec52ecd63e4b 100644 --- a/sdk/sqs/Cargo.toml +++ b/sdk/sqs/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sqs" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Welcome to the Amazon SQS API Reference.

                                                                                    \n

                                                                                    Amazon SQS is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.

                                                                                    \n

                                                                                    For information on the permissions you need to use this API, see\n Identity and\n access management in the Amazon SQS Developer Guide.\n

                                                                                    \n

                                                                                    You can use Amazon Web Services SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Cryptographically sign your service requests

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Retry requests

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Handle error responses

                                                                                      \n
                                                                                    • \n
                                                                                    \n \n

                                                                                    \n Additional information\n

                                                                                    \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssm/Cargo.toml b/sdk/ssm/Cargo.toml index c3651b0bf823..23a917fd6912 100644 --- a/sdk/ssm/Cargo.toml +++ b/sdk/ssm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ssm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                    Amazon Web Services Systems Manager is a collection of capabilities that helps you automate management tasks such as\n collecting system inventory, applying operating system (OS) patches, automating the creation of\n Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale.\n Systems Manager lets you remotely and securely manage the configuration of your managed instances. A\n managed instance is any Amazon Elastic Compute Cloud instance (EC2 instance), or any\n on-premises server or virtual machine (VM) in your hybrid environment that has been configured\n for Systems Manager.

                                                                                    \n

                                                                                    This reference is intended to be used with the Amazon Web Services Systems Manager User Guide.

                                                                                    \n

                                                                                    To get started, verify prerequisites and configure managed instances. For more information,\n see Setting up\n Amazon Web Services Systems Manager in the Amazon Web Services Systems Manager User Guide.

                                                                                    \n

                                                                                    \n Related resources\n

                                                                                    \n " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssm/src/client.rs b/sdk/ssm/src/client.rs index 70e44fdbf1c5..e011573ef72e 100644 --- a/sdk/ssm/src/client.rs +++ b/sdk/ssm/src/client.rs @@ -861,9 +861,9 @@ pub mod fluent_builders { self.inner = self.inner.set_default_instance_name(input); self } - ///

                                                                                    The Identity and Access Management (IAM) role that you want to assign to the managed - /// instance. This IAMrole must provide AssumeRole permissions for the Amazon Web Services Systems Manager - /// service principal ssm.amazonaws.com. For more information, see Create an + ///

                                                                                    The name of the Identity and Access Management (IAM) role that you want to assign to + /// the managed instance. This IAM role must provide AssumeRole permissions for the + /// Amazon Web Services Systems Manager service principal ssm.amazonaws.com. For more information, see Create an /// IAM service role for a hybrid environment in the /// Amazon Web Services Systems Manager User Guide.

                                                                                    pub fn iam_role(mut self, input: impl Into) -> Self { @@ -971,7 +971,7 @@ pub mod fluent_builders { /// information for the instance.

                                                                                    ///

                                                                                    You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                    - ///

                                                                                    For Systems Manager documents (SSM documents) that are shared with you from other accounts, you + ///

                                                                                    For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                    ///

                                                                                    /// arn:partition:ssm:region:account-id:document/document-name @@ -1044,7 +1044,7 @@ pub mod fluent_builders { self } ///

                                                                                    The targets for the association. You can target instances by using tags, Amazon Web Services resource - /// groups, all instances in an account, or individual instance IDs. For more information about + /// groups, all instances in an Amazon Web Services account, or individual instance IDs. For more information about /// choosing targets for an association, see Using targets and rate controls with State Manager associations in the /// Amazon Web Services Systems Manager User Guide.

                                                                                    pub fn targets(mut self, inp: impl Into) -> Self { @@ -1214,7 +1214,7 @@ pub mod fluent_builders { self.inner = self.inner.set_calendar_names(input); self } - ///

                                                                                    A location is a combination of Regions and accounts where you want to run the + ///

                                                                                    A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the /// association. Use this action to create an association in multiple Regions and multiple /// accounts.

                                                                                    pub fn target_locations(mut self, inp: impl Into) -> Self { @@ -1986,7 +1986,7 @@ pub mod fluent_builders { ///

                                                                                    Optional metadata that you assign to a resource. You can specify a maximum of five tags for /// an OpsMetadata object. Tags enable you to categorize a resource in different ways, such as by /// purpose, owner, or environment. For example, you might want to tag an OpsMetadata object to - /// identify an environment or target Region. In this case, you could specify the following + /// identify an environment or target Amazon Web Services Region. In this case, you could specify the following /// key-value pairs:

                                                                                    ///
                                                                                      ///
                                                                                    • @@ -2306,7 +2306,7 @@ pub mod fluent_builders { ///

                                                                                      Specify SyncToDestination to create a resource data sync that synchronizes data /// to an S3 bucket for Inventory. If you specify SyncToDestination, you must provide a /// value for S3Destination. Specify SyncFromSource to synchronize data - /// from a single account and multiple Regions, or multiple accounts and Regions, as + /// from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as /// listed in Organizations for Explorer. If you specify SyncFromSource, you must provide a /// value for SyncSource. The default value is SyncToDestination.

                                                                                      pub fn sync_type(mut self, input: impl Into) -> Self { @@ -2415,7 +2415,18 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                                                      The ID of the instance.

                                                                                      + ///

                                                                                      The instance ID.

                                                                                      + /// + ///

                                                                                      + /// InstanceId has been deprecated. To specify an instance ID for an association, + /// use the Targets parameter. Requests that include the + /// parameter InstanceID with Systems Manager documents (SSM documents) that use schema version + /// 2.0 or later will fail. In addition, if you use the parameter + /// InstanceId, you can't use the parameters AssociationName, + /// DocumentVersion, MaxErrors, MaxConcurrency, + /// OutputLocation, or ScheduleExpression. To use these parameters, you + /// must use the Targets parameter.

                                                                                      + ///
                                                                                      pub fn instance_id(mut self, input: impl Into) -> Self { self.inner = self.inner.instance_id(input); self @@ -2755,7 +2766,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                      The names of the parameters to delete.

                                                                                      + ///

                                                                                      The names of the parameters to delete. After deleting a parameter, wait for at least 30 + /// seconds to create a parameter with the same name.

                                                                                      pub fn names(mut self, inp: impl Into) -> Self { self.inner = self.inner.names(inp); self @@ -5991,7 +6003,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                      The ID of the instance.

                                                                                      + ///

                                                                                      The instance ID.

                                                                                      pub fn target(mut self, input: impl Into) -> Self { self.inner = self.inner.target(input); self @@ -6851,6 +6863,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                                      The name of the parameter you want to query.

                                                                                      + ///

                                                                                      To query by parameter label, use "Name": "name:label". To query by parameter + /// version, use "Name": "name:version".

                                                                                      pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); self @@ -6973,6 +6987,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                                      Names of the parameters for which you want to query information.

                                                                                      + ///

                                                                                      To query by parameter label, use "Name": "name:label". To query by parameter + /// version, use "Name": "name:version".

                                                                                      pub fn names(mut self, inp: impl Into) -> Self { self.inner = self.inner.names(inp); self @@ -7140,6 +7156,13 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                                      The ID of the patch baseline to retrieve.

                                                                                      + /// + ///

                                                                                      To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon + /// Resource Name (ARN) of the baseline. For example, for the baseline + /// AWS-AmazonLinuxDefaultPatchBaseline, specify + /// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7 instead of + /// pb-0e392de35e7c563b7.

                                                                                      + ///
                                                                                      pub fn baseline_id(mut self, input: impl Into) -> Self { self.inner = self.inner.baseline_id(input); self @@ -7840,7 +7863,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                      The name of the document.

                                                                                      + ///

                                                                                      The name of the change template.

                                                                                      pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); self @@ -7849,7 +7872,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                                                      The version of the document.

                                                                                      + ///

                                                                                      The version of the change template.

                                                                                      pub fn document_version(mut self, input: impl Into) -> Self { self.inner = self.inner.document_version(input); self @@ -8422,7 +8445,7 @@ pub mod fluent_builders { } ///

                                                                                      View a list of resource data syncs according to the sync type. Specify /// SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify SyncFromSource to view resource data syncs from Organizations - /// or from multiple Regions.

                                                                                      + /// or from multiple Amazon Web Services Regions.

                                                                                      pub fn sync_type(mut self, input: impl Into) -> Self { self.inner = self.inner.sync_type(input); self @@ -8827,7 +8850,7 @@ pub mod fluent_builders { ///

                                                                                      Parameter names are case sensitive.

                                                                                      ///
                                                                                    • ///
                                                                                    • - ///

                                                                                      A parameter name must be unique within an Region

                                                                                      + ///

                                                                                      A parameter name must be unique within an Amazon Web Services Region

                                                                                      ///
                                                                                    • ///
                                                                                    • ///

                                                                                      A parameter name can't be prefixed with "aws" or "ssm" @@ -8915,11 +8938,11 @@ pub mod fluent_builders { self } ///

                                                                                      The Key Management Service (KMS) ID that you want to use to encrypt a - /// parameter. Either the default KMS key automatically assigned to your account + /// parameter. Either the default KMS key automatically assigned to your Amazon Web Services account /// or a custom key. Required for parameters that use the SecureString /// data type.

                                                                                      ///

                                                                                      If you don't specify a key ID, the system uses the default key associated with your - /// account.

                                                                                      + /// Amazon Web Services account.

                                                                                      ///
                                                                                        ///
                                                                                      • ///

                                                                                        To use your default KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates @@ -9000,11 +9023,11 @@ pub mod fluent_builders { ///

                                                                                        The parameter tier to assign to a parameter.

                                                                                        ///

                                                                                        Parameter Store offers a standard tier and an advanced tier for parameters. Standard /// parameters have a content size limit of 4 KB and can't be configured to use parameter policies. - /// You can create a maximum of 10,000 standard parameters for each Region in an account. + /// You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account. /// Standard parameters are offered at no additional cost.

                                                                                        ///

                                                                                        Advanced parameters have a content size limit of 8 KB and can be configured to use parameter /// policies. You can create a maximum of 100,000 advanced parameters for each Region in an - /// account. Advanced parameters incur a charge. For more information, see Standard and + /// Amazon Web Services account. Advanced parameters incur a charge. For more information, see Standard and /// advanced parameter tiers in the Amazon Web Services Systems Manager User Guide.

                                                                                        ///

                                                                                        You can change a standard parameter to an advanced parameter any time. But you can't revert /// an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard @@ -9049,8 +9072,8 @@ pub mod fluent_builders { ///

                                                                                        The parameter uses a parameter policy.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        More than 10,000 parameters already exist in your account in the current - /// Region.

                                                                                        + ///

                                                                                        More than 10,000 parameters already exist in your Amazon Web Services account in the current + /// Amazon Web Services Region.

                                                                                        ///
                                                                                      • ///
                                                                                      ///

                                                                                      For more information about configuring the default tier option, see Specifying a @@ -9106,7 +9129,7 @@ pub mod fluent_builders { ///

                                                                                      When you create a String parameter and specify aws:ec2:image, /// Amazon Web Services Systems Manager validates the parameter value is in the required format, such as /// ami-12345abcdeEXAMPLE, and that the specified AMI is available in your - /// account. For more information, see Native parameter support + /// Amazon Web Services account. For more information, see Native parameter support /// for Amazon Machine Image (AMI) IDs in the Amazon Web Services Systems Manager User Guide.

                                                                                      pub fn data_type(mut self, input: impl Into) -> Self { self.inner = self.inner.data_type(input); @@ -10082,7 +10105,7 @@ pub mod fluent_builders { self } ///

                                                                                      (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - /// automatically determines the Region of the S3 bucket.

                                                                                      + /// automatically determines the Amazon Web Services Region of the S3 bucket.

                                                                                      pub fn output_s3_region(mut self, input: impl Into) -> Self { self.inner = self.inner.output_s3_region(input); self @@ -10411,9 +10434,9 @@ pub mod fluent_builders { self.inner = self.inner.set_max_errors(input); self } - ///

                                                                                      A location is a combination of Regions and/or accounts where you want to run the - /// automation. Use this operation to start an automation in multiple Regions and multiple - /// accounts. For more information, see Running Automation workflows in multiple Regions and accounts in the + ///

                                                                                      A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the + /// automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple + /// Amazon Web Services accounts. For more information, see Running Automation workflows in multiple Amazon Web Services Regions and Amazon Web Services accounts in the /// Amazon Web Services Systems Manager User Guide.

                                                                                      pub fn target_locations(mut self, inp: impl Into) -> Self { self.inner = self.inner.target_locations(inp); @@ -10590,7 +10613,7 @@ pub mod fluent_builders { ///

                                                                                      Optional metadata that you assign to a resource. You can specify a maximum of five tags for /// a change request. Tags enable you to categorize a resource in different ways, such as by /// purpose, owner, or environment. For example, you might want to tag a change request to identify - /// an environment or target Region. In this case, you could specify the following key-value + /// an environment or target Amazon Web Services Region. In this case, you could specify the following key-value /// pairs:

                                                                                      ///
                                                                                        ///
                                                                                      • @@ -10980,7 +11003,7 @@ pub mod fluent_builders { /// information for the instance.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other accounts, you + ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:aws:ssm:region:account-id:document/document-name @@ -11160,7 +11183,7 @@ pub mod fluent_builders { self.inner = self.inner.set_calendar_names(input); self } - ///

                                                                                        A location is a combination of Regions and accounts where you want to run the + ///

                                                                                        A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the /// association. Use this action to update an association in multiple Regions and multiple /// accounts.

                                                                                        pub fn target_locations(mut self, inp: impl Into) -> Self { @@ -11215,7 +11238,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.inner = self.inner.instance_id(input); self @@ -11441,7 +11464,7 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                        The name of the document for which a version is to be updated.

                                                                                        + ///

                                                                                        The name of the change template for which a version's metadata is to be updated.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.inner = self.inner.name(input); self @@ -11450,7 +11473,7 @@ pub mod fluent_builders { self.inner = self.inner.set_name(input); self } - ///

                                                                                        The version of a document to update.

                                                                                        + ///

                                                                                        The version of a change template in which to update approval metadata.

                                                                                        pub fn document_version(mut self, input: impl Into) -> Self { self.inner = self.inner.document_version(input); self @@ -11462,7 +11485,7 @@ pub mod fluent_builders { self.inner = self.inner.set_document_version(input); self } - ///

                                                                                        The document review details to update.

                                                                                        + ///

                                                                                        The change template review details to update.

                                                                                        pub fn document_reviews(mut self, input: crate::model::DocumentReviews) -> Self { self.inner = self.inner.document_reviews(input); self diff --git a/sdk/ssm/src/error.rs b/sdk/ssm/src/error.rs index 0ddfca146fe9..da12bd07362b 100644 --- a/sdk/ssm/src/error.rs +++ b/sdk/ssm/src/error.rs @@ -18292,7 +18292,7 @@ impl ParameterMaxVersionLimitExceeded { } } -///

                                                                                        You have exceeded the number of parameters for this account. Delete one or more +///

                                                                                        You have exceeded the number of parameters for this Amazon Web Services account. Delete one or more /// parameters and try again.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] diff --git a/sdk/ssm/src/input.rs b/sdk/ssm/src/input.rs index ef5918bd7e40..4ed32bf356ac 100644 --- a/sdk/ssm/src/input.rs +++ b/sdk/ssm/src/input.rs @@ -730,9 +730,9 @@ pub mod create_activation_input { self.default_instance_name = input; self } - ///

                                                                                        The Identity and Access Management (IAM) role that you want to assign to the managed - /// instance. This IAMrole must provide AssumeRole permissions for the Amazon Web Services Systems Manager - /// service principal ssm.amazonaws.com. For more information, see Create an + ///

                                                                                        The name of the Identity and Access Management (IAM) role that you want to assign to + /// the managed instance. This IAM role must provide AssumeRole permissions for the + /// Amazon Web Services Systems Manager service principal ssm.amazonaws.com. For more information, see Create an /// IAM service role for a hybrid environment in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        pub fn iam_role(mut self, input: impl Into) -> Self { @@ -938,7 +938,7 @@ pub mod create_association_input { /// information for the instance.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For Systems Manager documents (SSM documents) that are shared with you from other accounts, you + ///

                                                                                        For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:partition:ssm:region:account-id:document/document-name @@ -2976,7 +2976,7 @@ pub mod create_resource_data_sync_input { ///

                                                                                        Specify SyncToDestination to create a resource data sync that synchronizes data /// to an S3 bucket for Inventory. If you specify SyncToDestination, you must provide a /// value for S3Destination. Specify SyncFromSource to synchronize data - /// from a single account and multiple Regions, or multiple accounts and Regions, as + /// from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as /// listed in Organizations for Explorer. If you specify SyncFromSource, you must provide a /// value for SyncSource. The default value is SyncToDestination.

                                                                                        pub fn sync_type(mut self, input: impl Into) -> Self { @@ -3285,7 +3285,18 @@ pub mod delete_association_input { self.name = input; self } - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        + /// + ///

                                                                                        + /// InstanceId has been deprecated. To specify an instance ID for an association, + /// use the Targets parameter. Requests that include the + /// parameter InstanceID with Systems Manager documents (SSM documents) that use schema version + /// 2.0 or later will fail. In addition, if you use the parameter + /// InstanceId, you can't use the parameters AssociationName, + /// DocumentVersion, MaxErrors, MaxConcurrency, + /// OutputLocation, or ScheduleExpression. To use these parameters, you + /// must use the Targets parameter.

                                                                                        + ///
                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self @@ -11609,7 +11620,7 @@ pub mod get_connection_status_input { pub(crate) target: std::option::Option, } impl Builder { - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub fn target(mut self, input: impl Into) -> Self { self.target = Some(input.into()); self @@ -13891,6 +13902,8 @@ pub mod get_parameter_input { } impl Builder { ///

                                                                                        The name of the parameter you want to query.

                                                                                        + ///

                                                                                        To query by parameter label, use "Name": "name:label". To query by parameter + /// version, use "Name": "name:version".

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -14579,6 +14592,13 @@ pub mod get_patch_baseline_input { } impl Builder { ///

                                                                                        The ID of the patch baseline to retrieve.

                                                                                        + /// + ///

                                                                                        To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon + /// Resource Name (ARN) of the baseline. For example, for the baseline + /// AWS-AmazonLinuxDefaultPatchBaseline, specify + /// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7 instead of + /// pb-0e392de35e7c563b7.

                                                                                        + ///
                                                                                        pub fn baseline_id(mut self, input: impl Into) -> Self { self.baseline_id = Some(input.into()); self @@ -16304,7 +16324,7 @@ pub mod list_document_metadata_history_input { pub(crate) max_results: std::option::Option, } impl Builder { - ///

                                                                                        The name of the document.

                                                                                        + ///

                                                                                        The name of the change template.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -16313,7 +16333,7 @@ pub mod list_document_metadata_history_input { self.name = input; self } - ///

                                                                                        The version of the document.

                                                                                        + ///

                                                                                        The version of the change template.

                                                                                        pub fn document_version(mut self, input: impl Into) -> Self { self.document_version = Some(input.into()); self @@ -17718,7 +17738,7 @@ pub mod list_resource_data_sync_input { impl Builder { ///

                                                                                        View a list of resource data syncs according to the sync type. Specify /// SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify SyncFromSource to view resource data syncs from Organizations - /// or from multiple Regions.

                                                                                        + /// or from multiple Amazon Web Services Regions.

                                                                                        pub fn sync_type(mut self, input: impl Into) -> Self { self.sync_type = Some(input.into()); self @@ -18643,7 +18663,7 @@ pub mod put_parameter_input { ///

                                                                                        Parameter names are case sensitive.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        A parameter name must be unique within an Region

                                                                                        + ///

                                                                                        A parameter name must be unique within an Amazon Web Services Region

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        A parameter name can't be prefixed with "aws" or "ssm" @@ -18731,11 +18751,11 @@ pub mod put_parameter_input { self } ///

                                                                                        The Key Management Service (KMS) ID that you want to use to encrypt a - /// parameter. Either the default KMS key automatically assigned to your account + /// parameter. Either the default KMS key automatically assigned to your Amazon Web Services account /// or a custom key. Required for parameters that use the SecureString /// data type.

                                                                                        ///

                                                                                        If you don't specify a key ID, the system uses the default key associated with your - /// account.

                                                                                        + /// Amazon Web Services account.

                                                                                        ///
                                                                                          ///
                                                                                        • ///

                                                                                          To use your default KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates @@ -18792,11 +18812,11 @@ pub mod put_parameter_input { ///

                                                                                          The parameter tier to assign to a parameter.

                                                                                          ///

                                                                                          Parameter Store offers a standard tier and an advanced tier for parameters. Standard /// parameters have a content size limit of 4 KB and can't be configured to use parameter policies. - /// You can create a maximum of 10,000 standard parameters for each Region in an account. + /// You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account. /// Standard parameters are offered at no additional cost.

                                                                                          ///

                                                                                          Advanced parameters have a content size limit of 8 KB and can be configured to use parameter /// policies. You can create a maximum of 100,000 advanced parameters for each Region in an - /// account. Advanced parameters incur a charge. For more information, see Standard and + /// Amazon Web Services account. Advanced parameters incur a charge. For more information, see Standard and /// advanced parameter tiers in the Amazon Web Services Systems Manager User Guide.

                                                                                          ///

                                                                                          You can change a standard parameter to an advanced parameter any time. But you can't revert /// an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard @@ -18841,8 +18861,8 @@ pub mod put_parameter_input { ///

                                                                                          The parameter uses a parameter policy.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          More than 10,000 parameters already exist in your account in the current - /// Region.

                                                                                          + ///

                                                                                          More than 10,000 parameters already exist in your Amazon Web Services account in the current + /// Amazon Web Services Region.

                                                                                          ///
                                                                                        • ///
                                                                                        ///

                                                                                        For more information about configuring the default tier option, see Specifying a @@ -18898,7 +18918,7 @@ pub mod put_parameter_input { ///

                                                                                        When you create a String parameter and specify aws:ec2:image, /// Amazon Web Services Systems Manager validates the parameter value is in the required format, such as /// ami-12345abcdeEXAMPLE, and that the specified AMI is available in your - /// account. For more information, see Native parameter support + /// Amazon Web Services account. For more information, see Native parameter support /// for Amazon Machine Image (AMI) IDs in the Amazon Web Services Systems Manager User Guide.

                                                                                        pub fn data_type(mut self, input: impl Into) -> Self { self.data_type = Some(input.into()); @@ -20757,7 +20777,7 @@ pub mod send_command_input { self } ///

                                                                                        (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - /// automatically determines the Region of the S3 bucket.

                                                                                        + /// automatically determines the Amazon Web Services Region of the S3 bucket.

                                                                                        pub fn output_s3_region(mut self, input: impl Into) -> Self { self.output_s3_region = Some(input.into()); self @@ -22495,7 +22515,7 @@ pub mod update_association_input { /// information for the instance.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other accounts, you + ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:aws:ssm:region:account-id:document/document-name @@ -22844,7 +22864,7 @@ pub mod update_association_status_input { self.name = input; self } - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self @@ -23387,7 +23407,7 @@ pub mod update_document_metadata_input { pub(crate) document_reviews: std::option::Option, } impl Builder { - ///

                                                                                        The name of the document for which a version is to be updated.

                                                                                        + ///

                                                                                        The name of the change template for which a version's metadata is to be updated.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -23396,7 +23416,7 @@ pub mod update_document_metadata_input { self.name = input; self } - ///

                                                                                        The version of a document to update.

                                                                                        + ///

                                                                                        The version of a change template in which to update approval metadata.

                                                                                        pub fn document_version(mut self, input: impl Into) -> Self { self.document_version = Some(input.into()); self @@ -23408,7 +23428,7 @@ pub mod update_document_metadata_input { self.document_version = input; self } - ///

                                                                                        The document review details to update.

                                                                                        + ///

                                                                                        The change template review details to update.

                                                                                        pub fn document_reviews(mut self, input: crate::model::DocumentReviews) -> Self { self.document_reviews = Some(input); self @@ -26349,11 +26369,11 @@ impl std::fmt::Debug for UpdateMaintenanceWindowInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateDocumentMetadataInput { - ///

                                                                                        The name of the document for which a version is to be updated.

                                                                                        + ///

                                                                                        The name of the change template for which a version's metadata is to be updated.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The version of a document to update.

                                                                                        + ///

                                                                                        The version of a change template in which to update approval metadata.

                                                                                        pub document_version: std::option::Option, - ///

                                                                                        The document review details to update.

                                                                                        + ///

                                                                                        The change template review details to update.

                                                                                        pub document_reviews: std::option::Option, } impl std::fmt::Debug for UpdateDocumentMetadataInput { @@ -26430,7 +26450,7 @@ impl std::fmt::Debug for UpdateDocumentInput { pub struct UpdateAssociationStatusInput { ///

                                                                                        The name of the SSM document.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub instance_id: std::option::Option, ///

                                                                                        The association status.

                                                                                        pub association_status: std::option::Option, @@ -26466,7 +26486,7 @@ pub struct UpdateAssociationInput { /// information for the instance.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other accounts, you + ///

                                                                                        For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:aws:ssm:region:account-id:document/document-name @@ -26539,7 +26559,7 @@ pub struct UpdateAssociationInput { /// more information, see Amazon Web Services Systems Manager Change /// Calendar.

                                                                                        pub calendar_names: std::option::Option>, - ///

                                                                                        A location is a combination of Regions and accounts where you want to run the + ///

                                                                                        A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the /// association. Use this action to update an association in multiple Regions and multiple /// accounts.

                                                                                        pub target_locations: std::option::Option>, @@ -26683,7 +26703,7 @@ pub struct StartChangeRequestExecutionInput { ///

                                                                                        Optional metadata that you assign to a resource. You can specify a maximum of five tags for /// a change request. Tags enable you to categorize a resource in different ways, such as by /// purpose, owner, or environment. For example, you might want to tag a change request to identify - /// an environment or target Region. In this case, you could specify the following key-value + /// an environment or target Amazon Web Services Region. In this case, you could specify the following key-value /// pairs:

                                                                                        ///
                                                                                          ///
                                                                                        • @@ -26771,9 +26791,9 @@ pub struct StartAutomationExecutionInput { /// be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one /// at a time.

                                                                                          pub max_errors: std::option::Option, - ///

                                                                                          A location is a combination of Regions and/or accounts where you want to run the - /// automation. Use this operation to start an automation in multiple Regions and multiple - /// accounts. For more information, see Running Automation workflows in multiple Regions and accounts in the + ///

                                                                                          A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the + /// automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple + /// Amazon Web Services accounts. For more information, see Running Automation workflows in multiple Amazon Web Services Regions and Amazon Web Services accounts in the /// Amazon Web Services Systems Manager User Guide.

                                                                                          pub target_locations: std::option::Option>, ///

                                                                                          Optional metadata that you assign to a resource. You can specify a maximum of five tags for @@ -26889,7 +26909,7 @@ pub struct SendCommandInput { std::collections::HashMap>, >, ///

                                                                                          (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - /// automatically determines the Region of the S3 bucket.

                                                                                          + /// automatically determines the Amazon Web Services Region of the S3 bucket.

                                                                                          pub output_s3_region: std::option::Option, ///

                                                                                          The name of the S3 bucket where command execution responses should be stored.

                                                                                          pub output_s3_bucket_name: std::option::Option, @@ -27334,7 +27354,7 @@ pub struct PutParameterInput { ///

                                                                                          Parameter names are case sensitive.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          A parameter name must be unique within an Region

                                                                                          + ///

                                                                                          A parameter name must be unique within an Amazon Web Services Region

                                                                                          ///
                                                                                        • ///
                                                                                        • ///

                                                                                          A parameter name can't be prefixed with "aws" or "ssm" @@ -27394,11 +27414,11 @@ pub struct PutParameterInput { /// pub r#type: std::option::Option, ///

                                                                                          The Key Management Service (KMS) ID that you want to use to encrypt a - /// parameter. Either the default KMS key automatically assigned to your account + /// parameter. Either the default KMS key automatically assigned to your Amazon Web Services account /// or a custom key. Required for parameters that use the SecureString /// data type.

                                                                                          ///

                                                                                          If you don't specify a key ID, the system uses the default key associated with your - /// account.

                                                                                          + /// Amazon Web Services account.

                                                                                          ///
                                                                                            ///
                                                                                          • ///

                                                                                            To use your default KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates @@ -27445,11 +27465,11 @@ pub struct PutParameterInput { ///

                                                                                            The parameter tier to assign to a parameter.

                                                                                            ///

                                                                                            Parameter Store offers a standard tier and an advanced tier for parameters. Standard /// parameters have a content size limit of 4 KB and can't be configured to use parameter policies. - /// You can create a maximum of 10,000 standard parameters for each Region in an account. + /// You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account. /// Standard parameters are offered at no additional cost.

                                                                                            ///

                                                                                            Advanced parameters have a content size limit of 8 KB and can be configured to use parameter /// policies. You can create a maximum of 100,000 advanced parameters for each Region in an - /// account. Advanced parameters incur a charge. For more information, see Standard and + /// Amazon Web Services account. Advanced parameters incur a charge. For more information, see Standard and /// advanced parameter tiers in the Amazon Web Services Systems Manager User Guide.

                                                                                            ///

                                                                                            You can change a standard parameter to an advanced parameter any time. But you can't revert /// an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard @@ -27494,8 +27514,8 @@ pub struct PutParameterInput { ///

                                                                                            The parameter uses a parameter policy.

                                                                                            ///
                                                                                          • ///
                                                                                          • - ///

                                                                                            More than 10,000 parameters already exist in your account in the current - /// Region.

                                                                                            + ///

                                                                                            More than 10,000 parameters already exist in your Amazon Web Services account in the current + /// Amazon Web Services Region.

                                                                                            ///
                                                                                          • ///
                                                                                          ///

                                                                                          For more information about configuring the default tier option, see Specifying a @@ -27537,7 +27557,7 @@ pub struct PutParameterInput { ///

                                                                                          When you create a String parameter and specify aws:ec2:image, /// Amazon Web Services Systems Manager validates the parameter value is in the required format, such as /// ami-12345abcdeEXAMPLE, and that the specified AMI is available in your - /// account. For more information, see Native parameter support + /// Amazon Web Services account. For more information, see Native parameter support /// for Amazon Machine Image (AMI) IDs in the Amazon Web Services Systems Manager User Guide.

                                                                                          pub data_type: std::option::Option, } @@ -27679,7 +27699,7 @@ impl std::fmt::Debug for ListTagsForResourceInput { pub struct ListResourceDataSyncInput { ///

                                                                                          View a list of resource data syncs according to the sync type. Specify /// SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify SyncFromSource to view resource data syncs from Organizations - /// or from multiple Regions.

                                                                                          + /// or from multiple Amazon Web Services Regions.

                                                                                          pub sync_type: std::option::Option, ///

                                                                                          A token to start the list. Use this token to get the next set of results.

                                                                                          pub next_token: std::option::Option, @@ -27873,9 +27893,9 @@ impl std::fmt::Debug for ListDocumentsInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDocumentMetadataHistoryInput { - ///

                                                                                          The name of the document.

                                                                                          + ///

                                                                                          The name of the change template.

                                                                                          pub name: std::option::Option, - ///

                                                                                          The version of the document.

                                                                                          + ///

                                                                                          The version of the change template.

                                                                                          pub document_version: std::option::Option, ///

                                                                                          The type of data for which details are being requested. Currently, the only supported value /// is DocumentReviews.

                                                                                          @@ -28157,6 +28177,13 @@ impl std::fmt::Debug for GetPatchBaselineForPatchGroupInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetPatchBaselineInput { ///

                                                                                          The ID of the patch baseline to retrieve.

                                                                                          + /// + ///

                                                                                          To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon + /// Resource Name (ARN) of the baseline. For example, for the baseline + /// AWS-AmazonLinuxDefaultPatchBaseline, specify + /// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7 instead of + /// pb-0e392de35e7c563b7.

                                                                                          + ///
                                                                                          pub baseline_id: std::option::Option, } impl std::fmt::Debug for GetPatchBaselineInput { @@ -28221,6 +28248,8 @@ impl std::fmt::Debug for GetParametersByPathInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParametersInput { ///

                                                                                          Names of the parameters for which you want to query information.

                                                                                          + ///

                                                                                          To query by parameter label, use "Name": "name:label". To query by parameter + /// version, use "Name": "name:version".

                                                                                          pub names: std::option::Option>, ///

                                                                                          Return decrypted secure string value. Return decrypted values for secure string parameters. /// This flag is ignored for String and StringList parameter types.

                                                                                          @@ -28265,6 +28294,8 @@ impl std::fmt::Debug for GetParameterHistoryInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetParameterInput { ///

                                                                                          The name of the parameter you want to query.

                                                                                          + ///

                                                                                          To query by parameter label, use "Name": "name:label". To query by parameter + /// version, use "Name": "name:version".

                                                                                          pub name: std::option::Option, ///

                                                                                          Return decrypted values for secure string parameters. This flag is ignored for /// String and StringList parameter types.

                                                                                          @@ -28552,7 +28583,7 @@ impl std::fmt::Debug for GetDefaultPatchBaselineInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetConnectionStatusInput { - ///

                                                                                          The ID of the instance.

                                                                                          + ///

                                                                                          The instance ID.

                                                                                          pub target: std::option::Option, } impl std::fmt::Debug for GetConnectionStatusInput { @@ -29904,7 +29935,8 @@ impl std::fmt::Debug for DeletePatchBaselineInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteParametersInput { - ///

                                                                                          The names of the parameters to delete.

                                                                                          + ///

                                                                                          The names of the parameters to delete. After deleting a parameter, wait for at least 30 + /// seconds to create a parameter with the same name.

                                                                                          pub names: std::option::Option>, } impl std::fmt::Debug for DeleteParametersInput { @@ -30024,7 +30056,18 @@ impl std::fmt::Debug for DeleteDocumentInput { pub struct DeleteAssociationInput { ///

                                                                                          The name of the SSM document.

                                                                                          pub name: std::option::Option, - ///

                                                                                          The ID of the instance.

                                                                                          + ///

                                                                                          The instance ID.

                                                                                          + /// + ///

                                                                                          + /// InstanceId has been deprecated. To specify an instance ID for an association, + /// use the Targets parameter. Requests that include the + /// parameter InstanceID with Systems Manager documents (SSM documents) that use schema version + /// 2.0 or later will fail. In addition, if you use the parameter + /// InstanceId, you can't use the parameters AssociationName, + /// DocumentVersion, MaxErrors, MaxConcurrency, + /// OutputLocation, or ScheduleExpression. To use these parameters, you + /// must use the Targets parameter.

                                                                                          + ///
                                                                                          pub instance_id: std::option::Option, ///

                                                                                          The association ID that you want to delete.

                                                                                          pub association_id: std::option::Option, @@ -30064,7 +30107,7 @@ pub struct CreateResourceDataSyncInput { ///

                                                                                          Specify SyncToDestination to create a resource data sync that synchronizes data /// to an S3 bucket for Inventory. If you specify SyncToDestination, you must provide a /// value for S3Destination. Specify SyncFromSource to synchronize data - /// from a single account and multiple Regions, or multiple accounts and Regions, as + /// from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as /// listed in Organizations for Explorer. If you specify SyncFromSource, you must provide a /// value for SyncSource. The default value is SyncToDestination.

                                                                                          pub sync_type: std::option::Option, @@ -30204,7 +30247,7 @@ pub struct CreateOpsMetadataInput { ///

                                                                                          Optional metadata that you assign to a resource. You can specify a maximum of five tags for /// an OpsMetadata object. Tags enable you to categorize a resource in different ways, such as by /// purpose, owner, or environment. For example, you might want to tag an OpsMetadata object to - /// identify an environment or target Region. In this case, you could specify the following + /// identify an environment or target Amazon Web Services Region. In this case, you could specify the following /// key-value pairs:

                                                                                          ///
                                                                                            ///
                                                                                          • @@ -30565,7 +30608,7 @@ pub struct CreateAssociationInput { /// information for the instance.

                                                                                            ///

                                                                                            You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                            - ///

                                                                                            For Systems Manager documents (SSM documents) that are shared with you from other accounts, you + ///

                                                                                            For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you /// must specify the complete SSM document ARN, in the following format:

                                                                                            ///

                                                                                            /// arn:partition:ssm:region:account-id:document/document-name @@ -30600,7 +30643,7 @@ pub struct CreateAssociationInput { std::collections::HashMap>, >, ///

                                                                                            The targets for the association. You can target instances by using tags, Amazon Web Services resource - /// groups, all instances in an account, or individual instance IDs. For more information about + /// groups, all instances in an Amazon Web Services account, or individual instance IDs. For more information about /// choosing targets for an association, see Using targets and rate controls with State Manager associations in the /// Amazon Web Services Systems Manager User Guide.

                                                                                            pub targets: std::option::Option>, @@ -30657,7 +30700,7 @@ pub struct CreateAssociationInput { /// more information, see Amazon Web Services Systems Manager Change /// Calendar.

                                                                                            pub calendar_names: std::option::Option>, - ///

                                                                                            A location is a combination of Regions and accounts where you want to run the + ///

                                                                                            A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the /// association. Use this action to create an association in multiple Regions and multiple /// accounts.

                                                                                            pub target_locations: std::option::Option>, @@ -30705,9 +30748,9 @@ pub struct CreateActivationInput { ///

                                                                                            Don't enter personally identifiable information in this field.

                                                                                            /// pub default_instance_name: std::option::Option, - ///

                                                                                            The Identity and Access Management (IAM) role that you want to assign to the managed - /// instance. This IAMrole must provide AssumeRole permissions for the Amazon Web Services Systems Manager - /// service principal ssm.amazonaws.com. For more information, see Create an + ///

                                                                                            The name of the Identity and Access Management (IAM) role that you want to assign to + /// the managed instance. This IAM role must provide AssumeRole permissions for the + /// Amazon Web Services Systems Manager service principal ssm.amazonaws.com. For more information, see Create an /// IAM service role for a hybrid environment in the /// Amazon Web Services Systems Manager User Guide.

                                                                                            pub iam_role: std::option::Option, diff --git a/sdk/ssm/src/model.rs b/sdk/ssm/src/model.rs index 7b121ae8f402..20d2f8669fb6 100644 --- a/sdk/ssm/src/model.rs +++ b/sdk/ssm/src/model.rs @@ -11,13 +11,13 @@ pub struct ResourceDataSyncSource { /// source of this type can synchronize data from Organizations.

                                                                                            pub aws_organizations_source: std::option::Option, - ///

                                                                                            The SyncSource Regions included in the resource data sync.

                                                                                            + ///

                                                                                            The SyncSource Amazon Web Services Regions included in the resource data sync.

                                                                                            pub source_regions: std::option::Option>, - ///

                                                                                            Whether to automatically synchronize and aggregate data from new Regions when those + ///

                                                                                            Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those /// Regions come online.

                                                                                            pub include_future_regions: bool, ///

                                                                                            When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager - /// automatically enables all OpsData sources in the selected Regions for all accounts in + /// automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in /// your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the /// Amazon Web Services Systems Manager User Guide.

                                                                                            pub enable_all_ops_data_sources: bool, @@ -90,7 +90,7 @@ pub mod resource_data_sync_source { self.source_regions = input; self } - ///

                                                                                            Whether to automatically synchronize and aggregate data from new Regions when those + ///

                                                                                            Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those /// Regions come online.

                                                                                            pub fn include_future_regions(mut self, input: bool) -> Self { self.include_future_regions = Some(input); @@ -101,7 +101,7 @@ pub mod resource_data_sync_source { self } ///

                                                                                            When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager - /// automatically enables all OpsData sources in the selected Regions for all accounts in + /// automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in /// your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the /// Amazon Web Services Systems Manager User Guide.

                                                                                            pub fn enable_all_ops_data_sources(mut self, input: bool) -> Self { @@ -133,7 +133,7 @@ impl ResourceDataSyncSource { ///

                                                                                            Information about the AwsOrganizationsSource resource data sync source. A sync /// source of this type can synchronize data from Organizations or, if an Amazon Web Services organization isn't -/// present, from multiple Regions.

                                                                                            +/// present, from multiple Amazon Web Services Regions.

                                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncAwsOrganizationsSource { @@ -1413,7 +1413,7 @@ pub struct LoggingInfo { pub s3_bucket_name: std::option::Option, ///

                                                                                            (Optional) The S3 bucket subfolder.

                                                                                            pub s3_key_prefix: std::option::Option, - ///

                                                                                            The Region where the S3 bucket is located.

                                                                                            + ///

                                                                                            The Amazon Web Services Region where the S3 bucket is located.

                                                                                            pub s3_region: std::option::Option, } impl std::fmt::Debug for LoggingInfo { @@ -1460,7 +1460,7 @@ pub mod logging_info { self.s3_key_prefix = input; self } - ///

                                                                                            The Region where the S3 bucket is located.

                                                                                            + ///

                                                                                            The Amazon Web Services Region where the S3 bucket is located.

                                                                                            pub fn s3_region(mut self, input: impl Into) -> Self { self.s3_region = Some(input.into()); self @@ -2664,7 +2664,7 @@ impl MaintenanceWindowTaskParameterValueExpression { /// Key=InstanceIds,Values=* /// ///

                                                                                            -///

                                                                                            This example demonstrates how to target all managed instances in the Region where +///

                                                                                            This example demonstrates how to target all managed instances in the Amazon Web Services Region where /// the association was created.

                                                                                            ///
                                                                                          • ///
                                                                                          @@ -4477,7 +4477,7 @@ impl AsRef for AttachmentsSourceKey { pub struct AssociationDescription { ///

                                                                                          The name of the SSM document.

                                                                                          pub name: std::option::Option, - ///

                                                                                          The ID of the instance.

                                                                                          + ///

                                                                                          The instance ID.

                                                                                          pub instance_id: std::option::Option, ///

                                                                                          The association version.

                                                                                          pub association_version: std::option::Option, @@ -4556,7 +4556,7 @@ pub struct AssociationDescription { /// more information, see Amazon Web Services Systems Manager Change /// Calendar.

                                                                                          pub calendar_names: std::option::Option>, - ///

                                                                                          The combination of Regions and accounts where you want to run the + ///

                                                                                          The combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the /// association.

                                                                                          pub target_locations: std::option::Option>, } @@ -4648,7 +4648,7 @@ pub mod association_description { self.name = input; self } - ///

                                                                                          The ID of the instance.

                                                                                          + ///

                                                                                          The instance ID.

                                                                                          pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self @@ -4999,16 +4999,16 @@ impl AssociationDescription { } } -///

                                                                                          The combination of Regions and accounts targeted by the current Automation +///

                                                                                          The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Automation /// execution.

                                                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TargetLocation { - ///

                                                                                          The accounts targeted by the current Automation execution.

                                                                                          + ///

                                                                                          The Amazon Web Services accounts targeted by the current Automation execution.

                                                                                          pub accounts: std::option::Option>, - ///

                                                                                          The Regions targeted by the current Automation execution.

                                                                                          + ///

                                                                                          The Amazon Web Services Regions targeted by the current Automation execution.

                                                                                          pub regions: std::option::Option>, - ///

                                                                                          The maximum number of Regions and accounts allowed to run the Automation + ///

                                                                                          The maximum number of Amazon Web Services Regions and Amazon Web Services accounts allowed to run the Automation /// concurrently.

                                                                                          pub target_location_max_concurrency: std::option::Option, ///

                                                                                          The maximum number of errors allowed before the system stops queueing additional Automation @@ -5074,7 +5074,7 @@ pub mod target_location { self.regions = input; self } - ///

                                                                                          The maximum number of Regions and accounts allowed to run the Automation + ///

                                                                                          The maximum number of Amazon Web Services Regions and Amazon Web Services accounts allowed to run the Automation /// concurrently.

                                                                                          pub fn target_location_max_concurrency( mut self, @@ -5704,7 +5704,7 @@ pub struct Runbook { /// indicating the maximum number of errors that can occur during the operation before the updates /// are stopped or rolled back.

                                                                                          pub max_errors: std::option::Option, - ///

                                                                                          Information about the Regions and accounts targeted by the current Runbook + ///

                                                                                          Information about the Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Runbook /// operation.

                                                                                          pub target_locations: std::option::Option>, } @@ -5996,7 +5996,7 @@ pub struct Command { ///
                                                                                        pub status_details: std::option::Option, ///

                                                                                        (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - /// automatically determines the Region of the S3 bucket.

                                                                                        + /// automatically determines the Amazon Web Services Region of the S3 bucket.

                                                                                        pub output_s3_region: std::option::Option, ///

                                                                                        The S3 bucket where the responses to the command executions should be stored. This was /// requested when issuing the command.

                                                                                        @@ -6285,7 +6285,7 @@ pub mod command { self } ///

                                                                                        (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager - /// automatically determines the Region of the S3 bucket.

                                                                                        + /// automatically determines the Amazon Web Services Region of the S3 bucket.

                                                                                        pub fn output_s3_region(mut self, input: impl Into) -> Self { self.output_s3_region = Some(input.into()); self @@ -7665,7 +7665,7 @@ pub struct ResourceDataSyncItem { ///

                                                                                        The type of resource data sync. If SyncType is SyncToDestination, /// then the resource data sync synchronizes data to an S3 bucket. If the SyncType is /// SyncFromSource then the resource data sync synchronizes data from Organizations or from - /// multiple Regions.

                                                                                        + /// multiple Amazon Web Services Regions.

                                                                                        pub sync_type: std::option::Option, ///

                                                                                        Information about the source where the data was synchronized.

                                                                                        pub sync_source: std::option::Option, @@ -7730,7 +7730,7 @@ pub mod resource_data_sync_item { ///

                                                                                        The type of resource data sync. If SyncType is SyncToDestination, /// then the resource data sync synchronizes data to an S3 bucket. If the SyncType is /// SyncFromSource then the resource data sync synchronizes data from Organizations or from - /// multiple Regions.

                                                                                        + /// multiple Amazon Web Services Regions.

                                                                                        pub fn sync_type(mut self, input: impl Into) -> Self { self.sync_type = Some(input.into()); self @@ -7925,7 +7925,7 @@ pub struct ResourceDataSyncS3Destination { pub prefix: std::option::Option, ///

                                                                                        A supported sync format. The following format is currently supported: JsonSerDe

                                                                                        pub sync_format: std::option::Option, - ///

                                                                                        The Region with the S3 bucket targeted by the resource data sync.

                                                                                        + ///

                                                                                        The Amazon Web Services Region with the S3 bucket targeted by the resource data sync.

                                                                                        pub region: std::option::Option, ///

                                                                                        The ARN of an encryption key for a destination in Amazon S3. Must belong to the same /// Region as the destination S3 bucket.

                                                                                        @@ -7991,7 +7991,7 @@ pub mod resource_data_sync_s3_destination { self.sync_format = input; self } - ///

                                                                                        The Region with the S3 bucket targeted by the resource data sync.

                                                                                        + ///

                                                                                        The Amazon Web Services Region with the S3 bucket targeted by the resource data sync.

                                                                                        pub fn region(mut self, input: impl Into) -> Self { self.region = Some(input.into()); self @@ -8048,9 +8048,9 @@ impl ResourceDataSyncS3Destination { } } -///

                                                                                        Synchronize Amazon Web Services Systems Manager Inventory data from multiple accounts defined in Organizations to a +///

                                                                                        Synchronize Amazon Web Services Systems Manager Inventory data from multiple Amazon Web Services accounts defined in Organizations to a /// centralized Amazon S3 bucket. Data is synchronized to individual key prefixes in the -/// central bucket. Each key prefix represents a different account ID.

                                                                                        +/// central bucket. Each key prefix represents a different Amazon Web Services account ID.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ResourceDataSyncDestinationDataSharing { @@ -8177,9 +8177,9 @@ pub struct ResourceDataSyncSourceWithState { /// ResourceDataSyncAwsOrganizationsSource type.

                                                                                        pub aws_organizations_source: std::option::Option, - ///

                                                                                        The SyncSource Regions included in the resource data sync.

                                                                                        + ///

                                                                                        The SyncSource Amazon Web Services Regions included in the resource data sync.

                                                                                        pub source_regions: std::option::Option>, - ///

                                                                                        Whether to automatically synchronize and aggregate data from new Regions when those + ///

                                                                                        Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those /// Regions come online.

                                                                                        pub include_future_regions: bool, ///

                                                                                        The data type name for including resource data sync state. There are four sync @@ -8197,7 +8197,7 @@ pub struct ResourceDataSyncSourceWithState { /// Organizations.

                                                                                        pub state: std::option::Option, ///

                                                                                        When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager - /// automatically enables all OpsData sources in the selected Regions for all accounts in + /// automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in /// your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        pub enable_all_ops_data_sources: bool, @@ -8272,7 +8272,7 @@ pub mod resource_data_sync_source_with_state { self.source_regions = input; self } - ///

                                                                                        Whether to automatically synchronize and aggregate data from new Regions when those + ///

                                                                                        Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those /// Regions come online.

                                                                                        pub fn include_future_regions(mut self, input: bool) -> Self { self.include_future_regions = Some(input); @@ -8304,7 +8304,7 @@ pub mod resource_data_sync_source_with_state { self } ///

                                                                                        When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager - /// automatically enables all OpsData sources in the selected Regions for all accounts in + /// automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in /// your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        pub fn enable_all_ops_data_sources(mut self, input: bool) -> Self { @@ -12644,7 +12644,7 @@ pub struct AssociationVersionInfo { /// Calendar is open. For more information, see Amazon Web Services Systems Manager Change /// Calendar.

                                                                                        pub calendar_names: std::option::Option>, - ///

                                                                                        The combination of Regions and accounts where you wanted to run the association + ///

                                                                                        The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association /// when this association version was created.

                                                                                        pub target_locations: std::option::Option>, } @@ -12984,7 +12984,7 @@ impl AssociationVersionInfo { pub struct Association { ///

                                                                                        The name of the SSM document.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub instance_id: std::option::Option, ///

                                                                                        The ID created by the system when you create an association. An association is a binding /// between a document and a set of targets with a schedule.

                                                                                        @@ -13048,7 +13048,7 @@ pub mod association { self.name = input; self } - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self @@ -14443,13 +14443,22 @@ impl AsRef for OpsFilterOperatorType { } ///

                                                                                        Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and -/// remediate operational issues impacting the performance and health of their Amazon Web Services resources. For -/// more information, see OpsCenter in the -/// Amazon Web Services Systems Manager User Guide.

                                                                                        +/// remediate operational work items (OpsItems) impacting the performance and health of their Amazon Web Services +/// resources. OpsCenter is integrated with Amazon EventBridge and Amazon CloudWatch. This +/// means you can configure these services to automatically create an OpsItem in OpsCenter when a +/// CloudWatch alarm enters the ALARM state or when EventBridge processes an event from +/// any Amazon Web Services service that publishes events. Configuring Amazon CloudWatch alarms and EventBridge events to automatically create OpsItems allows you to quickly diagnose and remediate +/// issues with Amazon Web Services resources from a single console.

                                                                                        +///

                                                                                        To help you diagnose issues, each OpsItem includes contextually relevant information such as +/// the name and ID of the Amazon Web Services resource that generated the OpsItem, alarm or event details, alarm +/// history, and an alarm timeline graph. For the Amazon Web Services resource, OpsCenter aggregates information +/// from Config, CloudTrail logs, and EventBridge, so you don't have +/// to navigate across multiple console pages during your investigation. For more information, see +/// OpsCenter in the Amazon Web Services Systems Manager User Guide.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct OpsItem { - ///

                                                                                        The ARN of the account that created the OpsItem.

                                                                                        + ///

                                                                                        The ARN of the Amazon Web Services account that created the OpsItem.

                                                                                        pub created_by: std::option::Option, ///

                                                                                        The type of OpsItem. Currently, the only valid values are /aws/changerequest /// and /aws/issue.

                                                                                        @@ -14458,7 +14467,7 @@ pub struct OpsItem { pub created_time: std::option::Option, ///

                                                                                        The OpsItem description.

                                                                                        pub description: std::option::Option, - ///

                                                                                        The ARN of the account that last updated the OpsItem.

                                                                                        + ///

                                                                                        The ARN of the Amazon Web Services account that last updated the OpsItem.

                                                                                        pub last_modified_by: std::option::Option, ///

                                                                                        The date and time the OpsItem was last updated.

                                                                                        pub last_modified_time: std::option::Option, @@ -14583,7 +14592,7 @@ pub mod ops_item { pub(crate) planned_end_time: std::option::Option, } impl Builder { - ///

                                                                                        The ARN of the account that created the OpsItem.

                                                                                        + ///

                                                                                        The ARN of the Amazon Web Services account that created the OpsItem.

                                                                                        pub fn created_by(mut self, input: impl Into) -> Self { self.created_by = Some(input.into()); self @@ -14626,7 +14635,7 @@ pub mod ops_item { self.description = input; self } - ///

                                                                                        The ARN of the account that last updated the OpsItem.

                                                                                        + ///

                                                                                        The ARN of the Amazon Web Services account that last updated the OpsItem.

                                                                                        pub fn last_modified_by(mut self, input: impl Into) -> Self { self.last_modified_by = Some(input.into()); self @@ -16100,7 +16109,7 @@ pub struct AutomationExecution { pub max_errors: std::option::Option, ///

                                                                                        The target of the execution.

                                                                                        pub target: std::option::Option, - ///

                                                                                        The combination of Regions and/or accounts where you want to run the + ///

                                                                                        The combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the /// Automation.

                                                                                        pub target_locations: std::option::Option>, ///

                                                                                        An aggregate of step execution statuses displayed in the Amazon Web Services Systems Manager console for a @@ -16709,19 +16718,19 @@ impl AsRef for AutomationSubtype { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ProgressCounters { - ///

                                                                                        The total number of steps run in all specified Regions and accounts for the + ///

                                                                                        The total number of steps run in all specified Amazon Web Services Regions and Amazon Web Services accounts for the /// current Automation execution.

                                                                                        pub total_steps: i32, - ///

                                                                                        The total number of steps that successfully completed in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that successfully completed in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub success_steps: i32, - ///

                                                                                        The total number of steps that failed to run in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that failed to run in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub failed_steps: i32, - ///

                                                                                        The total number of steps that the system cancelled in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that the system cancelled in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub cancelled_steps: i32, - ///

                                                                                        The total number of steps that timed out in all specified Regions and accounts + ///

                                                                                        The total number of steps that timed out in all specified Amazon Web Services Regions and Amazon Web Services accounts /// for the current Automation execution.

                                                                                        pub timed_out_steps: i32, } @@ -16749,7 +16758,7 @@ pub mod progress_counters { pub(crate) timed_out_steps: std::option::Option, } impl Builder { - ///

                                                                                        The total number of steps run in all specified Regions and accounts for the + ///

                                                                                        The total number of steps run in all specified Amazon Web Services Regions and Amazon Web Services accounts for the /// current Automation execution.

                                                                                        pub fn total_steps(mut self, input: i32) -> Self { self.total_steps = Some(input); @@ -16759,8 +16768,8 @@ pub mod progress_counters { self.total_steps = input; self } - ///

                                                                                        The total number of steps that successfully completed in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that successfully completed in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub fn success_steps(mut self, input: i32) -> Self { self.success_steps = Some(input); self @@ -16769,8 +16778,8 @@ pub mod progress_counters { self.success_steps = input; self } - ///

                                                                                        The total number of steps that failed to run in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that failed to run in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub fn failed_steps(mut self, input: i32) -> Self { self.failed_steps = Some(input); self @@ -16779,8 +16788,8 @@ pub mod progress_counters { self.failed_steps = input; self } - ///

                                                                                        The total number of steps that the system cancelled in all specified Regions and - /// accounts for the current Automation execution.

                                                                                        + ///

                                                                                        The total number of steps that the system cancelled in all specified Amazon Web Services Regions and + /// Amazon Web Services accounts for the current Automation execution.

                                                                                        pub fn cancelled_steps(mut self, input: i32) -> Self { self.cancelled_steps = Some(input); self @@ -16789,7 +16798,7 @@ pub mod progress_counters { self.cancelled_steps = input; self } - ///

                                                                                        The total number of steps that timed out in all specified Regions and accounts + ///

                                                                                        The total number of steps that timed out in all specified Amazon Web Services Regions and Amazon Web Services accounts /// for the current Automation execution.

                                                                                        pub fn timed_out_steps(mut self, input: i32) -> Self { self.timed_out_steps = Some(input); @@ -16943,7 +16952,7 @@ pub struct StepExecution { pub valid_next_steps: std::option::Option>, ///

                                                                                        The targets for the step execution.

                                                                                        pub targets: std::option::Option>, - ///

                                                                                        The combination of Regions and accounts targeted by the current Automation + ///

                                                                                        The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Automation /// execution.

                                                                                        pub target_location: std::option::Option, } @@ -17264,7 +17273,7 @@ pub mod step_execution { self.targets = input; self } - ///

                                                                                        The combination of Regions and accounts targeted by the current Automation + ///

                                                                                        The combination of Amazon Web Services Regions and Amazon Web Services accounts targeted by the current Automation /// execution.

                                                                                        pub fn target_location(mut self, input: crate::model::TargetLocation) -> Self { self.target_location = Some(input); @@ -24201,12 +24210,12 @@ impl InstanceAssociation { } } -///

                                                                                        Information includes the account ID where the current document is shared and the +///

                                                                                        Information includes the Amazon Web Services account ID where the current document is shared and the /// version shared with that account.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AccountSharingInfo { - ///

                                                                                        The account ID where the current document is shared.

                                                                                        + ///

                                                                                        The Amazon Web Services account ID where the current document is shared.

                                                                                        pub account_id: std::option::Option, ///

                                                                                        The version of the current document shared with the account.

                                                                                        pub shared_document_version: std::option::Option, @@ -24229,7 +24238,7 @@ pub mod account_sharing_info { pub(crate) shared_document_version: std::option::Option, } impl Builder { - ///

                                                                                        The account ID where the current document is shared.

                                                                                        + ///

                                                                                        The Amazon Web Services account ID where the current document is shared.

                                                                                        pub fn account_id(mut self, input: impl Into) -> Self { self.account_id = Some(input.into()); self @@ -24460,8 +24469,8 @@ pub struct AutomationExecutionMetadata { ///

                                                                                        The list of execution outputs as defined in the Automation runbook.

                                                                                        pub target: std::option::Option, ///

                                                                                        Use this filter with DescribeAutomationExecutions. Specify either Local or - /// CrossAccount. CrossAccount is an Automation that runs in multiple Regions and - /// accounts. For more information, see Running Automation workflows in multiple Regions and accounts in the + /// CrossAccount. CrossAccount is an Automation that runs in multiple Amazon Web Services Regions and + /// Amazon Web Services accounts. For more information, see Running Automation workflows in multiple Amazon Web Services Regions and accounts in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        pub automation_type: std::option::Option, ///

                                                                                        The subtype of the Automation operation. Currently, the only supported value is @@ -24833,8 +24842,8 @@ pub mod automation_execution_metadata { self } ///

                                                                                        Use this filter with DescribeAutomationExecutions. Specify either Local or - /// CrossAccount. CrossAccount is an Automation that runs in multiple Regions and - /// accounts. For more information, see Running Automation workflows in multiple Regions and accounts in the + /// CrossAccount. CrossAccount is an Automation that runs in multiple Amazon Web Services Regions and + /// Amazon Web Services accounts. For more information, see Running Automation workflows in multiple Amazon Web Services Regions and accounts in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        pub fn automation_type(mut self, input: crate::model::AutomationType) -> Self { self.automation_type = Some(input); @@ -26388,7 +26397,7 @@ pub struct CreateAssociationBatchRequestEntry { /// You can specify Command or Automation runbooks.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For SSM documents that are shared with you from other accounts, you must specify the + ///

                                                                                        For SSM documents that are shared with you from other Amazon Web Services accounts, you must specify the /// complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:aws:ssm:region:account-id:document/document-name @@ -26402,7 +26411,18 @@ pub struct CreateAssociationBatchRequestEntry { /// to specify the document name. For example, AWS-ApplyPatchBaseline or /// My-Document.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        + /// + ///

                                                                                        + /// InstanceId has been deprecated. To specify an instance ID for an association, + /// use the Targets parameter. Requests that include the + /// parameter InstanceID with Systems Manager documents (SSM documents) that use schema version + /// 2.0 or later will fail. In addition, if you use the parameter + /// InstanceId, you can't use the parameters AssociationName, + /// DocumentVersion, MaxErrors, MaxConcurrency, + /// OutputLocation, or ScheduleExpression. To use these parameters, you + /// must use the Targets parameter.

                                                                                        + ///
                                                                                        pub instance_id: std::option::Option, ///

                                                                                        A description of the parameters for a document.

                                                                                        pub parameters: std::option::Option< @@ -26529,7 +26549,7 @@ pub mod create_association_batch_request_entry { /// You can specify Command or Automation runbooks.

                                                                                        ///

                                                                                        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is /// shared with you from another account.

                                                                                        - ///

                                                                                        For SSM documents that are shared with you from other accounts, you must specify the + ///

                                                                                        For SSM documents that are shared with you from other Amazon Web Services accounts, you must specify the /// complete SSM document ARN, in the following format:

                                                                                        ///

                                                                                        /// arn:aws:ssm:region:account-id:document/document-name @@ -26550,7 +26570,18 @@ pub mod create_association_batch_request_entry { self.name = input; self } - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        + /// + ///

                                                                                        + /// InstanceId has been deprecated. To specify an instance ID for an association, + /// use the Targets parameter. Requests that include the + /// parameter InstanceID with Systems Manager documents (SSM documents) that use schema version + /// 2.0 or later will fail. In addition, if you use the parameter + /// InstanceId, you can't use the parameters AssociationName, + /// DocumentVersion, MaxErrors, MaxConcurrency, + /// OutputLocation, or ScheduleExpression. To use these parameters, you + /// must use the Targets parameter.

                                                                                        + ///
                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self diff --git a/sdk/ssm/src/operation.rs b/sdk/ssm/src/operation.rs index 5511badc8f39..789d3c815ccd 100644 --- a/sdk/ssm/src/operation.rs +++ b/sdk/ssm/src/operation.rs @@ -427,12 +427,12 @@ impl smithy_http::response::ParseStrictResponse for CreatePatchBaseline { /// Amazon Web Services Systems Manager offers two types of resource data sync: SyncToDestination and /// SyncFromSource.

                                                                                        ///

                                                                                        You can configure Systems Manager Inventory to use the SyncToDestination type to -/// synchronize Inventory data from multiple Regions to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Configuring resource data +/// synchronize Inventory data from multiple Amazon Web Services Regions to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Configuring resource data /// sync for Inventory in the Amazon Web Services Systems Manager User Guide.

                                                                                        ///

                                                                                        You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize -/// operational work items (OpsItems) and operational data (OpsData) from multiple Regions to a +/// operational work items (OpsItems) and operational data (OpsData) from multiple Amazon Web Services Regions to a /// single Amazon S3 bucket. This type can synchronize OpsItems and OpsData from multiple -/// accounts and Regions or EntireOrganization by using Organizations. For more +/// Amazon Web Services accounts and Amazon Web Services Regions or EntireOrganization by using Organizations. For more /// information, see Setting up Systems Manager /// Explorer to display data from multiple accounts and Regions in the /// Amazon Web Services Systems Manager User Guide.

                                                                                        @@ -502,8 +502,9 @@ impl smithy_http::response::ParseStrictResponse for DeleteActivation { } } -///

                                                                                        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified -/// instance.

                                                                                        +///

                                                                                        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified instance. +/// If you created the association by using the Targets parameter, then you must delete +/// the association by using the association ID.

                                                                                        ///

                                                                                        When you disassociate a document from an instance, it doesn't change the configuration of /// the instance. To change the configuration state of an instance after you disassociate a document, /// you must create a new document with the desired configuration and associate it with the @@ -648,7 +649,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteOpsMetadata { } } -///

                                                                                        Delete a parameter from the system.

                                                                                        +///

                                                                                        Delete a parameter from the system. After deleting a parameter, wait for at least 30 seconds +/// to create a parameter with the same name.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteParameter { _private: (), @@ -676,7 +678,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteParameter { } } -///

                                                                                        Delete a list of parameters.

                                                                                        +///

                                                                                        Delete a list of parameters. After deleting a parameter, wait for at least 30 seconds to +/// create a parameter with the same name.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteParameters { _private: (), @@ -913,9 +916,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeActivations { ///

                                                                                        Describes the association for the specified target or instance. If you created the /// association by using the Targets parameter, then you must retrieve the association -/// by using the association ID. If you created the association by specifying an instance ID and an -/// Amazon Web Services Systems Manager document (SSM document), then you retrieve the association by specifying the document -/// name and the instance ID.

                                                                                        +/// by using the association ID.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeAssociation { _private: (), @@ -1114,7 +1115,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeDocument { ///

                                                                                        Describes the permissions for a Amazon Web Services Systems Manager document (SSM document). If you created the /// document, you are the owner. If a document is shared, it can either be shared privately (by -/// specifying a user's account ID) or publicly (All).

                                                                                        +/// specifying a user's Amazon Web Services account ID) or publicly (All).

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeDocumentPermission { _private: (), @@ -1483,7 +1484,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeMaintenanceWindowExe } } -///

                                                                                        Retrieves the maintenance windows in an account.

                                                                                        +///

                                                                                        Retrieves the maintenance windows in an Amazon Web Services account.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeMaintenanceWindows { _private: (), @@ -1697,7 +1698,7 @@ impl smithy_http::response::ParseStrictResponse for DescribeParameters { } } -///

                                                                                        Lists the patch baselines in your account.

                                                                                        +///

                                                                                        Lists the patch baselines in your Amazon Web Services account.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribePatchBaselines { _private: (), @@ -2090,7 +2091,7 @@ impl smithy_http::response::ParseStrictResponse for GetDefaultPatchBaseline { ///

                                                                                        Retrieves the current snapshot for the patch baseline the instance uses. This API is /// primarily used by the AWS-RunPatchBaseline Systems Manager document (SSM document).

                                                                                        /// -///

                                                                                        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local AWS credentials and the operation fails. To avoid +///

                                                                                        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid /// this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of /// Amazon Web Services Systems Manager, with an SSM document that enables you to target an instance with a script or command. /// For example, run the command using the AWS-RunShellScript document or the @@ -2151,7 +2152,8 @@ impl smithy_http::response::ParseStrictResponse for GetDocument { } } -///

                                                                                        Query inventory information.

                                                                                        +///

                                                                                        Query inventory information. This includes instance status, such as Stopped or +/// Terminated.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetInventory { _private: (), @@ -2445,8 +2447,10 @@ impl smithy_http::response::ParseStrictResponse for GetOpsSummary { } } -///

                                                                                        Get information about a parameter by using the parameter name. Don't confuse this API -/// operation with the GetParameters API operation.

                                                                                        +///

                                                                                        Get information about a single parameter by specifying the parameter name.

                                                                                        +/// +///

                                                                                        To get information about more than one parameter at a time, use the GetParameters operation.

                                                                                        +///
                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParameter { _private: (), @@ -2500,7 +2504,11 @@ impl smithy_http::response::ParseStrictResponse for GetParameterHistory { } } -///

                                                                                        Get details of a parameter. Don't confuse this API operation with the GetParameter API operation.

                                                                                        +///

                                                                                        Get information about one or more parameters by specifying multiple parameter names.

                                                                                        +/// +///

                                                                                        To get information about a single parameter, you can use the GetParameter +/// operation instead.

                                                                                        +///
                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetParameters { _private: (), @@ -2629,7 +2637,7 @@ impl smithy_http::response::ParseStrictResponse for GetPatchBaselineForPatchGrou /// permission for the setting. Use the UpdateServiceSetting API operation to /// change the default setting. Or use the ResetServiceSetting to change the value /// back to the original value defined by the Amazon Web Services service team.

                                                                                        -///

                                                                                        Query the current service setting for the account.

                                                                                        +///

                                                                                        Query the current service setting for the Amazon Web Services account.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetServiceSetting { _private: (), @@ -2721,7 +2729,7 @@ impl smithy_http::response::ParseStrictResponse for LabelParameterVersion { } } -///

                                                                                        Returns all State Manager associations in the current account and Region. You +///

                                                                                        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You /// can limit the results to a specific State Manager association document or instance by specifying /// a filter. State Manager is a capability of Amazon Web Services Systems Manager.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -2811,7 +2819,7 @@ impl smithy_http::response::ParseStrictResponse for ListCommandInvocations { } } -///

                                                                                        Lists the commands requested by users of the account.

                                                                                        +///

                                                                                        Lists the commands requested by users of the Amazon Web Services account.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListCommands { _private: (), @@ -2897,7 +2905,7 @@ impl smithy_http::response::ParseStrictResponse for ListComplianceSummaries { } } -///

                                                                                        Information about approval reviews for a version of an SSM document.

                                                                                        +///

                                                                                        Information about approval reviews for a version of a change template in Change Manager.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDocumentMetadataHistory { _private: (), @@ -2925,7 +2933,7 @@ impl smithy_http::response::ParseStrictResponse for ListDocumentMetadataHistory } } -///

                                                                                        Returns all Systems Manager (SSM) documents in the current account and Region. You can +///

                                                                                        Returns all Systems Manager (SSM) documents in the current Amazon Web Services account and Amazon Web Services Region. You can /// limit the results of this request by using a filter.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListDocuments { @@ -3008,7 +3016,7 @@ impl smithy_http::response::ParseStrictResponse for ListInventoryEntries { } } -///

                                                                                        Returns a list of all OpsItem events in the current Region and account. You can +///

                                                                                        Returns a list of all OpsItem events in the current Amazon Web Services Region and Amazon Web Services account. You can /// limit the results to events associated with specific OpsItems by specifying a filter.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListOpsItemEvents { @@ -3877,6 +3885,10 @@ impl smithy_http::response::ParseStrictResponse for UpdateAssociation { ///

                                                                                        Updates the status of the Amazon Web Services Systems Manager document (SSM document) associated with the specified /// instance.

                                                                                        +///

                                                                                        +/// UpdateAssociationStatus is primarily used by the Amazon Web Services Systems Manager Agent (SSM Agent) to +/// report status updates about your associations and is only used for associations created with the +/// InstanceId legacy parameter.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateAssociationStatus { _private: (), @@ -3958,7 +3970,8 @@ impl smithy_http::response::ParseStrictResponse for UpdateDocumentDefaultVersion } } -///

                                                                                        Updates information related to approval reviews for a specific version of a document.

                                                                                        +///

                                                                                        Updates information related to approval reviews for a specific version of a change template +/// in Change Manager.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UpdateDocumentMetadata { _private: (), diff --git a/sdk/ssm/src/output.rs b/sdk/ssm/src/output.rs index fa27aa805211..7c63174313ff 100644 --- a/sdk/ssm/src/output.rs +++ b/sdk/ssm/src/output.rs @@ -1478,7 +1478,7 @@ pub struct StartSessionOutput { ///

                                                                                        ///

                                                                                        /// region represents the Region identifier for an - /// Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. + /// Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. /// For a list of supported region values, see the Region column in Systems Manager service endpoints in the /// Amazon Web Services General Reference.

                                                                                        ///

                                                                                        @@ -1530,7 +1530,7 @@ pub mod start_session_output { ///

                                                                                        ///

                                                                                        /// region represents the Region identifier for an - /// Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. + /// Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. /// For a list of supported region values, see the Region column in Systems Manager service endpoints in the /// Amazon Web Services General Reference.

                                                                                        ///

                                                                                        @@ -1779,7 +1779,7 @@ pub struct ResumeSessionOutput { /// receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

                                                                                        ///

                                                                                        /// region represents the Region identifier for an - /// Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. + /// Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. /// For a list of supported region values, see the Region column in Systems Manager service endpoints in the /// Amazon Web Services General Reference.

                                                                                        ///

                                                                                        @@ -1830,7 +1830,7 @@ pub mod resume_session_output { /// receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

                                                                                        ///

                                                                                        /// region represents the Region identifier for an - /// Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. + /// Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region. /// For a list of supported region values, see the Region column in Systems Manager service endpoints in the /// Amazon Web Services General Reference.

                                                                                        ///

                                                                                        @@ -2994,13 +2994,14 @@ impl ListDocumentsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListDocumentMetadataHistoryOutput { - ///

                                                                                        The name of the document.

                                                                                        + ///

                                                                                        The name of the change template.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The version of the document.

                                                                                        + ///

                                                                                        The version of the change template.

                                                                                        pub document_version: std::option::Option, - ///

                                                                                        The user ID of the person in the organization who requested the document review.

                                                                                        + ///

                                                                                        The user ID of the person in the organization who requested the review of the + /// change template.

                                                                                        pub author: std::option::Option, - ///

                                                                                        Information about the response to the document approval request.

                                                                                        + ///

                                                                                        Information about the response to the change template approval request.

                                                                                        pub metadata: std::option::Option, ///

                                                                                        The maximum number of items to return for this call. The call also returns a token that you /// can specify in a subsequent call to get the next set of results.

                                                                                        @@ -3030,7 +3031,7 @@ pub mod list_document_metadata_history_output { pub(crate) next_token: std::option::Option, } impl Builder { - ///

                                                                                        The name of the document.

                                                                                        + ///

                                                                                        The name of the change template.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -3039,7 +3040,7 @@ pub mod list_document_metadata_history_output { self.name = input; self } - ///

                                                                                        The version of the document.

                                                                                        + ///

                                                                                        The version of the change template.

                                                                                        pub fn document_version(mut self, input: impl Into) -> Self { self.document_version = Some(input.into()); self @@ -3051,7 +3052,8 @@ pub mod list_document_metadata_history_output { self.document_version = input; self } - ///

                                                                                        The user ID of the person in the organization who requested the document review.

                                                                                        + ///

                                                                                        The user ID of the person in the organization who requested the review of the + /// change template.

                                                                                        pub fn author(mut self, input: impl Into) -> Self { self.author = Some(input.into()); self @@ -3060,7 +3062,7 @@ pub mod list_document_metadata_history_output { self.author = input; self } - ///

                                                                                        Information about the response to the document approval request.

                                                                                        + ///

                                                                                        Information about the response to the change template approval request.

                                                                                        pub fn metadata(mut self, input: crate::model::DocumentMetadataResponseInfo) -> Self { self.metadata = Some(input); self @@ -4263,7 +4265,7 @@ impl GetParameterOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetOpsSummaryOutput { - ///

                                                                                        The list of aggregated and filtered OpsData.

                                                                                        + ///

                                                                                        The list of aggregated details and filtered OpsData.

                                                                                        pub entities: std::option::Option>, ///

                                                                                        The token for the next set of items to return. Use this token to get the next set of /// results.

                                                                                        @@ -6124,7 +6126,7 @@ impl GetDocumentOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetDeployablePatchSnapshotForInstanceOutput { - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub instance_id: std::option::Option, ///

                                                                                        The user-defined snapshot ID.

                                                                                        pub snapshot_id: std::option::Option, @@ -6157,7 +6159,7 @@ pub mod get_deployable_patch_snapshot_for_instance_output { pub(crate) product: std::option::Option, } impl Builder { - ///

                                                                                        The ID of the instance.

                                                                                        + ///

                                                                                        The instance ID.

                                                                                        pub fn instance_id(mut self, input: impl Into) -> Self { self.instance_id = Some(input.into()); self @@ -8887,9 +8889,9 @@ impl DescribeEffectiveInstanceAssociationsOutput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeDocumentPermissionOutput { ///

                                                                                        The account IDs that have permission to use this document. The ID can be either an - /// account or All.

                                                                                        + /// Amazon Web Services account or All.

                                                                                        pub account_ids: std::option::Option>, - ///

                                                                                        A list of accounts where the current document is shared and the version shared with + ///

                                                                                        A list of Amazon Web Services accounts where the current document is shared and the version shared with /// each account.

                                                                                        pub account_sharing_info_list: std::option::Option>, @@ -9431,7 +9433,7 @@ impl DescribeAssociationOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeActivationsOutput { - ///

                                                                                        A list of activations for your account.

                                                                                        + ///

                                                                                        A list of activations for your Amazon Web Services account.

                                                                                        pub activation_list: std::option::Option>, ///

                                                                                        The token for the next set of items to return. Use this token to get the next set of /// results.

                                                                                        diff --git a/sdk/ssmcontacts/Cargo.toml b/sdk/ssmcontacts/Cargo.toml index 03f1f3d33b74..d06bb64fdb1d 100644 --- a/sdk/ssmcontacts/Cargo.toml +++ b/sdk/ssmcontacts/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ssmcontacts" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        AWS Systems Manager Incident Manager is an incident management console designed to help\n users mitigate and recover from incidents affecting their AWS-hosted applications. An incident\n is any unplanned interruption or reduction in quality of services.

                                                                                        \n

                                                                                        Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder team\n escalation.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssmincidents/Cargo.toml b/sdk/ssmincidents/Cargo.toml index 02ff4680b769..eec34be0a031 100644 --- a/sdk/ssmincidents/Cargo.toml +++ b/sdk/ssmincidents/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ssmincidents" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        AWS Systems Manager Incident Manager is an incident management console designed to help\n users mitigate and recover from incidents affecting their AWS-hosted applications. An incident\n is any unplanned interruption or reduction in quality of services.

                                                                                        \n

                                                                                        Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder team\n escalation.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssmincidents/src/client.rs b/sdk/ssmincidents/src/client.rs index 0c55c2852ff5..bdbbde2f563f 100644 --- a/sdk/ssmincidents/src/client.rs +++ b/sdk/ssmincidents/src/client.rs @@ -388,7 +388,7 @@ pub mod fluent_builders { self.inner = self.inner.set_event_type(input); self } - ///

                                                                                        A short description of the event.

                                                                                        + ///

                                                                                        A valid JSON string. There is no other schema imposed. A short description of the event.

                                                                                        pub fn event_data(mut self, input: impl Into) -> Self { self.inner = self.inner.event_data(input); self @@ -1741,9 +1741,7 @@ pub mod fluent_builders { self.inner = self.inner.set_chat_channel(input); self } - ///

                                                                                        The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an - /// incident. You can also make updates to the incident through the chat channel using the - /// SNS topics.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        ///

                                                                                        Using multiple SNS topics creates redundancy in the case that a Region is down during /// the incident.

                                                                                        pub fn notification_targets( @@ -2022,10 +2020,7 @@ pub mod fluent_builders { self.inner = self.inner.set_incident_template_dedupe_string(input); self } - ///

                                                                                        The SNS targets that - /// AWS - /// Chatbot uses to notify the chat channels and perform actions on the - /// incident record.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        pub fn incident_template_notification_targets( mut self, inp: impl Into, @@ -2044,6 +2039,7 @@ pub mod fluent_builders { /// AWS /// Chatbot chat channel used for collaboration during an /// incident.

                                                                                        + ///

                                                                                        Use the empty structure to remove the chat channel from the response plan.

                                                                                        pub fn chat_channel(mut self, input: crate::model::ChatChannel) -> Self { self.inner = self.inner.chat_channel(input); self diff --git a/sdk/ssmincidents/src/input.rs b/sdk/ssmincidents/src/input.rs index 59097053d35a..0e02aa33d129 100644 --- a/sdk/ssmincidents/src/input.rs +++ b/sdk/ssmincidents/src/input.rs @@ -450,7 +450,7 @@ pub mod create_timeline_event_input { self.event_type = input; self } - ///

                                                                                        A short description of the event.

                                                                                        + ///

                                                                                        A valid JSON string. There is no other schema imposed. A short description of the event.

                                                                                        pub fn event_data(mut self, input: impl Into) -> Self { self.event_data = Some(input.into()); self @@ -4501,6 +4501,7 @@ pub mod update_response_plan_input { /// AWS /// Chatbot chat channel used for collaboration during an /// incident.

                                                                                        + ///

                                                                                        Use the empty structure to remove the chat channel from the response plan.

                                                                                        pub fn chat_channel(mut self, input: crate::model::ChatChannel) -> Self { self.chat_channel = Some(input); self @@ -4930,16 +4931,14 @@ pub struct UpdateResponsePlanInput { pub incident_template_summary: std::option::Option, ///

                                                                                        Used to create only one incident record for an incident.

                                                                                        pub incident_template_dedupe_string: std::option::Option, - ///

                                                                                        The SNS targets that - /// AWS - /// Chatbot uses to notify the chat channels and perform actions on the - /// incident record.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        pub incident_template_notification_targets: std::option::Option>, ///

                                                                                        The /// AWS /// Chatbot chat channel used for collaboration during an /// incident.

                                                                                        + ///

                                                                                        Use the empty structure to remove the chat channel from the response plan.

                                                                                        pub chat_channel: std::option::Option, ///

                                                                                        The contacts and escalation plans that Incident Manager engages at the start of the incident.

                                                                                        pub engagements: std::option::Option>, @@ -5059,9 +5058,7 @@ pub struct UpdateIncidentRecordInput { pub status: std::option::Option, ///

                                                                                        The AWS Chatbot chat channel for responders to collaborate in.

                                                                                        pub chat_channel: std::option::Option, - ///

                                                                                        The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an - /// incident. You can also make updates to the incident through the chat channel using the - /// SNS topics.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        ///

                                                                                        Using multiple SNS topics creates redundancy in the case that a Region is down during /// the incident.

                                                                                        pub notification_targets: @@ -5540,7 +5537,7 @@ pub struct CreateTimelineEventInput { ///

                                                                                        The type of the event. You can create timeline events of type Custom /// Event.

                                                                                        pub event_type: std::option::Option, - ///

                                                                                        A short description of the event.

                                                                                        + ///

                                                                                        A valid JSON string. There is no other schema imposed. A short description of the event.

                                                                                        pub event_data: std::option::Option, } impl std::fmt::Debug for CreateTimelineEventInput { diff --git a/sdk/ssmincidents/src/json_deser.rs b/sdk/ssmincidents/src/json_deser.rs index 470cadc893a4..766d29288af8 100644 --- a/sdk/ssmincidents/src/json_deser.rs +++ b/sdk/ssmincidents/src/json_deser.rs @@ -1221,6 +1221,15 @@ where Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { + "arn" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "regionMap" => { builder = builder.set_region_map( crate::json_deser::deser_map_region_info_map(tokens)?, diff --git a/sdk/ssmincidents/src/model.rs b/sdk/ssmincidents/src/model.rs index b4933d1417d3..99827dc8ed88 100644 --- a/sdk/ssmincidents/src/model.rs +++ b/sdk/ssmincidents/src/model.rs @@ -120,7 +120,7 @@ pub enum Action { } impl Action { #[allow(irrefutable_let_patterns)] - pub fn as_ssm_automation(&self) -> Result<&crate::model::SsmAutomation, &Self> { + pub fn as_ssm_automation(&self) -> std::result::Result<&crate::model::SsmAutomation, &Self> { if let Action::SsmAutomation(val) = &self { Ok(&val) } else { @@ -320,7 +320,9 @@ pub enum ChatChannel { Empty(crate::model::EmptyChatChannel), } impl ChatChannel { - pub fn as_chatbot_sns(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_chatbot_sns( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let ChatChannel::ChatbotSns(val) = &self { Ok(&val) } else { @@ -330,7 +332,7 @@ impl ChatChannel { pub fn is_chatbot_sns(&self) -> bool { self.as_chatbot_sns().is_ok() } - pub fn as_empty(&self) -> Result<&crate::model::EmptyChatChannel, &Self> { + pub fn as_empty(&self) -> std::result::Result<&crate::model::EmptyChatChannel, &Self> { if let ChatChannel::Empty(val) = &self { Ok(&val) } else { @@ -380,7 +382,7 @@ pub enum NotificationTargetItem { } impl NotificationTargetItem { #[allow(irrefutable_let_patterns)] - pub fn as_sns_topic_arn(&self) -> Result<&std::string::String, &Self> { + pub fn as_sns_topic_arn(&self) -> std::result::Result<&std::string::String, &Self> { if let NotificationTargetItem::SnsTopicArn(val) = &self { Ok(&val) } else { @@ -401,7 +403,9 @@ pub enum UpdateReplicationSetAction { DeleteRegionAction(crate::model::DeleteRegionAction), } impl UpdateReplicationSetAction { - pub fn as_add_region_action(&self) -> Result<&crate::model::AddRegionAction, &Self> { + pub fn as_add_region_action( + &self, + ) -> std::result::Result<&crate::model::AddRegionAction, &Self> { if let UpdateReplicationSetAction::AddRegionAction(val) = &self { Ok(&val) } else { @@ -411,7 +415,9 @@ impl UpdateReplicationSetAction { pub fn is_add_region_action(&self) -> bool { self.as_add_region_action().is_ok() } - pub fn as_delete_region_action(&self) -> Result<&crate::model::DeleteRegionAction, &Self> { + pub fn as_delete_region_action( + &self, + ) -> std::result::Result<&crate::model::DeleteRegionAction, &Self> { if let UpdateReplicationSetAction::DeleteRegionAction(val) = &self { Ok(&val) } else { @@ -544,7 +550,7 @@ pub enum RelatedItemsUpdate { ItemToRemove(crate::model::ItemIdentifier), } impl RelatedItemsUpdate { - pub fn as_item_to_add(&self) -> Result<&crate::model::RelatedItem, &Self> { + pub fn as_item_to_add(&self) -> std::result::Result<&crate::model::RelatedItem, &Self> { if let RelatedItemsUpdate::ItemToAdd(val) = &self { Ok(&val) } else { @@ -554,7 +560,7 @@ impl RelatedItemsUpdate { pub fn is_item_to_add(&self) -> bool { self.as_item_to_add().is_ok() } - pub fn as_item_to_remove(&self) -> Result<&crate::model::ItemIdentifier, &Self> { + pub fn as_item_to_remove(&self) -> std::result::Result<&crate::model::ItemIdentifier, &Self> { if let RelatedItemsUpdate::ItemToRemove(val) = &self { Ok(&val) } else { @@ -772,7 +778,7 @@ pub enum ItemValue { Url(std::string::String), } impl ItemValue { - pub fn as_arn(&self) -> Result<&std::string::String, &Self> { + pub fn as_arn(&self) -> std::result::Result<&std::string::String, &Self> { if let ItemValue::Arn(val) = &self { Ok(&val) } else { @@ -782,7 +788,7 @@ impl ItemValue { pub fn is_arn(&self) -> bool { self.as_arn().is_ok() } - pub fn as_metric_definition(&self) -> Result<&std::string::String, &Self> { + pub fn as_metric_definition(&self) -> std::result::Result<&std::string::String, &Self> { if let ItemValue::MetricDefinition(val) = &self { Ok(&val) } else { @@ -792,7 +798,7 @@ impl ItemValue { pub fn is_metric_definition(&self) -> bool { self.as_metric_definition().is_ok() } - pub fn as_url(&self) -> Result<&std::string::String, &Self> { + pub fn as_url(&self) -> std::result::Result<&std::string::String, &Self> { if let ItemValue::Url(val) = &self { Ok(&val) } else { @@ -1294,7 +1300,7 @@ pub enum Condition { Equals(crate::model::AttributeValueList), } impl Condition { - pub fn as_after(&self) -> Result<&smithy_types::Instant, &Self> { + pub fn as_after(&self) -> std::result::Result<&smithy_types::Instant, &Self> { if let Condition::After(val) = &self { Ok(&val) } else { @@ -1304,7 +1310,7 @@ impl Condition { pub fn is_after(&self) -> bool { self.as_after().is_ok() } - pub fn as_before(&self) -> Result<&smithy_types::Instant, &Self> { + pub fn as_before(&self) -> std::result::Result<&smithy_types::Instant, &Self> { if let Condition::Before(val) = &self { Ok(&val) } else { @@ -1314,7 +1320,7 @@ impl Condition { pub fn is_before(&self) -> bool { self.as_before().is_ok() } - pub fn as_equals(&self) -> Result<&crate::model::AttributeValueList, &Self> { + pub fn as_equals(&self) -> std::result::Result<&crate::model::AttributeValueList, &Self> { if let Condition::Equals(val) = &self { Ok(&val) } else { @@ -1335,7 +1341,7 @@ pub enum AttributeValueList { StringValues(std::vec::Vec), } impl AttributeValueList { - pub fn as_integer_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_integer_values(&self) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValueList::IntegerValues(val) = &self { Ok(&val) } else { @@ -1345,7 +1351,9 @@ impl AttributeValueList { pub fn is_integer_values(&self) -> bool { self.as_integer_values().is_ok() } - pub fn as_string_values(&self) -> Result<&std::vec::Vec, &Self> { + pub fn as_string_values( + &self, + ) -> std::result::Result<&std::vec::Vec, &Self> { if let AttributeValueList::StringValues(val) = &self { Ok(&val) } else { @@ -1814,9 +1822,7 @@ pub struct IncidentTemplate { pub summary: std::option::Option, ///

                                                                                        Used to stop Incident Manager from creating multiple incident records for the same incident.

                                                                                        pub dedupe_string: std::option::Option, - ///

                                                                                        The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an - /// incident. You can also make updates to the incident through the chat channel using the SNS - /// topics.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        pub notification_targets: std::option::Option>, } @@ -2006,6 +2012,8 @@ impl ResourcePolicy { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ReplicationSet { + ///

                                                                                        The Amazon Resource Name (ARN) of the replication set.

                                                                                        + pub arn: std::option::Option, ///

                                                                                        The map between each Region in your replication set and the KMS key that is used to /// encrypt the data in that Region.

                                                                                        pub region_map: std::option::Option< @@ -2029,6 +2037,7 @@ pub struct ReplicationSet { impl std::fmt::Debug for ReplicationSet { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut formatter = f.debug_struct("ReplicationSet"); + formatter.field("arn", &self.arn); formatter.field("region_map", &self.region_map); formatter.field("status", &self.status); formatter.field("deletion_protected", &self.deletion_protected); @@ -2045,6 +2054,7 @@ pub mod replication_set { #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { + pub(crate) arn: std::option::Option, pub(crate) region_map: std::option::Option< std::collections::HashMap, >, @@ -2056,6 +2066,15 @@ pub mod replication_set { pub(crate) last_modified_by: std::option::Option, } impl Builder { + ///

                                                                                        The Amazon Resource Name (ARN) of the replication set.

                                                                                        + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } pub fn region_map( mut self, k: impl Into, @@ -2146,6 +2165,7 @@ pub mod replication_set { /// Consumes the builder and constructs a [`ReplicationSet`](crate::model::ReplicationSet) pub fn build(self) -> crate::model::ReplicationSet { crate::model::ReplicationSet { + arn: self.arn, region_map: self.region_map, status: self.status, deletion_protected: self.deletion_protected, @@ -2420,9 +2440,7 @@ pub struct IncidentRecord { pub dedupe_string: std::option::Option, ///

                                                                                        The chat channel used for collaboration during an incident.

                                                                                        pub chat_channel: std::option::Option, - ///

                                                                                        The SNS targets that - /// AWS Chatbot uses - /// to notify the chat channels and perform actions on the incident record.

                                                                                        + ///

                                                                                        The SNS targets that are notified when updates are made to an incident.

                                                                                        pub notification_targets: std::option::Option>, } @@ -2670,7 +2688,7 @@ pub enum AutomationExecution { } impl AutomationExecution { #[allow(irrefutable_let_patterns)] - pub fn as_ssm_execution_arn(&self) -> Result<&std::string::String, &Self> { + pub fn as_ssm_execution_arn(&self) -> std::result::Result<&std::string::String, &Self> { if let AutomationExecution::SsmExecutionArn(val) = &self { Ok(&val) } else { diff --git a/sdk/sso/Cargo.toml b/sdk/sso/Cargo.toml index fe9649a04fc1..f997051eed0b 100644 --- a/sdk/sso/Cargo.toml +++ b/sdk/sso/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sso" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        AWS Single Sign-On Portal is a web service that makes it easy for you to assign user\n access to AWS SSO resources such as the user portal. Users can get AWS account applications\n and roles assigned to them and get federated into the application.

                                                                                        \n \n

                                                                                        For general information about AWS SSO, see What is AWS\n Single Sign-On? in the AWS SSO User Guide.

                                                                                        \n \n

                                                                                        This API reference guide describes the AWS SSO Portal operations that you can call\n programatically and includes detailed information on data types and errors.

                                                                                        \n \n \n

                                                                                        AWS provides SDKs that consist of libraries and sample code for various programming\n languages and platforms, such as Java, Ruby, .Net, iOS, or Android. The SDKs provide a\n convenient way to create programmatic access to AWS SSO and other AWS services. For more\n information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

                                                                                        \n
                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sso/src/input.rs b/sdk/sso/src/input.rs index 4f474cf5e76c..fc23457c4857 100644 --- a/sdk/sso/src/input.rs +++ b/sdk/sso/src/input.rs @@ -85,6 +85,8 @@ impl GetRoleCredentialsInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -282,6 +284,8 @@ impl ListAccountRolesInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -472,6 +476,8 @@ impl ListAccountsInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -631,6 +637,8 @@ impl LogoutInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/ssoadmin/Cargo.toml b/sdk/ssoadmin/Cargo.toml index 53dc482b9002..a683d78c5684 100644 --- a/sdk/ssoadmin/Cargo.toml +++ b/sdk/ssoadmin/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ssoadmin" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        Amazon Web Services Single Sign On (SSO) is a cloud SSO service that makes it easy to centrally manage SSO\n access to multiple Amazon Web Services accounts and business applications. This guide provides information on\n SSO operations which could be used for access management of Amazon Web Services accounts. For information about\n Amazon Web Services SSO features, see the Amazon Web Services Single Sign-On User Guide.

                                                                                        \n

                                                                                        Many operations in the SSO APIs rely on identifiers for users and groups, known as\n principals. For more information about how to work with principals and principal IDs in Amazon Web Services SSO,\n see the Amazon Web Services SSO Identity Store API\n Reference.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssooidc/Cargo.toml b/sdk/ssooidc/Cargo.toml index 8a250722f386..c2d88307c7e2 100644 --- a/sdk/ssooidc/Cargo.toml +++ b/sdk/ssooidc/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ssooidc" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a client\n (such as AWS CLI or a native application) to register with AWS SSO. The service also\n enables the client to fetch the user’s access token upon successful authentication and\n authorization with AWS SSO. This service conforms with the OAuth 2.0 based implementation of\n the device authorization grant standard (https://tools.ietf.org/html/rfc8628).

                                                                                        \n \n

                                                                                        For general information about AWS SSO, see What is AWS\n Single Sign-On? in the AWS SSO User Guide.

                                                                                        \n \n

                                                                                        This API reference guide describes the AWS SSO OIDC operations that you can call\n programatically and includes detailed information on data types and errors.

                                                                                        \n \n \n

                                                                                        AWS provides SDKs that consist of libraries and sample code for various programming\n languages and platforms such as Java, Ruby, .Net, iOS, and Android. The SDKs provide a\n convenient way to create programmatic access to AWS SSO and other AWS services. For more\n information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

                                                                                        \n
                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/ssooidc/src/input.rs b/sdk/ssooidc/src/input.rs index e0c7aff6d91a..e706317f6c7a 100644 --- a/sdk/ssooidc/src/input.rs +++ b/sdk/ssooidc/src/input.rs @@ -153,6 +153,8 @@ impl CreateTokenInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -309,6 +311,8 @@ impl RegisterClientInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -470,6 +474,8 @@ impl StartDeviceAuthorizationInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/storagegateway/Cargo.toml b/sdk/storagegateway/Cargo.toml index 95d692c00448..94619fd0221e 100644 --- a/sdk/storagegateway/Cargo.toml +++ b/sdk/storagegateway/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-storagegateway" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Storage Gateway Service\n\n

                                                                                        Storage Gateway is the service that connects an on-premises software appliance with\n cloud-based storage to provide seamless and secure integration between an\n organization's on-premises IT environment and the Amazon Web Services storage infrastructure. The\n service enables you to securely upload data to the Cloud for cost effective backup and\n rapid disaster recovery.

                                                                                        \n\n

                                                                                        Use the following links to get started using the Storage Gateway Service\n API Reference:

                                                                                        \n\n
                                                                                          \n
                                                                                        • \n

                                                                                          \n Storage Gateway required request headers: Describes the required\n headers that you must send with every POST request to Storage Gateway.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          \n Signing requests: Storage Gateway requires that you authenticate\n every request you send; this topic describes how sign such a request.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          \n Error responses: Provides reference information about Storage Gateway\n errors.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          \n Operations in \n Storage Gateway: Contains detailed descriptions of all Storage Gateway\n operations, their request parameters, response elements, possible errors, and\n examples of requests and responses.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          \n Storage Gateway\n endpoints and quotas: Provides a list of each Region and the endpoints\n available for use with Storage Gateway.

                                                                                          \n
                                                                                        • \n
                                                                                        \n\n \n

                                                                                        Storage Gateway resource IDs are in uppercase. When you use these resource IDs\n with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your\n resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the\n ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with\n the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the\n EC2 API might not behave as expected.

                                                                                        \n
                                                                                        \n\n \n

                                                                                        IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes\n are changing to a longer format. Starting in December 2016, all new volumes and\n snapshots will be created with a 17-character string. Starting in April 2016, you will\n be able to use these longer IDs so you can test your systems with the new format. For\n more information, see Longer EC2 and\n EBS resource IDs.

                                                                                        \n\n

                                                                                        For example, a volume Amazon Resource Name (ARN) with the longer volume ID format\n looks like the following:

                                                                                        \n\n

                                                                                        \n arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

                                                                                        \n\n

                                                                                        A snapshot ID with the longer ID format looks like the following:\n snap-78e226633445566ee.

                                                                                        \n\n

                                                                                        For more information, see Announcement:\n Heads-up – Longer Storage Gateway volume and snapshot IDs coming in\n 2016.

                                                                                        \n
                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/sts/Cargo.toml b/sdk/sts/Cargo.toml index 836b1a197a64..6d962bbdaf3c 100644 --- a/sdk/sts/Cargo.toml +++ b/sdk/sts/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sts" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Security Token Service\n

                                                                                        Security Token Service (STS) enables you to request temporary, limited-privilege \n credentials for Identity and Access Management (IAM) users or for users that you \n authenticate (federated users). This guide provides descriptions of the STS API. For \n more information about using this service, see Temporary Security Credentials.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" @@ -31,6 +31,14 @@ version = "1" path = "..//smithy-query" [dependencies.smithy-xml] path = "..//smithy-xml" +[dev-dependencies.smithy-client] +path = "..//smithy-client" +features = ["test-util"] +[dev-dependencies.serde_json] +version = "1" +[dev-dependencies.tokio] +version = "1" +features = ["macros", "test-util"] [features] client = ["aws-hyper"] rustls = ["aws-hyper/rustls"] diff --git a/sdk/sts/src/input.rs b/sdk/sts/src/input.rs index 3b0095a77651..c2c20eb81c5b 100644 --- a/sdk/sts/src/input.rs +++ b/sdk/sts/src/input.rs @@ -523,6 +523,8 @@ impl AssumeRoleWithSamlInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() @@ -789,6 +791,8 @@ impl AssumeRoleWithWebIdentityInput { ); #[allow(unused_mut)] let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + signing_config.signing_requirements = + aws_sig_auth::signer::SigningRequirements::Disabled; request.properties_mut().insert(signing_config); request .properties_mut() diff --git a/sdk/sts/tests/signing-it.rs b/sdk/sts/tests/signing-it.rs new file mode 100644 index 000000000000..bfe490fdb37a --- /dev/null +++ b/sdk/sts/tests/signing-it.rs @@ -0,0 +1,79 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +use aws_sdk_sts::{Credentials, Region}; +use smithy_client::test_connection::capture_request; + +#[tokio::test] +async fn assume_role_signed() { + let creds = Credentials::from_keys( + "ANOTREAL", + "notrealrnrELgWzOk3IfjzDKtFBhDby", + Some("notarealsessiontoken".to_string()), + ); + let conf = aws_sdk_sts::Config::builder() + .credentials_provider(creds) + .region(Region::new("us-east-1")) + .build(); + let (server, request) = capture_request(None); + let client = aws_sdk_sts::Client::from_conf_conn(conf, server); + let _ = client.assume_role().send().await; + // assume role should have an auth header + assert_ne!( + request.expect_request().headers().get("AUTHORIZATION"), + None + ); +} + +#[tokio::test] +async fn web_identity_unsigned() { + let creds = Credentials::from_keys( + "ANOTREAL", + "notrealrnrELgWzOk3IfjzDKtFBhDby", + Some("notarealsessiontoken".to_string()), + ); + let conf = aws_sdk_sts::Config::builder() + .credentials_provider(creds) + .region(Region::new("us-east-1")) + .build(); + let (server, request) = capture_request(None); + let client = aws_sdk_sts::Client::from_conf_conn(conf, server); + let _ = client.assume_role_with_web_identity().send().await; + // web identity should be unsigned + assert_eq!( + request.expect_request().headers().get("AUTHORIZATION"), + None + ); +} + +#[tokio::test] +async fn assume_role_saml_unsigned() { + let conf = aws_sdk_sts::Config::builder() + .region(Region::new("us-east-1")) + .build(); + let (server, request) = capture_request(None); + let client = aws_sdk_sts::Client::from_conf_conn(conf, server); + let _ = client.assume_role_with_saml().send().await; + // web identity should be unsigned + assert_eq!( + request.expect_request().headers().get("AUTHORIZATION"), + None + ); +} + +#[tokio::test] +async fn web_identity_no_creds() { + let conf = aws_sdk_sts::Config::builder() + .region(Region::new("us-east-1")) + .build(); + let (server, request) = capture_request(None); + let client = aws_sdk_sts::Client::from_conf_conn(conf, server); + let _ = client.assume_role_with_web_identity().send().await; + // web identity should be unsigned and work without credentials + assert_eq!( + request.expect_request().headers().get("AUTHORIZATION"), + None + ); +} diff --git a/sdk/support/Cargo.toml b/sdk/support/Cargo.toml index 52b7ca092f3e..584f14b541f9 100644 --- a/sdk/support/Cargo.toml +++ b/sdk/support/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-support" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Support\n

                                                                                        The AWS Support API Reference is intended for programmers who need detailed\n information about the AWS Support operations and data types. You can use the API to manage\n your support cases programmatically. The AWS Support API uses HTTP methods that return\n results in JSON format.

                                                                                        \n \n
                                                                                          \n
                                                                                        • \n

                                                                                          You must have a Business or Enterprise Support plan to use the AWS Support\n API.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          If you call the AWS Support API from an account that does not have a\n Business or Enterprise Support plan, the\n SubscriptionRequiredException error message appears. For\n information about changing your support plan, see AWS Support.

                                                                                          \n
                                                                                        • \n
                                                                                        \n
                                                                                        \n

                                                                                        The AWS Support service also exposes a set of AWS Trusted Advisor features. You can\n retrieve a list of checks and their descriptions, get check results, specify checks to\n refresh, and get the refresh status of checks.

                                                                                        \n

                                                                                        The following list describes the AWS Support case management operations:

                                                                                        \n \n

                                                                                        The following list describes the operations available from the AWS Support service for\n Trusted Advisor:

                                                                                        \n \n

                                                                                        For authentication of requests, AWS Support uses Signature Version 4 Signing\n Process.

                                                                                        \n

                                                                                        See About the\n AWS Support API in the AWS Support User Guide for\n information about how to use this service to create and manage your support cases, and\n how to call Trusted Advisor for results of checks on your resources.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/swf/Cargo.toml b/sdk/swf/Cargo.toml index a1df2b70a5d4..0c6904e8d1f9 100644 --- a/sdk/swf/Cargo.toml +++ b/sdk/swf/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-swf" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon Simple Workflow Service\n\n

                                                                                        The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to\n coordinate work across distributed components. In Amazon SWF, a task\n represents a logical unit of work that is performed by a component of your workflow.\n Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and \n concurrency in accordance with the logical flow of the application.

                                                                                        \n\n

                                                                                        Amazon SWF gives you full control over implementing tasks and coordinating them without\n worrying about underlying complexities such as tracking their progress and maintaining their\n state.

                                                                                        \n\n

                                                                                        This documentation serves as reference only. For a broader overview of the Amazon SWF\n programming model, see the \n Amazon SWF Developer Guide\n .

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/synthetics/Cargo.toml b/sdk/synthetics/Cargo.toml index 17e28ce74865..3123d620915b 100644 --- a/sdk/synthetics/Cargo.toml +++ b/sdk/synthetics/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-synthetics" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon CloudWatch Synthetics\n

                                                                                        You can use Amazon CloudWatch Synthetics to continually monitor your services. You can\n create and manage canaries, which are modular, lightweight scripts \n that monitor your endpoints and APIs\n from the outside-in. You can set up your canaries to run\n 24 hours a day, once per minute. The canaries help you check the availability and latency\n of your web services and troubleshoot anomalies by investigating load time data,\n screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch\n ServiceLens to help you trace the causes of impacted nodes in your applications. For more\n information, see Using ServiceLens to Monitor\n the Health of Your Applications in the Amazon CloudWatch User\n Guide.

                                                                                        \n \n

                                                                                        Before you create and manage canaries, be aware of the security considerations. For more\n information, see Security\n Considerations for Synthetics Canaries.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/synthetics/src/client.rs b/sdk/synthetics/src/client.rs index 19cc2c470a33..883a7a541127 100644 --- a/sdk/synthetics/src/client.rs +++ b/sdk/synthetics/src/client.rs @@ -1048,6 +1048,13 @@ pub mod fluent_builders { self.inner = self.inner.set_vpc_config(input); self } + ///

                                                                                        Defines the screenshots to use as the baseline for comparisons during visual monitoring comparisons during future runs of this canary. If you omit this + /// parameter, no changes are made to any baseline screenshots that the canary might be using already.

                                                                                        + ///

                                                                                        Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 + /// runtime or later. For more information, see + /// Visual monitoring and + /// Visual monitoring blueprint + ///

                                                                                        pub fn visual_reference(mut self, input: crate::model::VisualReferenceInput) -> Self { self.inner = self.inner.visual_reference(input); self diff --git a/sdk/synthetics/src/input.rs b/sdk/synthetics/src/input.rs index c3fc8ef57782..b0b8c412a02c 100644 --- a/sdk/synthetics/src/input.rs +++ b/sdk/synthetics/src/input.rs @@ -2151,6 +2151,13 @@ pub mod update_canary_input { self.vpc_config = input; self } + ///

                                                                                        Defines the screenshots to use as the baseline for comparisons during visual monitoring comparisons during future runs of this canary. If you omit this + /// parameter, no changes are made to any baseline screenshots that the canary might be using already.

                                                                                        + ///

                                                                                        Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 + /// runtime or later. For more information, see + /// Visual monitoring and + /// Visual monitoring blueprint + ///

                                                                                        pub fn visual_reference(mut self, input: crate::model::VisualReferenceInput) -> Self { self.visual_reference = Some(input); self @@ -2370,6 +2377,13 @@ pub struct UpdateCanaryInput { /// For more information, see /// Running a Canary in a VPC.

                                                                                        pub vpc_config: std::option::Option, + ///

                                                                                        Defines the screenshots to use as the baseline for comparisons during visual monitoring comparisons during future runs of this canary. If you omit this + /// parameter, no changes are made to any baseline screenshots that the canary might be using already.

                                                                                        + ///

                                                                                        Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 + /// runtime or later. For more information, see + /// Visual monitoring and + /// Visual monitoring blueprint + ///

                                                                                        pub visual_reference: std::option::Option, } impl std::fmt::Debug for UpdateCanaryInput { diff --git a/sdk/synthetics/src/model.rs b/sdk/synthetics/src/model.rs index 06bd0c838d87..6192986f74c8 100644 --- a/sdk/synthetics/src/model.rs +++ b/sdk/synthetics/src/model.rs @@ -1,8 +1,20 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

                                                                                        An object that specifies what screenshots to use as a baseline for visual monitoring by this canary, and optionally the parts of the screenshots to ignore during the visual monitoring comparison.

                                                                                        +///

                                                                                        Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 +/// runtime or later. For more information, see +/// Visual monitoring and +/// Visual monitoring blueprint +///

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct VisualReferenceInput { + ///

                                                                                        An array of screenshots that will be used as the baseline for visual monitoring in future runs of this canary. If there is a screenshot that you don't want to be used for + /// visual monitoring, remove it from this array.

                                                                                        pub base_screenshots: std::option::Option>, + ///

                                                                                        Specifies which canary run to use the screenshots from as the baseline for future visual monitoring with this canary. Valid values are + /// nextrun to use the screenshots from the next run after this update is made, lastrun to use the screenshots from the most recent run + /// before this update was made, or the value of Id in the + /// CanaryRun from any past run of this canary.

                                                                                        pub base_canary_run_id: std::option::Option, } impl std::fmt::Debug for VisualReferenceInput { @@ -37,6 +49,10 @@ pub mod visual_reference_input { self.base_screenshots = input; self } + ///

                                                                                        Specifies which canary run to use the screenshots from as the baseline for future visual monitoring with this canary. Valid values are + /// nextrun to use the screenshots from the next run after this update is made, lastrun to use the screenshots from the most recent run + /// before this update was made, or the value of Id in the + /// CanaryRun from any past run of this canary.

                                                                                        pub fn base_canary_run_id(mut self, input: impl Into) -> Self { self.base_canary_run_id = Some(input.into()); self @@ -64,10 +80,15 @@ impl VisualReferenceInput { } } +///

                                                                                        A structure representing a screenshot that is used as a baseline during visual monitoring comparisons made by the canary.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BaseScreenshot { + ///

                                                                                        The name of the screenshot. This is generated the first time the canary is run after the UpdateCanary operation that + /// specified for this canary to perform visual monitoring.

                                                                                        pub screenshot_name: std::option::Option, + ///

                                                                                        Coordinates that define the part of a screen to ignore during screenshot comparisons. To obtain the coordinates to use here, use the + /// CloudWatch Logs console to draw the boundaries on the screen. For more information, see {LINK}

                                                                                        pub ignore_coordinates: std::option::Option>, } impl std::fmt::Debug for BaseScreenshot { @@ -88,6 +109,8 @@ pub mod base_screenshot { pub(crate) ignore_coordinates: std::option::Option>, } impl Builder { + ///

                                                                                        The name of the screenshot. This is generated the first time the canary is run after the UpdateCanary operation that + /// specified for this canary to perform visual monitoring.

                                                                                        pub fn screenshot_name(mut self, input: impl Into) -> Self { self.screenshot_name = Some(input.into()); self @@ -438,8 +461,7 @@ pub struct CanaryCodeInput { pub s3_version: std::option::Option, ///

                                                                                        If you input your canary script directly into the canary instead of referring to an S3 /// location, the value of this parameter is the base64-encoded contents of the .zip file that - /// contains the script. It can be - /// up to 5 MB.

                                                                                        + /// contains the script. It must be smaller than 256 Kb.

                                                                                        pub zip_file: std::option::Option, ///

                                                                                        The entry point to use for the source code when running the canary. This value must end /// with the string .handler. The string is limited to 29 characters or fewer.

                                                                                        @@ -499,8 +521,7 @@ pub mod canary_code_input { } ///

                                                                                        If you input your canary script directly into the canary instead of referring to an S3 /// location, the value of this parameter is the base64-encoded contents of the .zip file that - /// contains the script. It can be - /// up to 5 MB.

                                                                                        + /// contains the script. It must be smaller than 256 Kb.

                                                                                        pub fn zip_file(mut self, input: smithy_types::Blob) -> Self { self.zip_file = Some(input); self @@ -944,6 +965,8 @@ pub struct Canary { /// For more information, see /// Running a Canary in a VPC.

                                                                                        pub vpc_config: std::option::Option, + ///

                                                                                        If this canary performs visual monitoring by comparing screenshots, this structure contains the ID of the canary run to use as the baseline for screenshots, and the coordinates + /// of any parts of the screen to ignore during the visual monitoring comparison.

                                                                                        pub visual_reference: std::option::Option, ///

                                                                                        The list of key-value pairs that are associated with the canary.

                                                                                        pub tags: @@ -1173,6 +1196,8 @@ pub mod canary { self.vpc_config = input; self } + ///

                                                                                        If this canary performs visual monitoring by comparing screenshots, this structure contains the ID of the canary run to use as the baseline for screenshots, and the coordinates + /// of any parts of the screen to ignore during the visual monitoring comparison.

                                                                                        pub fn visual_reference(mut self, input: crate::model::VisualReferenceOutput) -> Self { self.visual_reference = Some(input); self @@ -1233,10 +1258,15 @@ impl Canary { } } +///

                                                                                        If this canary performs visual monitoring by comparing screenshots, this structure contains the ID of the canary run that is used as the baseline for screenshots, and the coordinates +/// of any parts of those screenshots that are ignored during visual monitoring comparison.

                                                                                        +///

                                                                                        Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 runtime or later.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct VisualReferenceOutput { + ///

                                                                                        An array of screenshots that are used as the baseline for comparisons during visual monitoring.

                                                                                        pub base_screenshots: std::option::Option>, + ///

                                                                                        The ID of the canary run that produced the screenshots that are used as the baseline for visual monitoring comparisons during future runs of this canary.

                                                                                        pub base_canary_run_id: std::option::Option, } impl std::fmt::Debug for VisualReferenceOutput { @@ -1271,6 +1301,7 @@ pub mod visual_reference_output { self.base_screenshots = input; self } + ///

                                                                                        The ID of the canary run that produced the screenshots that are used as the baseline for visual monitoring comparisons during future runs of this canary.

                                                                                        pub fn base_canary_run_id(mut self, input: impl Into) -> Self { self.base_canary_run_id = Some(input.into()); self diff --git a/sdk/textract/Cargo.toml b/sdk/textract/Cargo.toml index e141c3a7e650..0b1e8c20e5c3 100644 --- a/sdk/textract/Cargo.toml +++ b/sdk/textract/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-textract" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        Amazon Textract detects and analyzes text in documents and converts it\n into machine-readable text. This is the API reference documentation for\n Amazon Textract.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/transcribe/Cargo.toml b/sdk/transcribe/Cargo.toml index 0c0aa1bb4d77..4d846e09b764 100644 --- a/sdk/transcribe/Cargo.toml +++ b/sdk/transcribe/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-transcribe" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        Operations and objects for transcribing speech to text.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/transcribe/src/client.rs b/sdk/transcribe/src/client.rs index 33f9d7652529..6c0cd0babd20 100644 --- a/sdk/transcribe/src/client.rs +++ b/sdk/transcribe/src/client.rs @@ -39,6 +39,11 @@ impl Client where C: aws_hyper::SmithyConnector, { + pub fn create_call_analytics_category( + &self, + ) -> fluent_builders::CreateCallAnalyticsCategory { + fluent_builders::CreateCallAnalyticsCategory::new(self.handle.clone()) + } pub fn create_language_model(&self) -> fluent_builders::CreateLanguageModel { fluent_builders::CreateLanguageModel::new(self.handle.clone()) } @@ -51,6 +56,14 @@ where pub fn create_vocabulary_filter(&self) -> fluent_builders::CreateVocabularyFilter { fluent_builders::CreateVocabularyFilter::new(self.handle.clone()) } + pub fn delete_call_analytics_category( + &self, + ) -> fluent_builders::DeleteCallAnalyticsCategory { + fluent_builders::DeleteCallAnalyticsCategory::new(self.handle.clone()) + } + pub fn delete_call_analytics_job(&self) -> fluent_builders::DeleteCallAnalyticsJob { + fluent_builders::DeleteCallAnalyticsJob::new(self.handle.clone()) + } pub fn delete_language_model(&self) -> fluent_builders::DeleteLanguageModel { fluent_builders::DeleteLanguageModel::new(self.handle.clone()) } @@ -74,6 +87,12 @@ where pub fn describe_language_model(&self) -> fluent_builders::DescribeLanguageModel { fluent_builders::DescribeLanguageModel::new(self.handle.clone()) } + pub fn get_call_analytics_category(&self) -> fluent_builders::GetCallAnalyticsCategory { + fluent_builders::GetCallAnalyticsCategory::new(self.handle.clone()) + } + pub fn get_call_analytics_job(&self) -> fluent_builders::GetCallAnalyticsJob { + fluent_builders::GetCallAnalyticsJob::new(self.handle.clone()) + } pub fn get_medical_transcription_job(&self) -> fluent_builders::GetMedicalTranscriptionJob { fluent_builders::GetMedicalTranscriptionJob::new(self.handle.clone()) } @@ -89,6 +108,14 @@ where pub fn get_vocabulary_filter(&self) -> fluent_builders::GetVocabularyFilter { fluent_builders::GetVocabularyFilter::new(self.handle.clone()) } + pub fn list_call_analytics_categories( + &self, + ) -> fluent_builders::ListCallAnalyticsCategories { + fluent_builders::ListCallAnalyticsCategories::new(self.handle.clone()) + } + pub fn list_call_analytics_jobs(&self) -> fluent_builders::ListCallAnalyticsJobs { + fluent_builders::ListCallAnalyticsJobs::new(self.handle.clone()) + } pub fn list_language_models(&self) -> fluent_builders::ListLanguageModels { fluent_builders::ListLanguageModels::new(self.handle.clone()) } @@ -109,6 +136,9 @@ where pub fn list_vocabulary_filters(&self) -> fluent_builders::ListVocabularyFilters { fluent_builders::ListVocabularyFilters::new(self.handle.clone()) } + pub fn start_call_analytics_job(&self) -> fluent_builders::StartCallAnalyticsJob { + fluent_builders::StartCallAnalyticsJob::new(self.handle.clone()) + } pub fn start_medical_transcription_job( &self, ) -> fluent_builders::StartMedicalTranscriptionJob { @@ -117,6 +147,11 @@ where pub fn start_transcription_job(&self) -> fluent_builders::StartTranscriptionJob { fluent_builders::StartTranscriptionJob::new(self.handle.clone()) } + pub fn update_call_analytics_category( + &self, + ) -> fluent_builders::UpdateCallAnalyticsCategory { + fluent_builders::UpdateCallAnalyticsCategory::new(self.handle.clone()) + } pub fn update_medical_vocabulary(&self) -> fluent_builders::UpdateMedicalVocabulary { fluent_builders::UpdateMedicalVocabulary::new(self.handle.clone()) } @@ -128,6 +163,64 @@ where } } pub mod fluent_builders { + #[derive(std::fmt::Debug)] + pub struct CreateCallAnalyticsCategory { + handle: std::sync::Arc>, + inner: crate::input::create_call_analytics_category_input::Builder, + } + impl CreateCallAnalyticsCategory { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::CreateCallAnalyticsCategoryOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name that you choose for your category when you create it.

                                                                                        + pub fn category_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.category_name(input); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_category_name(input); + self + } + ///

                                                                                        To create a category, you must specify between 1 and 20 rules. For each rule, you specify a + /// filter to be applied to the attributes of the call. For example, you can specify a sentiment + /// filter to detect if the customer's sentiment was negative or neutral.

                                                                                        + pub fn rules(mut self, inp: impl Into) -> Self { + self.inner = self.inner.rules(inp); + self + } + pub fn set_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_rules(input); + self + } + } #[derive(std::fmt::Debug)] pub struct CreateLanguageModel { handle: std::sync::Arc>, @@ -244,8 +337,8 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                                        The name of the custom vocabulary. This case-sensitive name must be unique within an - /// AWS account. If you try to create a vocabulary with the same name as a previous - /// vocabulary, you get a ConflictException error.

                                                                                        + /// Amazon Web Services account. If you try to create a vocabulary with the same name as + /// a previous vocabulary, you get a ConflictException error.

                                                                                        pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_name(input); self @@ -273,7 +366,7 @@ pub mod fluent_builders { self } ///

                                                                                        The location in Amazon S3 of the text file you use to define your custom vocabulary. The - /// URI must be in the same AWS Region as the + /// URI must be in the same Amazon Web Services Region as the /// resource /// that you're calling. Enter information about your /// VocabularyFileUri in the following format:

                                                                                        @@ -286,8 +379,8 @@ pub mod fluent_builders { ///

                                                                                        /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                        - ///

                                                                                        For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                        - ///

                                                                                        For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                        + ///

                                                                                        For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                        + ///

                                                                                        For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                        pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_file_uri(input); self @@ -331,9 +424,10 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                        The name of the vocabulary. The name must be unique within an AWS account. The name is - /// case sensitive. If you try to create a vocabulary with the same name as a previous - /// vocabulary you will receive a ConflictException error.

                                                                                        + ///

                                                                                        The name of the vocabulary. The name must be unique within an Amazon Web Services + /// account. The name is case sensitive. If you try to create a vocabulary with the same + /// name as a previous vocabulary you will receive a ConflictException + /// error.

                                                                                        pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_name(input); self @@ -373,8 +467,8 @@ pub mod fluent_builders { ///

                                                                                        The S3 location of the text file that contains the definition of the custom /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                        - ///

                                                                                        For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                        - ///

                                                                                        For more information about custom vocabularies, see Custom + ///

                                                                                        For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                        + ///

                                                                                        For more information about custom vocabularies, see Custom /// Vocabularies.

                                                                                        pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_file_uri(input); @@ -483,6 +577,95 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct DeleteCallAnalyticsCategory { + handle: std::sync::Arc>, + inner: crate::input::delete_call_analytics_category_input::Builder, + } + impl DeleteCallAnalyticsCategory { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteCallAnalyticsCategoryOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name of the call analytics category that you're choosing to delete. The value is case + /// sensitive.

                                                                                        + pub fn category_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.category_name(input); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_category_name(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct DeleteCallAnalyticsJob { + handle: std::sync::Arc>, + inner: crate::input::delete_call_analytics_job_input::Builder, + } + impl DeleteCallAnalyticsJob { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::DeleteCallAnalyticsJobOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name of the call analytics job you want to delete.

                                                                                        + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.call_analytics_job_name(input); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_call_analytics_job_name(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct DeleteLanguageModel { handle: std::sync::Arc>, inner: crate::input::delete_language_model_input::Builder, @@ -789,6 +972,95 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct GetCallAnalyticsCategory { + handle: std::sync::Arc>, + inner: crate::input::get_call_analytics_category_input::Builder, + } + impl GetCallAnalyticsCategory { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetCallAnalyticsCategoryOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name of the category you want information about. This value is case sensitive.

                                                                                        + pub fn category_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.category_name(input); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_category_name(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct GetCallAnalyticsJob { + handle: std::sync::Arc>, + inner: crate::input::get_call_analytics_job_input::Builder, + } + impl GetCallAnalyticsJob { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetCallAnalyticsJobOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name of the analytics job you want information about. This value is case + /// sensitive.

                                                                                        + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.call_analytics_job_name(input); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_call_analytics_job_name(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct GetMedicalTranscriptionJob { handle: std::sync::Arc>, inner: crate::input::get_medical_transcription_job_input::Builder, @@ -1014,6 +1286,138 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct ListCallAnalyticsCategories { + handle: std::sync::Arc>, + inner: crate::input::list_call_analytics_categories_input::Builder, + } + impl ListCallAnalyticsCategories { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListCallAnalyticsCategoriesOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        When included, NextTokenfetches the next set of categories if the result + /// of the previous request was truncated.

                                                                                        + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

                                                                                        The maximum number of categories to return in the response. If there are fewer results in + /// the list, the response contains only the actual results.

                                                                                        + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct ListCallAnalyticsJobs { + handle: std::sync::Arc>, + inner: crate::input::list_call_analytics_jobs_input::Builder, + } + impl ListCallAnalyticsJobs { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListCallAnalyticsJobsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        When specified, returns only call analytics jobs with the specified status. Jobs are ordered + /// by creation date, with the most recent jobs returned first. If you don't specify a status, Amazon Transcribe + /// returns all analytics jobs ordered by creation date.

                                                                                        + pub fn status(mut self, input: crate::model::CallAnalyticsJobStatus) -> Self { + self.inner = self.inner.status(input); + self + } + pub fn set_status( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_status(input); + self + } + ///

                                                                                        When specified, the jobs returned in the list are limited to jobs whose name contains the + /// specified string.

                                                                                        + pub fn job_name_contains(mut self, input: impl Into) -> Self { + self.inner = self.inner.job_name_contains(input); + self + } + pub fn set_job_name_contains( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_job_name_contains(input); + self + } + ///

                                                                                        If you receive a truncated result in the previous request of + /// , + /// include NextToken to fetch the next set of jobs.

                                                                                        + pub fn next_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_token(input); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

                                                                                        The maximum number of call analytics jobs to return in the response. If there are fewer + /// results in the list, this response contains only the actual results.

                                                                                        + pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct ListLanguageModels { handle: std::sync::Arc>, inner: crate::input::list_language_models_input::Builder, @@ -1481,6 +1885,183 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct StartCallAnalyticsJob { + handle: std::sync::Arc>, + inner: crate::input::start_call_analytics_job_input::Builder, + } + impl StartCallAnalyticsJob { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::StartCallAnalyticsJobOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                        The name of the call analytics job. You can't use the string "." or ".." by themselves as the + /// job name. The name must also be unique within an AWS account. If you try to create a + /// call analytics job with the same name as a previous call analytics job, you get a + /// ConflictException error.

                                                                                        + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.call_analytics_job_name(input); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_call_analytics_job_name(input); + self + } + ///

                                                                                        Describes the input media file in a transcription request.

                                                                                        + pub fn media(mut self, input: crate::model::Media) -> Self { + self.inner = self.inner.media(input); + self + } + pub fn set_media(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_media(input); + self + } + ///

                                                                                        The Amazon S3 location where the output of the call analytics job is stored. + /// You can provide the following location types to store the output of call analytics job:

                                                                                        + ///
                                                                                          + ///
                                                                                        • + ///

                                                                                          s3://DOC-EXAMPLE-BUCKET1

                                                                                          + ///

                                                                                          If you specify a bucket, Amazon Transcribe saves the output of the analytics job + /// as a JSON file at the root level of the bucket.

                                                                                          + ///
                                                                                        • + ///
                                                                                        • + ///

                                                                                          s3://DOC-EXAMPLE-BUCKET1/folder/

                                                                                          + ///

                                                                                          f you specify a path, Amazon Transcribe saves the output of the analytics job as + /// s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json

                                                                                          + ///

                                                                                          If you specify a folder, you must provide a trailing slash.

                                                                                          + ///
                                                                                        • + ///
                                                                                        • + ///

                                                                                          s3://DOC-EXAMPLE-BUCKET1/folder/filename.json

                                                                                          + ///

                                                                                          If you provide a path that has the filename specified, Amazon Transcribe saves + /// the output of the analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json

                                                                                          + ///
                                                                                        • + ///
                                                                                        + ///

                                                                                        You can specify an AWS Key Management Service key to encrypt the output of our + /// analytics job using the OutputEncryptionKMSKeyId parameter. If you don't specify a + /// KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption + /// of the analytics job output that is placed in your S3 bucket.

                                                                                        + pub fn output_location(mut self, input: impl Into) -> Self { + self.inner = self.inner.output_location(input); + self + } + pub fn set_output_location( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_output_location(input); + self + } + ///

                                                                                        The Amazon Resource Name (ARN) of the AWS Key Management Service key used to + /// encrypt the output of the call analytics job. The user calling the + /// operation must have permission to use the specified KMS key.

                                                                                        + ///

                                                                                        You use either of the following to identify an AWS KMS key in the current account:

                                                                                        + ///
                                                                                          + ///
                                                                                        • + ///

                                                                                          KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                                          + ///
                                                                                        • + ///
                                                                                        • + ///

                                                                                          KMS Key Alias: "alias/ExampleAlias"

                                                                                          + ///
                                                                                        • + ///
                                                                                        + ///

                                                                                        You can use either of the following to identify a KMS key in the current account or + /// another account:

                                                                                        + ///
                                                                                          + ///
                                                                                        • + ///

                                                                                          Amazon Resource Name (ARN) of a KMS key in the current account or another + /// account: "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef1234567890ab"

                                                                                          + ///
                                                                                        • + ///
                                                                                        • + ///

                                                                                          ARN of a KMS Key Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

                                                                                          + ///
                                                                                        • + ///
                                                                                        + ///

                                                                                        If you don't specify an encryption key, the output of the call analytics job is encrypted + /// with the default Amazon S3 key (SSE-S3).

                                                                                        + ///

                                                                                        If you specify a KMS key to encrypt your output, you must also specify an output + /// location in the OutputLocation parameter.

                                                                                        + pub fn output_encryption_kms_key_id( + mut self, + input: impl Into, + ) -> Self { + self.inner = self.inner.output_encryption_kms_key_id(input); + self + } + pub fn set_output_encryption_kms_key_id( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_output_encryption_kms_key_id(input); + self + } + ///

                                                                                        The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that + /// contains your input files. Amazon Transcribe assumes this role to read queued audio files. + /// If you have specified an output S3 bucket for your transcription results, this role should + /// have access to the output bucket as well.

                                                                                        + pub fn data_access_role_arn(mut self, input: impl Into) -> Self { + self.inner = self.inner.data_access_role_arn(input); + self + } + pub fn set_data_access_role_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_data_access_role_arn(input); + self + } + ///

                                                                                        A Settings object that provides optional settings for a call analytics job.

                                                                                        + pub fn settings(mut self, input: crate::model::CallAnalyticsJobSettings) -> Self { + self.inner = self.inner.settings(input); + self + } + pub fn set_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_settings(input); + self + } + ///

                                                                                        When you start a call analytics job, you must pass an array that maps the agent and the + /// customer to specific audio channels. The values you can assign to a channel are 0 + /// and 1. The agent and the customer must each have their own channel. You can't assign more + /// than one channel to an agent or customer.

                                                                                        + pub fn channel_definitions( + mut self, + inp: impl Into, + ) -> Self { + self.inner = self.inner.channel_definitions(inp); + self + } + pub fn set_channel_definitions( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_channel_definitions(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct StartMedicalTranscriptionJob { handle: std::sync::Arc>, inner: crate::input::start_medical_transcription_job_input::Builder, @@ -1513,9 +2094,9 @@ pub mod fluent_builders { } ///

                                                                                        The name of the medical transcription job. You can't use the strings "." /// or ".." by themselves as the job name. The name must also be unique within - /// an AWS account. If you try to create a medical transcription job with the same name as a - /// previous medical transcription job, you get a ConflictException - /// error.

                                                                                        + /// an Amazon Web Services account. If you try to create a medical transcription job with the + /// same name as a previous medical transcription job, you get a + /// ConflictException error.

                                                                                        pub fn medical_transcription_job_name( mut self, input: impl Into, @@ -1583,10 +2164,10 @@ pub mod fluent_builders { /// results. Your transcript appears in the S3 location you specify. When you call the GetMedicalTranscriptionJob, the operation returns this location in the /// TranscriptFileUri field. The S3 bucket must have permissions that allow /// Amazon Transcribe Medical to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                        - ///

                                                                                        You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                        + ///

                                                                                        You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                        pub fn output_bucket_name(mut self, input: impl Into) -> Self { self.inner = self.inner.output_bucket_name(input); self @@ -1620,8 +2201,8 @@ pub mod fluent_builders { self.inner = self.inner.set_output_key(input); self } - ///

                                                                                        The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the + ///

                                                                                        The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                        ///

                                                                                        You use either of the following to identify a KMS key in the current account:

                                                                                        ///
                                                                                          @@ -1676,8 +2257,8 @@ pub mod fluent_builders { self } ///

                                                                                          You can configure Amazon Transcribe Medical to label content in the transcription output. If you specify - /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it identifies in the transcription - /// output.

                                                                                          + /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it + /// identifies in the transcription output.

                                                                                          pub fn content_identification_type( mut self, input: crate::model::MedicalContentIdentificationType, @@ -1749,9 +2330,9 @@ pub mod fluent_builders { self.handle.client.call(op).await } ///

                                                                                          The name of the job. You can't use the strings "." or ".." - /// by themselves as the job name. The name must also be unique within an AWS account. If - /// you try to create a transcription job with the same name as a previous transcription - /// job, you get a ConflictException error.

                                                                                          + /// by themselves as the job name. The name must also be unique within an Amazon Web Services + /// account. If you try to create a transcription job with the same name as a previous + /// transcription job, you get a ConflictException error.

                                                                                          pub fn transcription_job_name(mut self, input: impl Into) -> Self { self.inner = self.inner.transcription_job_name(input); self @@ -1820,10 +2401,10 @@ pub mod fluent_builders { /// to output an unredacted transcript, that transcript's location still appears in the /// TranscriptFileUri. The S3 bucket must have permissions that allow Amazon Transcribe /// to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                          - ///

                                                                                          You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                          + ///

                                                                                          You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                          ///

                                                                                          If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, /// a shareable URL that provides secure access to your transcription, and returns it in the /// TranscriptFileUri field. Use this URL to download the @@ -1861,8 +2442,8 @@ pub mod fluent_builders { self.inner = self.inner.set_output_key(input); self } - ///

                                                                                          The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the + ///

                                                                                          The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the /// StartTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                          ///

                                                                                          You can use either of the following to identify a KMS key in the current @@ -1969,6 +2550,8 @@ pub mod fluent_builders { ///

                                                                                          An object containing a list of languages that might be present in your collection of /// audio files. Automatic language identification chooses a language that best matches the /// source audio from that list.

                                                                                          + ///

                                                                                          To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must + /// be encoded at a sample rate of 16000 Hz or higher.

                                                                                          pub fn language_options(mut self, inp: impl Into) -> Self { self.inner = self.inner.language_options(inp); self @@ -1982,6 +2565,65 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct UpdateCallAnalyticsCategory { + handle: std::sync::Arc>, + inner: crate::input::update_call_analytics_category_input::Builder, + } + impl UpdateCallAnalyticsCategory { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateCallAnalyticsCategoryOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                          The name of the analytics category to update. The name is case sensitive. If you try to + /// update a call analytics category with the same name as a previous category you will receive a + /// ConflictException error.

                                                                                          + pub fn category_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.category_name(input); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_category_name(input); + self + } + ///

                                                                                          The rules used for the updated analytics category. The rules that you provide in this field + /// replace the ones that are currently being used.

                                                                                          + pub fn rules(mut self, inp: impl Into) -> Self { + self.inner = self.inner.rules(inp); + self + } + pub fn set_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.inner = self.inner.set_rules(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct UpdateMedicalVocabulary { handle: std::sync::Arc>, inner: crate::input::update_medical_vocabulary_input::Builder, @@ -2043,7 +2685,7 @@ pub mod fluent_builders { } ///

                                                                                          The location in Amazon S3 of the text file that contains /// the - /// you use for your custom vocabulary. The URI must be in the same AWS + /// you use for your custom vocabulary. The URI must be in the same Amazon Web Services /// Region as the resource that you are calling. The following is the format for a /// URI:

                                                                                          ///

                                                                                          @@ -2055,8 +2697,8 @@ pub mod fluent_builders { ///

                                                                                          /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                          - ///

                                                                                          For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          - ///

                                                                                          For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                          + ///

                                                                                          For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          + ///

                                                                                          For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                          pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_file_uri(input); self @@ -2143,8 +2785,8 @@ pub mod fluent_builders { /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                          ///

                                                                                          For example:

                                                                                          - ///

                                                                                          For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          - ///

                                                                                          For more information about custom vocabularies, see Custom Vocabularies.

                                                                                          + ///

                                                                                          For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          + ///

                                                                                          For more information about custom vocabularies, see Custom Vocabularies.

                                                                                          pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.inner = self.inner.vocabulary_file_uri(input); self diff --git a/sdk/transcribe/src/error.rs b/sdk/transcribe/src/error.rs index 3cebeffd5561..fc8928191c24 100644 --- a/sdk/transcribe/src/error.rs +++ b/sdk/transcribe/src/error.rs @@ -1,4 +1,112 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct CreateCallAnalyticsCategoryError { + pub kind: CreateCallAnalyticsCategoryErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum CreateCallAnalyticsCategoryErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for CreateCallAnalyticsCategoryError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + CreateCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => _inner.fmt(f), + CreateCallAnalyticsCategoryErrorKind::ConflictException(_inner) => _inner.fmt(f), + CreateCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + CreateCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + CreateCallAnalyticsCategoryErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for CreateCallAnalyticsCategoryError { + fn code(&self) -> Option<&str> { + CreateCallAnalyticsCategoryError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl CreateCallAnalyticsCategoryError { + pub fn new(kind: CreateCallAnalyticsCategoryErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: CreateCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: CreateCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + CreateCallAnalyticsCategoryErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + CreateCallAnalyticsCategoryErrorKind::ConflictException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + CreateCallAnalyticsCategoryErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + CreateCallAnalyticsCategoryErrorKind::LimitExceededException(_) + ) + } +} +impl std::error::Error for CreateCallAnalyticsCategoryError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + CreateCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => Some(_inner), + CreateCallAnalyticsCategoryErrorKind::ConflictException(_inner) => Some(_inner), + CreateCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => Some(_inner), + CreateCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => Some(_inner), + CreateCallAnalyticsCategoryErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct CreateLanguageModelError { @@ -428,6 +536,213 @@ impl std::error::Error for CreateVocabularyFilterError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteCallAnalyticsCategoryError { + pub kind: DeleteCallAnalyticsCategoryErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteCallAnalyticsCategoryErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + NotFoundException(crate::error::NotFoundException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteCallAnalyticsCategoryError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsCategoryErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteCallAnalyticsCategoryError { + fn code(&self) -> Option<&str> { + DeleteCallAnalyticsCategoryError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteCallAnalyticsCategoryError { + pub fn new(kind: DeleteCallAnalyticsCategoryErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsCategoryErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsCategoryErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsCategoryErrorKind::LimitExceededException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsCategoryErrorKind::NotFoundException(_) + ) + } +} +impl std::error::Error for DeleteCallAnalyticsCategoryError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => Some(_inner), + DeleteCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => Some(_inner), + DeleteCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => Some(_inner), + DeleteCallAnalyticsCategoryErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct DeleteCallAnalyticsJobError { + pub kind: DeleteCallAnalyticsJobErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum DeleteCallAnalyticsJobErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for DeleteCallAnalyticsJobError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + DeleteCallAnalyticsJobErrorKind::BadRequestException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsJobErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsJobErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + DeleteCallAnalyticsJobErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for DeleteCallAnalyticsJobError { + fn code(&self) -> Option<&str> { + DeleteCallAnalyticsJobError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl DeleteCallAnalyticsJobError { + pub fn new(kind: DeleteCallAnalyticsJobErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: DeleteCallAnalyticsJobErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: DeleteCallAnalyticsJobErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsJobErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsJobErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + DeleteCallAnalyticsJobErrorKind::LimitExceededException(_) + ) + } +} +impl std::error::Error for DeleteCallAnalyticsJobError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + DeleteCallAnalyticsJobErrorKind::BadRequestException(_inner) => Some(_inner), + DeleteCallAnalyticsJobErrorKind::InternalFailureException(_inner) => Some(_inner), + DeleteCallAnalyticsJobErrorKind::LimitExceededException(_inner) => Some(_inner), + DeleteCallAnalyticsJobErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct DeleteLanguageModelError { @@ -1160,13 +1475,13 @@ impl std::error::Error for DescribeLanguageModelError { #[non_exhaustive] #[derive(std::fmt::Debug)] -pub struct GetMedicalTranscriptionJobError { - pub kind: GetMedicalTranscriptionJobErrorKind, +pub struct GetCallAnalyticsCategoryError { + pub kind: GetCallAnalyticsCategoryErrorKind, pub(crate) meta: smithy_types::Error, } #[non_exhaustive] #[derive(std::fmt::Debug)] -pub enum GetMedicalTranscriptionJobErrorKind { +pub enum GetCallAnalyticsCategoryErrorKind { BadRequestException(crate::error::BadRequestException), InternalFailureException(crate::error::InternalFailureException), LimitExceededException(crate::error::LimitExceededException), @@ -1174,27 +1489,243 @@ pub enum GetMedicalTranscriptionJobErrorKind { /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code Unhandled(Box), } -impl std::fmt::Display for GetMedicalTranscriptionJobError { +impl std::fmt::Display for GetCallAnalyticsCategoryError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self.kind { - GetMedicalTranscriptionJobErrorKind::BadRequestException(_inner) => _inner.fmt(f), - GetMedicalTranscriptionJobErrorKind::InternalFailureException(_inner) => _inner.fmt(f), - GetMedicalTranscriptionJobErrorKind::LimitExceededException(_inner) => _inner.fmt(f), - GetMedicalTranscriptionJobErrorKind::NotFoundException(_inner) => _inner.fmt(f), - GetMedicalTranscriptionJobErrorKind::Unhandled(_inner) => _inner.fmt(f), + GetCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => _inner.fmt(f), + GetCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + GetCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + GetCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => _inner.fmt(f), + GetCallAnalyticsCategoryErrorKind::Unhandled(_inner) => _inner.fmt(f), } } } -impl smithy_types::retry::ProvideErrorKind for GetMedicalTranscriptionJobError { +impl smithy_types::retry::ProvideErrorKind for GetCallAnalyticsCategoryError { fn code(&self) -> Option<&str> { - GetMedicalTranscriptionJobError::code(self) + GetCallAnalyticsCategoryError::code(self) } fn retryable_error_kind(&self) -> Option { None } } -impl GetMedicalTranscriptionJobError { - pub fn new(kind: GetMedicalTranscriptionJobErrorKind, meta: smithy_types::Error) -> Self { +impl GetCallAnalyticsCategoryError { + pub fn new(kind: GetCallAnalyticsCategoryErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsCategoryErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsCategoryErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsCategoryErrorKind::LimitExceededException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsCategoryErrorKind::NotFoundException(_) + ) + } +} +impl std::error::Error for GetCallAnalyticsCategoryError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => Some(_inner), + GetCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => Some(_inner), + GetCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => Some(_inner), + GetCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => Some(_inner), + GetCallAnalyticsCategoryErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetCallAnalyticsJobError { + pub kind: GetCallAnalyticsJobErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetCallAnalyticsJobErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + NotFoundException(crate::error::NotFoundException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetCallAnalyticsJobError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetCallAnalyticsJobErrorKind::BadRequestException(_inner) => _inner.fmt(f), + GetCallAnalyticsJobErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + GetCallAnalyticsJobErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + GetCallAnalyticsJobErrorKind::NotFoundException(_inner) => _inner.fmt(f), + GetCallAnalyticsJobErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetCallAnalyticsJobError { + fn code(&self) -> Option<&str> { + GetCallAnalyticsJobError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetCallAnalyticsJobError { + pub fn new(kind: GetCallAnalyticsJobErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetCallAnalyticsJobErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetCallAnalyticsJobErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsJobErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsJobErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsJobErrorKind::LimitExceededException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + GetCallAnalyticsJobErrorKind::NotFoundException(_) + ) + } +} +impl std::error::Error for GetCallAnalyticsJobError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetCallAnalyticsJobErrorKind::BadRequestException(_inner) => Some(_inner), + GetCallAnalyticsJobErrorKind::InternalFailureException(_inner) => Some(_inner), + GetCallAnalyticsJobErrorKind::LimitExceededException(_inner) => Some(_inner), + GetCallAnalyticsJobErrorKind::NotFoundException(_inner) => Some(_inner), + GetCallAnalyticsJobErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetMedicalTranscriptionJobError { + pub kind: GetMedicalTranscriptionJobErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetMedicalTranscriptionJobErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + NotFoundException(crate::error::NotFoundException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetMedicalTranscriptionJobError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetMedicalTranscriptionJobErrorKind::BadRequestException(_inner) => _inner.fmt(f), + GetMedicalTranscriptionJobErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + GetMedicalTranscriptionJobErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + GetMedicalTranscriptionJobErrorKind::NotFoundException(_inner) => _inner.fmt(f), + GetMedicalTranscriptionJobErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetMedicalTranscriptionJobError { + fn code(&self) -> Option<&str> { + GetMedicalTranscriptionJobError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetMedicalTranscriptionJobError { + pub fn new(kind: GetMedicalTranscriptionJobErrorKind, meta: smithy_types::Error) -> Self { Self { kind, meta } } @@ -1692,6 +2223,204 @@ impl std::error::Error for GetVocabularyFilterError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListCallAnalyticsCategoriesError { + pub kind: ListCallAnalyticsCategoriesErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListCallAnalyticsCategoriesErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListCallAnalyticsCategoriesError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListCallAnalyticsCategoriesErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListCallAnalyticsCategoriesErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + ListCallAnalyticsCategoriesErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + ListCallAnalyticsCategoriesErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListCallAnalyticsCategoriesError { + fn code(&self) -> Option<&str> { + ListCallAnalyticsCategoriesError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListCallAnalyticsCategoriesError { + pub fn new(kind: ListCallAnalyticsCategoriesErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListCallAnalyticsCategoriesErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListCallAnalyticsCategoriesErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsCategoriesErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsCategoriesErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsCategoriesErrorKind::LimitExceededException(_) + ) + } +} +impl std::error::Error for ListCallAnalyticsCategoriesError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListCallAnalyticsCategoriesErrorKind::BadRequestException(_inner) => Some(_inner), + ListCallAnalyticsCategoriesErrorKind::InternalFailureException(_inner) => Some(_inner), + ListCallAnalyticsCategoriesErrorKind::LimitExceededException(_inner) => Some(_inner), + ListCallAnalyticsCategoriesErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListCallAnalyticsJobsError { + pub kind: ListCallAnalyticsJobsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListCallAnalyticsJobsErrorKind { + BadRequestException(crate::error::BadRequestException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListCallAnalyticsJobsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListCallAnalyticsJobsErrorKind::BadRequestException(_inner) => _inner.fmt(f), + ListCallAnalyticsJobsErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + ListCallAnalyticsJobsErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + ListCallAnalyticsJobsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListCallAnalyticsJobsError { + fn code(&self) -> Option<&str> { + ListCallAnalyticsJobsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListCallAnalyticsJobsError { + pub fn new(kind: ListCallAnalyticsJobsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListCallAnalyticsJobsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListCallAnalyticsJobsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsJobsErrorKind::BadRequestException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsJobsErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + ListCallAnalyticsJobsErrorKind::LimitExceededException(_) + ) + } +} +impl std::error::Error for ListCallAnalyticsJobsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListCallAnalyticsJobsErrorKind::BadRequestException(_inner) => Some(_inner), + ListCallAnalyticsJobsErrorKind::InternalFailureException(_inner) => Some(_inner), + ListCallAnalyticsJobsErrorKind::LimitExceededException(_inner) => Some(_inner), + ListCallAnalyticsJobsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct ListLanguageModelsError { @@ -2288,6 +3017,114 @@ impl std::error::Error for ListVocabularyFiltersError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct StartCallAnalyticsJobError { + pub kind: StartCallAnalyticsJobErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum StartCallAnalyticsJobErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for StartCallAnalyticsJobError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + StartCallAnalyticsJobErrorKind::BadRequestException(_inner) => _inner.fmt(f), + StartCallAnalyticsJobErrorKind::ConflictException(_inner) => _inner.fmt(f), + StartCallAnalyticsJobErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + StartCallAnalyticsJobErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + StartCallAnalyticsJobErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for StartCallAnalyticsJobError { + fn code(&self) -> Option<&str> { + StartCallAnalyticsJobError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl StartCallAnalyticsJobError { + pub fn new(kind: StartCallAnalyticsJobErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: StartCallAnalyticsJobErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: StartCallAnalyticsJobErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + StartCallAnalyticsJobErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + StartCallAnalyticsJobErrorKind::ConflictException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + StartCallAnalyticsJobErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + StartCallAnalyticsJobErrorKind::LimitExceededException(_) + ) + } +} +impl std::error::Error for StartCallAnalyticsJobError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + StartCallAnalyticsJobErrorKind::BadRequestException(_inner) => Some(_inner), + StartCallAnalyticsJobErrorKind::ConflictException(_inner) => Some(_inner), + StartCallAnalyticsJobErrorKind::InternalFailureException(_inner) => Some(_inner), + StartCallAnalyticsJobErrorKind::LimitExceededException(_inner) => Some(_inner), + StartCallAnalyticsJobErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct StartMedicalTranscriptionJobError { @@ -2506,6 +3343,123 @@ impl std::error::Error for StartTranscriptionJobError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateCallAnalyticsCategoryError { + pub kind: UpdateCallAnalyticsCategoryErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateCallAnalyticsCategoryErrorKind { + BadRequestException(crate::error::BadRequestException), + ConflictException(crate::error::ConflictException), + InternalFailureException(crate::error::InternalFailureException), + LimitExceededException(crate::error::LimitExceededException), + NotFoundException(crate::error::NotFoundException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateCallAnalyticsCategoryError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => _inner.fmt(f), + UpdateCallAnalyticsCategoryErrorKind::ConflictException(_inner) => _inner.fmt(f), + UpdateCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => _inner.fmt(f), + UpdateCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => _inner.fmt(f), + UpdateCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => _inner.fmt(f), + UpdateCallAnalyticsCategoryErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateCallAnalyticsCategoryError { + fn code(&self) -> Option<&str> { + UpdateCallAnalyticsCategoryError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateCallAnalyticsCategoryError { + pub fn new(kind: UpdateCallAnalyticsCategoryErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateCallAnalyticsCategoryErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_bad_request_exception(&self) -> bool { + matches!( + &self.kind, + UpdateCallAnalyticsCategoryErrorKind::BadRequestException(_) + ) + } + pub fn is_conflict_exception(&self) -> bool { + matches!( + &self.kind, + UpdateCallAnalyticsCategoryErrorKind::ConflictException(_) + ) + } + pub fn is_internal_failure_exception(&self) -> bool { + matches!( + &self.kind, + UpdateCallAnalyticsCategoryErrorKind::InternalFailureException(_) + ) + } + pub fn is_limit_exceeded_exception(&self) -> bool { + matches!( + &self.kind, + UpdateCallAnalyticsCategoryErrorKind::LimitExceededException(_) + ) + } + pub fn is_not_found_exception(&self) -> bool { + matches!( + &self.kind, + UpdateCallAnalyticsCategoryErrorKind::NotFoundException(_) + ) + } +} +impl std::error::Error for UpdateCallAnalyticsCategoryError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateCallAnalyticsCategoryErrorKind::BadRequestException(_inner) => Some(_inner), + UpdateCallAnalyticsCategoryErrorKind::ConflictException(_inner) => Some(_inner), + UpdateCallAnalyticsCategoryErrorKind::InternalFailureException(_inner) => Some(_inner), + UpdateCallAnalyticsCategoryErrorKind::LimitExceededException(_inner) => Some(_inner), + UpdateCallAnalyticsCategoryErrorKind::NotFoundException(_inner) => Some(_inner), + UpdateCallAnalyticsCategoryErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct UpdateMedicalVocabularyError { diff --git a/sdk/transcribe/src/error_meta.rs b/sdk/transcribe/src/error_meta.rs index e1d64b37d7af..42a1bcd63e9a 100644 --- a/sdk/transcribe/src/error_meta.rs +++ b/sdk/transcribe/src/error_meta.rs @@ -21,6 +21,32 @@ impl std::fmt::Display for Error { } } } +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::CreateCallAnalyticsCategoryErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::CreateCallAnalyticsCategoryErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::CreateCallAnalyticsCategoryErrorKind::InternalFailureException( + inner, + ) => Error::InternalFailureException(inner), + crate::error::CreateCallAnalyticsCategoryErrorKind::LimitExceededException( + inner, + ) => Error::LimitExceededException(inner), + crate::error::CreateCallAnalyticsCategoryErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -119,6 +145,53 @@ impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteCallAnalyticsCategoryErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteCallAnalyticsCategoryErrorKind::InternalFailureException( + inner, + ) => Error::InternalFailureException(inner), + crate::error::DeleteCallAnalyticsCategoryErrorKind::LimitExceededException( + inner, + ) => Error::LimitExceededException(inner), + crate::error::DeleteCallAnalyticsCategoryErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::DeleteCallAnalyticsCategoryErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::DeleteCallAnalyticsJobErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::DeleteCallAnalyticsJobErrorKind::InternalFailureException(inner) => { + Error::InternalFailureException(inner) + } + crate::error::DeleteCallAnalyticsJobErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::DeleteCallAnalyticsJobErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -284,6 +357,56 @@ impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::GetCallAnalyticsCategoryErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::GetCallAnalyticsCategoryErrorKind::InternalFailureException( + inner, + ) => Error::InternalFailureException(inner), + crate::error::GetCallAnalyticsCategoryErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::GetCallAnalyticsCategoryErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::GetCallAnalyticsCategoryErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::GetCallAnalyticsJobErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::GetCallAnalyticsJobErrorKind::InternalFailureException(inner) => { + Error::InternalFailureException(inner) + } + crate::error::GetCallAnalyticsJobErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::GetCallAnalyticsJobErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::GetCallAnalyticsJobErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from( err: smithy_http::result::SdkError, @@ -404,6 +527,50 @@ impl From> } } } +impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListCallAnalyticsCategoriesErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListCallAnalyticsCategoriesErrorKind::InternalFailureException( + inner, + ) => Error::InternalFailureException(inner), + crate::error::ListCallAnalyticsCategoriesErrorKind::LimitExceededException( + inner, + ) => Error::LimitExceededException(inner), + crate::error::ListCallAnalyticsCategoriesErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} +impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListCallAnalyticsJobsErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::ListCallAnalyticsJobsErrorKind::InternalFailureException(inner) => { + Error::InternalFailureException(inner) + } + crate::error::ListCallAnalyticsJobsErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::ListCallAnalyticsJobsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -536,6 +703,30 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::StartCallAnalyticsJobErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::StartCallAnalyticsJobErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::StartCallAnalyticsJobErrorKind::InternalFailureException(inner) => { + Error::InternalFailureException(inner) + } + crate::error::StartCallAnalyticsJobErrorKind::LimitExceededException(inner) => { + Error::LimitExceededException(inner) + } + crate::error::StartCallAnalyticsJobErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { @@ -588,6 +779,35 @@ impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::UpdateCallAnalyticsCategoryErrorKind::BadRequestException(inner) => { + Error::BadRequestException(inner) + } + crate::error::UpdateCallAnalyticsCategoryErrorKind::ConflictException(inner) => { + Error::ConflictException(inner) + } + crate::error::UpdateCallAnalyticsCategoryErrorKind::InternalFailureException( + inner, + ) => Error::InternalFailureException(inner), + crate::error::UpdateCallAnalyticsCategoryErrorKind::LimitExceededException( + inner, + ) => Error::LimitExceededException(inner), + crate::error::UpdateCallAnalyticsCategoryErrorKind::NotFoundException(inner) => { + Error::NotFoundException(inner) + } + crate::error::UpdateCallAnalyticsCategoryErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from( err: smithy_http::result::SdkError, diff --git a/sdk/transcribe/src/input.rs b/sdk/transcribe/src/input.rs index ccc463420fd5..ea834476a4b9 100644 --- a/sdk/transcribe/src/input.rs +++ b/sdk/transcribe/src/input.rs @@ -1,5 +1,164 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. use std::fmt::Write; +/// See [`CreateCallAnalyticsCategoryInput`](crate::input::CreateCallAnalyticsCategoryInput) +pub mod create_call_analytics_category_input { + /// A builder for [`CreateCallAnalyticsCategoryInput`](crate::input::CreateCallAnalyticsCategoryInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_name: std::option::Option, + pub(crate) rules: std::option::Option>, + } + impl Builder { + ///

                                                                                          The name that you choose for your category when you create it.

                                                                                          + pub fn category_name(mut self, input: impl Into) -> Self { + self.category_name = Some(input.into()); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.category_name = input; + self + } + pub fn rules(mut self, input: impl Into) -> Self { + let mut v = self.rules.unwrap_or_default(); + v.push(input.into()); + self.rules = Some(v); + self + } + pub fn set_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.rules = input; + self + } + /// Consumes the builder and constructs a [`CreateCallAnalyticsCategoryInput`](crate::input::CreateCallAnalyticsCategoryInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::CreateCallAnalyticsCategoryInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::CreateCallAnalyticsCategoryInput { + category_name: self.category_name, + rules: self.rules, + }) + } + } +} +#[doc(hidden)] +pub type CreateCallAnalyticsCategoryInputOperationOutputAlias = + crate::operation::CreateCallAnalyticsCategory; +#[doc(hidden)] +pub type CreateCallAnalyticsCategoryInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl CreateCallAnalyticsCategoryInput { + /// Consumes the builder and constructs an Operation<[`CreateCallAnalyticsCategory`](crate::operation::CreateCallAnalyticsCategory)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::CreateCallAnalyticsCategory, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_create_call_analytics_category(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::CreateCallAnalyticsCategory::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "CreateCallAnalyticsCategory", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.CreateCallAnalyticsCategory", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`CreateCallAnalyticsCategoryInput`](crate::input::CreateCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::create_call_analytics_category_input::Builder { + crate::input::create_call_analytics_category_input::Builder::default() + } +} + /// See [`CreateLanguageModelInput`](crate::input::CreateLanguageModelInput) pub mod create_language_model_input { /// A builder for [`CreateLanguageModelInput`](crate::input::CreateLanguageModelInput) @@ -200,8 +359,8 @@ pub mod create_medical_vocabulary_input { } impl Builder { ///

                                                                                          The name of the custom vocabulary. This case-sensitive name must be unique within an - /// AWS account. If you try to create a vocabulary with the same name as a previous - /// vocabulary, you get a ConflictException error.

                                                                                          + /// Amazon Web Services account. If you try to create a vocabulary with the same name as + /// a previous vocabulary, you get a ConflictException error.

                                                                                          pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.vocabulary_name = Some(input.into()); self @@ -229,7 +388,7 @@ pub mod create_medical_vocabulary_input { self } ///

                                                                                          The location in Amazon S3 of the text file you use to define your custom vocabulary. The - /// URI must be in the same AWS Region as the + /// URI must be in the same Amazon Web Services Region as the /// resource /// that you're calling. Enter information about your /// VocabularyFileUri in the following format:

                                                                                          @@ -242,8 +401,8 @@ pub mod create_medical_vocabulary_input { ///

                                                                                          /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                          - ///

                                                                                          For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          - ///

                                                                                          For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                          + ///

                                                                                          For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          + ///

                                                                                          For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                          pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.vocabulary_file_uri = Some(input.into()); self @@ -391,9 +550,10 @@ pub mod create_vocabulary_input { pub(crate) vocabulary_file_uri: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary. The name must be unique within an AWS account. The name is - /// case sensitive. If you try to create a vocabulary with the same name as a previous - /// vocabulary you will receive a ConflictException error.

                                                                                          + ///

                                                                                          The name of the vocabulary. The name must be unique within an Amazon Web Services + /// account. The name is case sensitive. If you try to create a vocabulary with the same + /// name as a previous vocabulary you will receive a ConflictException + /// error.

                                                                                          pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.vocabulary_name = Some(input.into()); self @@ -434,8 +594,8 @@ pub mod create_vocabulary_input { ///

                                                                                          The S3 location of the text file that contains the definition of the custom /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                          - ///

                                                                                          For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          - ///

                                                                                          For more information about custom vocabularies, see Custom + ///

                                                                                          For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                          + ///

                                                                                          For more information about custom vocabularies, see Custom /// Vocabularies.

                                                                                          pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.vocabulary_file_uri = Some(input.into()); @@ -767,60 +927,66 @@ impl CreateVocabularyFilterInput { } } -/// See [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) -pub mod delete_language_model_input { - /// A builder for [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) +/// See [`DeleteCallAnalyticsCategoryInput`](crate::input::DeleteCallAnalyticsCategoryInput) +pub mod delete_call_analytics_category_input { + /// A builder for [`DeleteCallAnalyticsCategoryInput`](crate::input::DeleteCallAnalyticsCategoryInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) model_name: std::option::Option, + pub(crate) category_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the model you're choosing to delete.

                                                                                          - pub fn model_name(mut self, input: impl Into) -> Self { - self.model_name = Some(input.into()); + ///

                                                                                          The name of the call analytics category that you're choosing to delete. The value is case + /// sensitive.

                                                                                          + pub fn category_name(mut self, input: impl Into) -> Self { + self.category_name = Some(input.into()); self } - pub fn set_model_name(mut self, input: std::option::Option) -> Self { - self.model_name = input; + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.category_name = input; self } - /// Consumes the builder and constructs a [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) + /// Consumes the builder and constructs a [`DeleteCallAnalyticsCategoryInput`](crate::input::DeleteCallAnalyticsCategoryInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteLanguageModelInput, + crate::input::DeleteCallAnalyticsCategoryInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteLanguageModelInput { - model_name: self.model_name, + Ok(crate::input::DeleteCallAnalyticsCategoryInput { + category_name: self.category_name, }) } } } #[doc(hidden)] -pub type DeleteLanguageModelInputOperationOutputAlias = crate::operation::DeleteLanguageModel; +pub type DeleteCallAnalyticsCategoryInputOperationOutputAlias = + crate::operation::DeleteCallAnalyticsCategory; #[doc(hidden)] -pub type DeleteLanguageModelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteLanguageModelInput { - /// Consumes the builder and constructs an Operation<[`DeleteLanguageModel`](crate::operation::DeleteLanguageModel)> +pub type DeleteCallAnalyticsCategoryInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteCallAnalyticsCategoryInput { + /// Consumes the builder and constructs an Operation<[`DeleteCallAnalyticsCategory`](crate::operation::DeleteCallAnalyticsCategory)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteLanguageModel, + crate::operation::DeleteCallAnalyticsCategory, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_language_model(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_delete_call_analytics_category(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -851,10 +1017,10 @@ impl DeleteLanguageModelInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteLanguageModel::new(), + crate::operation::DeleteCallAnalyticsCategory::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteLanguageModel", + "DeleteCallAnalyticsCategory", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -887,7 +1053,7 @@ impl DeleteLanguageModelInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteLanguageModel", + "Transcribe.DeleteCallAnalyticsCategory", ); Ok(builder) } @@ -900,75 +1066,69 @@ impl DeleteLanguageModelInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) - pub fn builder() -> crate::input::delete_language_model_input::Builder { - crate::input::delete_language_model_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsCategoryInput`](crate::input::DeleteCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::delete_call_analytics_category_input::Builder { + crate::input::delete_call_analytics_category_input::Builder::default() } } -/// See [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) -pub mod delete_medical_transcription_job_input { - /// A builder for [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) +/// See [`DeleteCallAnalyticsJobInput`](crate::input::DeleteCallAnalyticsJobInput) +pub mod delete_call_analytics_job_input { + /// A builder for [`DeleteCallAnalyticsJobInput`](crate::input::DeleteCallAnalyticsJobInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) medical_transcription_job_name: std::option::Option, + pub(crate) call_analytics_job_name: std::option::Option, } impl Builder { - ///

                                                                                          The name you provide to the DeleteMedicalTranscriptionJob object to - /// delete a transcription job.

                                                                                          - pub fn medical_transcription_job_name( - mut self, - input: impl Into, - ) -> Self { - self.medical_transcription_job_name = Some(input.into()); + ///

                                                                                          The name of the call analytics job you want to delete.

                                                                                          + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.call_analytics_job_name = Some(input.into()); self } - pub fn set_medical_transcription_job_name( + pub fn set_call_analytics_job_name( mut self, input: std::option::Option, ) -> Self { - self.medical_transcription_job_name = input; + self.call_analytics_job_name = input; self } - /// Consumes the builder and constructs a [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) + /// Consumes the builder and constructs a [`DeleteCallAnalyticsJobInput`](crate::input::DeleteCallAnalyticsJobInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteMedicalTranscriptionJobInput, + crate::input::DeleteCallAnalyticsJobInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteMedicalTranscriptionJobInput { - medical_transcription_job_name: self.medical_transcription_job_name, + Ok(crate::input::DeleteCallAnalyticsJobInput { + call_analytics_job_name: self.call_analytics_job_name, }) } } } #[doc(hidden)] -pub type DeleteMedicalTranscriptionJobInputOperationOutputAlias = - crate::operation::DeleteMedicalTranscriptionJob; +pub type DeleteCallAnalyticsJobInputOperationOutputAlias = crate::operation::DeleteCallAnalyticsJob; #[doc(hidden)] -pub type DeleteMedicalTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteMedicalTranscriptionJobInput { - /// Consumes the builder and constructs an Operation<[`DeleteMedicalTranscriptionJob`](crate::operation::DeleteMedicalTranscriptionJob)> +pub type DeleteCallAnalyticsJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteCallAnalyticsJobInput { + /// Consumes the builder and constructs an Operation<[`DeleteCallAnalyticsJob`](crate::operation::DeleteCallAnalyticsJob)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteMedicalTranscriptionJob, + crate::operation::DeleteCallAnalyticsJob, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_delete_medical_transcription_job(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_call_analytics_job(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -999,10 +1159,10 @@ impl DeleteMedicalTranscriptionJobInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteMedicalTranscriptionJob::new(), + crate::operation::DeleteCallAnalyticsJob::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteMedicalTranscriptionJob", + "DeleteCallAnalyticsJob", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1035,7 +1195,7 @@ impl DeleteMedicalTranscriptionJobInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteMedicalTranscriptionJob", + "Transcribe.DeleteCallAnalyticsJob", ); Ok(builder) } @@ -1048,70 +1208,66 @@ impl DeleteMedicalTranscriptionJobInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) - pub fn builder() -> crate::input::delete_medical_transcription_job_input::Builder { - crate::input::delete_medical_transcription_job_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsJobInput`](crate::input::DeleteCallAnalyticsJobInput) + pub fn builder() -> crate::input::delete_call_analytics_job_input::Builder { + crate::input::delete_call_analytics_job_input::Builder::default() } } -/// See [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) -pub mod delete_medical_vocabulary_input { - /// A builder for [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) +/// See [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) +pub mod delete_language_model_input { + /// A builder for [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) vocabulary_name: std::option::Option, + pub(crate) model_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary that you want to delete.

                                                                                          - pub fn vocabulary_name(mut self, input: impl Into) -> Self { - self.vocabulary_name = Some(input.into()); + ///

                                                                                          The name of the model you're choosing to delete.

                                                                                          + pub fn model_name(mut self, input: impl Into) -> Self { + self.model_name = Some(input.into()); self } - pub fn set_vocabulary_name( - mut self, - input: std::option::Option, - ) -> Self { - self.vocabulary_name = input; + pub fn set_model_name(mut self, input: std::option::Option) -> Self { + self.model_name = input; self } - /// Consumes the builder and constructs a [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) + /// Consumes the builder and constructs a [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteMedicalVocabularyInput, + crate::input::DeleteLanguageModelInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteMedicalVocabularyInput { - vocabulary_name: self.vocabulary_name, + Ok(crate::input::DeleteLanguageModelInput { + model_name: self.model_name, }) } } } #[doc(hidden)] -pub type DeleteMedicalVocabularyInputOperationOutputAlias = - crate::operation::DeleteMedicalVocabulary; +pub type DeleteLanguageModelInputOperationOutputAlias = crate::operation::DeleteLanguageModel; #[doc(hidden)] -pub type DeleteMedicalVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteMedicalVocabularyInput { - /// Consumes the builder and constructs an Operation<[`DeleteMedicalVocabulary`](crate::operation::DeleteMedicalVocabulary)> +pub type DeleteLanguageModelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteLanguageModelInput { + /// Consumes the builder and constructs an Operation<[`DeleteLanguageModel`](crate::operation::DeleteLanguageModel)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteMedicalVocabulary, + crate::operation::DeleteLanguageModel, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_medical_vocabulary(&self) + let body = crate::operation_ser::serialize_operation_delete_language_model(&self) .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -1142,10 +1298,10 @@ impl DeleteMedicalVocabularyInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteMedicalVocabulary::new(), + crate::operation::DeleteLanguageModel::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteMedicalVocabulary", + "DeleteLanguageModel", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1178,7 +1334,7 @@ impl DeleteMedicalVocabularyInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteMedicalVocabulary", + "Transcribe.DeleteLanguageModel", ); Ok(builder) } @@ -1191,67 +1347,73 @@ impl DeleteMedicalVocabularyInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) - pub fn builder() -> crate::input::delete_medical_vocabulary_input::Builder { - crate::input::delete_medical_vocabulary_input::Builder::default() - } -} + /// Creates a new builder-style object to manufacture [`DeleteLanguageModelInput`](crate::input::DeleteLanguageModelInput) + pub fn builder() -> crate::input::delete_language_model_input::Builder { + crate::input::delete_language_model_input::Builder::default() + } +} -/// See [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) -pub mod delete_transcription_job_input { - /// A builder for [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) +/// See [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) +pub mod delete_medical_transcription_job_input { + /// A builder for [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) transcription_job_name: std::option::Option, + pub(crate) medical_transcription_job_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the transcription job to be deleted.

                                                                                          - pub fn transcription_job_name(mut self, input: impl Into) -> Self { - self.transcription_job_name = Some(input.into()); + ///

                                                                                          The name you provide to the DeleteMedicalTranscriptionJob object to + /// delete a transcription job.

                                                                                          + pub fn medical_transcription_job_name( + mut self, + input: impl Into, + ) -> Self { + self.medical_transcription_job_name = Some(input.into()); self } - pub fn set_transcription_job_name( + pub fn set_medical_transcription_job_name( mut self, input: std::option::Option, ) -> Self { - self.transcription_job_name = input; + self.medical_transcription_job_name = input; self } - /// Consumes the builder and constructs a [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) + /// Consumes the builder and constructs a [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteTranscriptionJobInput, + crate::input::DeleteMedicalTranscriptionJobInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteTranscriptionJobInput { - transcription_job_name: self.transcription_job_name, + Ok(crate::input::DeleteMedicalTranscriptionJobInput { + medical_transcription_job_name: self.medical_transcription_job_name, }) } } } #[doc(hidden)] -pub type DeleteTranscriptionJobInputOperationOutputAlias = crate::operation::DeleteTranscriptionJob; +pub type DeleteMedicalTranscriptionJobInputOperationOutputAlias = + crate::operation::DeleteMedicalTranscriptionJob; #[doc(hidden)] -pub type DeleteTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteTranscriptionJobInput { - /// Consumes the builder and constructs an Operation<[`DeleteTranscriptionJob`](crate::operation::DeleteTranscriptionJob)> +pub type DeleteMedicalTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteMedicalTranscriptionJobInput { + /// Consumes the builder and constructs an Operation<[`DeleteMedicalTranscriptionJob`](crate::operation::DeleteMedicalTranscriptionJob)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteTranscriptionJob, + crate::operation::DeleteMedicalTranscriptionJob, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_transcription_job(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_delete_medical_transcription_job(&self) + .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; let request = Self::assemble(request, body); @@ -1284,10 +1446,10 @@ impl DeleteTranscriptionJobInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteTranscriptionJob::new(), + crate::operation::DeleteMedicalTranscriptionJob::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteTranscriptionJob", + "DeleteMedicalTranscriptionJob", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1320,7 +1482,7 @@ impl DeleteTranscriptionJobInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteTranscriptionJob", + "Transcribe.DeleteMedicalTranscriptionJob", ); Ok(builder) } @@ -1333,22 +1495,22 @@ impl DeleteTranscriptionJobInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) - pub fn builder() -> crate::input::delete_transcription_job_input::Builder { - crate::input::delete_transcription_job_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteMedicalTranscriptionJobInput`](crate::input::DeleteMedicalTranscriptionJobInput) + pub fn builder() -> crate::input::delete_medical_transcription_job_input::Builder { + crate::input::delete_medical_transcription_job_input::Builder::default() } } -/// See [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) -pub mod delete_vocabulary_input { - /// A builder for [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) +/// See [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) +pub mod delete_medical_vocabulary_input { + /// A builder for [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { pub(crate) vocabulary_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary to delete.

                                                                                          + ///

                                                                                          The name of the vocabulary that you want to delete.

                                                                                          pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.vocabulary_name = Some(input.into()); self @@ -1360,41 +1522,43 @@ pub mod delete_vocabulary_input { self.vocabulary_name = input; self } - /// Consumes the builder and constructs a [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) + /// Consumes the builder and constructs a [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteVocabularyInput, + crate::input::DeleteMedicalVocabularyInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteVocabularyInput { + Ok(crate::input::DeleteMedicalVocabularyInput { vocabulary_name: self.vocabulary_name, }) } } } #[doc(hidden)] -pub type DeleteVocabularyInputOperationOutputAlias = crate::operation::DeleteVocabulary; +pub type DeleteMedicalVocabularyInputOperationOutputAlias = + crate::operation::DeleteMedicalVocabulary; #[doc(hidden)] -pub type DeleteVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteVocabularyInput { - /// Consumes the builder and constructs an Operation<[`DeleteVocabulary`](crate::operation::DeleteVocabulary)> +pub type DeleteMedicalVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteMedicalVocabularyInput { + /// Consumes the builder and constructs an Operation<[`DeleteMedicalVocabulary`](crate::operation::DeleteMedicalVocabulary)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteVocabulary, + crate::operation::DeleteMedicalVocabulary, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_vocabulary(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_delete_medical_vocabulary(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -1425,10 +1589,10 @@ impl DeleteVocabularyInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteVocabulary::new(), + crate::operation::DeleteMedicalVocabulary::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteVocabulary", + "DeleteMedicalVocabulary", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1461,7 +1625,7 @@ impl DeleteVocabularyInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteVocabulary", + "Transcribe.DeleteMedicalVocabulary", ); Ok(builder) } @@ -1474,66 +1638,66 @@ impl DeleteVocabularyInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) - pub fn builder() -> crate::input::delete_vocabulary_input::Builder { - crate::input::delete_vocabulary_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteMedicalVocabularyInput`](crate::input::DeleteMedicalVocabularyInput) + pub fn builder() -> crate::input::delete_medical_vocabulary_input::Builder { + crate::input::delete_medical_vocabulary_input::Builder::default() } } -/// See [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) -pub mod delete_vocabulary_filter_input { - /// A builder for [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) +/// See [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) +pub mod delete_transcription_job_input { + /// A builder for [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) vocabulary_filter_name: std::option::Option, + pub(crate) transcription_job_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary filter to remove.

                                                                                          - pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { - self.vocabulary_filter_name = Some(input.into()); + ///

                                                                                          The name of the transcription job to be deleted.

                                                                                          + pub fn transcription_job_name(mut self, input: impl Into) -> Self { + self.transcription_job_name = Some(input.into()); self } - pub fn set_vocabulary_filter_name( + pub fn set_transcription_job_name( mut self, input: std::option::Option, ) -> Self { - self.vocabulary_filter_name = input; + self.transcription_job_name = input; self } - /// Consumes the builder and constructs a [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) + /// Consumes the builder and constructs a [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) pub fn build( self, ) -> std::result::Result< - crate::input::DeleteVocabularyFilterInput, + crate::input::DeleteTranscriptionJobInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DeleteVocabularyFilterInput { - vocabulary_filter_name: self.vocabulary_filter_name, + Ok(crate::input::DeleteTranscriptionJobInput { + transcription_job_name: self.transcription_job_name, }) } } } #[doc(hidden)] -pub type DeleteVocabularyFilterInputOperationOutputAlias = crate::operation::DeleteVocabularyFilter; +pub type DeleteTranscriptionJobInputOperationOutputAlias = crate::operation::DeleteTranscriptionJob; #[doc(hidden)] -pub type DeleteVocabularyFilterInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DeleteVocabularyFilterInput { - /// Consumes the builder and constructs an Operation<[`DeleteVocabularyFilter`](crate::operation::DeleteVocabularyFilter)> +pub type DeleteTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteTranscriptionJobInput { + /// Consumes the builder and constructs an Operation<[`DeleteTranscriptionJob`](crate::operation::DeleteTranscriptionJob)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DeleteVocabularyFilter, + crate::operation::DeleteTranscriptionJob, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_delete_vocabulary_filter(&self) + let body = crate::operation_ser::serialize_operation_delete_transcription_job(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -1567,10 +1731,10 @@ impl DeleteVocabularyFilterInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DeleteVocabularyFilter::new(), + crate::operation::DeleteTranscriptionJob::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DeleteVocabularyFilter", + "DeleteTranscriptionJob", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1603,7 +1767,7 @@ impl DeleteVocabularyFilterInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DeleteVocabularyFilter", + "Transcribe.DeleteTranscriptionJob", ); Ok(builder) } @@ -1616,66 +1780,68 @@ impl DeleteVocabularyFilterInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) - pub fn builder() -> crate::input::delete_vocabulary_filter_input::Builder { - crate::input::delete_vocabulary_filter_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteTranscriptionJobInput`](crate::input::DeleteTranscriptionJobInput) + pub fn builder() -> crate::input::delete_transcription_job_input::Builder { + crate::input::delete_transcription_job_input::Builder::default() } } -/// See [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) -pub mod describe_language_model_input { - /// A builder for [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) +/// See [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) +pub mod delete_vocabulary_input { + /// A builder for [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) model_name: std::option::Option, + pub(crate) vocabulary_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the custom language model you submit to get more information.

                                                                                          - pub fn model_name(mut self, input: impl Into) -> Self { - self.model_name = Some(input.into()); + ///

                                                                                          The name of the vocabulary to delete.

                                                                                          + pub fn vocabulary_name(mut self, input: impl Into) -> Self { + self.vocabulary_name = Some(input.into()); self } - pub fn set_model_name(mut self, input: std::option::Option) -> Self { - self.model_name = input; + pub fn set_vocabulary_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_name = input; self } - /// Consumes the builder and constructs a [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) + /// Consumes the builder and constructs a [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) pub fn build( self, ) -> std::result::Result< - crate::input::DescribeLanguageModelInput, + crate::input::DeleteVocabularyInput, smithy_http::operation::BuildError, > { - Ok(crate::input::DescribeLanguageModelInput { - model_name: self.model_name, + Ok(crate::input::DeleteVocabularyInput { + vocabulary_name: self.vocabulary_name, }) } } } #[doc(hidden)] -pub type DescribeLanguageModelInputOperationOutputAlias = crate::operation::DescribeLanguageModel; +pub type DeleteVocabularyInputOperationOutputAlias = crate::operation::DeleteVocabulary; #[doc(hidden)] -pub type DescribeLanguageModelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl DescribeLanguageModelInput { - /// Consumes the builder and constructs an Operation<[`DescribeLanguageModel`](crate::operation::DescribeLanguageModel)> +pub type DeleteVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteVocabularyInput { + /// Consumes the builder and constructs an Operation<[`DeleteVocabulary`](crate::operation::DeleteVocabulary)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::DescribeLanguageModel, + crate::operation::DeleteVocabulary, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_describe_language_model(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = crate::operation_ser::serialize_operation_delete_vocabulary(&self).map_err( + |err| smithy_http::operation::BuildError::SerializationError(err.into()), + )?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -1706,10 +1872,10 @@ impl DescribeLanguageModelInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::DescribeLanguageModel::new(), + crate::operation::DeleteVocabulary::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "DescribeLanguageModel", + "DeleteVocabulary", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1742,7 +1908,7 @@ impl DescribeLanguageModelInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.DescribeLanguageModel", + "Transcribe.DeleteVocabulary", ); Ok(builder) } @@ -1755,70 +1921,637 @@ impl DescribeLanguageModelInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) - pub fn builder() -> crate::input::describe_language_model_input::Builder { - crate::input::describe_language_model_input::Builder::default() + /// Creates a new builder-style object to manufacture [`DeleteVocabularyInput`](crate::input::DeleteVocabularyInput) + pub fn builder() -> crate::input::delete_vocabulary_input::Builder { + crate::input::delete_vocabulary_input::Builder::default() } } -/// See [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) -pub mod get_medical_transcription_job_input { - /// A builder for [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) +/// See [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) +pub mod delete_vocabulary_filter_input { + /// A builder for [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) medical_transcription_job_name: std::option::Option, + pub(crate) vocabulary_filter_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the medical transcription job.

                                                                                          - pub fn medical_transcription_job_name( - mut self, - input: impl Into, - ) -> Self { - self.medical_transcription_job_name = Some(input.into()); + ///

                                                                                          The name of the vocabulary filter to remove.

                                                                                          + pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { + self.vocabulary_filter_name = Some(input.into()); self } - pub fn set_medical_transcription_job_name( + pub fn set_vocabulary_filter_name( mut self, input: std::option::Option, ) -> Self { - self.medical_transcription_job_name = input; + self.vocabulary_filter_name = input; self } - /// Consumes the builder and constructs a [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) + /// Consumes the builder and constructs a [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) pub fn build( self, ) -> std::result::Result< - crate::input::GetMedicalTranscriptionJobInput, + crate::input::DeleteVocabularyFilterInput, smithy_http::operation::BuildError, > { - Ok(crate::input::GetMedicalTranscriptionJobInput { - medical_transcription_job_name: self.medical_transcription_job_name, + Ok(crate::input::DeleteVocabularyFilterInput { + vocabulary_filter_name: self.vocabulary_filter_name, }) } } } #[doc(hidden)] -pub type GetMedicalTranscriptionJobInputOperationOutputAlias = - crate::operation::GetMedicalTranscriptionJob; +pub type DeleteVocabularyFilterInputOperationOutputAlias = crate::operation::DeleteVocabularyFilter; #[doc(hidden)] -pub type GetMedicalTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl GetMedicalTranscriptionJobInput { - /// Consumes the builder and constructs an Operation<[`GetMedicalTranscriptionJob`](crate::operation::GetMedicalTranscriptionJob)> +pub type DeleteVocabularyFilterInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DeleteVocabularyFilterInput { + /// Consumes the builder and constructs an Operation<[`DeleteVocabularyFilter`](crate::operation::DeleteVocabularyFilter)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::GetMedicalTranscriptionJob, + crate::operation::DeleteVocabularyFilter, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = + let body = crate::operation_ser::serialize_operation_delete_vocabulary_filter(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DeleteVocabularyFilter::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DeleteVocabularyFilter", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.DeleteVocabularyFilter", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DeleteVocabularyFilterInput`](crate::input::DeleteVocabularyFilterInput) + pub fn builder() -> crate::input::delete_vocabulary_filter_input::Builder { + crate::input::delete_vocabulary_filter_input::Builder::default() + } +} + +/// See [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) +pub mod describe_language_model_input { + /// A builder for [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) model_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the custom language model you submit to get more information.

                                                                                          + pub fn model_name(mut self, input: impl Into) -> Self { + self.model_name = Some(input.into()); + self + } + pub fn set_model_name(mut self, input: std::option::Option) -> Self { + self.model_name = input; + self + } + /// Consumes the builder and constructs a [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::DescribeLanguageModelInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::DescribeLanguageModelInput { + model_name: self.model_name, + }) + } + } +} +#[doc(hidden)] +pub type DescribeLanguageModelInputOperationOutputAlias = crate::operation::DescribeLanguageModel; +#[doc(hidden)] +pub type DescribeLanguageModelInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl DescribeLanguageModelInput { + /// Consumes the builder and constructs an Operation<[`DescribeLanguageModel`](crate::operation::DescribeLanguageModel)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::DescribeLanguageModel, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_describe_language_model(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::DescribeLanguageModel::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "DescribeLanguageModel", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.DescribeLanguageModel", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`DescribeLanguageModelInput`](crate::input::DescribeLanguageModelInput) + pub fn builder() -> crate::input::describe_language_model_input::Builder { + crate::input::describe_language_model_input::Builder::default() + } +} + +/// See [`GetCallAnalyticsCategoryInput`](crate::input::GetCallAnalyticsCategoryInput) +pub mod get_call_analytics_category_input { + /// A builder for [`GetCallAnalyticsCategoryInput`](crate::input::GetCallAnalyticsCategoryInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the category you want information about. This value is case sensitive.

                                                                                          + pub fn category_name(mut self, input: impl Into) -> Self { + self.category_name = Some(input.into()); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.category_name = input; + self + } + /// Consumes the builder and constructs a [`GetCallAnalyticsCategoryInput`](crate::input::GetCallAnalyticsCategoryInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetCallAnalyticsCategoryInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetCallAnalyticsCategoryInput { + category_name: self.category_name, + }) + } + } +} +#[doc(hidden)] +pub type GetCallAnalyticsCategoryInputOperationOutputAlias = + crate::operation::GetCallAnalyticsCategory; +#[doc(hidden)] +pub type GetCallAnalyticsCategoryInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetCallAnalyticsCategoryInput { + /// Consumes the builder and constructs an Operation<[`GetCallAnalyticsCategory`](crate::operation::GetCallAnalyticsCategory)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetCallAnalyticsCategory, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_call_analytics_category(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetCallAnalyticsCategory::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetCallAnalyticsCategory", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.GetCallAnalyticsCategory", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsCategoryInput`](crate::input::GetCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::get_call_analytics_category_input::Builder { + crate::input::get_call_analytics_category_input::Builder::default() + } +} + +/// See [`GetCallAnalyticsJobInput`](crate::input::GetCallAnalyticsJobInput) +pub mod get_call_analytics_job_input { + /// A builder for [`GetCallAnalyticsJobInput`](crate::input::GetCallAnalyticsJobInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) call_analytics_job_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the analytics job you want information about. This value is case + /// sensitive.

                                                                                          + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.call_analytics_job_name = Some(input.into()); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job_name = input; + self + } + /// Consumes the builder and constructs a [`GetCallAnalyticsJobInput`](crate::input::GetCallAnalyticsJobInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetCallAnalyticsJobInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetCallAnalyticsJobInput { + call_analytics_job_name: self.call_analytics_job_name, + }) + } + } +} +#[doc(hidden)] +pub type GetCallAnalyticsJobInputOperationOutputAlias = crate::operation::GetCallAnalyticsJob; +#[doc(hidden)] +pub type GetCallAnalyticsJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetCallAnalyticsJobInput { + /// Consumes the builder and constructs an Operation<[`GetCallAnalyticsJob`](crate::operation::GetCallAnalyticsJob)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetCallAnalyticsJob, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_call_analytics_job(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetCallAnalyticsJob::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetCallAnalyticsJob", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.GetCallAnalyticsJob", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsJobInput`](crate::input::GetCallAnalyticsJobInput) + pub fn builder() -> crate::input::get_call_analytics_job_input::Builder { + crate::input::get_call_analytics_job_input::Builder::default() + } +} + +/// See [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) +pub mod get_medical_transcription_job_input { + /// A builder for [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) medical_transcription_job_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the medical transcription job.

                                                                                          + pub fn medical_transcription_job_name( + mut self, + input: impl Into, + ) -> Self { + self.medical_transcription_job_name = Some(input.into()); + self + } + pub fn set_medical_transcription_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.medical_transcription_job_name = input; + self + } + /// Consumes the builder and constructs a [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetMedicalTranscriptionJobInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetMedicalTranscriptionJobInput { + medical_transcription_job_name: self.medical_transcription_job_name, + }) + } + } +} +#[doc(hidden)] +pub type GetMedicalTranscriptionJobInputOperationOutputAlias = + crate::operation::GetMedicalTranscriptionJob; +#[doc(hidden)] +pub type GetMedicalTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetMedicalTranscriptionJobInput { + /// Consumes the builder and constructs an Operation<[`GetMedicalTranscriptionJob`](crate::operation::GetMedicalTranscriptionJob)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetMedicalTranscriptionJob, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_medical_transcription_job(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) @@ -1853,10 +2586,295 @@ impl GetMedicalTranscriptionJobInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::GetMedicalTranscriptionJob::new(), + crate::operation::GetMedicalTranscriptionJob::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetMedicalTranscriptionJob", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.GetMedicalTranscriptionJob", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) + pub fn builder() -> crate::input::get_medical_transcription_job_input::Builder { + crate::input::get_medical_transcription_job_input::Builder::default() + } +} + +/// See [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) +pub mod get_medical_vocabulary_input { + /// A builder for [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) vocabulary_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the vocabulary that you want information about. The value is case + /// sensitive.

                                                                                          + pub fn vocabulary_name(mut self, input: impl Into) -> Self { + self.vocabulary_name = Some(input.into()); + self + } + pub fn set_vocabulary_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_name = input; + self + } + /// Consumes the builder and constructs a [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetMedicalVocabularyInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetMedicalVocabularyInput { + vocabulary_name: self.vocabulary_name, + }) + } + } +} +#[doc(hidden)] +pub type GetMedicalVocabularyInputOperationOutputAlias = crate::operation::GetMedicalVocabulary; +#[doc(hidden)] +pub type GetMedicalVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetMedicalVocabularyInput { + /// Consumes the builder and constructs an Operation<[`GetMedicalVocabulary`](crate::operation::GetMedicalVocabulary)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetMedicalVocabulary, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_medical_vocabulary(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetMedicalVocabulary::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetMedicalVocabulary", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.GetMedicalVocabulary", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) + pub fn builder() -> crate::input::get_medical_vocabulary_input::Builder { + crate::input::get_medical_vocabulary_input::Builder::default() + } +} + +/// See [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) +pub mod get_transcription_job_input { + /// A builder for [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) transcription_job_name: std::option::Option, + } + impl Builder { + ///

                                                                                          The name of the job.

                                                                                          + pub fn transcription_job_name(mut self, input: impl Into) -> Self { + self.transcription_job_name = Some(input.into()); + self + } + pub fn set_transcription_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.transcription_job_name = input; + self + } + /// Consumes the builder and constructs a [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetTranscriptionJobInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetTranscriptionJobInput { + transcription_job_name: self.transcription_job_name, + }) + } + } +} +#[doc(hidden)] +pub type GetTranscriptionJobInputOperationOutputAlias = crate::operation::GetTranscriptionJob; +#[doc(hidden)] +pub type GetTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetTranscriptionJobInput { + /// Consumes the builder and constructs an Operation<[`GetTranscriptionJob`](crate::operation::GetTranscriptionJob)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetTranscriptionJob, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_transcription_job(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetTranscriptionJob::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "GetMedicalTranscriptionJob", + "GetTranscriptionJob", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -1889,7 +2907,7 @@ impl GetMedicalTranscriptionJobInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.GetMedicalTranscriptionJob", + "Transcribe.GetTranscriptionJob", ); Ok(builder) } @@ -1902,23 +2920,23 @@ impl GetMedicalTranscriptionJobInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`GetMedicalTranscriptionJobInput`](crate::input::GetMedicalTranscriptionJobInput) - pub fn builder() -> crate::input::get_medical_transcription_job_input::Builder { - crate::input::get_medical_transcription_job_input::Builder::default() + /// Creates a new builder-style object to manufacture [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) + pub fn builder() -> crate::input::get_transcription_job_input::Builder { + crate::input::get_transcription_job_input::Builder::default() } } -/// See [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) -pub mod get_medical_vocabulary_input { - /// A builder for [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) +/// See [`GetVocabularyInput`](crate::input::GetVocabularyInput) +pub mod get_vocabulary_input { + /// A builder for [`GetVocabularyInput`](crate::input::GetVocabularyInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { pub(crate) vocabulary_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary that you want information about. The value is case - /// sensitive.

                                                                                          + ///

                                                                                          The name of the vocabulary to return information about. The name is case + /// sensitive.

                                                                                          pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.vocabulary_name = Some(input.into()); self @@ -1930,40 +2948,38 @@ pub mod get_medical_vocabulary_input { self.vocabulary_name = input; self } - /// Consumes the builder and constructs a [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) + /// Consumes the builder and constructs a [`GetVocabularyInput`](crate::input::GetVocabularyInput) pub fn build( self, - ) -> std::result::Result< - crate::input::GetMedicalVocabularyInput, - smithy_http::operation::BuildError, - > { - Ok(crate::input::GetMedicalVocabularyInput { + ) -> std::result::Result + { + Ok(crate::input::GetVocabularyInput { vocabulary_name: self.vocabulary_name, }) } } } #[doc(hidden)] -pub type GetMedicalVocabularyInputOperationOutputAlias = crate::operation::GetMedicalVocabulary; +pub type GetVocabularyInputOperationOutputAlias = crate::operation::GetVocabulary; #[doc(hidden)] -pub type GetMedicalVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl GetMedicalVocabularyInput { - /// Consumes the builder and constructs an Operation<[`GetMedicalVocabulary`](crate::operation::GetMedicalVocabulary)> +pub type GetVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetVocabularyInput { + /// Consumes the builder and constructs an Operation<[`GetVocabulary`](crate::operation::GetVocabulary)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::GetMedicalVocabulary, + crate::operation::GetVocabulary, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_medical_vocabulary(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_get_vocabulary(&self).map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; let request = Self::assemble(request, body); @@ -1996,10 +3012,10 @@ impl GetMedicalVocabularyInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::GetMedicalVocabulary::new(), + crate::operation::GetVocabulary::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "GetMedicalVocabulary", + "GetVocabulary", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -2032,7 +3048,7 @@ impl GetMedicalVocabularyInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.GetMedicalVocabulary", + "Transcribe.GetVocabulary", ); Ok(builder) } @@ -2045,66 +3061,66 @@ impl GetMedicalVocabularyInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`GetMedicalVocabularyInput`](crate::input::GetMedicalVocabularyInput) - pub fn builder() -> crate::input::get_medical_vocabulary_input::Builder { - crate::input::get_medical_vocabulary_input::Builder::default() + /// Creates a new builder-style object to manufacture [`GetVocabularyInput`](crate::input::GetVocabularyInput) + pub fn builder() -> crate::input::get_vocabulary_input::Builder { + crate::input::get_vocabulary_input::Builder::default() } } -/// See [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) -pub mod get_transcription_job_input { - /// A builder for [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) +/// See [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) +pub mod get_vocabulary_filter_input { + /// A builder for [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) transcription_job_name: std::option::Option, + pub(crate) vocabulary_filter_name: std::option::Option, } impl Builder { - ///

                                                                                          The name of the job.

                                                                                          - pub fn transcription_job_name(mut self, input: impl Into) -> Self { - self.transcription_job_name = Some(input.into()); + ///

                                                                                          The name of the vocabulary filter for which to return information.

                                                                                          + pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { + self.vocabulary_filter_name = Some(input.into()); self } - pub fn set_transcription_job_name( + pub fn set_vocabulary_filter_name( mut self, input: std::option::Option, ) -> Self { - self.transcription_job_name = input; + self.vocabulary_filter_name = input; self } - /// Consumes the builder and constructs a [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) + /// Consumes the builder and constructs a [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) pub fn build( self, ) -> std::result::Result< - crate::input::GetTranscriptionJobInput, + crate::input::GetVocabularyFilterInput, smithy_http::operation::BuildError, > { - Ok(crate::input::GetTranscriptionJobInput { - transcription_job_name: self.transcription_job_name, + Ok(crate::input::GetVocabularyFilterInput { + vocabulary_filter_name: self.vocabulary_filter_name, }) } } } #[doc(hidden)] -pub type GetTranscriptionJobInputOperationOutputAlias = crate::operation::GetTranscriptionJob; +pub type GetVocabularyFilterInputOperationOutputAlias = crate::operation::GetVocabularyFilter; #[doc(hidden)] -pub type GetTranscriptionJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl GetTranscriptionJobInput { - /// Consumes the builder and constructs an Operation<[`GetTranscriptionJob`](crate::operation::GetTranscriptionJob)> +pub type GetVocabularyFilterInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetVocabularyFilterInput { + /// Consumes the builder and constructs an Operation<[`GetVocabularyFilter`](crate::operation::GetVocabularyFilter)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::GetTranscriptionJob, + crate::operation::GetVocabularyFilter, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_transcription_job(&self) + let body = crate::operation_ser::serialize_operation_get_vocabulary_filter(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -2138,10 +3154,10 @@ impl GetTranscriptionJobInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::GetTranscriptionJob::new(), + crate::operation::GetVocabularyFilter::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "GetTranscriptionJob", + "GetVocabularyFilter", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -2174,7 +3190,7 @@ impl GetTranscriptionJobInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.GetTranscriptionJob", + "Transcribe.GetVocabularyFilter", ); Ok(builder) } @@ -2187,58 +3203,70 @@ impl GetTranscriptionJobInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`GetTranscriptionJobInput`](crate::input::GetTranscriptionJobInput) - pub fn builder() -> crate::input::get_transcription_job_input::Builder { - crate::input::get_transcription_job_input::Builder::default() + /// Creates a new builder-style object to manufacture [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) + pub fn builder() -> crate::input::get_vocabulary_filter_input::Builder { + crate::input::get_vocabulary_filter_input::Builder::default() } } -/// See [`GetVocabularyInput`](crate::input::GetVocabularyInput) -pub mod get_vocabulary_input { - /// A builder for [`GetVocabularyInput`](crate::input::GetVocabularyInput) +/// See [`ListCallAnalyticsCategoriesInput`](crate::input::ListCallAnalyticsCategoriesInput) +pub mod list_call_analytics_categories_input { + /// A builder for [`ListCallAnalyticsCategoriesInput`](crate::input::ListCallAnalyticsCategoriesInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) vocabulary_name: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary to return information about. The name is case - /// sensitive.

                                                                                          - pub fn vocabulary_name(mut self, input: impl Into) -> Self { - self.vocabulary_name = Some(input.into()); + ///

                                                                                          When included, NextTokenfetches the next set of categories if the result + /// of the previous request was truncated.

                                                                                          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); self } - pub fn set_vocabulary_name( - mut self, - input: std::option::Option, - ) -> Self { - self.vocabulary_name = input; + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; self } - /// Consumes the builder and constructs a [`GetVocabularyInput`](crate::input::GetVocabularyInput) + ///

                                                                                          The maximum number of categories to return in the response. If there are fewer results in + /// the list, the response contains only the actual results.

                                                                                          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + /// Consumes the builder and constructs a [`ListCallAnalyticsCategoriesInput`](crate::input::ListCallAnalyticsCategoriesInput) pub fn build( self, - ) -> std::result::Result - { - Ok(crate::input::GetVocabularyInput { - vocabulary_name: self.vocabulary_name, + ) -> std::result::Result< + crate::input::ListCallAnalyticsCategoriesInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListCallAnalyticsCategoriesInput { + next_token: self.next_token, + max_results: self.max_results, }) } } } #[doc(hidden)] -pub type GetVocabularyInputOperationOutputAlias = crate::operation::GetVocabulary; +pub type ListCallAnalyticsCategoriesInputOperationOutputAlias = + crate::operation::ListCallAnalyticsCategories; #[doc(hidden)] -pub type GetVocabularyInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl GetVocabularyInput { - /// Consumes the builder and constructs an Operation<[`GetVocabulary`](crate::operation::GetVocabulary)> +pub type ListCallAnalyticsCategoriesInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListCallAnalyticsCategoriesInput { + /// Consumes the builder and constructs an Operation<[`ListCallAnalyticsCategories`](crate::operation::ListCallAnalyticsCategories)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::GetVocabulary, + crate::operation::ListCallAnalyticsCategories, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -2246,9 +3274,10 @@ impl GetVocabularyInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_get_vocabulary(&self).map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_list_call_analytics_categories(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -2279,10 +3308,10 @@ impl GetVocabularyInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::GetVocabulary::new(), + crate::operation::ListCallAnalyticsCategories::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "GetVocabulary", + "ListCallAnalyticsCategories", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -2293,6 +3322,18 @@ impl GetVocabularyInput { write!(output, "/").expect("formatting should succeed"); Ok(()) } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_1) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_1)); + } + if let Some(inner_2) = &self.max_results { + query.push_kv( + "MaxResults", + &smithy_types::primitive::Encoder::from(*inner_2).encode(), + ); + } + } #[allow(clippy::unnecessary_wraps)] fn update_http_builder( &self, @@ -2300,6 +3341,7 @@ impl GetVocabularyInput { ) -> std::result::Result { let mut uri = String::new(); self.uri_base(&mut uri)?; + self.uri_query(&mut uri); Ok(builder.method("POST").uri(uri)) } #[allow(clippy::unnecessary_wraps)] @@ -2315,7 +3357,7 @@ impl GetVocabularyInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.GetVocabulary", + "Transcribe.ListCallAnalyticsCategories", ); Ok(builder) } @@ -2328,66 +3370,108 @@ impl GetVocabularyInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`GetVocabularyInput`](crate::input::GetVocabularyInput) - pub fn builder() -> crate::input::get_vocabulary_input::Builder { - crate::input::get_vocabulary_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsCategoriesInput`](crate::input::ListCallAnalyticsCategoriesInput) + pub fn builder() -> crate::input::list_call_analytics_categories_input::Builder { + crate::input::list_call_analytics_categories_input::Builder::default() } } -/// See [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) -pub mod get_vocabulary_filter_input { - /// A builder for [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) +/// See [`ListCallAnalyticsJobsInput`](crate::input::ListCallAnalyticsJobsInput) +pub mod list_call_analytics_jobs_input { + /// A builder for [`ListCallAnalyticsJobsInput`](crate::input::ListCallAnalyticsJobsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) vocabulary_filter_name: std::option::Option, + pub(crate) status: std::option::Option, + pub(crate) job_name_contains: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) max_results: std::option::Option, } impl Builder { - ///

                                                                                          The name of the vocabulary filter for which to return information.

                                                                                          - pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { - self.vocabulary_filter_name = Some(input.into()); + ///

                                                                                          When specified, returns only call analytics jobs with the specified status. Jobs are ordered + /// by creation date, with the most recent jobs returned first. If you don't specify a status, Amazon Transcribe + /// returns all analytics jobs ordered by creation date.

                                                                                          + pub fn status(mut self, input: crate::model::CallAnalyticsJobStatus) -> Self { + self.status = Some(input); self } - pub fn set_vocabulary_filter_name( + pub fn set_status( + mut self, + input: std::option::Option, + ) -> Self { + self.status = input; + self + } + ///

                                                                                          When specified, the jobs returned in the list are limited to jobs whose name contains the + /// specified string.

                                                                                          + pub fn job_name_contains(mut self, input: impl Into) -> Self { + self.job_name_contains = Some(input.into()); + self + } + pub fn set_job_name_contains( mut self, input: std::option::Option, ) -> Self { - self.vocabulary_filter_name = input; + self.job_name_contains = input; self } - /// Consumes the builder and constructs a [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) + ///

                                                                                          If you receive a truncated result in the previous request of + /// , + /// include NextToken to fetch the next set of jobs.

                                                                                          + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + ///

                                                                                          The maximum number of call analytics jobs to return in the response. If there are fewer + /// results in the list, this response contains only the actual results.

                                                                                          + pub fn max_results(mut self, input: i32) -> Self { + self.max_results = Some(input); + self + } + pub fn set_max_results(mut self, input: std::option::Option) -> Self { + self.max_results = input; + self + } + /// Consumes the builder and constructs a [`ListCallAnalyticsJobsInput`](crate::input::ListCallAnalyticsJobsInput) pub fn build( self, ) -> std::result::Result< - crate::input::GetVocabularyFilterInput, + crate::input::ListCallAnalyticsJobsInput, smithy_http::operation::BuildError, > { - Ok(crate::input::GetVocabularyFilterInput { - vocabulary_filter_name: self.vocabulary_filter_name, + Ok(crate::input::ListCallAnalyticsJobsInput { + status: self.status, + job_name_contains: self.job_name_contains, + next_token: self.next_token, + max_results: self.max_results, }) } } } #[doc(hidden)] -pub type GetVocabularyFilterInputOperationOutputAlias = crate::operation::GetVocabularyFilter; +pub type ListCallAnalyticsJobsInputOperationOutputAlias = crate::operation::ListCallAnalyticsJobs; #[doc(hidden)] -pub type GetVocabularyFilterInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl GetVocabularyFilterInput { - /// Consumes the builder and constructs an Operation<[`GetVocabularyFilter`](crate::operation::GetVocabularyFilter)> +pub type ListCallAnalyticsJobsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListCallAnalyticsJobsInput { + /// Consumes the builder and constructs an Operation<[`ListCallAnalyticsJobs`](crate::operation::ListCallAnalyticsJobs)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::GetVocabularyFilter, + crate::operation::ListCallAnalyticsJobs, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_get_vocabulary_filter(&self) + let body = crate::operation_ser::serialize_operation_list_call_analytics_jobs(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -2421,10 +3505,10 @@ impl GetVocabularyFilterInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::GetVocabularyFilter::new(), + crate::operation::ListCallAnalyticsJobs::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "GetVocabularyFilter", + "ListCallAnalyticsJobs", "transcribe", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -2435,6 +3519,24 @@ impl GetVocabularyFilterInput { write!(output, "/").expect("formatting should succeed"); Ok(()) } + fn uri_query(&self, mut output: &mut String) { + let mut query = smithy_http::query::Writer::new(&mut output); + if let Some(inner_3) = &self.status { + query.push_kv("Status", &smithy_http::query::fmt_string(&inner_3)); + } + if let Some(inner_4) = &self.job_name_contains { + query.push_kv("JobNameContains", &smithy_http::query::fmt_string(&inner_4)); + } + if let Some(inner_5) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_5)); + } + if let Some(inner_6) = &self.max_results { + query.push_kv( + "MaxResults", + &smithy_types::primitive::Encoder::from(*inner_6).encode(), + ); + } + } #[allow(clippy::unnecessary_wraps)] fn update_http_builder( &self, @@ -2442,6 +3544,7 @@ impl GetVocabularyFilterInput { ) -> std::result::Result { let mut uri = String::new(); self.uri_base(&mut uri)?; + self.uri_query(&mut uri); Ok(builder.method("POST").uri(uri)) } #[allow(clippy::unnecessary_wraps)] @@ -2457,7 +3560,7 @@ impl GetVocabularyFilterInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.GetVocabularyFilter", + "Transcribe.ListCallAnalyticsJobs", ); Ok(builder) } @@ -2470,9 +3573,9 @@ impl GetVocabularyFilterInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`GetVocabularyFilterInput`](crate::input::GetVocabularyFilterInput) - pub fn builder() -> crate::input::get_vocabulary_filter_input::Builder { - crate::input::get_vocabulary_filter_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsJobsInput`](crate::input::ListCallAnalyticsJobsInput) + pub fn builder() -> crate::input::list_call_analytics_jobs_input::Builder { + crate::input::list_call_analytics_jobs_input::Builder::default() } } @@ -2620,22 +3723,22 @@ impl ListLanguageModelsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_1) = &self.status_equals { + if let Some(inner_7) = &self.status_equals { query.push_kv( " StatusEquals", - &smithy_http::query::fmt_string(&inner_1), + &smithy_http::query::fmt_string(&inner_7), ); } - if let Some(inner_2) = &self.name_contains { - query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_2)); + if let Some(inner_8) = &self.name_contains { + query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_8)); } - if let Some(inner_3) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_3)); + if let Some(inner_9) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_9)); } - if let Some(inner_4) = &self.max_results { + if let Some(inner_10) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_4).encode(), + &smithy_types::primitive::Encoder::from(*inner_10).encode(), ); } } @@ -2828,19 +3931,22 @@ impl ListMedicalTranscriptionJobsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_5) = &self.status { - query.push_kv("Status", &smithy_http::query::fmt_string(&inner_5)); + if let Some(inner_11) = &self.status { + query.push_kv("Status", &smithy_http::query::fmt_string(&inner_11)); } - if let Some(inner_6) = &self.job_name_contains { - query.push_kv("JobNameContains", &smithy_http::query::fmt_string(&inner_6)); + if let Some(inner_12) = &self.job_name_contains { + query.push_kv( + "JobNameContains", + &smithy_http::query::fmt_string(&inner_12), + ); } - if let Some(inner_7) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_7)); + if let Some(inner_13) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_13)); } - if let Some(inner_8) = &self.max_results { + if let Some(inner_14) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_8).encode(), + &smithy_types::primitive::Encoder::from(*inner_14).encode(), ); } } @@ -3035,20 +4141,20 @@ impl ListMedicalVocabulariesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_9) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_9)); + if let Some(inner_15) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_15)); } - if let Some(inner_10) = &self.max_results { + if let Some(inner_16) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_10).encode(), + &smithy_types::primitive::Encoder::from(*inner_16).encode(), ); } - if let Some(inner_11) = &self.state_equals { - query.push_kv("StateEquals", &smithy_http::query::fmt_string(&inner_11)); + if let Some(inner_17) = &self.state_equals { + query.push_kv("StateEquals", &smithy_http::query::fmt_string(&inner_17)); } - if let Some(inner_12) = &self.name_contains { - query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_12)); + if let Some(inner_18) = &self.name_contains { + query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_18)); } } #[allow(clippy::unnecessary_wraps)] @@ -3237,22 +4343,22 @@ impl ListTranscriptionJobsInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_13) = &self.status { - query.push_kv("Status", &smithy_http::query::fmt_string(&inner_13)); + if let Some(inner_19) = &self.status { + query.push_kv("Status", &smithy_http::query::fmt_string(&inner_19)); } - if let Some(inner_14) = &self.job_name_contains { + if let Some(inner_20) = &self.job_name_contains { query.push_kv( "JobNameContains", - &smithy_http::query::fmt_string(&inner_14), + &smithy_http::query::fmt_string(&inner_20), ); } - if let Some(inner_15) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_15)); + if let Some(inner_21) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_21)); } - if let Some(inner_16) = &self.max_results { + if let Some(inner_22) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_16).encode(), + &smithy_types::primitive::Encoder::from(*inner_22).encode(), ); } } @@ -3442,20 +4548,20 @@ impl ListVocabulariesInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_17) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_17)); + if let Some(inner_23) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_23)); } - if let Some(inner_18) = &self.max_results { + if let Some(inner_24) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_18).encode(), + &smithy_types::primitive::Encoder::from(*inner_24).encode(), ); } - if let Some(inner_19) = &self.state_equals { - query.push_kv("StateEquals", &smithy_http::query::fmt_string(&inner_19)); + if let Some(inner_25) = &self.state_equals { + query.push_kv("StateEquals", &smithy_http::query::fmt_string(&inner_25)); } - if let Some(inner_20) = &self.name_contains { - query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_20)); + if let Some(inner_26) = &self.name_contains { + query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_26)); } } #[allow(clippy::unnecessary_wraps)] @@ -3629,17 +4735,17 @@ impl ListVocabularyFiltersInput { } fn uri_query(&self, mut output: &mut String) { let mut query = smithy_http::query::Writer::new(&mut output); - if let Some(inner_21) = &self.next_token { - query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_21)); + if let Some(inner_27) = &self.next_token { + query.push_kv("NextToken", &smithy_http::query::fmt_string(&inner_27)); } - if let Some(inner_22) = &self.max_results { + if let Some(inner_28) = &self.max_results { query.push_kv( "MaxResults", - &smithy_types::primitive::Encoder::from(*inner_22).encode(), + &smithy_types::primitive::Encoder::from(*inner_28).encode(), ); } - if let Some(inner_23) = &self.name_contains { - query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_23)); + if let Some(inner_29) = &self.name_contains { + query.push_kv("NameContains", &smithy_http::query::fmt_string(&inner_29)); } } #[allow(clippy::unnecessary_wraps)] @@ -3665,7 +4771,293 @@ impl ListVocabularyFiltersInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "Transcribe.ListVocabularyFilters", + "Transcribe.ListVocabularyFilters", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListVocabularyFiltersInput`](crate::input::ListVocabularyFiltersInput) + pub fn builder() -> crate::input::list_vocabulary_filters_input::Builder { + crate::input::list_vocabulary_filters_input::Builder::default() + } +} + +/// See [`StartCallAnalyticsJobInput`](crate::input::StartCallAnalyticsJobInput) +pub mod start_call_analytics_job_input { + /// A builder for [`StartCallAnalyticsJobInput`](crate::input::StartCallAnalyticsJobInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) call_analytics_job_name: std::option::Option, + pub(crate) media: std::option::Option, + pub(crate) output_location: std::option::Option, + pub(crate) output_encryption_kms_key_id: std::option::Option, + pub(crate) data_access_role_arn: std::option::Option, + pub(crate) settings: std::option::Option, + pub(crate) channel_definitions: + std::option::Option>, + } + impl Builder { + ///

                                                                                          The name of the call analytics job. You can't use the string "." or ".." by themselves as the + /// job name. The name must also be unique within an AWS account. If you try to create a + /// call analytics job with the same name as a previous call analytics job, you get a + /// ConflictException error.

                                                                                          + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.call_analytics_job_name = Some(input.into()); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job_name = input; + self + } + ///

                                                                                          Describes the input media file in a transcription request.

                                                                                          + pub fn media(mut self, input: crate::model::Media) -> Self { + self.media = Some(input); + self + } + pub fn set_media(mut self, input: std::option::Option) -> Self { + self.media = input; + self + } + ///

                                                                                          The Amazon S3 location where the output of the call analytics job is stored. + /// You can provide the following location types to store the output of call analytics job:

                                                                                          + ///
                                                                                            + ///
                                                                                          • + ///

                                                                                            s3://DOC-EXAMPLE-BUCKET1

                                                                                            + ///

                                                                                            If you specify a bucket, Amazon Transcribe saves the output of the analytics job + /// as a JSON file at the root level of the bucket.

                                                                                            + ///
                                                                                          • + ///
                                                                                          • + ///

                                                                                            s3://DOC-EXAMPLE-BUCKET1/folder/

                                                                                            + ///

                                                                                            f you specify a path, Amazon Transcribe saves the output of the analytics job as + /// s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json

                                                                                            + ///

                                                                                            If you specify a folder, you must provide a trailing slash.

                                                                                            + ///
                                                                                          • + ///
                                                                                          • + ///

                                                                                            s3://DOC-EXAMPLE-BUCKET1/folder/filename.json

                                                                                            + ///

                                                                                            If you provide a path that has the filename specified, Amazon Transcribe saves + /// the output of the analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json

                                                                                            + ///
                                                                                          • + ///
                                                                                          + ///

                                                                                          You can specify an AWS Key Management Service key to encrypt the output of our + /// analytics job using the OutputEncryptionKMSKeyId parameter. If you don't specify a + /// KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption + /// of the analytics job output that is placed in your S3 bucket.

                                                                                          + pub fn output_location(mut self, input: impl Into) -> Self { + self.output_location = Some(input.into()); + self + } + pub fn set_output_location( + mut self, + input: std::option::Option, + ) -> Self { + self.output_location = input; + self + } + ///

                                                                                          The Amazon Resource Name (ARN) of the AWS Key Management Service key used to + /// encrypt the output of the call analytics job. The user calling the + /// operation must have permission to use the specified KMS key.

                                                                                          + ///

                                                                                          You use either of the following to identify an AWS KMS key in the current account:

                                                                                          + ///
                                                                                            + ///
                                                                                          • + ///

                                                                                            KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                                            + ///
                                                                                          • + ///
                                                                                          • + ///

                                                                                            KMS Key Alias: "alias/ExampleAlias"

                                                                                            + ///
                                                                                          • + ///
                                                                                          + ///

                                                                                          You can use either of the following to identify a KMS key in the current account or + /// another account:

                                                                                          + ///
                                                                                            + ///
                                                                                          • + ///

                                                                                            Amazon Resource Name (ARN) of a KMS key in the current account or another + /// account: "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef1234567890ab"

                                                                                            + ///
                                                                                          • + ///
                                                                                          • + ///

                                                                                            ARN of a KMS Key Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

                                                                                            + ///
                                                                                          • + ///
                                                                                          + ///

                                                                                          If you don't specify an encryption key, the output of the call analytics job is encrypted + /// with the default Amazon S3 key (SSE-S3).

                                                                                          + ///

                                                                                          If you specify a KMS key to encrypt your output, you must also specify an output + /// location in the OutputLocation parameter.

                                                                                          + pub fn output_encryption_kms_key_id( + mut self, + input: impl Into, + ) -> Self { + self.output_encryption_kms_key_id = Some(input.into()); + self + } + pub fn set_output_encryption_kms_key_id( + mut self, + input: std::option::Option, + ) -> Self { + self.output_encryption_kms_key_id = input; + self + } + ///

                                                                                          The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that + /// contains your input files. Amazon Transcribe assumes this role to read queued audio files. + /// If you have specified an output S3 bucket for your transcription results, this role should + /// have access to the output bucket as well.

                                                                                          + pub fn data_access_role_arn(mut self, input: impl Into) -> Self { + self.data_access_role_arn = Some(input.into()); + self + } + pub fn set_data_access_role_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.data_access_role_arn = input; + self + } + ///

                                                                                          A Settings object that provides optional settings for a call analytics job.

                                                                                          + pub fn settings(mut self, input: crate::model::CallAnalyticsJobSettings) -> Self { + self.settings = Some(input); + self + } + pub fn set_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.settings = input; + self + } + pub fn channel_definitions( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_definitions.unwrap_or_default(); + v.push(input.into()); + self.channel_definitions = Some(v); + self + } + pub fn set_channel_definitions( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_definitions = input; + self + } + /// Consumes the builder and constructs a [`StartCallAnalyticsJobInput`](crate::input::StartCallAnalyticsJobInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::StartCallAnalyticsJobInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::StartCallAnalyticsJobInput { + call_analytics_job_name: self.call_analytics_job_name, + media: self.media, + output_location: self.output_location, + output_encryption_kms_key_id: self.output_encryption_kms_key_id, + data_access_role_arn: self.data_access_role_arn, + settings: self.settings, + channel_definitions: self.channel_definitions, + }) + } + } +} +#[doc(hidden)] +pub type StartCallAnalyticsJobInputOperationOutputAlias = crate::operation::StartCallAnalyticsJob; +#[doc(hidden)] +pub type StartCallAnalyticsJobInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl StartCallAnalyticsJobInput { + /// Consumes the builder and constructs an Operation<[`StartCallAnalyticsJob`](crate::operation::StartCallAnalyticsJob)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::StartCallAnalyticsJob, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_start_call_analytics_job(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::StartCallAnalyticsJob::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "StartCallAnalyticsJob", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.StartCallAnalyticsJob", ); Ok(builder) } @@ -3678,9 +5070,9 @@ impl ListVocabularyFiltersInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListVocabularyFiltersInput`](crate::input::ListVocabularyFiltersInput) - pub fn builder() -> crate::input::list_vocabulary_filters_input::Builder { - crate::input::list_vocabulary_filters_input::Builder::default() + /// Creates a new builder-style object to manufacture [`StartCallAnalyticsJobInput`](crate::input::StartCallAnalyticsJobInput) + pub fn builder() -> crate::input::start_call_analytics_job_input::Builder { + crate::input::start_call_analytics_job_input::Builder::default() } } @@ -3707,9 +5099,9 @@ pub mod start_medical_transcription_job_input { impl Builder { ///

                                                                                          The name of the medical transcription job. You can't use the strings "." /// or ".." by themselves as the job name. The name must also be unique within - /// an AWS account. If you try to create a medical transcription job with the same name as a - /// previous medical transcription job, you get a ConflictException - /// error.

                                                                                          + /// an Amazon Web Services account. If you try to create a medical transcription job with the + /// same name as a previous medical transcription job, you get a + /// ConflictException error.

                                                                                          pub fn medical_transcription_job_name( mut self, input: impl Into, @@ -3777,10 +5169,10 @@ pub mod start_medical_transcription_job_input { /// results. Your transcript appears in the S3 location you specify. When you call the GetMedicalTranscriptionJob, the operation returns this location in the /// TranscriptFileUri field. The S3 bucket must have permissions that allow /// Amazon Transcribe Medical to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                          - ///

                                                                                          You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                          + ///

                                                                                          You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                          pub fn output_bucket_name(mut self, input: impl Into) -> Self { self.output_bucket_name = Some(input.into()); self @@ -3814,8 +5206,8 @@ pub mod start_medical_transcription_job_input { self.output_key = input; self } - ///

                                                                                          The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the + ///

                                                                                          The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                          ///

                                                                                          You use either of the following to identify a KMS key in the current account:

                                                                                          ///
                                                                                            @@ -3870,8 +5262,8 @@ pub mod start_medical_transcription_job_input { self } ///

                                                                                            You can configure Amazon Transcribe Medical to label content in the transcription output. If you specify - /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it identifies in the transcription - /// output.

                                                                                            + /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it + /// identifies in the transcription output.

                                                                                            pub fn content_identification_type( mut self, input: crate::model::MedicalContentIdentificationType, @@ -4067,9 +5459,9 @@ pub mod start_transcription_job_input { } impl Builder { ///

                                                                                            The name of the job. You can't use the strings "." or ".." - /// by themselves as the job name. The name must also be unique within an AWS account. If - /// you try to create a transcription job with the same name as a previous transcription - /// job, you get a ConflictException error.

                                                                                            + /// by themselves as the job name. The name must also be unique within an Amazon Web Services + /// account. If you try to create a transcription job with the same name as a previous + /// transcription job, you get a ConflictException error.

                                                                                            pub fn transcription_job_name(mut self, input: impl Into) -> Self { self.transcription_job_name = Some(input.into()); self @@ -4138,10 +5530,10 @@ pub mod start_transcription_job_input { /// to output an unredacted transcript, that transcript's location still appears in the /// TranscriptFileUri. The S3 bucket must have permissions that allow Amazon Transcribe /// to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                            - ///

                                                                                            You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                            + ///

                                                                                            You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                            ///

                                                                                            If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, /// a shareable URL that provides secure access to your transcription, and returns it in the /// TranscriptFileUri field. Use this URL to download the @@ -4179,8 +5571,8 @@ pub mod start_transcription_job_input { self.output_key = input; self } - ///

                                                                                            The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the + ///

                                                                                            The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the /// StartTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                            ///

                                                                                            You can use either of the following to identify a KMS key in the current @@ -4431,6 +5823,167 @@ impl StartTranscriptionJobInput { } } +/// See [`UpdateCallAnalyticsCategoryInput`](crate::input::UpdateCallAnalyticsCategoryInput) +pub mod update_call_analytics_category_input { + /// A builder for [`UpdateCallAnalyticsCategoryInput`](crate::input::UpdateCallAnalyticsCategoryInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_name: std::option::Option, + pub(crate) rules: std::option::Option>, + } + impl Builder { + ///

                                                                                            The name of the analytics category to update. The name is case sensitive. If you try to + /// update a call analytics category with the same name as a previous category you will receive a + /// ConflictException error.

                                                                                            + pub fn category_name(mut self, input: impl Into) -> Self { + self.category_name = Some(input.into()); + self + } + pub fn set_category_name( + mut self, + input: std::option::Option, + ) -> Self { + self.category_name = input; + self + } + pub fn rules(mut self, input: impl Into) -> Self { + let mut v = self.rules.unwrap_or_default(); + v.push(input.into()); + self.rules = Some(v); + self + } + pub fn set_rules( + mut self, + input: std::option::Option>, + ) -> Self { + self.rules = input; + self + } + /// Consumes the builder and constructs a [`UpdateCallAnalyticsCategoryInput`](crate::input::UpdateCallAnalyticsCategoryInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::UpdateCallAnalyticsCategoryInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateCallAnalyticsCategoryInput { + category_name: self.category_name, + rules: self.rules, + }) + } + } +} +#[doc(hidden)] +pub type UpdateCallAnalyticsCategoryInputOperationOutputAlias = + crate::operation::UpdateCallAnalyticsCategory; +#[doc(hidden)] +pub type UpdateCallAnalyticsCategoryInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateCallAnalyticsCategoryInput { + /// Consumes the builder and constructs an Operation<[`UpdateCallAnalyticsCategory`](crate::operation::UpdateCallAnalyticsCategory)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UpdateCallAnalyticsCategory, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_update_call_analytics_category(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UpdateCallAnalyticsCategory::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UpdateCallAnalyticsCategory", + "transcribe", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "Transcribe.UpdateCallAnalyticsCategory", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UpdateCallAnalyticsCategoryInput`](crate::input::UpdateCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::update_call_analytics_category_input::Builder { + crate::input::update_call_analytics_category_input::Builder::default() + } +} + /// See [`UpdateMedicalVocabularyInput`](crate::input::UpdateMedicalVocabularyInput) pub mod update_medical_vocabulary_input { /// A builder for [`UpdateMedicalVocabularyInput`](crate::input::UpdateMedicalVocabularyInput) @@ -4473,7 +6026,7 @@ pub mod update_medical_vocabulary_input { } ///

                                                                                            The location in Amazon S3 of the text file that contains /// the - /// you use for your custom vocabulary. The URI must be in the same AWS + /// you use for your custom vocabulary. The URI must be in the same Amazon Web Services /// Region as the resource that you are calling. The following is the format for a /// URI:

                                                                                            ///

                                                                                            @@ -4485,8 +6038,8 @@ pub mod update_medical_vocabulary_input { ///

                                                                                            /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                            - ///

                                                                                            For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            - ///

                                                                                            For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                            + ///

                                                                                            For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            + ///

                                                                                            For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                            pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.vocabulary_file_uri = Some(input.into()); self @@ -4678,8 +6231,8 @@ pub mod update_vocabulary_input { /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                            ///

                                                                                            For example:

                                                                                            - ///

                                                                                            For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            - ///

                                                                                            For more information about custom vocabularies, see Custom Vocabularies.

                                                                                            + ///

                                                                                            For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            + ///

                                                                                            For more information about custom vocabularies, see Custom Vocabularies.

                                                                                            pub fn vocabulary_file_uri(mut self, input: impl Into) -> Self { self.vocabulary_file_uri = Some(input.into()); self @@ -5045,8 +6598,8 @@ pub struct UpdateVocabularyInput { /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                            ///

                                                                                            For example:

                                                                                            - ///

                                                                                            For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            - ///

                                                                                            For more information about custom vocabularies, see Custom Vocabularies.

                                                                                            + ///

                                                                                            For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            + ///

                                                                                            For more information about custom vocabularies, see Custom Vocabularies.

                                                                                            pub vocabulary_file_uri: std::option::Option, } impl std::fmt::Debug for UpdateVocabularyInput { @@ -5074,7 +6627,7 @@ pub struct UpdateMedicalVocabularyInput { pub language_code: std::option::Option, ///

                                                                                            The location in Amazon S3 of the text file that contains /// the - /// you use for your custom vocabulary. The URI must be in the same AWS + /// you use for your custom vocabulary. The URI must be in the same Amazon Web Services /// Region as the resource that you are calling. The following is the format for a /// URI:

                                                                                            ///

                                                                                            @@ -5086,8 +6639,8 @@ pub struct UpdateMedicalVocabularyInput { ///

                                                                                            /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                            - ///

                                                                                            For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            - ///

                                                                                            For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                            + ///

                                                                                            For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                            + ///

                                                                                            For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

                                                                                            pub vocabulary_file_uri: std::option::Option, } impl std::fmt::Debug for UpdateMedicalVocabularyInput { @@ -5100,13 +6653,33 @@ impl std::fmt::Debug for UpdateMedicalVocabularyInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateCallAnalyticsCategoryInput { + ///

                                                                                            The name of the analytics category to update. The name is case sensitive. If you try to + /// update a call analytics category with the same name as a previous category you will receive a + /// ConflictException error.

                                                                                            + pub category_name: std::option::Option, + ///

                                                                                            The rules used for the updated analytics category. The rules that you provide in this field + /// replace the ones that are currently being used.

                                                                                            + pub rules: std::option::Option>, +} +impl std::fmt::Debug for UpdateCallAnalyticsCategoryInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCallAnalyticsCategoryInput"); + formatter.field("category_name", &self.category_name); + formatter.field("rules", &self.rules); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartTranscriptionJobInput { ///

                                                                                            The name of the job. You can't use the strings "." or ".." - /// by themselves as the job name. The name must also be unique within an AWS account. If - /// you try to create a transcription job with the same name as a previous transcription - /// job, you get a ConflictException error.

                                                                                            + /// by themselves as the job name. The name must also be unique within an Amazon Web Services + /// account. If you try to create a transcription job with the same name as a previous + /// transcription job, you get a ConflictException error.

                                                                                            pub transcription_job_name: std::option::Option, ///

                                                                                            The language code for the language used in the input media file.

                                                                                            ///

                                                                                            To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must @@ -5131,10 +6704,10 @@ pub struct StartTranscriptionJobInput { /// to output an unredacted transcript, that transcript's location still appears in the /// TranscriptFileUri. The S3 bucket must have permissions that allow Amazon Transcribe /// to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                            - ///

                                                                                            You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                            + ///

                                                                                            You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                            ///

                                                                                            If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, /// a shareable URL that provides secure access to your transcription, and returns it in the /// TranscriptFileUri field. Use this URL to download the @@ -5155,8 +6728,8 @@ pub struct StartTranscriptionJobInput { ///

                                                                                            If you specify an output key, you must also specify an S3 bucket in the /// OutputBucketName parameter.

                                                                                            pub output_key: std::option::Option, - ///

                                                                                            The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the + ///

                                                                                            The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the /// StartTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                            ///

                                                                                            You can use either of the following to identify a KMS key in the current @@ -5206,6 +6779,8 @@ pub struct StartTranscriptionJobInput { ///

                                                                                            An object containing a list of languages that might be present in your collection of /// audio files. Automatic language identification chooses a language that best matches the /// source audio from that list.

                                                                                            + ///

                                                                                            To transcribe speech in Modern Standard Arabic (ar-SA), your audio or video file must + /// be encoded at a sample rate of 16000 Hz or higher.

                                                                                            pub language_options: std::option::Option>, } impl std::fmt::Debug for StartTranscriptionJobInput { @@ -5237,9 +6812,9 @@ impl std::fmt::Debug for StartTranscriptionJobInput { pub struct StartMedicalTranscriptionJobInput { ///

                                                                                            The name of the medical transcription job. You can't use the strings "." /// or ".." by themselves as the job name. The name must also be unique within - /// an AWS account. If you try to create a medical transcription job with the same name as a - /// previous medical transcription job, you get a ConflictException - /// error.

                                                                                            + /// an Amazon Web Services account. If you try to create a medical transcription job with the + /// same name as a previous medical transcription job, you get a + /// ConflictException error.

                                                                                            pub medical_transcription_job_name: std::option::Option, ///

                                                                                            The language code for the language spoken in the input media file. US English (en-US) /// is the valid value for medical transcription jobs. Any other value you enter for @@ -5260,10 +6835,10 @@ pub struct StartMedicalTranscriptionJobInput { /// results. Your transcript appears in the S3 location you specify. When you call the GetMedicalTranscriptionJob, the operation returns this location in the /// TranscriptFileUri field. The S3 bucket must have permissions that allow /// Amazon Transcribe Medical to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

                                                                                            - ///

                                                                                            You can specify an AWS Key Management Service (KMS) key to encrypt the output of your - /// transcription using the OutputEncryptionKMSKeyId parameter. If you don't - /// specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side encryption of - /// transcripts that are placed in your S3 bucket.

                                                                                            + ///

                                                                                            You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt the + /// output of your transcription using the OutputEncryptionKMSKeyId parameter. + /// If you don't specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side + /// encryption of transcripts that are placed in your S3 bucket.

                                                                                            pub output_bucket_name: std::option::Option, ///

                                                                                            You can specify a location in an Amazon S3 bucket to store the output of your medical /// transcription job.

                                                                                            @@ -5280,8 +6855,8 @@ pub struct StartMedicalTranscriptionJobInput { ///

                                                                                            If you specify an output key, you must also specify an S3 bucket in the /// OutputBucketName parameter.

                                                                                            pub output_key: std::option::Option, - ///

                                                                                            The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to - /// encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the + ///

                                                                                            The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service (KMS) + /// key used to encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the /// specified KMS key.

                                                                                            ///

                                                                                            You use either of the following to identify a KMS key in the current account:

                                                                                            ///
                                                                                              @@ -5313,8 +6888,8 @@ pub struct StartMedicalTranscriptionJobInput { ///

                                                                                              Optional settings for the medical transcription job.

                                                                                              pub settings: std::option::Option, ///

                                                                                              You can configure Amazon Transcribe Medical to label content in the transcription output. If you specify - /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it identifies in the transcription - /// output.

                                                                                              + /// PHI, Amazon Transcribe Medical labels the personal health information (PHI) that it + /// identifies in the transcription output.

                                                                                              pub content_identification_type: std::option::Option, ///

                                                                                              The medical specialty of any clinician speaking in the input media.

                                                                                              @@ -5353,6 +6928,99 @@ impl std::fmt::Debug for StartMedicalTranscriptionJobInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StartCallAnalyticsJobInput { + ///

                                                                                              The name of the call analytics job. You can't use the string "." or ".." by themselves as the + /// job name. The name must also be unique within an AWS account. If you try to create a + /// call analytics job with the same name as a previous call analytics job, you get a + /// ConflictException error.

                                                                                              + pub call_analytics_job_name: std::option::Option, + ///

                                                                                              Describes the input media file in a transcription request.

                                                                                              + pub media: std::option::Option, + ///

                                                                                              The Amazon S3 location where the output of the call analytics job is stored. + /// You can provide the following location types to store the output of call analytics job:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                s3://DOC-EXAMPLE-BUCKET1

                                                                                                + ///

                                                                                                If you specify a bucket, Amazon Transcribe saves the output of the analytics job + /// as a JSON file at the root level of the bucket.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                s3://DOC-EXAMPLE-BUCKET1/folder/

                                                                                                + ///

                                                                                                f you specify a path, Amazon Transcribe saves the output of the analytics job as + /// s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json

                                                                                                + ///

                                                                                                If you specify a folder, you must provide a trailing slash.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                s3://DOC-EXAMPLE-BUCKET1/folder/filename.json

                                                                                                + ///

                                                                                                If you provide a path that has the filename specified, Amazon Transcribe saves + /// the output of the analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json

                                                                                                + ///
                                                                                              • + ///
                                                                                              + ///

                                                                                              You can specify an AWS Key Management Service key to encrypt the output of our + /// analytics job using the OutputEncryptionKMSKeyId parameter. If you don't specify a + /// KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption + /// of the analytics job output that is placed in your S3 bucket.

                                                                                              + pub output_location: std::option::Option, + ///

                                                                                              The Amazon Resource Name (ARN) of the AWS Key Management Service key used to + /// encrypt the output of the call analytics job. The user calling the + /// operation must have permission to use the specified KMS key.

                                                                                              + ///

                                                                                              You use either of the following to identify an AWS KMS key in the current account:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                KMS Key Alias: "alias/ExampleAlias"

                                                                                                + ///
                                                                                              • + ///
                                                                                              + ///

                                                                                              You can use either of the following to identify a KMS key in the current account or + /// another account:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                Amazon Resource Name (ARN) of a KMS key in the current account or another + /// account: "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef1234567890ab"

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                ARN of a KMS Key Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

                                                                                                + ///
                                                                                              • + ///
                                                                                              + ///

                                                                                              If you don't specify an encryption key, the output of the call analytics job is encrypted + /// with the default Amazon S3 key (SSE-S3).

                                                                                              + ///

                                                                                              If you specify a KMS key to encrypt your output, you must also specify an output + /// location in the OutputLocation parameter.

                                                                                              + pub output_encryption_kms_key_id: std::option::Option, + ///

                                                                                              The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that + /// contains your input files. Amazon Transcribe assumes this role to read queued audio files. + /// If you have specified an output S3 bucket for your transcription results, this role should + /// have access to the output bucket as well.

                                                                                              + pub data_access_role_arn: std::option::Option, + ///

                                                                                              A Settings object that provides optional settings for a call analytics job.

                                                                                              + pub settings: std::option::Option, + ///

                                                                                              When you start a call analytics job, you must pass an array that maps the agent and the + /// customer to specific audio channels. The values you can assign to a channel are 0 + /// and 1. The agent and the customer must each have their own channel. You can't assign more + /// than one channel to an agent or customer.

                                                                                              + pub channel_definitions: std::option::Option>, +} +impl std::fmt::Debug for StartCallAnalyticsJobInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartCallAnalyticsJobInput"); + formatter.field("call_analytics_job_name", &self.call_analytics_job_name); + formatter.field("media", &self.media); + formatter.field("output_location", &self.output_location); + formatter.field( + "output_encryption_kms_key_id", + &self.output_encryption_kms_key_id, + ); + formatter.field("data_access_role_arn", &self.data_access_role_arn); + formatter.field("settings", &self.settings); + formatter.field("channel_definitions", &self.channel_definitions); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListVocabularyFiltersInput { @@ -5523,6 +7191,54 @@ impl std::fmt::Debug for ListLanguageModelsInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListCallAnalyticsJobsInput { + ///

                                                                                              When specified, returns only call analytics jobs with the specified status. Jobs are ordered + /// by creation date, with the most recent jobs returned first. If you don't specify a status, Amazon Transcribe + /// returns all analytics jobs ordered by creation date.

                                                                                              + pub status: std::option::Option, + ///

                                                                                              When specified, the jobs returned in the list are limited to jobs whose name contains the + /// specified string.

                                                                                              + pub job_name_contains: std::option::Option, + ///

                                                                                              If you receive a truncated result in the previous request of + /// , + /// include NextToken to fetch the next set of jobs.

                                                                                              + pub next_token: std::option::Option, + ///

                                                                                              The maximum number of call analytics jobs to return in the response. If there are fewer + /// results in the list, this response contains only the actual results.

                                                                                              + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListCallAnalyticsJobsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListCallAnalyticsJobsInput"); + formatter.field("status", &self.status); + formatter.field("job_name_contains", &self.job_name_contains); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListCallAnalyticsCategoriesInput { + ///

                                                                                              When included, NextTokenfetches the next set of categories if the result + /// of the previous request was truncated.

                                                                                              + pub next_token: std::option::Option, + ///

                                                                                              The maximum number of categories to return in the response. If there are fewer results in + /// the list, the response contains only the actual results.

                                                                                              + pub max_results: std::option::Option, +} +impl std::fmt::Debug for ListCallAnalyticsCategoriesInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListCallAnalyticsCategoriesInput"); + formatter.field("next_token", &self.next_token); + formatter.field("max_results", &self.max_results); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetVocabularyFilterInput { @@ -5598,6 +7314,35 @@ impl std::fmt::Debug for GetMedicalTranscriptionJobInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetCallAnalyticsJobInput { + ///

                                                                                              The name of the analytics job you want information about. This value is case + /// sensitive.

                                                                                              + pub call_analytics_job_name: std::option::Option, +} +impl std::fmt::Debug for GetCallAnalyticsJobInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetCallAnalyticsJobInput"); + formatter.field("call_analytics_job_name", &self.call_analytics_job_name); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetCallAnalyticsCategoryInput { + ///

                                                                                              The name of the category you want information about. This value is case sensitive.

                                                                                              + pub category_name: std::option::Option, +} +impl std::fmt::Debug for GetCallAnalyticsCategoryInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetCallAnalyticsCategoryInput"); + formatter.field("category_name", &self.category_name); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeLanguageModelInput { @@ -5700,6 +7445,35 @@ impl std::fmt::Debug for DeleteLanguageModelInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCallAnalyticsJobInput { + ///

                                                                                              The name of the call analytics job you want to delete.

                                                                                              + pub call_analytics_job_name: std::option::Option, +} +impl std::fmt::Debug for DeleteCallAnalyticsJobInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCallAnalyticsJobInput"); + formatter.field("call_analytics_job_name", &self.call_analytics_job_name); + formatter.finish() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCallAnalyticsCategoryInput { + ///

                                                                                              The name of the call analytics category that you're choosing to delete. The value is case + /// sensitive.

                                                                                              + pub category_name: std::option::Option, +} +impl std::fmt::Debug for DeleteCallAnalyticsCategoryInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCallAnalyticsCategoryInput"); + formatter.field("category_name", &self.category_name); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateVocabularyFilterInput { @@ -5743,9 +7517,10 @@ impl std::fmt::Debug for CreateVocabularyFilterInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateVocabularyInput { - ///

                                                                                              The name of the vocabulary. The name must be unique within an AWS account. The name is - /// case sensitive. If you try to create a vocabulary with the same name as a previous - /// vocabulary you will receive a ConflictException error.

                                                                                              + ///

                                                                                              The name of the vocabulary. The name must be unique within an Amazon Web Services + /// account. The name is case sensitive. If you try to create a vocabulary with the same + /// name as a previous vocabulary you will receive a ConflictException + /// error.

                                                                                              pub vocabulary_name: std::option::Option, ///

                                                                                              The language code of the vocabulary entries. For a list of languages and their /// corresponding language codes, see what-is-transcribe.

                                                                                              @@ -5755,8 +7530,8 @@ pub struct CreateVocabularyInput { ///

                                                                                              The S3 location of the text file that contains the definition of the custom /// vocabulary. The URI must be in the same region as the API endpoint that you are calling. /// The general form is

                                                                                              - ///

                                                                                              For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                              - ///

                                                                                              For more information about custom vocabularies, see Custom + ///

                                                                                              For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                              + ///

                                                                                              For more information about custom vocabularies, see Custom /// Vocabularies.

                                                                                              pub vocabulary_file_uri: std::option::Option, } @@ -5775,8 +7550,8 @@ impl std::fmt::Debug for CreateVocabularyInput { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateMedicalVocabularyInput { ///

                                                                                              The name of the custom vocabulary. This case-sensitive name must be unique within an - /// AWS account. If you try to create a vocabulary with the same name as a previous - /// vocabulary, you get a ConflictException error.

                                                                                              + /// Amazon Web Services account. If you try to create a vocabulary with the same name as + /// a previous vocabulary, you get a ConflictException error.

                                                                                              pub vocabulary_name: std::option::Option, ///

                                                                                              The language code for the language used for the entries in your custom vocabulary. The /// language code of your custom vocabulary must match the language code of your @@ -5784,7 +7559,7 @@ pub struct CreateMedicalVocabularyInput { /// Amazon Transcribe Medical.

                                                                                              pub language_code: std::option::Option, ///

                                                                                              The location in Amazon S3 of the text file you use to define your custom vocabulary. The - /// URI must be in the same AWS Region as the + /// URI must be in the same Amazon Web Services Region as the /// resource /// that you're calling. Enter information about your /// VocabularyFileUri in the following format:

                                                                                              @@ -5797,8 +7572,8 @@ pub struct CreateMedicalVocabularyInput { ///

                                                                                              /// https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt ///

                                                                                              - ///

                                                                                              For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                              - ///

                                                                                              For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                              + ///

                                                                                              For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                              + ///

                                                                                              For more information about custom vocabularies, see Medical Custom Vocabularies.

                                                                                              pub vocabulary_file_uri: std::option::Option, } impl std::fmt::Debug for CreateMedicalVocabularyInput { @@ -5840,3 +7615,22 @@ impl std::fmt::Debug for CreateLanguageModelInput { formatter.finish() } } + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCallAnalyticsCategoryInput { + ///

                                                                                              The name that you choose for your category when you create it.

                                                                                              + pub category_name: std::option::Option, + ///

                                                                                              To create a category, you must specify between 1 and 20 rules. For each rule, you specify a + /// filter to be applied to the attributes of the call. For example, you can specify a sentiment + /// filter to detect if the customer's sentiment was negative or neutral.

                                                                                              + pub rules: std::option::Option>, +} +impl std::fmt::Debug for CreateCallAnalyticsCategoryInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCallAnalyticsCategoryInput"); + formatter.field("category_name", &self.category_name); + formatter.field("rules", &self.rules); + formatter.finish() + } +} diff --git a/sdk/transcribe/src/json_deser.rs b/sdk/transcribe/src/json_deser.rs index da4a2be090f8..8fb2244cc339 100644 --- a/sdk/transcribe/src/json_deser.rs +++ b/sdk/transcribe/src/json_deser.rs @@ -161,6 +161,46 @@ pub fn deser_structure_limit_exceeded_exceptionjson_err( Ok(builder) } +pub fn deser_operation_create_call_analytics_category( + input: &[u8], + mut builder: crate::output::create_call_analytics_category_output::Builder, +) -> Result< + crate::output::create_call_analytics_category_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CategoryProperties" => { + builder = builder.set_category_properties( + crate::json_deser::deser_structure_category_properties(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_create_language_model( input: &[u8], mut builder: crate::output::create_language_model_output::Builder, @@ -519,6 +559,84 @@ pub fn deser_operation_describe_language_model( Ok(builder) } +pub fn deser_operation_get_call_analytics_category( + input: &[u8], + mut builder: crate::output::get_call_analytics_category_output::Builder, +) -> Result< + crate::output::get_call_analytics_category_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CategoryProperties" => { + builder = builder.set_category_properties( + crate::json_deser::deser_structure_category_properties(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_get_call_analytics_job( + input: &[u8], + mut builder: crate::output::get_call_analytics_job_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CallAnalyticsJob" => { + builder = builder.set_call_analytics_job( + crate::json_deser::deser_structure_call_analytics_job(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_get_medical_transcription_job( input: &[u8], mut builder: crate::output::get_medical_transcription_job_output::Builder, @@ -823,6 +941,109 @@ pub fn deser_operation_get_vocabulary_filter( Ok(builder) } +pub fn deser_operation_list_call_analytics_categories( + input: &[u8], + mut builder: crate::output::list_call_analytics_categories_output::Builder, +) -> Result< + crate::output::list_call_analytics_categories_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Categories" => { + builder = builder.set_categories( + crate::json_deser::deser_list_category_properties_list(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + +pub fn deser_operation_list_call_analytics_jobs( + input: &[u8], + mut builder: crate::output::list_call_analytics_jobs_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Status" => { + builder = builder.set_status( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::CallAnalyticsJobStatus::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CallAnalyticsJobSummaries" => { + builder = builder.set_call_analytics_job_summaries( + crate::json_deser::deser_list_call_analytics_job_summaries(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_list_language_models( input: &[u8], mut builder: crate::output::list_language_models_output::Builder, @@ -1133,6 +1354,44 @@ pub fn deser_operation_list_vocabulary_filters( Ok(builder) } +pub fn deser_operation_start_call_analytics_job( + input: &[u8], + mut builder: crate::output::start_call_analytics_job_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CallAnalyticsJob" => { + builder = builder.set_call_analytics_job( + crate::json_deser::deser_structure_call_analytics_job(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_start_medical_transcription_job( input: &[u8], mut builder: crate::output::start_medical_transcription_job_output::Builder, @@ -1211,6 +1470,46 @@ pub fn deser_operation_start_transcription_job( Ok(builder) } +pub fn deser_operation_update_call_analytics_category( + input: &[u8], + mut builder: crate::output::update_call_analytics_category_output::Builder, +) -> Result< + crate::output::update_call_analytics_category_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CategoryProperties" => { + builder = builder.set_category_properties( + crate::json_deser::deser_structure_category_properties(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_update_medical_vocabulary( input: &[u8], mut builder: crate::output::update_medical_vocabulary_output::Builder, @@ -1412,6 +1711,71 @@ pub fn or_empty_doc(data: &[u8]) -> &[u8] { } } +pub fn deser_structure_category_properties<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::CategoryProperties::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CategoryName" => { + builder = builder.set_category_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Rules" => { + builder = builder + .set_rules(crate::json_deser::deser_list_rule_list(tokens)?); + } + "CreateTime" => { + builder = builder.set_create_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdateTime" => { + builder = builder.set_last_update_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_input_data_config<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -1594,6 +1958,167 @@ where } } +pub fn deser_structure_call_analytics_job<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::CallAnalyticsJob::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "CallAnalyticsJobName" => { + builder = builder.set_call_analytics_job_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CallAnalyticsJobStatus" => { + builder = builder.set_call_analytics_job_status( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::CallAnalyticsJobStatus::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "LanguageCode" => { + builder = builder.set_language_code( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::LanguageCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "MediaSampleRateHertz" => { + builder = builder.set_media_sample_rate_hertz( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "MediaFormat" => { + builder = builder.set_media_format( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::MediaFormat::from(u.as_ref())) + }) + .transpose()?, + ); + } + "Media" => { + builder = builder + .set_media(crate::json_deser::deser_structure_media(tokens)?); + } + "Transcript" => { + builder = builder.set_transcript( + crate::json_deser::deser_structure_transcript(tokens)?, + ); + } + "StartTime" => { + builder = builder.set_start_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "CreationTime" => { + builder = builder.set_creation_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "CompletionTime" => { + builder = builder.set_completion_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "FailureReason" => { + builder = builder.set_failure_reason( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "DataAccessRoleArn" => { + builder = builder.set_data_access_role_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "IdentifiedLanguageScore" => { + builder = builder.set_identified_language_score( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_f32()), + ); + } + "Settings" => { + builder = builder.set_settings( + crate::json_deser::deser_structure_call_analytics_job_settings( + tokens, + )?, + ); + } + "ChannelDefinitions" => { + builder = builder.set_channel_definitions( + crate::json_deser::deser_list_channel_definitions(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_medical_transcription_job<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -1945,9 +2470,9 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_models<'a, I>( +pub fn deser_list_category_properties_list<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result>, smithy_json::deserialize::Error> +) -> Result>, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -1964,7 +2489,7 @@ where break; } _ => { - let value = crate::json_deser::deser_structure_language_model(tokens)?; + let value = crate::json_deser::deser_structure_category_properties(tokens)?; if let Some(value) = value { items.push(value); } @@ -1980,10 +2505,10 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_medical_transcription_job_summaries<'a, I>( +pub fn deser_list_call_analytics_job_summaries<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result< - Option>, + Option>, smithy_json::deserialize::Error, > where @@ -2003,9 +2528,7 @@ where } _ => { let value = - crate::json_deser::deser_structure_medical_transcription_job_summary( - tokens, - )?; + crate::json_deser::deser_structure_call_analytics_job_summary(tokens)?; if let Some(value) = value { items.push(value); } @@ -2021,9 +2544,9 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_vocabularies<'a, I>( +pub fn deser_list_models<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result>, smithy_json::deserialize::Error> +) -> Result>, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2040,7 +2563,7 @@ where break; } _ => { - let value = crate::json_deser::deser_structure_vocabulary_info(tokens)?; + let value = crate::json_deser::deser_structure_language_model(tokens)?; if let Some(value) = value { items.push(value); } @@ -2056,10 +2579,10 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_transcription_job_summaries<'a, I>( +pub fn deser_list_medical_transcription_job_summaries<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result< - Option>, + Option>, smithy_json::deserialize::Error, > where @@ -2079,7 +2602,9 @@ where } _ => { let value = - crate::json_deser::deser_structure_transcription_job_summary(tokens)?; + crate::json_deser::deser_structure_medical_transcription_job_summary( + tokens, + )?; if let Some(value) = value { items.push(value); } @@ -2095,12 +2620,9 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_vocabulary_filters<'a, I>( +pub fn deser_list_vocabularies<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result< - Option>, - smithy_json::deserialize::Error, -> +) -> Result>, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2117,8 +2639,7 @@ where break; } _ => { - let value = - crate::json_deser::deser_structure_vocabulary_filter_info(tokens)?; + let value = crate::json_deser::deser_structure_vocabulary_info(tokens)?; if let Some(value) = value { items.push(value); } @@ -2133,9 +2654,13 @@ where } } -pub fn deser_structure_media<'a, I>( +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_transcription_job_summaries<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result< + Option>, + smithy_json::deserialize::Error, +> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2143,44 +2668,38 @@ where { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), - Some(smithy_json::deserialize::Token::StartObject { .. }) => { - #[allow(unused_mut)] - let mut builder = crate::model::Media::builder(); + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); loop { - match tokens.next().transpose()? { - Some(smithy_json::deserialize::Token::EndObject { .. }) => break, - Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { - match key.to_unescaped()?.as_ref() { - "MediaFileUri" => { - builder = builder.set_media_file_uri( - smithy_json::deserialize::token::expect_string_or_null( - tokens.next(), - )? - .map(|s| s.to_unescaped().map(|u| u.into_owned())) - .transpose()?, - ); - } - _ => smithy_json::deserialize::token::skip_value(tokens)?, - } + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; } _ => { - return Err(smithy_json::deserialize::Error::custom( - "expected object key or end object", - )) + let value = + crate::json_deser::deser_structure_transcription_job_summary(tokens)?; + if let Some(value) = value { + items.push(value); + } } } } - Ok(Some(builder.build())) + Ok(Some(items)) } _ => Err(smithy_json::deserialize::Error::custom( - "expected start object or null", + "expected start array or null", )), } } -pub fn deser_structure_medical_transcript<'a, I>( +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_vocabulary_filters<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result< + Option>, + smithy_json::deserialize::Error, +> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2188,44 +2707,69 @@ where { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), - Some(smithy_json::deserialize::Token::StartObject { .. }) => { - #[allow(unused_mut)] - let mut builder = crate::model::MedicalTranscript::builder(); + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); loop { - match tokens.next().transpose()? { - Some(smithy_json::deserialize::Token::EndObject { .. }) => break, - Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { - match key.to_unescaped()?.as_ref() { - "TranscriptFileUri" => { - builder = builder.set_transcript_file_uri( - smithy_json::deserialize::token::expect_string_or_null( - tokens.next(), - )? - .map(|s| s.to_unescaped().map(|u| u.into_owned())) - .transpose()?, - ); - } - _ => smithy_json::deserialize::token::skip_value(tokens)?, + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_vocabulary_filter_info(tokens)?; + if let Some(value) = value { + items.push(value); } } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_rule_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } _ => { - return Err(smithy_json::deserialize::Error::custom( - "expected object key or end object", - )) + let value = crate::json_deser::deser_union_rule(tokens)?; + if let Some(value) = value { + items.push(value); + } } } } - Ok(Some(builder.build())) + Ok(Some(items)) } _ => Err(smithy_json::deserialize::Error::custom( - "expected start object or null", + "expected start array or null", )), } } -pub fn deser_structure_medical_transcription_setting<'a, I>( +pub fn deser_structure_media<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2235,51 +2779,23 @@ where Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] - let mut builder = crate::model::MedicalTranscriptionSetting::builder(); + let mut builder = crate::model::Media::builder(); loop { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { - "ShowSpeakerLabels" => { - builder = builder.set_show_speaker_labels( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "MaxSpeakerLabels" => { - builder = builder.set_max_speaker_labels( - smithy_json::deserialize::token::expect_number_or_null( - tokens.next(), - )? - .map(|v| v.to_i32()), - ); - } - "ChannelIdentification" => { - builder = builder.set_channel_identification( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "ShowAlternatives" => { - builder = builder.set_show_alternatives( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "MaxAlternatives" => { - builder = builder.set_max_alternatives( - smithy_json::deserialize::token::expect_number_or_null( + "MediaFileUri" => { + builder = builder.set_media_file_uri( + smithy_json::deserialize::token::expect_string_or_null( tokens.next(), )? - .map(|v| v.to_i32()), + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, ); } - "VocabularyName" => { - builder = builder.set_vocabulary_name( + "RedactedMediaFileUri" => { + builder = builder.set_redacted_media_file_uri( smithy_json::deserialize::token::expect_string_or_null( tokens.next(), )? @@ -2359,9 +2875,9 @@ where } } -pub fn deser_structure_settings<'a, I>( +pub fn deser_structure_call_analytics_job_settings<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2371,7 +2887,7 @@ where Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] - let mut builder = crate::model::Settings::builder(); + let mut builder = crate::model::CallAnalyticsJobSettings::builder(); loop { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::EndObject { .. }) => break, @@ -2386,43 +2902,6 @@ where .transpose()?, ); } - "ShowSpeakerLabels" => { - builder = builder.set_show_speaker_labels( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "MaxSpeakerLabels" => { - builder = builder.set_max_speaker_labels( - smithy_json::deserialize::token::expect_number_or_null( - tokens.next(), - )? - .map(|v| v.to_i32()), - ); - } - "ChannelIdentification" => { - builder = builder.set_channel_identification( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "ShowAlternatives" => { - builder = builder.set_show_alternatives( - smithy_json::deserialize::token::expect_bool_or_null( - tokens.next(), - )?, - ); - } - "MaxAlternatives" => { - builder = builder.set_max_alternatives( - smithy_json::deserialize::token::expect_number_or_null( - tokens.next(), - )? - .map(|v| v.to_i32()), - ); - } "VocabularyFilterName" => { builder = builder.set_vocabulary_filter_name( smithy_json::deserialize::token::expect_string_or_null( @@ -2445,6 +2924,25 @@ where .transpose()?, ); } + "LanguageModelName" => { + builder = builder.set_language_model_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ContentRedaction" => { + builder = builder.set_content_redaction( + crate::json_deser::deser_structure_content_redaction(tokens)?, + ); + } + "LanguageOptions" => { + builder = builder.set_language_options( + crate::json_deser::deser_list_language_options(tokens)?, + ); + } _ => smithy_json::deserialize::token::skip_value(tokens)?, } } @@ -2463,9 +2961,44 @@ where } } -pub fn deser_structure_model_settings<'a, I>( +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_channel_definitions<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::json_deser::deser_structure_channel_definition(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +pub fn deser_structure_medical_transcript<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2475,14 +3008,14 @@ where Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] - let mut builder = crate::model::ModelSettings::builder(); + let mut builder = crate::model::MedicalTranscript::builder(); loop { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { - "LanguageModelName" => { - builder = builder.set_language_model_name( + "TranscriptFileUri" => { + builder = builder.set_transcript_file_uri( smithy_json::deserialize::token::expect_string_or_null( tokens.next(), )? @@ -2508,9 +3041,9 @@ where } } -pub fn deser_structure_job_execution_settings<'a, I>( +pub fn deser_structure_medical_transcription_setting<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2520,14 +3053,245 @@ where Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] - let mut builder = crate::model::JobExecutionSettings::builder(); + let mut builder = crate::model::MedicalTranscriptionSetting::builder(); loop { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { - "AllowDeferredExecution" => { - builder = builder.set_allow_deferred_execution( + "ShowSpeakerLabels" => { + builder = builder.set_show_speaker_labels( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "MaxSpeakerLabels" => { + builder = builder.set_max_speaker_labels( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "ChannelIdentification" => { + builder = builder.set_channel_identification( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "ShowAlternatives" => { + builder = builder.set_show_alternatives( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "MaxAlternatives" => { + builder = builder.set_max_alternatives( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "VocabularyName" => { + builder = builder.set_vocabulary_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_settings<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::Settings::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "VocabularyName" => { + builder = builder.set_vocabulary_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ShowSpeakerLabels" => { + builder = builder.set_show_speaker_labels( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "MaxSpeakerLabels" => { + builder = builder.set_max_speaker_labels( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "ChannelIdentification" => { + builder = builder.set_channel_identification( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "ShowAlternatives" => { + builder = builder.set_show_alternatives( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "MaxAlternatives" => { + builder = builder.set_max_alternatives( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "VocabularyFilterName" => { + builder = builder.set_vocabulary_filter_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "VocabularyFilterMethod" => { + builder = builder.set_vocabulary_filter_method( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::VocabularyFilterMethod::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_model_settings<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ModelSettings::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "LanguageModelName" => { + builder = builder.set_language_model_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_job_execution_settings<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::JobExecutionSettings::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AllowDeferredExecution" => { + builder = builder.set_allow_deferred_execution( smithy_json::deserialize::token::expect_bool_or_null( tokens.next(), )?, @@ -2662,9 +3426,9 @@ where } } -pub fn deser_structure_medical_transcription_job_summary<'a, I>( +pub fn deser_structure_call_analytics_job_summary<'a, I>( tokens: &mut std::iter::Peekable, -) -> Result, smithy_json::deserialize::Error> +) -> Result, smithy_json::deserialize::Error> where I: Iterator< Item = Result, smithy_json::deserialize::Error>, @@ -2674,14 +3438,14 @@ where Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] - let mut builder = crate::model::MedicalTranscriptionJobSummary::builder(); + let mut builder = crate::model::CallAnalyticsJobSummary::builder(); loop { match tokens.next().transpose()? { Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { - "MedicalTranscriptionJobName" => { - builder = builder.set_medical_transcription_job_name( + "CallAnalyticsJobName" => { + builder = builder.set_call_analytics_job_name( smithy_json::deserialize::token::expect_string_or_null( tokens.next(), )? @@ -2725,14 +3489,14 @@ where .transpose()?, ); } - "TranscriptionJobStatus" => { - builder = builder.set_transcription_job_status( + "CallAnalyticsJobStatus" => { + builder = builder.set_call_analytics_job_status( smithy_json::deserialize::token::expect_string_or_null( tokens.next(), )? .map(|s| { s.to_unescaped().map(|u| { - crate::model::TranscriptionJobStatus::from(u.as_ref()) + crate::model::CallAnalyticsJobStatus::from(u.as_ref()) }) }) .transpose()?, @@ -2747,23 +3511,126 @@ where .transpose()?, ); } - "OutputLocationType" => { - builder = builder.set_output_location_type( - smithy_json::deserialize::token::expect_string_or_null( - tokens.next(), - )? - .map(|s| { - s.to_unescaped().map(|u| { - crate::model::OutputLocationType::from(u.as_ref()) - }) - }) - .transpose()?, - ); - } - "Specialty" => { - builder = builder.set_specialty( - smithy_json::deserialize::token::expect_string_or_null( - tokens.next(), + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_medical_transcription_job_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::MedicalTranscriptionJobSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "MedicalTranscriptionJobName" => { + builder = builder.set_medical_transcription_job_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CreationTime" => { + builder = builder.set_creation_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "StartTime" => { + builder = builder.set_start_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "CompletionTime" => { + builder = builder.set_completion_time( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LanguageCode" => { + builder = builder.set_language_code( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::LanguageCode::from(u.as_ref())) + }) + .transpose()?, + ); + } + "TranscriptionJobStatus" => { + builder = builder.set_transcription_job_status( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::TranscriptionJobStatus::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "FailureReason" => { + builder = builder.set_failure_reason( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "OutputLocationType" => { + builder = builder.set_output_location_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::OutputLocationType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Specialty" => { + builder = builder.set_specialty( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), )? .map(|s| { s.to_unescaped() @@ -3100,3 +3967,637 @@ where )), } } + +pub fn deser_union_rule<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + let mut variant = None; + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + if variant.is_some() { + return Err(smithy_json::deserialize::Error::custom( + "encountered mixed variants in union", + )); + } + variant = match key.to_unescaped()?.as_ref() { + "NonTalkTimeFilter" => Some(crate::model::Rule::NonTalkTimeFilter( + crate::json_deser::deser_structure_non_talk_time_filter(tokens)? + .ok_or_else(|| { + smithy_json::deserialize::Error::custom( + "value for 'NonTalkTimeFilter' cannot be null", + ) + })?, + )), + "InterruptionFilter" => Some(crate::model::Rule::InterruptionFilter( + crate::json_deser::deser_structure_interruption_filter(tokens)? + .ok_or_else(|| { + smithy_json::deserialize::Error::custom( + "value for 'InterruptionFilter' cannot be null", + ) + })?, + )), + "TranscriptFilter" => Some(crate::model::Rule::TranscriptFilter( + crate::json_deser::deser_structure_transcript_filter(tokens)? + .ok_or_else(|| { + smithy_json::deserialize::Error::custom( + "value for 'TranscriptFilter' cannot be null", + ) + })?, + )), + "SentimentFilter" => Some(crate::model::Rule::SentimentFilter( + crate::json_deser::deser_structure_sentiment_filter(tokens)? + .ok_or_else(|| { + smithy_json::deserialize::Error::custom( + "value for 'SentimentFilter' cannot be null", + ) + })?, + )), + _ => None, + }; + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + }, + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )) + } + } + Ok(variant) +} + +pub fn deser_structure_channel_definition<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ChannelDefinition::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ChannelId" => { + builder = builder.set_channel_id( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "ParticipantRole" => { + builder = builder.set_participant_role( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ParticipantRole::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_non_talk_time_filter<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::NonTalkTimeFilter::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Threshold" => { + builder = builder.set_threshold( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "AbsoluteTimeRange" => { + builder = builder.set_absolute_time_range( + crate::json_deser::deser_structure_absolute_time_range(tokens)?, + ); + } + "RelativeTimeRange" => { + builder = builder.set_relative_time_range( + crate::json_deser::deser_structure_relative_time_range(tokens)?, + ); + } + "Negate" => { + builder = builder.set_negate( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_interruption_filter<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::InterruptionFilter::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Threshold" => { + builder = builder.set_threshold( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "ParticipantRole" => { + builder = builder.set_participant_role( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ParticipantRole::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "AbsoluteTimeRange" => { + builder = builder.set_absolute_time_range( + crate::json_deser::deser_structure_absolute_time_range(tokens)?, + ); + } + "RelativeTimeRange" => { + builder = builder.set_relative_time_range( + crate::json_deser::deser_structure_relative_time_range(tokens)?, + ); + } + "Negate" => { + builder = builder.set_negate( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_transcript_filter<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::TranscriptFilter::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "TranscriptFilterType" => { + builder = builder.set_transcript_filter_type( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::TranscriptFilterType::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "AbsoluteTimeRange" => { + builder = builder.set_absolute_time_range( + crate::json_deser::deser_structure_absolute_time_range(tokens)?, + ); + } + "RelativeTimeRange" => { + builder = builder.set_relative_time_range( + crate::json_deser::deser_structure_relative_time_range(tokens)?, + ); + } + "ParticipantRole" => { + builder = builder.set_participant_role( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ParticipantRole::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Negate" => { + builder = builder.set_negate( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + "Targets" => { + builder = builder.set_targets( + crate::json_deser::deser_list_string_target_list(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_sentiment_filter<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::SentimentFilter::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Sentiments" => { + builder = builder.set_sentiments( + crate::json_deser::deser_list_sentiment_value_list(tokens)?, + ); + } + "AbsoluteTimeRange" => { + builder = builder.set_absolute_time_range( + crate::json_deser::deser_structure_absolute_time_range(tokens)?, + ); + } + "RelativeTimeRange" => { + builder = builder.set_relative_time_range( + crate::json_deser::deser_structure_relative_time_range(tokens)?, + ); + } + "ParticipantRole" => { + builder = builder.set_participant_role( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| { + s.to_unescaped().map(|u| { + crate::model::ParticipantRole::from(u.as_ref()) + }) + }) + .transpose()?, + ); + } + "Negate" => { + builder = builder.set_negate( + smithy_json::deserialize::token::expect_bool_or_null( + tokens.next(), + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_absolute_time_range<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::AbsoluteTimeRange::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "StartTime" => { + builder = builder.set_start_time( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "EndTime" => { + builder = builder.set_end_time( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "First" => { + builder = builder.set_first( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "Last" => { + builder = builder.set_last( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_relative_time_range<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::RelativeTimeRange::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "StartPercentage" => { + builder = builder.set_start_percentage( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "EndPercentage" => { + builder = builder.set_end_percentage( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "First" => { + builder = builder.set_first( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "Last" => { + builder = builder.set_last( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_string_target_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_sentiment_value_list<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result>, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| { + s.to_unescaped() + .map(|u| crate::model::SentimentValue::from(u.as_ref())) + }) + .transpose()?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} diff --git a/sdk/transcribe/src/json_ser.rs b/sdk/transcribe/src/json_ser.rs index 06b0f62f671e..e6182ce522b0 100644 --- a/sdk/transcribe/src/json_ser.rs +++ b/sdk/transcribe/src/json_ser.rs @@ -1,21 +1,41 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_structure_create_call_analytics_category_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::CreateCallAnalyticsCategoryInput, +) { + if let Some(var_1) = &input.category_name { + object.key("CategoryName").string(var_1); + } + if let Some(var_2) = &input.rules { + let mut array_3 = object.key("Rules").start_array(); + for item_4 in var_2 { + { + let mut object_5 = array_3.value().start_object(); + crate::json_ser::serialize_union_rule(&mut object_5, item_4); + object_5.finish(); + } + } + array_3.finish(); + } +} + pub fn serialize_structure_create_language_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateLanguageModelInput, ) { - if let Some(var_1) = &input.language_code { - object.key("LanguageCode").string(var_1.as_str()); + if let Some(var_6) = &input.language_code { + object.key("LanguageCode").string(var_6.as_str()); } - if let Some(var_2) = &input.base_model_name { - object.key("BaseModelName").string(var_2.as_str()); + if let Some(var_7) = &input.base_model_name { + object.key("BaseModelName").string(var_7.as_str()); } - if let Some(var_3) = &input.model_name { - object.key("ModelName").string(var_3); + if let Some(var_8) = &input.model_name { + object.key("ModelName").string(var_8); } - if let Some(var_4) = &input.input_data_config { - let mut object_5 = object.key("InputDataConfig").start_object(); - crate::json_ser::serialize_structure_input_data_config(&mut object_5, var_4); - object_5.finish(); + if let Some(var_9) = &input.input_data_config { + let mut object_10 = object.key("InputDataConfig").start_object(); + crate::json_ser::serialize_structure_input_data_config(&mut object_10, var_9); + object_10.finish(); } } @@ -23,14 +43,14 @@ pub fn serialize_structure_create_medical_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateMedicalVocabularyInput, ) { - if let Some(var_6) = &input.vocabulary_name { - object.key("VocabularyName").string(var_6); + if let Some(var_11) = &input.vocabulary_name { + object.key("VocabularyName").string(var_11); } - if let Some(var_7) = &input.language_code { - object.key("LanguageCode").string(var_7.as_str()); + if let Some(var_12) = &input.language_code { + object.key("LanguageCode").string(var_12.as_str()); } - if let Some(var_8) = &input.vocabulary_file_uri { - object.key("VocabularyFileUri").string(var_8); + if let Some(var_13) = &input.vocabulary_file_uri { + object.key("VocabularyFileUri").string(var_13); } } @@ -38,23 +58,23 @@ pub fn serialize_structure_create_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateVocabularyInput, ) { - if let Some(var_9) = &input.vocabulary_name { - object.key("VocabularyName").string(var_9); + if let Some(var_14) = &input.vocabulary_name { + object.key("VocabularyName").string(var_14); } - if let Some(var_10) = &input.language_code { - object.key("LanguageCode").string(var_10.as_str()); + if let Some(var_15) = &input.language_code { + object.key("LanguageCode").string(var_15.as_str()); } - if let Some(var_11) = &input.phrases { - let mut array_12 = object.key("Phrases").start_array(); - for item_13 in var_11 { + if let Some(var_16) = &input.phrases { + let mut array_17 = object.key("Phrases").start_array(); + for item_18 in var_16 { { - array_12.value().string(item_13); + array_17.value().string(item_18); } } - array_12.finish(); + array_17.finish(); } - if let Some(var_14) = &input.vocabulary_file_uri { - object.key("VocabularyFileUri").string(var_14); + if let Some(var_19) = &input.vocabulary_file_uri { + object.key("VocabularyFileUri").string(var_19); } } @@ -62,23 +82,41 @@ pub fn serialize_structure_create_vocabulary_filter_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::CreateVocabularyFilterInput, ) { - if let Some(var_15) = &input.vocabulary_filter_name { - object.key("VocabularyFilterName").string(var_15); + if let Some(var_20) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_20); } - if let Some(var_16) = &input.language_code { - object.key("LanguageCode").string(var_16.as_str()); + if let Some(var_21) = &input.language_code { + object.key("LanguageCode").string(var_21.as_str()); } - if let Some(var_17) = &input.words { - let mut array_18 = object.key("Words").start_array(); - for item_19 in var_17 { + if let Some(var_22) = &input.words { + let mut array_23 = object.key("Words").start_array(); + for item_24 in var_22 { { - array_18.value().string(item_19); + array_23.value().string(item_24); } } - array_18.finish(); + array_23.finish(); } - if let Some(var_20) = &input.vocabulary_filter_file_uri { - object.key("VocabularyFilterFileUri").string(var_20); + if let Some(var_25) = &input.vocabulary_filter_file_uri { + object.key("VocabularyFilterFileUri").string(var_25); + } +} + +pub fn serialize_structure_delete_call_analytics_category_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteCallAnalyticsCategoryInput, +) { + if let Some(var_26) = &input.category_name { + object.key("CategoryName").string(var_26); + } +} + +pub fn serialize_structure_delete_call_analytics_job_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::DeleteCallAnalyticsJobInput, +) { + if let Some(var_27) = &input.call_analytics_job_name { + object.key("CallAnalyticsJobName").string(var_27); } } @@ -86,8 +124,8 @@ pub fn serialize_structure_delete_language_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteLanguageModelInput, ) { - if let Some(var_21) = &input.model_name { - object.key("ModelName").string(var_21); + if let Some(var_28) = &input.model_name { + object.key("ModelName").string(var_28); } } @@ -95,8 +133,8 @@ pub fn serialize_structure_delete_medical_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteMedicalTranscriptionJobInput, ) { - if let Some(var_22) = &input.medical_transcription_job_name { - object.key("MedicalTranscriptionJobName").string(var_22); + if let Some(var_29) = &input.medical_transcription_job_name { + object.key("MedicalTranscriptionJobName").string(var_29); } } @@ -104,8 +142,8 @@ pub fn serialize_structure_delete_medical_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteMedicalVocabularyInput, ) { - if let Some(var_23) = &input.vocabulary_name { - object.key("VocabularyName").string(var_23); + if let Some(var_30) = &input.vocabulary_name { + object.key("VocabularyName").string(var_30); } } @@ -113,8 +151,8 @@ pub fn serialize_structure_delete_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteTranscriptionJobInput, ) { - if let Some(var_24) = &input.transcription_job_name { - object.key("TranscriptionJobName").string(var_24); + if let Some(var_31) = &input.transcription_job_name { + object.key("TranscriptionJobName").string(var_31); } } @@ -122,8 +160,8 @@ pub fn serialize_structure_delete_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteVocabularyInput, ) { - if let Some(var_25) = &input.vocabulary_name { - object.key("VocabularyName").string(var_25); + if let Some(var_32) = &input.vocabulary_name { + object.key("VocabularyName").string(var_32); } } @@ -131,8 +169,8 @@ pub fn serialize_structure_delete_vocabulary_filter_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DeleteVocabularyFilterInput, ) { - if let Some(var_26) = &input.vocabulary_filter_name { - object.key("VocabularyFilterName").string(var_26); + if let Some(var_33) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_33); } } @@ -140,8 +178,26 @@ pub fn serialize_structure_describe_language_model_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DescribeLanguageModelInput, ) { - if let Some(var_27) = &input.model_name { - object.key("ModelName").string(var_27); + if let Some(var_34) = &input.model_name { + object.key("ModelName").string(var_34); + } +} + +pub fn serialize_structure_get_call_analytics_category_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetCallAnalyticsCategoryInput, +) { + if let Some(var_35) = &input.category_name { + object.key("CategoryName").string(var_35); + } +} + +pub fn serialize_structure_get_call_analytics_job_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetCallAnalyticsJobInput, +) { + if let Some(var_36) = &input.call_analytics_job_name { + object.key("CallAnalyticsJobName").string(var_36); } } @@ -149,8 +205,8 @@ pub fn serialize_structure_get_medical_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetMedicalTranscriptionJobInput, ) { - if let Some(var_28) = &input.medical_transcription_job_name { - object.key("MedicalTranscriptionJobName").string(var_28); + if let Some(var_37) = &input.medical_transcription_job_name { + object.key("MedicalTranscriptionJobName").string(var_37); } } @@ -158,8 +214,8 @@ pub fn serialize_structure_get_medical_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetMedicalVocabularyInput, ) { - if let Some(var_29) = &input.vocabulary_name { - object.key("VocabularyName").string(var_29); + if let Some(var_38) = &input.vocabulary_name { + object.key("VocabularyName").string(var_38); } } @@ -167,8 +223,8 @@ pub fn serialize_structure_get_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetTranscriptionJobInput, ) { - if let Some(var_30) = &input.transcription_job_name { - object.key("TranscriptionJobName").string(var_30); + if let Some(var_39) = &input.transcription_job_name { + object.key("TranscriptionJobName").string(var_39); } } @@ -176,8 +232,8 @@ pub fn serialize_structure_get_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetVocabularyInput, ) { - if let Some(var_31) = &input.vocabulary_name { - object.key("VocabularyName").string(var_31); + if let Some(var_40) = &input.vocabulary_name { + object.key("VocabularyName").string(var_40); } } @@ -185,8 +241,44 @@ pub fn serialize_structure_get_vocabulary_filter_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetVocabularyFilterInput, ) { - if let Some(var_32) = &input.vocabulary_filter_name { - object.key("VocabularyFilterName").string(var_32); + if let Some(var_41) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_41); + } +} + +pub fn serialize_structure_list_call_analytics_categories_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListCallAnalyticsCategoriesInput, +) { + if let Some(var_42) = &input.next_token { + object.key("NextToken").string(var_42); + } + if let Some(var_43) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_43).into()), + ); + } +} + +pub fn serialize_structure_list_call_analytics_jobs_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListCallAnalyticsJobsInput, +) { + if let Some(var_44) = &input.status { + object.key("Status").string(var_44.as_str()); + } + if let Some(var_45) = &input.job_name_contains { + object.key("JobNameContains").string(var_45); + } + if let Some(var_46) = &input.next_token { + object.key("NextToken").string(var_46); + } + if let Some(var_47) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_47).into()), + ); } } @@ -194,19 +286,19 @@ pub fn serialize_structure_list_language_models_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListLanguageModelsInput, ) { - if let Some(var_33) = &input.status_equals { - object.key("StatusEquals").string(var_33.as_str()); + if let Some(var_48) = &input.status_equals { + object.key("StatusEquals").string(var_48.as_str()); } - if let Some(var_34) = &input.name_contains { - object.key("NameContains").string(var_34); + if let Some(var_49) = &input.name_contains { + object.key("NameContains").string(var_49); } - if let Some(var_35) = &input.next_token { - object.key("NextToken").string(var_35); + if let Some(var_50) = &input.next_token { + object.key("NextToken").string(var_50); } - if let Some(var_36) = &input.max_results { + if let Some(var_51) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_36).into()), + smithy_types::Number::NegInt((*var_51).into()), ); } } @@ -215,19 +307,19 @@ pub fn serialize_structure_list_medical_transcription_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListMedicalTranscriptionJobsInput, ) { - if let Some(var_37) = &input.status { - object.key("Status").string(var_37.as_str()); + if let Some(var_52) = &input.status { + object.key("Status").string(var_52.as_str()); } - if let Some(var_38) = &input.job_name_contains { - object.key("JobNameContains").string(var_38); + if let Some(var_53) = &input.job_name_contains { + object.key("JobNameContains").string(var_53); } - if let Some(var_39) = &input.next_token { - object.key("NextToken").string(var_39); + if let Some(var_54) = &input.next_token { + object.key("NextToken").string(var_54); } - if let Some(var_40) = &input.max_results { + if let Some(var_55) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_40).into()), + smithy_types::Number::NegInt((*var_55).into()), ); } } @@ -236,20 +328,20 @@ pub fn serialize_structure_list_medical_vocabularies_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListMedicalVocabulariesInput, ) { - if let Some(var_41) = &input.next_token { - object.key("NextToken").string(var_41); + if let Some(var_56) = &input.next_token { + object.key("NextToken").string(var_56); } - if let Some(var_42) = &input.max_results { + if let Some(var_57) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_42).into()), + smithy_types::Number::NegInt((*var_57).into()), ); } - if let Some(var_43) = &input.state_equals { - object.key("StateEquals").string(var_43.as_str()); + if let Some(var_58) = &input.state_equals { + object.key("StateEquals").string(var_58.as_str()); } - if let Some(var_44) = &input.name_contains { - object.key("NameContains").string(var_44); + if let Some(var_59) = &input.name_contains { + object.key("NameContains").string(var_59); } } @@ -257,19 +349,19 @@ pub fn serialize_structure_list_transcription_jobs_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTranscriptionJobsInput, ) { - if let Some(var_45) = &input.status { - object.key("Status").string(var_45.as_str()); + if let Some(var_60) = &input.status { + object.key("Status").string(var_60.as_str()); } - if let Some(var_46) = &input.job_name_contains { - object.key("JobNameContains").string(var_46); + if let Some(var_61) = &input.job_name_contains { + object.key("JobNameContains").string(var_61); } - if let Some(var_47) = &input.next_token { - object.key("NextToken").string(var_47); + if let Some(var_62) = &input.next_token { + object.key("NextToken").string(var_62); } - if let Some(var_48) = &input.max_results { + if let Some(var_63) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_48).into()), + smithy_types::Number::NegInt((*var_63).into()), ); } } @@ -278,20 +370,20 @@ pub fn serialize_structure_list_vocabularies_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListVocabulariesInput, ) { - if let Some(var_49) = &input.next_token { - object.key("NextToken").string(var_49); + if let Some(var_64) = &input.next_token { + object.key("NextToken").string(var_64); } - if let Some(var_50) = &input.max_results { + if let Some(var_65) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_50).into()), + smithy_types::Number::NegInt((*var_65).into()), ); } - if let Some(var_51) = &input.state_equals { - object.key("StateEquals").string(var_51.as_str()); + if let Some(var_66) = &input.state_equals { + object.key("StateEquals").string(var_66.as_str()); } - if let Some(var_52) = &input.name_contains { - object.key("NameContains").string(var_52); + if let Some(var_67) = &input.name_contains { + object.key("NameContains").string(var_67); } } @@ -299,17 +391,56 @@ pub fn serialize_structure_list_vocabulary_filters_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListVocabularyFiltersInput, ) { - if let Some(var_53) = &input.next_token { - object.key("NextToken").string(var_53); + if let Some(var_68) = &input.next_token { + object.key("NextToken").string(var_68); } - if let Some(var_54) = &input.max_results { + if let Some(var_69) = &input.max_results { object.key("MaxResults").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_54).into()), + smithy_types::Number::NegInt((*var_69).into()), ); } - if let Some(var_55) = &input.name_contains { - object.key("NameContains").string(var_55); + if let Some(var_70) = &input.name_contains { + object.key("NameContains").string(var_70); + } +} + +pub fn serialize_structure_start_call_analytics_job_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::StartCallAnalyticsJobInput, +) { + if let Some(var_71) = &input.call_analytics_job_name { + object.key("CallAnalyticsJobName").string(var_71); + } + if let Some(var_72) = &input.media { + let mut object_73 = object.key("Media").start_object(); + crate::json_ser::serialize_structure_media(&mut object_73, var_72); + object_73.finish(); + } + if let Some(var_74) = &input.output_location { + object.key("OutputLocation").string(var_74); + } + if let Some(var_75) = &input.output_encryption_kms_key_id { + object.key("OutputEncryptionKMSKeyId").string(var_75); + } + if let Some(var_76) = &input.data_access_role_arn { + object.key("DataAccessRoleArn").string(var_76); + } + if let Some(var_77) = &input.settings { + let mut object_78 = object.key("Settings").start_object(); + crate::json_ser::serialize_structure_call_analytics_job_settings(&mut object_78, var_77); + object_78.finish(); + } + if let Some(var_79) = &input.channel_definitions { + let mut array_80 = object.key("ChannelDefinitions").start_array(); + for item_81 in var_79 { + { + let mut object_82 = array_80.value().start_object(); + crate::json_ser::serialize_structure_channel_definition(&mut object_82, item_81); + object_82.finish(); + } + } + array_80.finish(); } } @@ -317,50 +448,50 @@ pub fn serialize_structure_start_medical_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartMedicalTranscriptionJobInput, ) { - if let Some(var_56) = &input.medical_transcription_job_name { - object.key("MedicalTranscriptionJobName").string(var_56); + if let Some(var_83) = &input.medical_transcription_job_name { + object.key("MedicalTranscriptionJobName").string(var_83); } - if let Some(var_57) = &input.language_code { - object.key("LanguageCode").string(var_57.as_str()); + if let Some(var_84) = &input.language_code { + object.key("LanguageCode").string(var_84.as_str()); } - if let Some(var_58) = &input.media_sample_rate_hertz { + if let Some(var_85) = &input.media_sample_rate_hertz { object.key("MediaSampleRateHertz").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_58).into()), + smithy_types::Number::NegInt((*var_85).into()), ); } - if let Some(var_59) = &input.media_format { - object.key("MediaFormat").string(var_59.as_str()); + if let Some(var_86) = &input.media_format { + object.key("MediaFormat").string(var_86.as_str()); } - if let Some(var_60) = &input.media { - let mut object_61 = object.key("Media").start_object(); - crate::json_ser::serialize_structure_media(&mut object_61, var_60); - object_61.finish(); + if let Some(var_87) = &input.media { + let mut object_88 = object.key("Media").start_object(); + crate::json_ser::serialize_structure_media(&mut object_88, var_87); + object_88.finish(); } - if let Some(var_62) = &input.output_bucket_name { - object.key("OutputBucketName").string(var_62); + if let Some(var_89) = &input.output_bucket_name { + object.key("OutputBucketName").string(var_89); } - if let Some(var_63) = &input.output_key { - object.key("OutputKey").string(var_63); + if let Some(var_90) = &input.output_key { + object.key("OutputKey").string(var_90); } - if let Some(var_64) = &input.output_encryption_kms_key_id { - object.key("OutputEncryptionKMSKeyId").string(var_64); + if let Some(var_91) = &input.output_encryption_kms_key_id { + object.key("OutputEncryptionKMSKeyId").string(var_91); } - if let Some(var_65) = &input.settings { - let mut object_66 = object.key("Settings").start_object(); - crate::json_ser::serialize_structure_medical_transcription_setting(&mut object_66, var_65); - object_66.finish(); + if let Some(var_92) = &input.settings { + let mut object_93 = object.key("Settings").start_object(); + crate::json_ser::serialize_structure_medical_transcription_setting(&mut object_93, var_92); + object_93.finish(); } - if let Some(var_67) = &input.content_identification_type { + if let Some(var_94) = &input.content_identification_type { object .key("ContentIdentificationType") - .string(var_67.as_str()); + .string(var_94.as_str()); } - if let Some(var_68) = &input.specialty { - object.key("Specialty").string(var_68.as_str()); + if let Some(var_95) = &input.specialty { + object.key("Specialty").string(var_95.as_str()); } - if let Some(var_69) = &input.r#type { - object.key("Type").string(var_69.as_str()); + if let Some(var_96) = &input.r#type { + object.key("Type").string(var_96.as_str()); } } @@ -368,66 +499,86 @@ pub fn serialize_structure_start_transcription_job_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::StartTranscriptionJobInput, ) { - if let Some(var_70) = &input.transcription_job_name { - object.key("TranscriptionJobName").string(var_70); + if let Some(var_97) = &input.transcription_job_name { + object.key("TranscriptionJobName").string(var_97); } - if let Some(var_71) = &input.language_code { - object.key("LanguageCode").string(var_71.as_str()); + if let Some(var_98) = &input.language_code { + object.key("LanguageCode").string(var_98.as_str()); } - if let Some(var_72) = &input.media_sample_rate_hertz { + if let Some(var_99) = &input.media_sample_rate_hertz { object.key("MediaSampleRateHertz").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_72).into()), + smithy_types::Number::NegInt((*var_99).into()), ); } - if let Some(var_73) = &input.media_format { - object.key("MediaFormat").string(var_73.as_str()); + if let Some(var_100) = &input.media_format { + object.key("MediaFormat").string(var_100.as_str()); } - if let Some(var_74) = &input.media { - let mut object_75 = object.key("Media").start_object(); - crate::json_ser::serialize_structure_media(&mut object_75, var_74); - object_75.finish(); + if let Some(var_101) = &input.media { + let mut object_102 = object.key("Media").start_object(); + crate::json_ser::serialize_structure_media(&mut object_102, var_101); + object_102.finish(); } - if let Some(var_76) = &input.output_bucket_name { - object.key("OutputBucketName").string(var_76); + if let Some(var_103) = &input.output_bucket_name { + object.key("OutputBucketName").string(var_103); } - if let Some(var_77) = &input.output_key { - object.key("OutputKey").string(var_77); + if let Some(var_104) = &input.output_key { + object.key("OutputKey").string(var_104); } - if let Some(var_78) = &input.output_encryption_kms_key_id { - object.key("OutputEncryptionKMSKeyId").string(var_78); + if let Some(var_105) = &input.output_encryption_kms_key_id { + object.key("OutputEncryptionKMSKeyId").string(var_105); } - if let Some(var_79) = &input.settings { - let mut object_80 = object.key("Settings").start_object(); - crate::json_ser::serialize_structure_settings(&mut object_80, var_79); - object_80.finish(); + if let Some(var_106) = &input.settings { + let mut object_107 = object.key("Settings").start_object(); + crate::json_ser::serialize_structure_settings(&mut object_107, var_106); + object_107.finish(); } - if let Some(var_81) = &input.model_settings { - let mut object_82 = object.key("ModelSettings").start_object(); - crate::json_ser::serialize_structure_model_settings(&mut object_82, var_81); - object_82.finish(); + if let Some(var_108) = &input.model_settings { + let mut object_109 = object.key("ModelSettings").start_object(); + crate::json_ser::serialize_structure_model_settings(&mut object_109, var_108); + object_109.finish(); } - if let Some(var_83) = &input.job_execution_settings { - let mut object_84 = object.key("JobExecutionSettings").start_object(); - crate::json_ser::serialize_structure_job_execution_settings(&mut object_84, var_83); - object_84.finish(); + if let Some(var_110) = &input.job_execution_settings { + let mut object_111 = object.key("JobExecutionSettings").start_object(); + crate::json_ser::serialize_structure_job_execution_settings(&mut object_111, var_110); + object_111.finish(); } - if let Some(var_85) = &input.content_redaction { - let mut object_86 = object.key("ContentRedaction").start_object(); - crate::json_ser::serialize_structure_content_redaction(&mut object_86, var_85); - object_86.finish(); + if let Some(var_112) = &input.content_redaction { + let mut object_113 = object.key("ContentRedaction").start_object(); + crate::json_ser::serialize_structure_content_redaction(&mut object_113, var_112); + object_113.finish(); } - if let Some(var_87) = &input.identify_language { - object.key("IdentifyLanguage").boolean(*var_87); + if let Some(var_114) = &input.identify_language { + object.key("IdentifyLanguage").boolean(*var_114); } - if let Some(var_88) = &input.language_options { - let mut array_89 = object.key("LanguageOptions").start_array(); - for item_90 in var_88 { + if let Some(var_115) = &input.language_options { + let mut array_116 = object.key("LanguageOptions").start_array(); + for item_117 in var_115 { { - array_89.value().string(item_90.as_str()); + array_116.value().string(item_117.as_str()); } } - array_89.finish(); + array_116.finish(); + } +} + +pub fn serialize_structure_update_call_analytics_category_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateCallAnalyticsCategoryInput, +) { + if let Some(var_118) = &input.category_name { + object.key("CategoryName").string(var_118); + } + if let Some(var_119) = &input.rules { + let mut array_120 = object.key("Rules").start_array(); + for item_121 in var_119 { + { + let mut object_122 = array_120.value().start_object(); + crate::json_ser::serialize_union_rule(&mut object_122, item_121); + object_122.finish(); + } + } + array_120.finish(); } } @@ -435,14 +586,14 @@ pub fn serialize_structure_update_medical_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateMedicalVocabularyInput, ) { - if let Some(var_91) = &input.vocabulary_name { - object.key("VocabularyName").string(var_91); + if let Some(var_123) = &input.vocabulary_name { + object.key("VocabularyName").string(var_123); } - if let Some(var_92) = &input.language_code { - object.key("LanguageCode").string(var_92.as_str()); + if let Some(var_124) = &input.language_code { + object.key("LanguageCode").string(var_124.as_str()); } - if let Some(var_93) = &input.vocabulary_file_uri { - object.key("VocabularyFileUri").string(var_93); + if let Some(var_125) = &input.vocabulary_file_uri { + object.key("VocabularyFileUri").string(var_125); } } @@ -450,23 +601,23 @@ pub fn serialize_structure_update_vocabulary_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateVocabularyInput, ) { - if let Some(var_94) = &input.vocabulary_name { - object.key("VocabularyName").string(var_94); + if let Some(var_126) = &input.vocabulary_name { + object.key("VocabularyName").string(var_126); } - if let Some(var_95) = &input.language_code { - object.key("LanguageCode").string(var_95.as_str()); + if let Some(var_127) = &input.language_code { + object.key("LanguageCode").string(var_127.as_str()); } - if let Some(var_96) = &input.phrases { - let mut array_97 = object.key("Phrases").start_array(); - for item_98 in var_96 { + if let Some(var_128) = &input.phrases { + let mut array_129 = object.key("Phrases").start_array(); + for item_130 in var_128 { { - array_97.value().string(item_98); + array_129.value().string(item_130); } } - array_97.finish(); + array_129.finish(); } - if let Some(var_99) = &input.vocabulary_file_uri { - object.key("VocabularyFileUri").string(var_99); + if let Some(var_131) = &input.vocabulary_file_uri { + object.key("VocabularyFileUri").string(var_131); } } @@ -474,20 +625,48 @@ pub fn serialize_structure_update_vocabulary_filter_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateVocabularyFilterInput, ) { - if let Some(var_100) = &input.vocabulary_filter_name { - object.key("VocabularyFilterName").string(var_100); + if let Some(var_132) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_132); } - if let Some(var_101) = &input.words { - let mut array_102 = object.key("Words").start_array(); - for item_103 in var_101 { + if let Some(var_133) = &input.words { + let mut array_134 = object.key("Words").start_array(); + for item_135 in var_133 { { - array_102.value().string(item_103); + array_134.value().string(item_135); } } - array_102.finish(); + array_134.finish(); } - if let Some(var_104) = &input.vocabulary_filter_file_uri { - object.key("VocabularyFilterFileUri").string(var_104); + if let Some(var_136) = &input.vocabulary_filter_file_uri { + object.key("VocabularyFilterFileUri").string(var_136); + } +} + +pub fn serialize_union_rule( + object_5: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::Rule, +) { + match input { + crate::model::Rule::NonTalkTimeFilter(inner) => { + let mut object_137 = object_5.key("NonTalkTimeFilter").start_object(); + crate::json_ser::serialize_structure_non_talk_time_filter(&mut object_137, inner); + object_137.finish(); + } + crate::model::Rule::InterruptionFilter(inner) => { + let mut object_138 = object_5.key("InterruptionFilter").start_object(); + crate::json_ser::serialize_structure_interruption_filter(&mut object_138, inner); + object_138.finish(); + } + crate::model::Rule::TranscriptFilter(inner) => { + let mut object_139 = object_5.key("TranscriptFilter").start_object(); + crate::json_ser::serialize_structure_transcript_filter(&mut object_139, inner); + object_139.finish(); + } + crate::model::Rule::SentimentFilter(inner) => { + let mut object_140 = object_5.key("SentimentFilter").start_object(); + crate::json_ser::serialize_structure_sentiment_filter(&mut object_140, inner); + object_140.finish(); + } } } @@ -495,14 +674,14 @@ pub fn serialize_structure_input_data_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::InputDataConfig, ) { - if let Some(var_105) = &input.s3_uri { - object.key("S3Uri").string(var_105); + if let Some(var_141) = &input.s3_uri { + object.key("S3Uri").string(var_141); } - if let Some(var_106) = &input.tuning_data_s3_uri { - object.key("TuningDataS3Uri").string(var_106); + if let Some(var_142) = &input.tuning_data_s3_uri { + object.key("TuningDataS3Uri").string(var_142); } - if let Some(var_107) = &input.data_access_role_arn { - object.key("DataAccessRoleArn").string(var_107); + if let Some(var_143) = &input.data_access_role_arn { + object.key("DataAccessRoleArn").string(var_143); } } @@ -510,8 +689,60 @@ pub fn serialize_structure_media( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Media, ) { - if let Some(var_108) = &input.media_file_uri { - object.key("MediaFileUri").string(var_108); + if let Some(var_144) = &input.media_file_uri { + object.key("MediaFileUri").string(var_144); + } + if let Some(var_145) = &input.redacted_media_file_uri { + object.key("RedactedMediaFileUri").string(var_145); + } +} + +pub fn serialize_structure_call_analytics_job_settings( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::CallAnalyticsJobSettings, +) { + if let Some(var_146) = &input.vocabulary_name { + object.key("VocabularyName").string(var_146); + } + if let Some(var_147) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_147); + } + if let Some(var_148) = &input.vocabulary_filter_method { + object + .key("VocabularyFilterMethod") + .string(var_148.as_str()); + } + if let Some(var_149) = &input.language_model_name { + object.key("LanguageModelName").string(var_149); + } + if let Some(var_150) = &input.content_redaction { + let mut object_151 = object.key("ContentRedaction").start_object(); + crate::json_ser::serialize_structure_content_redaction(&mut object_151, var_150); + object_151.finish(); + } + if let Some(var_152) = &input.language_options { + let mut array_153 = object.key("LanguageOptions").start_array(); + for item_154 in var_152 { + { + array_153.value().string(item_154.as_str()); + } + } + array_153.finish(); + } +} + +pub fn serialize_structure_channel_definition( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::ChannelDefinition, +) { + if input.channel_id != 0 { + object.key("ChannelId").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((input.channel_id).into()), + ); + } + if let Some(var_155) = &input.participant_role { + object.key("ParticipantRole").string(var_155.as_str()); } } @@ -519,29 +750,29 @@ pub fn serialize_structure_medical_transcription_setting( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::MedicalTranscriptionSetting, ) { - if let Some(var_109) = &input.show_speaker_labels { - object.key("ShowSpeakerLabels").boolean(*var_109); + if let Some(var_156) = &input.show_speaker_labels { + object.key("ShowSpeakerLabels").boolean(*var_156); } - if let Some(var_110) = &input.max_speaker_labels { + if let Some(var_157) = &input.max_speaker_labels { object.key("MaxSpeakerLabels").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_110).into()), + smithy_types::Number::NegInt((*var_157).into()), ); } - if let Some(var_111) = &input.channel_identification { - object.key("ChannelIdentification").boolean(*var_111); + if let Some(var_158) = &input.channel_identification { + object.key("ChannelIdentification").boolean(*var_158); } - if let Some(var_112) = &input.show_alternatives { - object.key("ShowAlternatives").boolean(*var_112); + if let Some(var_159) = &input.show_alternatives { + object.key("ShowAlternatives").boolean(*var_159); } - if let Some(var_113) = &input.max_alternatives { + if let Some(var_160) = &input.max_alternatives { object.key("MaxAlternatives").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_113).into()), + smithy_types::Number::NegInt((*var_160).into()), ); } - if let Some(var_114) = &input.vocabulary_name { - object.key("VocabularyName").string(var_114); + if let Some(var_161) = &input.vocabulary_name { + object.key("VocabularyName").string(var_161); } } @@ -549,37 +780,37 @@ pub fn serialize_structure_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Settings, ) { - if let Some(var_115) = &input.vocabulary_name { - object.key("VocabularyName").string(var_115); + if let Some(var_162) = &input.vocabulary_name { + object.key("VocabularyName").string(var_162); } - if let Some(var_116) = &input.show_speaker_labels { - object.key("ShowSpeakerLabels").boolean(*var_116); + if let Some(var_163) = &input.show_speaker_labels { + object.key("ShowSpeakerLabels").boolean(*var_163); } - if let Some(var_117) = &input.max_speaker_labels { + if let Some(var_164) = &input.max_speaker_labels { object.key("MaxSpeakerLabels").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_117).into()), + smithy_types::Number::NegInt((*var_164).into()), ); } - if let Some(var_118) = &input.channel_identification { - object.key("ChannelIdentification").boolean(*var_118); + if let Some(var_165) = &input.channel_identification { + object.key("ChannelIdentification").boolean(*var_165); } - if let Some(var_119) = &input.show_alternatives { - object.key("ShowAlternatives").boolean(*var_119); + if let Some(var_166) = &input.show_alternatives { + object.key("ShowAlternatives").boolean(*var_166); } - if let Some(var_120) = &input.max_alternatives { + if let Some(var_167) = &input.max_alternatives { object.key("MaxAlternatives").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_120).into()), + smithy_types::Number::NegInt((*var_167).into()), ); } - if let Some(var_121) = &input.vocabulary_filter_name { - object.key("VocabularyFilterName").string(var_121); + if let Some(var_168) = &input.vocabulary_filter_name { + object.key("VocabularyFilterName").string(var_168); } - if let Some(var_122) = &input.vocabulary_filter_method { + if let Some(var_169) = &input.vocabulary_filter_method { object .key("VocabularyFilterMethod") - .string(var_122.as_str()); + .string(var_169.as_str()); } } @@ -587,8 +818,8 @@ pub fn serialize_structure_model_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ModelSettings, ) { - if let Some(var_123) = &input.language_model_name { - object.key("LanguageModelName").string(var_123); + if let Some(var_170) = &input.language_model_name { + object.key("LanguageModelName").string(var_170); } } @@ -596,11 +827,11 @@ pub fn serialize_structure_job_execution_settings( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::JobExecutionSettings, ) { - if let Some(var_124) = &input.allow_deferred_execution { - object.key("AllowDeferredExecution").boolean(*var_124); + if let Some(var_171) = &input.allow_deferred_execution { + object.key("AllowDeferredExecution").boolean(*var_171); } - if let Some(var_125) = &input.data_access_role_arn { - object.key("DataAccessRoleArn").string(var_125); + if let Some(var_172) = &input.data_access_role_arn { + object.key("DataAccessRoleArn").string(var_172); } } @@ -608,10 +839,188 @@ pub fn serialize_structure_content_redaction( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ContentRedaction, ) { - if let Some(var_126) = &input.redaction_type { - object.key("RedactionType").string(var_126.as_str()); + if let Some(var_173) = &input.redaction_type { + object.key("RedactionType").string(var_173.as_str()); + } + if let Some(var_174) = &input.redaction_output { + object.key("RedactionOutput").string(var_174.as_str()); + } +} + +pub fn serialize_structure_non_talk_time_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::NonTalkTimeFilter, +) { + if let Some(var_175) = &input.threshold { + object.key("Threshold").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_175).into()), + ); + } + if let Some(var_176) = &input.absolute_time_range { + let mut object_177 = object.key("AbsoluteTimeRange").start_object(); + crate::json_ser::serialize_structure_absolute_time_range(&mut object_177, var_176); + object_177.finish(); + } + if let Some(var_178) = &input.relative_time_range { + let mut object_179 = object.key("RelativeTimeRange").start_object(); + crate::json_ser::serialize_structure_relative_time_range(&mut object_179, var_178); + object_179.finish(); + } + if let Some(var_180) = &input.negate { + object.key("Negate").boolean(*var_180); + } +} + +pub fn serialize_structure_interruption_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::InterruptionFilter, +) { + if let Some(var_181) = &input.threshold { + object.key("Threshold").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_181).into()), + ); + } + if let Some(var_182) = &input.participant_role { + object.key("ParticipantRole").string(var_182.as_str()); + } + if let Some(var_183) = &input.absolute_time_range { + let mut object_184 = object.key("AbsoluteTimeRange").start_object(); + crate::json_ser::serialize_structure_absolute_time_range(&mut object_184, var_183); + object_184.finish(); + } + if let Some(var_185) = &input.relative_time_range { + let mut object_186 = object.key("RelativeTimeRange").start_object(); + crate::json_ser::serialize_structure_relative_time_range(&mut object_186, var_185); + object_186.finish(); + } + if let Some(var_187) = &input.negate { + object.key("Negate").boolean(*var_187); } - if let Some(var_127) = &input.redaction_output { - object.key("RedactionOutput").string(var_127.as_str()); +} + +pub fn serialize_structure_transcript_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::TranscriptFilter, +) { + if let Some(var_188) = &input.transcript_filter_type { + object.key("TranscriptFilterType").string(var_188.as_str()); + } + if let Some(var_189) = &input.absolute_time_range { + let mut object_190 = object.key("AbsoluteTimeRange").start_object(); + crate::json_ser::serialize_structure_absolute_time_range(&mut object_190, var_189); + object_190.finish(); + } + if let Some(var_191) = &input.relative_time_range { + let mut object_192 = object.key("RelativeTimeRange").start_object(); + crate::json_ser::serialize_structure_relative_time_range(&mut object_192, var_191); + object_192.finish(); + } + if let Some(var_193) = &input.participant_role { + object.key("ParticipantRole").string(var_193.as_str()); + } + if let Some(var_194) = &input.negate { + object.key("Negate").boolean(*var_194); + } + if let Some(var_195) = &input.targets { + let mut array_196 = object.key("Targets").start_array(); + for item_197 in var_195 { + { + array_196.value().string(item_197); + } + } + array_196.finish(); + } +} + +pub fn serialize_structure_sentiment_filter( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::SentimentFilter, +) { + if let Some(var_198) = &input.sentiments { + let mut array_199 = object.key("Sentiments").start_array(); + for item_200 in var_198 { + { + array_199.value().string(item_200.as_str()); + } + } + array_199.finish(); + } + if let Some(var_201) = &input.absolute_time_range { + let mut object_202 = object.key("AbsoluteTimeRange").start_object(); + crate::json_ser::serialize_structure_absolute_time_range(&mut object_202, var_201); + object_202.finish(); + } + if let Some(var_203) = &input.relative_time_range { + let mut object_204 = object.key("RelativeTimeRange").start_object(); + crate::json_ser::serialize_structure_relative_time_range(&mut object_204, var_203); + object_204.finish(); + } + if let Some(var_205) = &input.participant_role { + object.key("ParticipantRole").string(var_205.as_str()); + } + if let Some(var_206) = &input.negate { + object.key("Negate").boolean(*var_206); + } +} + +pub fn serialize_structure_absolute_time_range( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::AbsoluteTimeRange, +) { + if let Some(var_207) = &input.start_time { + object.key("StartTime").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_207).into()), + ); + } + if let Some(var_208) = &input.end_time { + object.key("EndTime").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_208).into()), + ); + } + if let Some(var_209) = &input.first { + object.key("First").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_209).into()), + ); + } + if let Some(var_210) = &input.last { + object.key("Last").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_210).into()), + ); + } +} + +pub fn serialize_structure_relative_time_range( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::RelativeTimeRange, +) { + if let Some(var_211) = &input.start_percentage { + object.key("StartPercentage").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_211).into()), + ); + } + if let Some(var_212) = &input.end_percentage { + object.key("EndPercentage").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_212).into()), + ); + } + if let Some(var_213) = &input.first { + object.key("First").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_213).into()), + ); + } + if let Some(var_214) = &input.last { + object.key("Last").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_214).into()), + ); } } diff --git a/sdk/transcribe/src/model.rs b/sdk/transcribe/src/model.rs index f53b77979da4..f1d35aae91a5 100644 --- a/sdk/transcribe/src/model.rs +++ b/sdk/transcribe/src/model.rs @@ -209,556 +209,837 @@ impl AsRef for VocabularyState { } } -///

                                                                                              Describes an asynchronous transcription job that was created with the -/// StartTranscriptionJob operation.

                                                                                              +///

                                                                                              An object that contains the rules and additional information about a call analytics category.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct TranscriptionJob { - ///

                                                                                              The name of the transcription job.

                                                                                              - pub transcription_job_name: std::option::Option, - ///

                                                                                              The status of the transcription job.

                                                                                              - pub transcription_job_status: std::option::Option, - ///

                                                                                              The language code for the input speech.

                                                                                              - pub language_code: std::option::Option, - ///

                                                                                              The sample rate, in Hertz, of the audio track in the input media file.

                                                                                              - pub media_sample_rate_hertz: std::option::Option, - ///

                                                                                              The format of the input media file.

                                                                                              - pub media_format: std::option::Option, - ///

                                                                                              An object that describes the input media for the transcription job.

                                                                                              - pub media: std::option::Option, - ///

                                                                                              An object that describes the output of the transcription job.

                                                                                              - pub transcript: std::option::Option, - ///

                                                                                              A timestamp that shows with the job was started processing.

                                                                                              - pub start_time: std::option::Option, - ///

                                                                                              A timestamp that shows when the job was created.

                                                                                              - pub creation_time: std::option::Option, - ///

                                                                                              A timestamp that shows when the job was completed.

                                                                                              - pub completion_time: std::option::Option, - ///

                                                                                              If the TranscriptionJobStatus field is FAILED, this field - /// contains information about why the job failed.

                                                                                              - ///

                                                                                              The FailureReason field can contain one of the following values:

                                                                                              - ///
                                                                                                - ///
                                                                                              • - ///

                                                                                                - /// Unsupported media format - The media format specified in the - /// MediaFormat field of the request isn't valid. See the - /// description of the MediaFormat field for a list of valid - /// values.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// The media format provided does not match the detected media - /// format - The media format of the audio file doesn't match the format - /// specified in the MediaFormat field in the request. Check the media - /// format of your media file and make sure that the two values match.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// Invalid sample rate for audio file - The sample rate specified in - /// the MediaSampleRateHertz of the request isn't valid. The sample - /// rate must be between 8000 and 48000 Hertz.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// The sample rate provided does not match the detected sample rate - /// - The sample rate in the audio file doesn't match the sample rate specified in - /// the MediaSampleRateHertz field in the request. Check the sample - /// rate of your media file and make sure that the two values match.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// Invalid file size: file size too large - The size of your audio - /// file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// Invalid number of channels: number of channels too large - Your - /// audio contains more channels than Amazon Transcribe is configured to process. To request - /// additional channels, see Amazon Transcribe Limits in the Amazon Web Services - /// General Reference.

                                                                                                - ///
                                                                                              • - ///
                                                                                              - pub failure_reason: std::option::Option, - ///

                                                                                              Optional settings for the transcription job. Use these settings to turn on speaker - /// recognition, to set the maximum number of speakers that should be identified and to - /// specify a custom vocabulary to use when processing the transcription job.

                                                                                              - pub settings: std::option::Option, - ///

                                                                                              An object containing the details of your custom language model.

                                                                                              - pub model_settings: std::option::Option, - ///

                                                                                              Provides information about how a transcription job is executed.

                                                                                              - pub job_execution_settings: std::option::Option, - ///

                                                                                              An object that describes content redaction settings for the transcription job.

                                                                                              - pub content_redaction: std::option::Option, - ///

                                                                                              A value that shows if automatic language identification was enabled for a - /// transcription job.

                                                                                              - pub identify_language: std::option::Option, - ///

                                                                                              An object that shows the optional array of languages inputted for transcription jobs - /// with automatic language identification enabled.

                                                                                              - pub language_options: std::option::Option>, - ///

                                                                                              A value between zero and one that Amazon Transcribe assigned to the language that it identified in - /// the source audio. Larger values indicate that Amazon Transcribe has higher confidence in the - /// language it identified.

                                                                                              - pub identified_language_score: std::option::Option, +pub struct CategoryProperties { + ///

                                                                                              The name of the call analytics category.

                                                                                              + pub category_name: std::option::Option, + ///

                                                                                              The rules used to create a call analytics category.

                                                                                              + pub rules: std::option::Option>, + ///

                                                                                              A timestamp that shows when the call analytics category was created.

                                                                                              + pub create_time: std::option::Option, + ///

                                                                                              A timestamp that shows when the call analytics category was most recently updated.

                                                                                              + pub last_update_time: std::option::Option, } -impl std::fmt::Debug for TranscriptionJob { +impl std::fmt::Debug for CategoryProperties { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("TranscriptionJob"); - formatter.field("transcription_job_name", &self.transcription_job_name); - formatter.field("transcription_job_status", &self.transcription_job_status); - formatter.field("language_code", &self.language_code); - formatter.field("media_sample_rate_hertz", &self.media_sample_rate_hertz); - formatter.field("media_format", &self.media_format); - formatter.field("media", &self.media); - formatter.field("transcript", &self.transcript); - formatter.field("start_time", &self.start_time); - formatter.field("creation_time", &self.creation_time); - formatter.field("completion_time", &self.completion_time); - formatter.field("failure_reason", &self.failure_reason); - formatter.field("settings", &self.settings); - formatter.field("model_settings", &self.model_settings); - formatter.field("job_execution_settings", &self.job_execution_settings); - formatter.field("content_redaction", &self.content_redaction); - formatter.field("identify_language", &self.identify_language); - formatter.field("language_options", &self.language_options); - formatter.field("identified_language_score", &self.identified_language_score); + let mut formatter = f.debug_struct("CategoryProperties"); + formatter.field("category_name", &self.category_name); + formatter.field("rules", &self.rules); + formatter.field("create_time", &self.create_time); + formatter.field("last_update_time", &self.last_update_time); formatter.finish() } } -/// See [`TranscriptionJob`](crate::model::TranscriptionJob) -pub mod transcription_job { - /// A builder for [`TranscriptionJob`](crate::model::TranscriptionJob) +/// See [`CategoryProperties`](crate::model::CategoryProperties) +pub mod category_properties { + /// A builder for [`CategoryProperties`](crate::model::CategoryProperties) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) transcription_job_name: std::option::Option, - pub(crate) transcription_job_status: - std::option::Option, - pub(crate) language_code: std::option::Option, - pub(crate) media_sample_rate_hertz: std::option::Option, - pub(crate) media_format: std::option::Option, - pub(crate) media: std::option::Option, - pub(crate) transcript: std::option::Option, - pub(crate) start_time: std::option::Option, - pub(crate) creation_time: std::option::Option, - pub(crate) completion_time: std::option::Option, - pub(crate) failure_reason: std::option::Option, - pub(crate) settings: std::option::Option, - pub(crate) model_settings: std::option::Option, - pub(crate) job_execution_settings: std::option::Option, - pub(crate) content_redaction: std::option::Option, - pub(crate) identify_language: std::option::Option, - pub(crate) language_options: std::option::Option>, - pub(crate) identified_language_score: std::option::Option, + pub(crate) category_name: std::option::Option, + pub(crate) rules: std::option::Option>, + pub(crate) create_time: std::option::Option, + pub(crate) last_update_time: std::option::Option, } impl Builder { - ///

                                                                                              The name of the transcription job.

                                                                                              - pub fn transcription_job_name(mut self, input: impl Into) -> Self { - self.transcription_job_name = Some(input.into()); + ///

                                                                                              The name of the call analytics category.

                                                                                              + pub fn category_name(mut self, input: impl Into) -> Self { + self.category_name = Some(input.into()); self } - pub fn set_transcription_job_name( + pub fn set_category_name( mut self, input: std::option::Option, ) -> Self { - self.transcription_job_name = input; + self.category_name = input; self } - ///

                                                                                              The status of the transcription job.

                                                                                              - pub fn transcription_job_status( - mut self, - input: crate::model::TranscriptionJobStatus, - ) -> Self { - self.transcription_job_status = Some(input); + pub fn rules(mut self, input: impl Into) -> Self { + let mut v = self.rules.unwrap_or_default(); + v.push(input.into()); + self.rules = Some(v); self } - pub fn set_transcription_job_status( + pub fn set_rules( mut self, - input: std::option::Option, + input: std::option::Option>, ) -> Self { - self.transcription_job_status = input; + self.rules = input; self } - ///

                                                                                              The language code for the input speech.

                                                                                              - pub fn language_code(mut self, input: crate::model::LanguageCode) -> Self { - self.language_code = Some(input); + ///

                                                                                              A timestamp that shows when the call analytics category was created.

                                                                                              + pub fn create_time(mut self, input: smithy_types::Instant) -> Self { + self.create_time = Some(input); self } - pub fn set_language_code( + pub fn set_create_time( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.language_code = input; - self - } - ///

                                                                                              The sample rate, in Hertz, of the audio track in the input media file.

                                                                                              - pub fn media_sample_rate_hertz(mut self, input: i32) -> Self { - self.media_sample_rate_hertz = Some(input); - self - } - pub fn set_media_sample_rate_hertz(mut self, input: std::option::Option) -> Self { - self.media_sample_rate_hertz = input; + self.create_time = input; self } - ///

                                                                                              The format of the input media file.

                                                                                              - pub fn media_format(mut self, input: crate::model::MediaFormat) -> Self { - self.media_format = Some(input); + ///

                                                                                              A timestamp that shows when the call analytics category was most recently updated.

                                                                                              + pub fn last_update_time(mut self, input: smithy_types::Instant) -> Self { + self.last_update_time = Some(input); self } - pub fn set_media_format( + pub fn set_last_update_time( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.media_format = input; + self.last_update_time = input; self } - ///

                                                                                              An object that describes the input media for the transcription job.

                                                                                              - pub fn media(mut self, input: crate::model::Media) -> Self { - self.media = Some(input); + /// Consumes the builder and constructs a [`CategoryProperties`](crate::model::CategoryProperties) + pub fn build(self) -> crate::model::CategoryProperties { + crate::model::CategoryProperties { + category_name: self.category_name, + rules: self.rules, + create_time: self.create_time, + last_update_time: self.last_update_time, + } + } + } +} +impl CategoryProperties { + /// Creates a new builder-style object to manufacture [`CategoryProperties`](crate::model::CategoryProperties) + pub fn builder() -> crate::model::category_properties::Builder { + crate::model::category_properties::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] +pub enum Rule { + ///

                                                                                              A condition for a time period when either the customer or agent was interrupting the + /// other person.

                                                                                              + InterruptionFilter(crate::model::InterruptionFilter), + ///

                                                                                              A condition for a time period when neither the customer nor the agent was talking.

                                                                                              + NonTalkTimeFilter(crate::model::NonTalkTimeFilter), + ///

                                                                                              A condition that is applied to a particular customer sentiment.

                                                                                              + SentimentFilter(crate::model::SentimentFilter), + ///

                                                                                              A condition that catches particular words or phrases based on a exact match. For example, + /// if you set the phrase "I want to speak to the manager", only that exact phrase will be returned.

                                                                                              + TranscriptFilter(crate::model::TranscriptFilter), +} +impl Rule { + pub fn as_interruption_filter( + &self, + ) -> std::result::Result<&crate::model::InterruptionFilter, &Self> { + if let Rule::InterruptionFilter(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_interruption_filter(&self) -> bool { + self.as_interruption_filter().is_ok() + } + pub fn as_non_talk_time_filter( + &self, + ) -> std::result::Result<&crate::model::NonTalkTimeFilter, &Self> { + if let Rule::NonTalkTimeFilter(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_non_talk_time_filter(&self) -> bool { + self.as_non_talk_time_filter().is_ok() + } + pub fn as_sentiment_filter( + &self, + ) -> std::result::Result<&crate::model::SentimentFilter, &Self> { + if let Rule::SentimentFilter(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_sentiment_filter(&self) -> bool { + self.as_sentiment_filter().is_ok() + } + pub fn as_transcript_filter( + &self, + ) -> std::result::Result<&crate::model::TranscriptFilter, &Self> { + if let Rule::TranscriptFilter(val) = &self { + Ok(&val) + } else { + Err(&self) + } + } + pub fn is_transcript_filter(&self) -> bool { + self.as_transcript_filter().is_ok() + } +} + +///

                                                                                              An object that enables you to specify a particular customer or agent sentiment. If at least +/// 50 percent of the conversation turns (the back-and-forth between two speakers) in a specified +/// time period match the specified sentiment, Amazon Transcribe will consider the sentiment a match.

                                                                                              +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct SentimentFilter { + ///

                                                                                              An array that enables you to specify sentiments for the customer or agent. You can + /// specify one or more values.

                                                                                              + pub sentiments: std::option::Option>, + ///

                                                                                              The time range, measured in seconds, of the sentiment.

                                                                                              + pub absolute_time_range: std::option::Option, + ///

                                                                                              The time range, set in percentages, that correspond to proportion of the call.

                                                                                              + pub relative_time_range: std::option::Option, + ///

                                                                                              A value that determines whether the sentiment belongs to the customer or the agent.

                                                                                              + pub participant_role: std::option::Option, + ///

                                                                                              Set to TRUE to look for sentiments that weren't specified in the request.

                                                                                              + pub negate: std::option::Option, +} +impl std::fmt::Debug for SentimentFilter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("SentimentFilter"); + formatter.field("sentiments", &self.sentiments); + formatter.field("absolute_time_range", &self.absolute_time_range); + formatter.field("relative_time_range", &self.relative_time_range); + formatter.field("participant_role", &self.participant_role); + formatter.field("negate", &self.negate); + formatter.finish() + } +} +/// See [`SentimentFilter`](crate::model::SentimentFilter) +pub mod sentiment_filter { + /// A builder for [`SentimentFilter`](crate::model::SentimentFilter) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) sentiments: std::option::Option>, + pub(crate) absolute_time_range: std::option::Option, + pub(crate) relative_time_range: std::option::Option, + pub(crate) participant_role: std::option::Option, + pub(crate) negate: std::option::Option, + } + impl Builder { + pub fn sentiments(mut self, input: impl Into) -> Self { + let mut v = self.sentiments.unwrap_or_default(); + v.push(input.into()); + self.sentiments = Some(v); self } - pub fn set_media(mut self, input: std::option::Option) -> Self { - self.media = input; + pub fn set_sentiments( + mut self, + input: std::option::Option>, + ) -> Self { + self.sentiments = input; self } - ///

                                                                                              An object that describes the output of the transcription job.

                                                                                              - pub fn transcript(mut self, input: crate::model::Transcript) -> Self { - self.transcript = Some(input); + ///

                                                                                              The time range, measured in seconds, of the sentiment.

                                                                                              + pub fn absolute_time_range(mut self, input: crate::model::AbsoluteTimeRange) -> Self { + self.absolute_time_range = Some(input); self } - pub fn set_transcript( + pub fn set_absolute_time_range( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.transcript = input; + self.absolute_time_range = input; self } - ///

                                                                                              A timestamp that shows with the job was started processing.

                                                                                              - pub fn start_time(mut self, input: smithy_types::Instant) -> Self { - self.start_time = Some(input); + ///

                                                                                              The time range, set in percentages, that correspond to proportion of the call.

                                                                                              + pub fn relative_time_range(mut self, input: crate::model::RelativeTimeRange) -> Self { + self.relative_time_range = Some(input); self } - pub fn set_start_time(mut self, input: std::option::Option) -> Self { - self.start_time = input; + pub fn set_relative_time_range( + mut self, + input: std::option::Option, + ) -> Self { + self.relative_time_range = input; self } - ///

                                                                                              A timestamp that shows when the job was created.

                                                                                              - pub fn creation_time(mut self, input: smithy_types::Instant) -> Self { - self.creation_time = Some(input); + ///

                                                                                              A value that determines whether the sentiment belongs to the customer or the agent.

                                                                                              + pub fn participant_role(mut self, input: crate::model::ParticipantRole) -> Self { + self.participant_role = Some(input); self } - pub fn set_creation_time( + pub fn set_participant_role( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.creation_time = input; + self.participant_role = input; self } - ///

                                                                                              A timestamp that shows when the job was completed.

                                                                                              - pub fn completion_time(mut self, input: smithy_types::Instant) -> Self { - self.completion_time = Some(input); + ///

                                                                                              Set to TRUE to look for sentiments that weren't specified in the request.

                                                                                              + pub fn negate(mut self, input: bool) -> Self { + self.negate = Some(input); self } - pub fn set_completion_time( - mut self, - input: std::option::Option, - ) -> Self { - self.completion_time = input; + pub fn set_negate(mut self, input: std::option::Option) -> Self { + self.negate = input; self } - ///

                                                                                              If the TranscriptionJobStatus field is FAILED, this field - /// contains information about why the job failed.

                                                                                              - ///

                                                                                              The FailureReason field can contain one of the following values:

                                                                                              - ///
                                                                                                - ///
                                                                                              • - ///

                                                                                                - /// Unsupported media format - The media format specified in the - /// MediaFormat field of the request isn't valid. See the - /// description of the MediaFormat field for a list of valid - /// values.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// The media format provided does not match the detected media - /// format - The media format of the audio file doesn't match the format - /// specified in the MediaFormat field in the request. Check the media - /// format of your media file and make sure that the two values match.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// Invalid sample rate for audio file - The sample rate specified in - /// the MediaSampleRateHertz of the request isn't valid. The sample - /// rate must be between 8000 and 48000 Hertz.

                                                                                                - ///
                                                                                              • - ///
                                                                                              • - ///

                                                                                                - /// The sample rate provided does not match the detected sample rate - /// - The sample rate in the audio file doesn't match the sample rate specified in - /// the MediaSampleRateHertz field in the request. Check the sample - /// rate of your media file and make sure that the two values match.

                                                                                                - ///
                                                                                              • + /// Consumes the builder and constructs a [`SentimentFilter`](crate::model::SentimentFilter) + pub fn build(self) -> crate::model::SentimentFilter { + crate::model::SentimentFilter { + sentiments: self.sentiments, + absolute_time_range: self.absolute_time_range, + relative_time_range: self.relative_time_range, + participant_role: self.participant_role, + negate: self.negate, + } + } + } +} +impl SentimentFilter { + /// Creates a new builder-style object to manufacture [`SentimentFilter`](crate::model::SentimentFilter) + pub fn builder() -> crate::model::sentiment_filter::Builder { + crate::model::sentiment_filter::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum ParticipantRole { + Agent, + Customer, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for ParticipantRole { + fn from(s: &str) -> Self { + match s { + "AGENT" => ParticipantRole::Agent, + "CUSTOMER" => ParticipantRole::Customer, + other => ParticipantRole::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for ParticipantRole { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(ParticipantRole::from(s)) + } +} +impl ParticipantRole { + pub fn as_str(&self) -> &str { + match self { + ParticipantRole::Agent => "AGENT", + ParticipantRole::Customer => "CUSTOMER", + ParticipantRole::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["AGENT", "CUSTOMER"] + } +} +impl AsRef for ParticipantRole { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                An object that allows percentages to specify the proportion of the call where you would like +/// to apply a filter. For example, you can specify the first half of the call. You can also specify the +/// period of time between halfway through to three-quarters of the way through the call. Because +/// the length of conversation can vary between calls, you can apply relative time ranges across all +/// calls.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct RelativeTimeRange { + ///

                                                                                                A value that indicates the percentage of the beginning of the time range. To set a relative + /// time range, you must specify a start percentage and an end percentage. For example, if + /// you specify the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartPercentage - 10

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  EndPercentage - 50

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                This looks at the time range starting from 10% of the way into the call to 50% of the way + /// through the call. For a call that lasts 100,000 milliseconds, this example range would + /// apply from the 10,000 millisecond mark to the 50,000 millisecond mark.

                                                                                                + pub start_percentage: std::option::Option, + ///

                                                                                                A value that indicates the percentage of the end of the time range. To set a relative time + /// range, you must specify a start percentage and an end percentage. For example, if you + /// specify the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartPercentage - 10

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  EndPercentage - 50

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                This looks at the time range starting from 10% of the way into the call to 50% of the way + /// through the call. For a call that lasts 100,000 milliseconds, this example range would + /// apply from the 10,000 millisecond mark to the 50,000 millisecond mark.

                                                                                                + pub end_percentage: std::option::Option, + ///

                                                                                                A range that takes the portion of the call up to the time in milliseconds set by the value + /// that you've specified. For example, if you specify 120000, the time range is set for the + /// first 120,000 milliseconds of the call.

                                                                                                + pub first: std::option::Option, + ///

                                                                                                A range that takes the portion of the call from the time in milliseconds set by the value + /// that you've specified to the end of the call. For example, if you specify 120000, the time + /// range is set for the last 120,000 milliseconds of the call.

                                                                                                + pub last: std::option::Option, +} +impl std::fmt::Debug for RelativeTimeRange { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("RelativeTimeRange"); + formatter.field("start_percentage", &self.start_percentage); + formatter.field("end_percentage", &self.end_percentage); + formatter.field("first", &self.first); + formatter.field("last", &self.last); + formatter.finish() + } +} +/// See [`RelativeTimeRange`](crate::model::RelativeTimeRange) +pub mod relative_time_range { + /// A builder for [`RelativeTimeRange`](crate::model::RelativeTimeRange) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) start_percentage: std::option::Option, + pub(crate) end_percentage: std::option::Option, + pub(crate) first: std::option::Option, + pub(crate) last: std::option::Option, + } + impl Builder { + ///

                                                                                                A value that indicates the percentage of the beginning of the time range. To set a relative + /// time range, you must specify a start percentage and an end percentage. For example, if + /// you specify the following values:

                                                                                                + ///
                                                                                                  ///
                                                                                                • - ///

                                                                                                  - /// Invalid file size: file size too large - The size of your audio - /// file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

                                                                                                  + ///

                                                                                                  StartPercentage - 10

                                                                                                  ///
                                                                                                • ///
                                                                                                • - ///

                                                                                                  - /// Invalid number of channels: number of channels too large - Your - /// audio contains more channels than Amazon Transcribe is configured to process. To request - /// additional channels, see Amazon Transcribe Limits in the Amazon Web Services - /// General Reference.

                                                                                                  + ///

                                                                                                  EndPercentage - 50

                                                                                                  ///
                                                                                                • ///
                                                                                                - pub fn failure_reason(mut self, input: impl Into) -> Self { - self.failure_reason = Some(input.into()); + ///

                                                                                                This looks at the time range starting from 10% of the way into the call to 50% of the way + /// through the call. For a call that lasts 100,000 milliseconds, this example range would + /// apply from the 10,000 millisecond mark to the 50,000 millisecond mark.

                                                                                                + pub fn start_percentage(mut self, input: i32) -> Self { + self.start_percentage = Some(input); self } - pub fn set_failure_reason( - mut self, - input: std::option::Option, - ) -> Self { - self.failure_reason = input; + pub fn set_start_percentage(mut self, input: std::option::Option) -> Self { + self.start_percentage = input; self } - ///

                                                                                                Optional settings for the transcription job. Use these settings to turn on speaker - /// recognition, to set the maximum number of speakers that should be identified and to - /// specify a custom vocabulary to use when processing the transcription job.

                                                                                                - pub fn settings(mut self, input: crate::model::Settings) -> Self { - self.settings = Some(input); + ///

                                                                                                A value that indicates the percentage of the end of the time range. To set a relative time + /// range, you must specify a start percentage and an end percentage. For example, if you + /// specify the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartPercentage - 10

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  EndPercentage - 50

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                This looks at the time range starting from 10% of the way into the call to 50% of the way + /// through the call. For a call that lasts 100,000 milliseconds, this example range would + /// apply from the 10,000 millisecond mark to the 50,000 millisecond mark.

                                                                                                + pub fn end_percentage(mut self, input: i32) -> Self { + self.end_percentage = Some(input); self } - pub fn set_settings(mut self, input: std::option::Option) -> Self { - self.settings = input; + pub fn set_end_percentage(mut self, input: std::option::Option) -> Self { + self.end_percentage = input; self } - ///

                                                                                                An object containing the details of your custom language model.

                                                                                                - pub fn model_settings(mut self, input: crate::model::ModelSettings) -> Self { - self.model_settings = Some(input); + ///

                                                                                                A range that takes the portion of the call up to the time in milliseconds set by the value + /// that you've specified. For example, if you specify 120000, the time range is set for the + /// first 120,000 milliseconds of the call.

                                                                                                + pub fn first(mut self, input: i32) -> Self { + self.first = Some(input); self } - pub fn set_model_settings( - mut self, - input: std::option::Option, - ) -> Self { - self.model_settings = input; + pub fn set_first(mut self, input: std::option::Option) -> Self { + self.first = input; self } - ///

                                                                                                Provides information about how a transcription job is executed.

                                                                                                - pub fn job_execution_settings(mut self, input: crate::model::JobExecutionSettings) -> Self { - self.job_execution_settings = Some(input); + ///

                                                                                                A range that takes the portion of the call from the time in milliseconds set by the value + /// that you've specified to the end of the call. For example, if you specify 120000, the time + /// range is set for the last 120,000 milliseconds of the call.

                                                                                                + pub fn last(mut self, input: i32) -> Self { + self.last = Some(input); self } - pub fn set_job_execution_settings( - mut self, - input: std::option::Option, - ) -> Self { - self.job_execution_settings = input; + pub fn set_last(mut self, input: std::option::Option) -> Self { + self.last = input; self } - ///

                                                                                                An object that describes content redaction settings for the transcription job.

                                                                                                - pub fn content_redaction(mut self, input: crate::model::ContentRedaction) -> Self { - self.content_redaction = Some(input); + /// Consumes the builder and constructs a [`RelativeTimeRange`](crate::model::RelativeTimeRange) + pub fn build(self) -> crate::model::RelativeTimeRange { + crate::model::RelativeTimeRange { + start_percentage: self.start_percentage, + end_percentage: self.end_percentage, + first: self.first, + last: self.last, + } + } + } +} +impl RelativeTimeRange { + /// Creates a new builder-style object to manufacture [`RelativeTimeRange`](crate::model::RelativeTimeRange) + pub fn builder() -> crate::model::relative_time_range::Builder { + crate::model::relative_time_range::Builder::default() + } +} + +///

                                                                                                A time range, set in seconds, between two points in the call.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct AbsoluteTimeRange { + ///

                                                                                                A value that indicates the beginning of the time range in seconds. To set absolute time + /// range, you must specify a start time and an end time. For example, if you specify the + /// following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartTime - 10000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Endtime - 50000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                The time range is set between 10,000 milliseconds and 50,000 milliseconds into the call.

                                                                                                + pub start_time: std::option::Option, + ///

                                                                                                A value that indicates the end of the time range in milliseconds. To set absolute time + /// range, you must specify a start time and an end time. For example, if you specify the + /// following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartTime - 10000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Endtime - 50000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                The time range is set between 10,000 milliseconds and 50,000 milliseconds into the call.

                                                                                                + pub end_time: std::option::Option, + ///

                                                                                                A time range from the beginning of the call to the value that you've specified. For + /// example, if you specify 100000, the time range is set to the first 100,000 milliseconds of + /// the call.

                                                                                                + pub first: std::option::Option, + ///

                                                                                                A time range from the value that you've specified to the end of the call. For example, if + /// you specify 100000, the time range is set to the last 100,000 milliseconds of the call.

                                                                                                + pub last: std::option::Option, +} +impl std::fmt::Debug for AbsoluteTimeRange { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("AbsoluteTimeRange"); + formatter.field("start_time", &self.start_time); + formatter.field("end_time", &self.end_time); + formatter.field("first", &self.first); + formatter.field("last", &self.last); + formatter.finish() + } +} +/// See [`AbsoluteTimeRange`](crate::model::AbsoluteTimeRange) +pub mod absolute_time_range { + /// A builder for [`AbsoluteTimeRange`](crate::model::AbsoluteTimeRange) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) start_time: std::option::Option, + pub(crate) end_time: std::option::Option, + pub(crate) first: std::option::Option, + pub(crate) last: std::option::Option, + } + impl Builder { + ///

                                                                                                A value that indicates the beginning of the time range in seconds. To set absolute time + /// range, you must specify a start time and an end time. For example, if you specify the + /// following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartTime - 10000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Endtime - 50000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                The time range is set between 10,000 milliseconds and 50,000 milliseconds into the call.

                                                                                                + pub fn start_time(mut self, input: i64) -> Self { + self.start_time = Some(input); self } - pub fn set_content_redaction( - mut self, - input: std::option::Option, - ) -> Self { - self.content_redaction = input; + pub fn set_start_time(mut self, input: std::option::Option) -> Self { + self.start_time = input; self } - ///

                                                                                                A value that shows if automatic language identification was enabled for a - /// transcription job.

                                                                                                - pub fn identify_language(mut self, input: bool) -> Self { - self.identify_language = Some(input); + ///

                                                                                                A value that indicates the end of the time range in milliseconds. To set absolute time + /// range, you must specify a start time and an end time. For example, if you specify the + /// following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  StartTime - 10000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Endtime - 50000

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + ///

                                                                                                The time range is set between 10,000 milliseconds and 50,000 milliseconds into the call.

                                                                                                + pub fn end_time(mut self, input: i64) -> Self { + self.end_time = Some(input); self } - pub fn set_identify_language(mut self, input: std::option::Option) -> Self { - self.identify_language = input; + pub fn set_end_time(mut self, input: std::option::Option) -> Self { + self.end_time = input; self } - pub fn language_options(mut self, input: impl Into) -> Self { - let mut v = self.language_options.unwrap_or_default(); - v.push(input.into()); - self.language_options = Some(v); + ///

                                                                                                A time range from the beginning of the call to the value that you've specified. For + /// example, if you specify 100000, the time range is set to the first 100,000 milliseconds of + /// the call.

                                                                                                + pub fn first(mut self, input: i64) -> Self { + self.first = Some(input); self } - pub fn set_language_options( - mut self, - input: std::option::Option>, - ) -> Self { - self.language_options = input; + pub fn set_first(mut self, input: std::option::Option) -> Self { + self.first = input; self } - ///

                                                                                                A value between zero and one that Amazon Transcribe assigned to the language that it identified in - /// the source audio. Larger values indicate that Amazon Transcribe has higher confidence in the - /// language it identified.

                                                                                                - pub fn identified_language_score(mut self, input: f32) -> Self { - self.identified_language_score = Some(input); + ///

                                                                                                A time range from the value that you've specified to the end of the call. For example, if + /// you specify 100000, the time range is set to the last 100,000 milliseconds of the call.

                                                                                                + pub fn last(mut self, input: i64) -> Self { + self.last = Some(input); self } - pub fn set_identified_language_score(mut self, input: std::option::Option) -> Self { - self.identified_language_score = input; + pub fn set_last(mut self, input: std::option::Option) -> Self { + self.last = input; self } - /// Consumes the builder and constructs a [`TranscriptionJob`](crate::model::TranscriptionJob) - pub fn build(self) -> crate::model::TranscriptionJob { - crate::model::TranscriptionJob { - transcription_job_name: self.transcription_job_name, - transcription_job_status: self.transcription_job_status, - language_code: self.language_code, - media_sample_rate_hertz: self.media_sample_rate_hertz, - media_format: self.media_format, - media: self.media, - transcript: self.transcript, + /// Consumes the builder and constructs a [`AbsoluteTimeRange`](crate::model::AbsoluteTimeRange) + pub fn build(self) -> crate::model::AbsoluteTimeRange { + crate::model::AbsoluteTimeRange { start_time: self.start_time, - creation_time: self.creation_time, - completion_time: self.completion_time, - failure_reason: self.failure_reason, - settings: self.settings, - model_settings: self.model_settings, - job_execution_settings: self.job_execution_settings, - content_redaction: self.content_redaction, - identify_language: self.identify_language, - language_options: self.language_options, - identified_language_score: self.identified_language_score, + end_time: self.end_time, + first: self.first, + last: self.last, } } } } -impl TranscriptionJob { - /// Creates a new builder-style object to manufacture [`TranscriptionJob`](crate::model::TranscriptionJob) - pub fn builder() -> crate::model::transcription_job::Builder { - crate::model::transcription_job::Builder::default() +impl AbsoluteTimeRange { + /// Creates a new builder-style object to manufacture [`AbsoluteTimeRange`](crate::model::AbsoluteTimeRange) + pub fn builder() -> crate::model::absolute_time_range::Builder { + crate::model::absolute_time_range::Builder::default() } } -///

                                                                                                Settings for content redaction within a transcription job.

                                                                                                #[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct ContentRedaction { - ///

                                                                                                Request parameter that defines the entities to be redacted. The only accepted value is - /// PII.

                                                                                                - pub redaction_type: std::option::Option, - ///

                                                                                                The output transcript file stored in either the default S3 bucket or in a bucket you - /// specify.

                                                                                                - ///

                                                                                                When you choose redacted Amazon Transcribe outputs only the redacted - /// transcript.

                                                                                                - ///

                                                                                                When you choose redacted_and_unredacted Amazon Transcribe outputs both the redacted - /// and unredacted transcripts.

                                                                                                - pub redaction_output: std::option::Option, +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum SentimentValue { + Mixed, + Negative, + Neutral, + Positive, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), } -impl std::fmt::Debug for ContentRedaction { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("ContentRedaction"); - formatter.field("redaction_type", &self.redaction_type); - formatter.field("redaction_output", &self.redaction_output); - formatter.finish() +impl std::convert::From<&str> for SentimentValue { + fn from(s: &str) -> Self { + match s { + "MIXED" => SentimentValue::Mixed, + "NEGATIVE" => SentimentValue::Negative, + "NEUTRAL" => SentimentValue::Neutral, + "POSITIVE" => SentimentValue::Positive, + other => SentimentValue::Unknown(other.to_owned()), + } } } -/// See [`ContentRedaction`](crate::model::ContentRedaction) -pub mod content_redaction { - /// A builder for [`ContentRedaction`](crate::model::ContentRedaction) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) redaction_type: std::option::Option, - pub(crate) redaction_output: std::option::Option, +impl std::str::FromStr for SentimentValue { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(SentimentValue::from(s)) + } +} +impl SentimentValue { + pub fn as_str(&self) -> &str { + match self { + SentimentValue::Mixed => "MIXED", + SentimentValue::Negative => "NEGATIVE", + SentimentValue::Neutral => "NEUTRAL", + SentimentValue::Positive => "POSITIVE", + SentimentValue::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["MIXED", "NEGATIVE", "NEUTRAL", "POSITIVE"] + } +} +impl AsRef for SentimentValue { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                Matches the output of the transcription to either the specific phrases that you specify, or the +/// intent of the phrases that you specify.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct TranscriptFilter { + ///

                                                                                                Matches the phrase to the transcription output in a word for word + /// fashion. For example, if you specify the phrase "I want to speak to the manager." Amazon Transcribe + /// attempts to match that specific phrase to the transcription.

                                                                                                + pub transcript_filter_type: std::option::Option, + ///

                                                                                                A time range, set in seconds, between two points in the call.

                                                                                                + pub absolute_time_range: std::option::Option, + ///

                                                                                                An object that allows percentages to specify the proportion of the call where you + /// would like to apply a filter. For example, you can specify the first half of the call. You + /// can also specify the period of time between halfway through to three-quarters of the way + /// through the call. Because the length of conversation can vary between calls, you can + /// apply relative time ranges across all calls.

                                                                                                + pub relative_time_range: std::option::Option, + ///

                                                                                                Determines whether the customer or the agent is speaking the phrases that you've + /// specified.

                                                                                                + pub participant_role: std::option::Option, + ///

                                                                                                If TRUE, the rule that you specify is applied to everything except for the phrases that you + /// specify.

                                                                                                + pub negate: std::option::Option, + ///

                                                                                                The phrases that you're specifying for the transcript filter to match.

                                                                                                + pub targets: std::option::Option>, +} +impl std::fmt::Debug for TranscriptFilter { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("TranscriptFilter"); + formatter.field("transcript_filter_type", &self.transcript_filter_type); + formatter.field("absolute_time_range", &self.absolute_time_range); + formatter.field("relative_time_range", &self.relative_time_range); + formatter.field("participant_role", &self.participant_role); + formatter.field("negate", &self.negate); + formatter.field("targets", &self.targets); + formatter.finish() + } +} +/// See [`TranscriptFilter`](crate::model::TranscriptFilter) +pub mod transcript_filter { + /// A builder for [`TranscriptFilter`](crate::model::TranscriptFilter) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) transcript_filter_type: std::option::Option, + pub(crate) absolute_time_range: std::option::Option, + pub(crate) relative_time_range: std::option::Option, + pub(crate) participant_role: std::option::Option, + pub(crate) negate: std::option::Option, + pub(crate) targets: std::option::Option>, } impl Builder { - ///

                                                                                                Request parameter that defines the entities to be redacted. The only accepted value is - /// PII.

                                                                                                - pub fn redaction_type(mut self, input: crate::model::RedactionType) -> Self { - self.redaction_type = Some(input); + ///

                                                                                                Matches the phrase to the transcription output in a word for word + /// fashion. For example, if you specify the phrase "I want to speak to the manager." Amazon Transcribe + /// attempts to match that specific phrase to the transcription.

                                                                                                + pub fn transcript_filter_type(mut self, input: crate::model::TranscriptFilterType) -> Self { + self.transcript_filter_type = Some(input); self } - pub fn set_redaction_type( + pub fn set_transcript_filter_type( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.redaction_type = input; + self.transcript_filter_type = input; self } - ///

                                                                                                The output transcript file stored in either the default S3 bucket or in a bucket you - /// specify.

                                                                                                - ///

                                                                                                When you choose redacted Amazon Transcribe outputs only the redacted - /// transcript.

                                                                                                - ///

                                                                                                When you choose redacted_and_unredacted Amazon Transcribe outputs both the redacted - /// and unredacted transcripts.

                                                                                                - pub fn redaction_output(mut self, input: crate::model::RedactionOutput) -> Self { - self.redaction_output = Some(input); + ///

                                                                                                A time range, set in seconds, between two points in the call.

                                                                                                + pub fn absolute_time_range(mut self, input: crate::model::AbsoluteTimeRange) -> Self { + self.absolute_time_range = Some(input); self } - pub fn set_redaction_output( + pub fn set_absolute_time_range( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.redaction_output = input; + self.absolute_time_range = input; self } - /// Consumes the builder and constructs a [`ContentRedaction`](crate::model::ContentRedaction) - pub fn build(self) -> crate::model::ContentRedaction { - crate::model::ContentRedaction { - redaction_type: self.redaction_type, - redaction_output: self.redaction_output, - } + ///

                                                                                                An object that allows percentages to specify the proportion of the call where you + /// would like to apply a filter. For example, you can specify the first half of the call. You + /// can also specify the period of time between halfway through to three-quarters of the way + /// through the call. Because the length of conversation can vary between calls, you can + /// apply relative time ranges across all calls.

                                                                                                + pub fn relative_time_range(mut self, input: crate::model::RelativeTimeRange) -> Self { + self.relative_time_range = Some(input); + self } - } -} -impl ContentRedaction { - /// Creates a new builder-style object to manufacture [`ContentRedaction`](crate::model::ContentRedaction) - pub fn builder() -> crate::model::content_redaction::Builder { - crate::model::content_redaction::Builder::default() - } -} - -#[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum RedactionOutput { - Redacted, - RedactedAndUnredacted, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), -} -impl std::convert::From<&str> for RedactionOutput { - fn from(s: &str) -> Self { - match s { - "redacted" => RedactionOutput::Redacted, - "redacted_and_unredacted" => RedactionOutput::RedactedAndUnredacted, - other => RedactionOutput::Unknown(other.to_owned()), + pub fn set_relative_time_range( + mut self, + input: std::option::Option, + ) -> Self { + self.relative_time_range = input; + self } - } -} -impl std::str::FromStr for RedactionOutput { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(RedactionOutput::from(s)) - } -} -impl RedactionOutput { - pub fn as_str(&self) -> &str { - match self { - RedactionOutput::Redacted => "redacted", - RedactionOutput::RedactedAndUnredacted => "redacted_and_unredacted", - RedactionOutput::Unknown(s) => s.as_ref(), + ///

                                                                                                Determines whether the customer or the agent is speaking the phrases that you've + /// specified.

                                                                                                + pub fn participant_role(mut self, input: crate::model::ParticipantRole) -> Self { + self.participant_role = Some(input); + self + } + pub fn set_participant_role( + mut self, + input: std::option::Option, + ) -> Self { + self.participant_role = input; + self + } + ///

                                                                                                If TRUE, the rule that you specify is applied to everything except for the phrases that you + /// specify.

                                                                                                + pub fn negate(mut self, input: bool) -> Self { + self.negate = Some(input); + self + } + pub fn set_negate(mut self, input: std::option::Option) -> Self { + self.negate = input; + self + } + pub fn targets(mut self, input: impl Into) -> Self { + let mut v = self.targets.unwrap_or_default(); + v.push(input.into()); + self.targets = Some(v); + self + } + pub fn set_targets( + mut self, + input: std::option::Option>, + ) -> Self { + self.targets = input; + self + } + /// Consumes the builder and constructs a [`TranscriptFilter`](crate::model::TranscriptFilter) + pub fn build(self) -> crate::model::TranscriptFilter { + crate::model::TranscriptFilter { + transcript_filter_type: self.transcript_filter_type, + absolute_time_range: self.absolute_time_range, + relative_time_range: self.relative_time_range, + participant_role: self.participant_role, + negate: self.negate, + targets: self.targets, + } } - } - pub fn values() -> &'static [&'static str] { - &["redacted", "redacted_and_unredacted"] } } -impl AsRef for RedactionOutput { - fn as_ref(&self) -> &str { - self.as_str() +impl TranscriptFilter { + /// Creates a new builder-style object to manufacture [`TranscriptFilter`](crate::model::TranscriptFilter) + pub fn builder() -> crate::model::transcript_filter::Builder { + crate::model::transcript_filter::Builder::default() } } @@ -772,389 +1053,1991 @@ impl AsRef for RedactionOutput { std::fmt::Debug, std::hash::Hash, )] -pub enum RedactionType { - Pii, +pub enum TranscriptFilterType { + Exact, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), } -impl std::convert::From<&str> for RedactionType { +impl std::convert::From<&str> for TranscriptFilterType { fn from(s: &str) -> Self { match s { - "PII" => RedactionType::Pii, - other => RedactionType::Unknown(other.to_owned()), + "EXACT" => TranscriptFilterType::Exact, + other => TranscriptFilterType::Unknown(other.to_owned()), } } } -impl std::str::FromStr for RedactionType { +impl std::str::FromStr for TranscriptFilterType { type Err = std::convert::Infallible; fn from_str(s: &str) -> std::result::Result { - Ok(RedactionType::from(s)) + Ok(TranscriptFilterType::from(s)) } } -impl RedactionType { +impl TranscriptFilterType { pub fn as_str(&self) -> &str { match self { - RedactionType::Pii => "PII", - RedactionType::Unknown(s) => s.as_ref(), + TranscriptFilterType::Exact => "EXACT", + TranscriptFilterType::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["PII"] + &["EXACT"] } } -impl AsRef for RedactionType { +impl AsRef for TranscriptFilterType { fn as_ref(&self) -> &str { self.as_str() } } -///

                                                                                                Provides information about when a transcription job should be executed.

                                                                                                +///

                                                                                                An object that enables you to configure your category to be applied to call analytics jobs where +/// either the customer or agent was interrupted.

                                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct JobExecutionSettings { - ///

                                                                                                Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit - /// is exceeded. When the AllowDeferredExecution field is true, jobs are queued - /// and executed when the number of executing jobs falls below the concurrent execution - /// limit. If the field is false, Amazon Transcribe returns a LimitExceededException - /// exception.

                                                                                                - ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the - /// DataAccessRoleArn field.

                                                                                                - pub allow_deferred_execution: std::option::Option, - ///

                                                                                                The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that - /// contains the input files. Amazon Transcribe assumes this role to read queued media files. If you - /// have specified an output S3 bucket for the transcription results, this role should have - /// access to the output bucket as well.

                                                                                                - ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the - /// DataAccessRoleArn field.

                                                                                                - pub data_access_role_arn: std::option::Option, -} -impl std::fmt::Debug for JobExecutionSettings { +pub struct InterruptionFilter { + ///

                                                                                                The duration of the interruption.

                                                                                                + pub threshold: std::option::Option, + ///

                                                                                                Indicates whether the caller or customer was interrupting.

                                                                                                + pub participant_role: std::option::Option, + ///

                                                                                                An object you can use to specify a time range (in milliseconds) for when you'd want to find + /// the interruption. For example, you could search for an interruption between the 30,000 + /// millisecond mark and the 45,000 millisecond mark. You could also specify the time + /// period as the first 15,000 milliseconds or the last 15,000 milliseconds.

                                                                                                + pub absolute_time_range: std::option::Option, + ///

                                                                                                An object that allows percentages to specify the proportion of the call where there + /// was a interruption. For example, you can specify the first half of the call. You can also + /// specify the period of time between halfway through to three-quarters of the way through + /// the call. Because the length of conversation can vary between calls, you can apply + /// relative time ranges across all calls.

                                                                                                + pub relative_time_range: std::option::Option, + ///

                                                                                                Set to TRUE to look for a time period where there was no interruption.

                                                                                                + pub negate: std::option::Option, +} +impl std::fmt::Debug for InterruptionFilter { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("JobExecutionSettings"); - formatter.field("allow_deferred_execution", &self.allow_deferred_execution); - formatter.field("data_access_role_arn", &self.data_access_role_arn); + let mut formatter = f.debug_struct("InterruptionFilter"); + formatter.field("threshold", &self.threshold); + formatter.field("participant_role", &self.participant_role); + formatter.field("absolute_time_range", &self.absolute_time_range); + formatter.field("relative_time_range", &self.relative_time_range); + formatter.field("negate", &self.negate); formatter.finish() } } -/// See [`JobExecutionSettings`](crate::model::JobExecutionSettings) -pub mod job_execution_settings { - /// A builder for [`JobExecutionSettings`](crate::model::JobExecutionSettings) +/// See [`InterruptionFilter`](crate::model::InterruptionFilter) +pub mod interruption_filter { + /// A builder for [`InterruptionFilter`](crate::model::InterruptionFilter) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) allow_deferred_execution: std::option::Option, - pub(crate) data_access_role_arn: std::option::Option, + pub(crate) threshold: std::option::Option, + pub(crate) participant_role: std::option::Option, + pub(crate) absolute_time_range: std::option::Option, + pub(crate) relative_time_range: std::option::Option, + pub(crate) negate: std::option::Option, } impl Builder { - ///

                                                                                                Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit - /// is exceeded. When the AllowDeferredExecution field is true, jobs are queued - /// and executed when the number of executing jobs falls below the concurrent execution - /// limit. If the field is false, Amazon Transcribe returns a LimitExceededException - /// exception.

                                                                                                - ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the - /// DataAccessRoleArn field.

                                                                                                - pub fn allow_deferred_execution(mut self, input: bool) -> Self { - self.allow_deferred_execution = Some(input); + ///

                                                                                                The duration of the interruption.

                                                                                                + pub fn threshold(mut self, input: i64) -> Self { + self.threshold = Some(input); self } - pub fn set_allow_deferred_execution(mut self, input: std::option::Option) -> Self { - self.allow_deferred_execution = input; + pub fn set_threshold(mut self, input: std::option::Option) -> Self { + self.threshold = input; self } - ///

                                                                                                The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that - /// contains the input files. Amazon Transcribe assumes this role to read queued media files. If you - /// have specified an output S3 bucket for the transcription results, this role should have - /// access to the output bucket as well.

                                                                                                - ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the - /// DataAccessRoleArn field.

                                                                                                - pub fn data_access_role_arn(mut self, input: impl Into) -> Self { - self.data_access_role_arn = Some(input.into()); + ///

                                                                                                Indicates whether the caller or customer was interrupting.

                                                                                                + pub fn participant_role(mut self, input: crate::model::ParticipantRole) -> Self { + self.participant_role = Some(input); self } - pub fn set_data_access_role_arn( + pub fn set_participant_role( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.data_access_role_arn = input; + self.participant_role = input; self } - /// Consumes the builder and constructs a [`JobExecutionSettings`](crate::model::JobExecutionSettings) - pub fn build(self) -> crate::model::JobExecutionSettings { - crate::model::JobExecutionSettings { - allow_deferred_execution: self.allow_deferred_execution, - data_access_role_arn: self.data_access_role_arn, + ///

                                                                                                An object you can use to specify a time range (in milliseconds) for when you'd want to find + /// the interruption. For example, you could search for an interruption between the 30,000 + /// millisecond mark and the 45,000 millisecond mark. You could also specify the time + /// period as the first 15,000 milliseconds or the last 15,000 milliseconds.

                                                                                                + pub fn absolute_time_range(mut self, input: crate::model::AbsoluteTimeRange) -> Self { + self.absolute_time_range = Some(input); + self + } + pub fn set_absolute_time_range( + mut self, + input: std::option::Option, + ) -> Self { + self.absolute_time_range = input; + self + } + ///

                                                                                                An object that allows percentages to specify the proportion of the call where there + /// was a interruption. For example, you can specify the first half of the call. You can also + /// specify the period of time between halfway through to three-quarters of the way through + /// the call. Because the length of conversation can vary between calls, you can apply + /// relative time ranges across all calls.

                                                                                                + pub fn relative_time_range(mut self, input: crate::model::RelativeTimeRange) -> Self { + self.relative_time_range = Some(input); + self + } + pub fn set_relative_time_range( + mut self, + input: std::option::Option, + ) -> Self { + self.relative_time_range = input; + self + } + ///

                                                                                                Set to TRUE to look for a time period where there was no interruption.

                                                                                                + pub fn negate(mut self, input: bool) -> Self { + self.negate = Some(input); + self + } + pub fn set_negate(mut self, input: std::option::Option) -> Self { + self.negate = input; + self + } + /// Consumes the builder and constructs a [`InterruptionFilter`](crate::model::InterruptionFilter) + pub fn build(self) -> crate::model::InterruptionFilter { + crate::model::InterruptionFilter { + threshold: self.threshold, + participant_role: self.participant_role, + absolute_time_range: self.absolute_time_range, + relative_time_range: self.relative_time_range, + negate: self.negate, } } } } -impl JobExecutionSettings { - /// Creates a new builder-style object to manufacture [`JobExecutionSettings`](crate::model::JobExecutionSettings) - pub fn builder() -> crate::model::job_execution_settings::Builder { - crate::model::job_execution_settings::Builder::default() +impl InterruptionFilter { + /// Creates a new builder-style object to manufacture [`InterruptionFilter`](crate::model::InterruptionFilter) + pub fn builder() -> crate::model::interruption_filter::Builder { + crate::model::interruption_filter::Builder::default() } } -///

                                                                                                The object used to call your custom language model to your transcription job.

                                                                                                +///

                                                                                                An object that enables you to configure your category to be applied to call analytics jobs where +/// either the customer or agent was interrupted.

                                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct ModelSettings { - ///

                                                                                                The name of your custom language model.

                                                                                                - pub language_model_name: std::option::Option, -} -impl std::fmt::Debug for ModelSettings { +pub struct NonTalkTimeFilter { + ///

                                                                                                The duration of the period when neither the customer nor agent was talking.

                                                                                                + pub threshold: std::option::Option, + ///

                                                                                                An object you can use to specify a time range (in milliseconds) for when no one is talking. + /// For example, you could specify a time period between the 30,000 millisecond mark and + /// the 45,000 millisecond mark. You could also specify the time period as the first 15,000 + /// milliseconds or the last 15,000 milliseconds.

                                                                                                + pub absolute_time_range: std::option::Option, + ///

                                                                                                An object that allows percentages to specify the proportion of the call where there + /// was silence. For example, you can specify the first half of the call. You can also + /// specify the period of time between halfway through to three-quarters of the way through + /// the call. Because the length of conversation can vary between calls, you can apply + /// relative time ranges across all calls.

                                                                                                + pub relative_time_range: std::option::Option, + ///

                                                                                                Set to TRUE to look for a time period when people were talking.

                                                                                                + pub negate: std::option::Option, +} +impl std::fmt::Debug for NonTalkTimeFilter { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("ModelSettings"); - formatter.field("language_model_name", &self.language_model_name); + let mut formatter = f.debug_struct("NonTalkTimeFilter"); + formatter.field("threshold", &self.threshold); + formatter.field("absolute_time_range", &self.absolute_time_range); + formatter.field("relative_time_range", &self.relative_time_range); + formatter.field("negate", &self.negate); formatter.finish() } } -/// See [`ModelSettings`](crate::model::ModelSettings) -pub mod model_settings { - /// A builder for [`ModelSettings`](crate::model::ModelSettings) +/// See [`NonTalkTimeFilter`](crate::model::NonTalkTimeFilter) +pub mod non_talk_time_filter { + /// A builder for [`NonTalkTimeFilter`](crate::model::NonTalkTimeFilter) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) language_model_name: std::option::Option, + pub(crate) threshold: std::option::Option, + pub(crate) absolute_time_range: std::option::Option, + pub(crate) relative_time_range: std::option::Option, + pub(crate) negate: std::option::Option, } impl Builder { - ///

                                                                                                The name of your custom language model.

                                                                                                - pub fn language_model_name(mut self, input: impl Into) -> Self { - self.language_model_name = Some(input.into()); + ///

                                                                                                The duration of the period when neither the customer nor agent was talking.

                                                                                                + pub fn threshold(mut self, input: i64) -> Self { + self.threshold = Some(input); self } - pub fn set_language_model_name( + pub fn set_threshold(mut self, input: std::option::Option) -> Self { + self.threshold = input; + self + } + ///

                                                                                                An object you can use to specify a time range (in milliseconds) for when no one is talking. + /// For example, you could specify a time period between the 30,000 millisecond mark and + /// the 45,000 millisecond mark. You could also specify the time period as the first 15,000 + /// milliseconds or the last 15,000 milliseconds.

                                                                                                + pub fn absolute_time_range(mut self, input: crate::model::AbsoluteTimeRange) -> Self { + self.absolute_time_range = Some(input); + self + } + pub fn set_absolute_time_range( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.language_model_name = input; + self.absolute_time_range = input; self } - /// Consumes the builder and constructs a [`ModelSettings`](crate::model::ModelSettings) - pub fn build(self) -> crate::model::ModelSettings { - crate::model::ModelSettings { - language_model_name: self.language_model_name, + ///

                                                                                                An object that allows percentages to specify the proportion of the call where there + /// was silence. For example, you can specify the first half of the call. You can also + /// specify the period of time between halfway through to three-quarters of the way through + /// the call. Because the length of conversation can vary between calls, you can apply + /// relative time ranges across all calls.

                                                                                                + pub fn relative_time_range(mut self, input: crate::model::RelativeTimeRange) -> Self { + self.relative_time_range = Some(input); + self + } + pub fn set_relative_time_range( + mut self, + input: std::option::Option, + ) -> Self { + self.relative_time_range = input; + self + } + ///

                                                                                                Set to TRUE to look for a time period when people were talking.

                                                                                                + pub fn negate(mut self, input: bool) -> Self { + self.negate = Some(input); + self + } + pub fn set_negate(mut self, input: std::option::Option) -> Self { + self.negate = input; + self + } + /// Consumes the builder and constructs a [`NonTalkTimeFilter`](crate::model::NonTalkTimeFilter) + pub fn build(self) -> crate::model::NonTalkTimeFilter { + crate::model::NonTalkTimeFilter { + threshold: self.threshold, + absolute_time_range: self.absolute_time_range, + relative_time_range: self.relative_time_range, + negate: self.negate, } } } } -impl ModelSettings { - /// Creates a new builder-style object to manufacture [`ModelSettings`](crate::model::ModelSettings) - pub fn builder() -> crate::model::model_settings::Builder { - crate::model::model_settings::Builder::default() +impl NonTalkTimeFilter { + /// Creates a new builder-style object to manufacture [`NonTalkTimeFilter`](crate::model::NonTalkTimeFilter) + pub fn builder() -> crate::model::non_talk_time_filter::Builder { + crate::model::non_talk_time_filter::Builder::default() } } -///

                                                                                                Provides optional settings for the StartTranscriptionJob -/// operation.

                                                                                                -#[non_exhaustive] +///

                                                                                                Describes an asynchronous transcription job that was created with the +/// StartTranscriptionJob operation.

                                                                                                +#[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct Settings { - ///

                                                                                                The name of a vocabulary to use when processing the transcription job.

                                                                                                - pub vocabulary_name: std::option::Option, - ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify - /// different speakers in the input audio. Speaker recognition labels individual speakers in - /// the audio file. If you set the ShowSpeakerLabels field to true, you must - /// also set the maximum number of speaker labels MaxSpeakerLabels - /// field.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub show_speaker_labels: std::option::Option, - ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more - /// speakers in the audio than this number, multiple speakers are identified as a single - /// speaker. If you specify the MaxSpeakerLabels field, you must set the - /// ShowSpeakerLabels field to true.

                                                                                                - pub max_speaker_labels: std::option::Option, - ///

                                                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the - /// transcription output of each channel into a single transcription.

                                                                                                - ///

                                                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, - /// including the start time and end time of the item and alternative transcriptions of the - /// item including the confidence that Amazon Transcribe has in the transcription.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub channel_identification: std::option::Option, - ///

                                                                                                Determines whether the transcription contains alternative transcriptions. If you set - /// the ShowAlternatives field to true, you must also set the maximum number of - /// alternatives to return in the MaxAlternatives field.

                                                                                                - pub show_alternatives: std::option::Option, - ///

                                                                                                The number of alternative transcriptions that the service should return. If you - /// specify the MaxAlternatives field, you must set the - /// ShowAlternatives field to true.

                                                                                                - pub max_alternatives: std::option::Option, - ///

                                                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that - /// you specify must have the same language code as the transcription job.

                                                                                                - pub vocabulary_filter_name: std::option::Option, - ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it - /// with three asterisks ("***") as placeholder text. Set to remove to remove - /// filtered text from the transcript without using placeholder text. Set to - /// tag to mark the word in the transcription output that matches the - /// vocabulary filter. When you set the filter method to tag, the words - /// matching your vocabulary filter are not masked or removed.

                                                                                                - pub vocabulary_filter_method: std::option::Option, +pub struct TranscriptionJob { + ///

                                                                                                The name of the transcription job.

                                                                                                + pub transcription_job_name: std::option::Option, + ///

                                                                                                The status of the transcription job.

                                                                                                + pub transcription_job_status: std::option::Option, + ///

                                                                                                The language code for the input speech.

                                                                                                + pub language_code: std::option::Option, + ///

                                                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                                                + pub media_sample_rate_hertz: std::option::Option, + ///

                                                                                                The format of the input media file.

                                                                                                + pub media_format: std::option::Option, + ///

                                                                                                An object that describes the input media for the transcription job.

                                                                                                + pub media: std::option::Option, + ///

                                                                                                An object that describes the output of the transcription job.

                                                                                                + pub transcript: std::option::Option, + ///

                                                                                                A timestamp that shows with the job was started processing.

                                                                                                + pub start_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + pub creation_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub completion_time: std::option::Option, + ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field + /// contains information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field can contain one of the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  + /// Unsupported media format - The media format specified in the + /// MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid + /// values.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The media format provided does not match the detected media + /// format - The media format of the audio file doesn't match the format + /// specified in the MediaFormat field in the request. Check the media + /// format of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid sample rate for audio file - The sample rate specified in + /// the MediaSampleRateHertz of the request isn't valid. The sample + /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The sample rate provided does not match the detected sample rate + /// - The sample rate in the audio file doesn't match the sample rate specified in + /// the MediaSampleRateHertz field in the request. Check the sample + /// rate of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid file size: file size too large - The size of your audio + /// file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid number of channels: number of channels too large - Your + /// audio contains more channels than Amazon Transcribe is configured to process. To request + /// additional channels, see Amazon Transcribe Limits in the Amazon Web Services + /// General Reference.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub failure_reason: std::option::Option, + ///

                                                                                                Optional settings for the transcription job. Use these settings to turn on speaker + /// recognition, to set the maximum number of speakers that should be identified and to + /// specify a custom vocabulary to use when processing the transcription job.

                                                                                                + pub settings: std::option::Option, + ///

                                                                                                An object containing the details of your custom language model.

                                                                                                + pub model_settings: std::option::Option, + ///

                                                                                                Provides information about how a transcription job is executed.

                                                                                                + pub job_execution_settings: std::option::Option, + ///

                                                                                                An object that describes content redaction settings for the transcription job.

                                                                                                + pub content_redaction: std::option::Option, + ///

                                                                                                A value that shows if automatic language identification was enabled for a + /// transcription job.

                                                                                                + pub identify_language: std::option::Option, + ///

                                                                                                An object that shows the optional array of languages inputted for transcription jobs + /// with automatic language identification enabled.

                                                                                                + pub language_options: std::option::Option>, + ///

                                                                                                A value between zero and one that Amazon Transcribe assigned to the language that it identified in + /// the source audio. Larger values indicate that Amazon Transcribe has higher confidence in the + /// language it identified.

                                                                                                + pub identified_language_score: std::option::Option, } -impl std::fmt::Debug for Settings { +impl std::fmt::Debug for TranscriptionJob { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("Settings"); - formatter.field("vocabulary_name", &self.vocabulary_name); - formatter.field("show_speaker_labels", &self.show_speaker_labels); - formatter.field("max_speaker_labels", &self.max_speaker_labels); - formatter.field("channel_identification", &self.channel_identification); - formatter.field("show_alternatives", &self.show_alternatives); - formatter.field("max_alternatives", &self.max_alternatives); - formatter.field("vocabulary_filter_name", &self.vocabulary_filter_name); - formatter.field("vocabulary_filter_method", &self.vocabulary_filter_method); + let mut formatter = f.debug_struct("TranscriptionJob"); + formatter.field("transcription_job_name", &self.transcription_job_name); + formatter.field("transcription_job_status", &self.transcription_job_status); + formatter.field("language_code", &self.language_code); + formatter.field("media_sample_rate_hertz", &self.media_sample_rate_hertz); + formatter.field("media_format", &self.media_format); + formatter.field("media", &self.media); + formatter.field("transcript", &self.transcript); + formatter.field("start_time", &self.start_time); + formatter.field("creation_time", &self.creation_time); + formatter.field("completion_time", &self.completion_time); + formatter.field("failure_reason", &self.failure_reason); + formatter.field("settings", &self.settings); + formatter.field("model_settings", &self.model_settings); + formatter.field("job_execution_settings", &self.job_execution_settings); + formatter.field("content_redaction", &self.content_redaction); + formatter.field("identify_language", &self.identify_language); + formatter.field("language_options", &self.language_options); + formatter.field("identified_language_score", &self.identified_language_score); + formatter.finish() + } +} +/// See [`TranscriptionJob`](crate::model::TranscriptionJob) +pub mod transcription_job { + /// A builder for [`TranscriptionJob`](crate::model::TranscriptionJob) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) transcription_job_name: std::option::Option, + pub(crate) transcription_job_status: + std::option::Option, + pub(crate) language_code: std::option::Option, + pub(crate) media_sample_rate_hertz: std::option::Option, + pub(crate) media_format: std::option::Option, + pub(crate) media: std::option::Option, + pub(crate) transcript: std::option::Option, + pub(crate) start_time: std::option::Option, + pub(crate) creation_time: std::option::Option, + pub(crate) completion_time: std::option::Option, + pub(crate) failure_reason: std::option::Option, + pub(crate) settings: std::option::Option, + pub(crate) model_settings: std::option::Option, + pub(crate) job_execution_settings: std::option::Option, + pub(crate) content_redaction: std::option::Option, + pub(crate) identify_language: std::option::Option, + pub(crate) language_options: std::option::Option>, + pub(crate) identified_language_score: std::option::Option, + } + impl Builder { + ///

                                                                                                The name of the transcription job.

                                                                                                + pub fn transcription_job_name(mut self, input: impl Into) -> Self { + self.transcription_job_name = Some(input.into()); + self + } + pub fn set_transcription_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.transcription_job_name = input; + self + } + ///

                                                                                                The status of the transcription job.

                                                                                                + pub fn transcription_job_status( + mut self, + input: crate::model::TranscriptionJobStatus, + ) -> Self { + self.transcription_job_status = Some(input); + self + } + pub fn set_transcription_job_status( + mut self, + input: std::option::Option, + ) -> Self { + self.transcription_job_status = input; + self + } + ///

                                                                                                The language code for the input speech.

                                                                                                + pub fn language_code(mut self, input: crate::model::LanguageCode) -> Self { + self.language_code = Some(input); + self + } + pub fn set_language_code( + mut self, + input: std::option::Option, + ) -> Self { + self.language_code = input; + self + } + ///

                                                                                                The sample rate, in Hertz, of the audio track in the input media file.

                                                                                                + pub fn media_sample_rate_hertz(mut self, input: i32) -> Self { + self.media_sample_rate_hertz = Some(input); + self + } + pub fn set_media_sample_rate_hertz(mut self, input: std::option::Option) -> Self { + self.media_sample_rate_hertz = input; + self + } + ///

                                                                                                The format of the input media file.

                                                                                                + pub fn media_format(mut self, input: crate::model::MediaFormat) -> Self { + self.media_format = Some(input); + self + } + pub fn set_media_format( + mut self, + input: std::option::Option, + ) -> Self { + self.media_format = input; + self + } + ///

                                                                                                An object that describes the input media for the transcription job.

                                                                                                + pub fn media(mut self, input: crate::model::Media) -> Self { + self.media = Some(input); + self + } + pub fn set_media(mut self, input: std::option::Option) -> Self { + self.media = input; + self + } + ///

                                                                                                An object that describes the output of the transcription job.

                                                                                                + pub fn transcript(mut self, input: crate::model::Transcript) -> Self { + self.transcript = Some(input); + self + } + pub fn set_transcript( + mut self, + input: std::option::Option, + ) -> Self { + self.transcript = input; + self + } + ///

                                                                                                A timestamp that shows with the job was started processing.

                                                                                                + pub fn start_time(mut self, input: smithy_types::Instant) -> Self { + self.start_time = Some(input); + self + } + pub fn set_start_time(mut self, input: std::option::Option) -> Self { + self.start_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + pub fn creation_time(mut self, input: smithy_types::Instant) -> Self { + self.creation_time = Some(input); + self + } + pub fn set_creation_time( + mut self, + input: std::option::Option, + ) -> Self { + self.creation_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub fn completion_time(mut self, input: smithy_types::Instant) -> Self { + self.completion_time = Some(input); + self + } + pub fn set_completion_time( + mut self, + input: std::option::Option, + ) -> Self { + self.completion_time = input; + self + } + ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field + /// contains information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field can contain one of the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  + /// Unsupported media format - The media format specified in the + /// MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid + /// values.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The media format provided does not match the detected media + /// format - The media format of the audio file doesn't match the format + /// specified in the MediaFormat field in the request. Check the media + /// format of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid sample rate for audio file - The sample rate specified in + /// the MediaSampleRateHertz of the request isn't valid. The sample + /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The sample rate provided does not match the detected sample rate + /// - The sample rate in the audio file doesn't match the sample rate specified in + /// the MediaSampleRateHertz field in the request. Check the sample + /// rate of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid file size: file size too large - The size of your audio + /// file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid number of channels: number of channels too large - Your + /// audio contains more channels than Amazon Transcribe is configured to process. To request + /// additional channels, see Amazon Transcribe Limits in the Amazon Web Services + /// General Reference.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn failure_reason(mut self, input: impl Into) -> Self { + self.failure_reason = Some(input.into()); + self + } + pub fn set_failure_reason( + mut self, + input: std::option::Option, + ) -> Self { + self.failure_reason = input; + self + } + ///

                                                                                                Optional settings for the transcription job. Use these settings to turn on speaker + /// recognition, to set the maximum number of speakers that should be identified and to + /// specify a custom vocabulary to use when processing the transcription job.

                                                                                                + pub fn settings(mut self, input: crate::model::Settings) -> Self { + self.settings = Some(input); + self + } + pub fn set_settings(mut self, input: std::option::Option) -> Self { + self.settings = input; + self + } + ///

                                                                                                An object containing the details of your custom language model.

                                                                                                + pub fn model_settings(mut self, input: crate::model::ModelSettings) -> Self { + self.model_settings = Some(input); + self + } + pub fn set_model_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.model_settings = input; + self + } + ///

                                                                                                Provides information about how a transcription job is executed.

                                                                                                + pub fn job_execution_settings(mut self, input: crate::model::JobExecutionSettings) -> Self { + self.job_execution_settings = Some(input); + self + } + pub fn set_job_execution_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.job_execution_settings = input; + self + } + ///

                                                                                                An object that describes content redaction settings for the transcription job.

                                                                                                + pub fn content_redaction(mut self, input: crate::model::ContentRedaction) -> Self { + self.content_redaction = Some(input); + self + } + pub fn set_content_redaction( + mut self, + input: std::option::Option, + ) -> Self { + self.content_redaction = input; + self + } + ///

                                                                                                A value that shows if automatic language identification was enabled for a + /// transcription job.

                                                                                                + pub fn identify_language(mut self, input: bool) -> Self { + self.identify_language = Some(input); + self + } + pub fn set_identify_language(mut self, input: std::option::Option) -> Self { + self.identify_language = input; + self + } + pub fn language_options(mut self, input: impl Into) -> Self { + let mut v = self.language_options.unwrap_or_default(); + v.push(input.into()); + self.language_options = Some(v); + self + } + pub fn set_language_options( + mut self, + input: std::option::Option>, + ) -> Self { + self.language_options = input; + self + } + ///

                                                                                                A value between zero and one that Amazon Transcribe assigned to the language that it identified in + /// the source audio. Larger values indicate that Amazon Transcribe has higher confidence in the + /// language it identified.

                                                                                                + pub fn identified_language_score(mut self, input: f32) -> Self { + self.identified_language_score = Some(input); + self + } + pub fn set_identified_language_score(mut self, input: std::option::Option) -> Self { + self.identified_language_score = input; + self + } + /// Consumes the builder and constructs a [`TranscriptionJob`](crate::model::TranscriptionJob) + pub fn build(self) -> crate::model::TranscriptionJob { + crate::model::TranscriptionJob { + transcription_job_name: self.transcription_job_name, + transcription_job_status: self.transcription_job_status, + language_code: self.language_code, + media_sample_rate_hertz: self.media_sample_rate_hertz, + media_format: self.media_format, + media: self.media, + transcript: self.transcript, + start_time: self.start_time, + creation_time: self.creation_time, + completion_time: self.completion_time, + failure_reason: self.failure_reason, + settings: self.settings, + model_settings: self.model_settings, + job_execution_settings: self.job_execution_settings, + content_redaction: self.content_redaction, + identify_language: self.identify_language, + language_options: self.language_options, + identified_language_score: self.identified_language_score, + } + } + } +} +impl TranscriptionJob { + /// Creates a new builder-style object to manufacture [`TranscriptionJob`](crate::model::TranscriptionJob) + pub fn builder() -> crate::model::transcription_job::Builder { + crate::model::transcription_job::Builder::default() + } +} + +///

                                                                                                Settings for content redaction within a transcription job.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ContentRedaction { + ///

                                                                                                Request parameter that defines the entities to be redacted. The only accepted value is + /// PII.

                                                                                                + pub redaction_type: std::option::Option, + ///

                                                                                                The output transcript file stored in either the default S3 bucket or in a bucket you + /// specify.

                                                                                                + ///

                                                                                                When you choose redacted Amazon Transcribe outputs only the redacted + /// transcript.

                                                                                                + ///

                                                                                                When you choose redacted_and_unredacted Amazon Transcribe outputs both the redacted + /// and unredacted transcripts.

                                                                                                + pub redaction_output: std::option::Option, +} +impl std::fmt::Debug for ContentRedaction { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ContentRedaction"); + formatter.field("redaction_type", &self.redaction_type); + formatter.field("redaction_output", &self.redaction_output); + formatter.finish() + } +} +/// See [`ContentRedaction`](crate::model::ContentRedaction) +pub mod content_redaction { + /// A builder for [`ContentRedaction`](crate::model::ContentRedaction) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) redaction_type: std::option::Option, + pub(crate) redaction_output: std::option::Option, + } + impl Builder { + ///

                                                                                                Request parameter that defines the entities to be redacted. The only accepted value is + /// PII.

                                                                                                + pub fn redaction_type(mut self, input: crate::model::RedactionType) -> Self { + self.redaction_type = Some(input); + self + } + pub fn set_redaction_type( + mut self, + input: std::option::Option, + ) -> Self { + self.redaction_type = input; + self + } + ///

                                                                                                The output transcript file stored in either the default S3 bucket or in a bucket you + /// specify.

                                                                                                + ///

                                                                                                When you choose redacted Amazon Transcribe outputs only the redacted + /// transcript.

                                                                                                + ///

                                                                                                When you choose redacted_and_unredacted Amazon Transcribe outputs both the redacted + /// and unredacted transcripts.

                                                                                                + pub fn redaction_output(mut self, input: crate::model::RedactionOutput) -> Self { + self.redaction_output = Some(input); + self + } + pub fn set_redaction_output( + mut self, + input: std::option::Option, + ) -> Self { + self.redaction_output = input; + self + } + /// Consumes the builder and constructs a [`ContentRedaction`](crate::model::ContentRedaction) + pub fn build(self) -> crate::model::ContentRedaction { + crate::model::ContentRedaction { + redaction_type: self.redaction_type, + redaction_output: self.redaction_output, + } + } + } +} +impl ContentRedaction { + /// Creates a new builder-style object to manufacture [`ContentRedaction`](crate::model::ContentRedaction) + pub fn builder() -> crate::model::content_redaction::Builder { + crate::model::content_redaction::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum RedactionOutput { + Redacted, + RedactedAndUnredacted, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for RedactionOutput { + fn from(s: &str) -> Self { + match s { + "redacted" => RedactionOutput::Redacted, + "redacted_and_unredacted" => RedactionOutput::RedactedAndUnredacted, + other => RedactionOutput::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for RedactionOutput { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(RedactionOutput::from(s)) + } +} +impl RedactionOutput { + pub fn as_str(&self) -> &str { + match self { + RedactionOutput::Redacted => "redacted", + RedactionOutput::RedactedAndUnredacted => "redacted_and_unredacted", + RedactionOutput::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["redacted", "redacted_and_unredacted"] + } +} +impl AsRef for RedactionOutput { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum RedactionType { + Pii, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for RedactionType { + fn from(s: &str) -> Self { + match s { + "PII" => RedactionType::Pii, + other => RedactionType::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for RedactionType { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(RedactionType::from(s)) + } +} +impl RedactionType { + pub fn as_str(&self) -> &str { + match self { + RedactionType::Pii => "PII", + RedactionType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["PII"] + } +} +impl AsRef for RedactionType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                Provides information about when a transcription job should be executed.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct JobExecutionSettings { + ///

                                                                                                Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit + /// is exceeded. When the AllowDeferredExecution field is true, jobs are queued + /// and executed when the number of executing jobs falls below the concurrent execution + /// limit. If the field is false, Amazon Transcribe returns a LimitExceededException + /// exception.

                                                                                                + ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the + /// DataAccessRoleArn field.

                                                                                                + pub allow_deferred_execution: std::option::Option, + ///

                                                                                                The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that + /// contains the input files. Amazon Transcribe assumes this role to read queued media files. If you + /// have specified an output S3 bucket for the transcription results, this role should have + /// access to the output bucket as well.

                                                                                                + ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the + /// DataAccessRoleArn field.

                                                                                                + pub data_access_role_arn: std::option::Option, +} +impl std::fmt::Debug for JobExecutionSettings { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("JobExecutionSettings"); + formatter.field("allow_deferred_execution", &self.allow_deferred_execution); + formatter.field("data_access_role_arn", &self.data_access_role_arn); + formatter.finish() + } +} +/// See [`JobExecutionSettings`](crate::model::JobExecutionSettings) +pub mod job_execution_settings { + /// A builder for [`JobExecutionSettings`](crate::model::JobExecutionSettings) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) allow_deferred_execution: std::option::Option, + pub(crate) data_access_role_arn: std::option::Option, + } + impl Builder { + ///

                                                                                                Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit + /// is exceeded. When the AllowDeferredExecution field is true, jobs are queued + /// and executed when the number of executing jobs falls below the concurrent execution + /// limit. If the field is false, Amazon Transcribe returns a LimitExceededException + /// exception.

                                                                                                + ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the + /// DataAccessRoleArn field.

                                                                                                + pub fn allow_deferred_execution(mut self, input: bool) -> Self { + self.allow_deferred_execution = Some(input); + self + } + pub fn set_allow_deferred_execution(mut self, input: std::option::Option) -> Self { + self.allow_deferred_execution = input; + self + } + ///

                                                                                                The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that + /// contains the input files. Amazon Transcribe assumes this role to read queued media files. If you + /// have specified an output S3 bucket for the transcription results, this role should have + /// access to the output bucket as well.

                                                                                                + ///

                                                                                                If you specify the AllowDeferredExecution field, you must specify the + /// DataAccessRoleArn field.

                                                                                                + pub fn data_access_role_arn(mut self, input: impl Into) -> Self { + self.data_access_role_arn = Some(input.into()); + self + } + pub fn set_data_access_role_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.data_access_role_arn = input; + self + } + /// Consumes the builder and constructs a [`JobExecutionSettings`](crate::model::JobExecutionSettings) + pub fn build(self) -> crate::model::JobExecutionSettings { + crate::model::JobExecutionSettings { + allow_deferred_execution: self.allow_deferred_execution, + data_access_role_arn: self.data_access_role_arn, + } + } + } +} +impl JobExecutionSettings { + /// Creates a new builder-style object to manufacture [`JobExecutionSettings`](crate::model::JobExecutionSettings) + pub fn builder() -> crate::model::job_execution_settings::Builder { + crate::model::job_execution_settings::Builder::default() + } +} + +///

                                                                                                The object used to call your custom language model to your transcription job.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ModelSettings { + ///

                                                                                                The name of your custom language model.

                                                                                                + pub language_model_name: std::option::Option, +} +impl std::fmt::Debug for ModelSettings { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ModelSettings"); + formatter.field("language_model_name", &self.language_model_name); + formatter.finish() + } +} +/// See [`ModelSettings`](crate::model::ModelSettings) +pub mod model_settings { + /// A builder for [`ModelSettings`](crate::model::ModelSettings) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) language_model_name: std::option::Option, + } + impl Builder { + ///

                                                                                                The name of your custom language model.

                                                                                                + pub fn language_model_name(mut self, input: impl Into) -> Self { + self.language_model_name = Some(input.into()); + self + } + pub fn set_language_model_name( + mut self, + input: std::option::Option, + ) -> Self { + self.language_model_name = input; + self + } + /// Consumes the builder and constructs a [`ModelSettings`](crate::model::ModelSettings) + pub fn build(self) -> crate::model::ModelSettings { + crate::model::ModelSettings { + language_model_name: self.language_model_name, + } + } + } +} +impl ModelSettings { + /// Creates a new builder-style object to manufacture [`ModelSettings`](crate::model::ModelSettings) + pub fn builder() -> crate::model::model_settings::Builder { + crate::model::model_settings::Builder::default() + } +} + +///

                                                                                                Provides optional settings for the StartTranscriptionJob +/// operation.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Settings { + ///

                                                                                                The name of a vocabulary to use when processing the transcription job.

                                                                                                + pub vocabulary_name: std::option::Option, + ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify + /// different speakers in the input audio. Speaker recognition labels individual speakers in + /// the audio file. If you set the ShowSpeakerLabels field to true, you must + /// also set the maximum number of speaker labels MaxSpeakerLabels + /// field.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub show_speaker_labels: std::option::Option, + ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more + /// speakers in the audio than this number, multiple speakers are identified as a single + /// speaker. If you specify the MaxSpeakerLabels field, you must set the + /// ShowSpeakerLabels field to true.

                                                                                                + pub max_speaker_labels: std::option::Option, + ///

                                                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the + /// transcription output of each channel into a single transcription.

                                                                                                + ///

                                                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, + /// including the start time and end time of the item and alternative transcriptions of the + /// item including the confidence that Amazon Transcribe has in the transcription.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub channel_identification: std::option::Option, + ///

                                                                                                Determines whether the transcription contains alternative transcriptions. If you set + /// the ShowAlternatives field to true, you must also set the maximum number of + /// alternatives to return in the MaxAlternatives field.

                                                                                                + pub show_alternatives: std::option::Option, + ///

                                                                                                The number of alternative transcriptions that the service should return. If you + /// specify the MaxAlternatives field, you must set the + /// ShowAlternatives field to true.

                                                                                                + pub max_alternatives: std::option::Option, + ///

                                                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that + /// you specify must have the same language code as the transcription job.

                                                                                                + pub vocabulary_filter_name: std::option::Option, + ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it + /// with three asterisks ("***") as placeholder text. Set to remove to remove + /// filtered text from the transcript without using placeholder text. Set to + /// tag to mark the word in the transcription output that matches the + /// vocabulary filter. When you set the filter method to tag, the words + /// matching your vocabulary filter are not masked or removed.

                                                                                                + pub vocabulary_filter_method: std::option::Option, +} +impl std::fmt::Debug for Settings { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Settings"); + formatter.field("vocabulary_name", &self.vocabulary_name); + formatter.field("show_speaker_labels", &self.show_speaker_labels); + formatter.field("max_speaker_labels", &self.max_speaker_labels); + formatter.field("channel_identification", &self.channel_identification); + formatter.field("show_alternatives", &self.show_alternatives); + formatter.field("max_alternatives", &self.max_alternatives); + formatter.field("vocabulary_filter_name", &self.vocabulary_filter_name); + formatter.field("vocabulary_filter_method", &self.vocabulary_filter_method); + formatter.finish() + } +} +/// See [`Settings`](crate::model::Settings) +pub mod settings { + /// A builder for [`Settings`](crate::model::Settings) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) vocabulary_name: std::option::Option, + pub(crate) show_speaker_labels: std::option::Option, + pub(crate) max_speaker_labels: std::option::Option, + pub(crate) channel_identification: std::option::Option, + pub(crate) show_alternatives: std::option::Option, + pub(crate) max_alternatives: std::option::Option, + pub(crate) vocabulary_filter_name: std::option::Option, + pub(crate) vocabulary_filter_method: + std::option::Option, + } + impl Builder { + ///

                                                                                                The name of a vocabulary to use when processing the transcription job.

                                                                                                + pub fn vocabulary_name(mut self, input: impl Into) -> Self { + self.vocabulary_name = Some(input.into()); + self + } + pub fn set_vocabulary_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_name = input; + self + } + ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify + /// different speakers in the input audio. Speaker recognition labels individual speakers in + /// the audio file. If you set the ShowSpeakerLabels field to true, you must + /// also set the maximum number of speaker labels MaxSpeakerLabels + /// field.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub fn show_speaker_labels(mut self, input: bool) -> Self { + self.show_speaker_labels = Some(input); + self + } + pub fn set_show_speaker_labels(mut self, input: std::option::Option) -> Self { + self.show_speaker_labels = input; + self + } + ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more + /// speakers in the audio than this number, multiple speakers are identified as a single + /// speaker. If you specify the MaxSpeakerLabels field, you must set the + /// ShowSpeakerLabels field to true.

                                                                                                + pub fn max_speaker_labels(mut self, input: i32) -> Self { + self.max_speaker_labels = Some(input); + self + } + pub fn set_max_speaker_labels(mut self, input: std::option::Option) -> Self { + self.max_speaker_labels = input; + self + } + ///

                                                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the + /// transcription output of each channel into a single transcription.

                                                                                                + ///

                                                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, + /// including the start time and end time of the item and alternative transcriptions of the + /// item including the confidence that Amazon Transcribe has in the transcription.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub fn channel_identification(mut self, input: bool) -> Self { + self.channel_identification = Some(input); + self + } + pub fn set_channel_identification(mut self, input: std::option::Option) -> Self { + self.channel_identification = input; + self + } + ///

                                                                                                Determines whether the transcription contains alternative transcriptions. If you set + /// the ShowAlternatives field to true, you must also set the maximum number of + /// alternatives to return in the MaxAlternatives field.

                                                                                                + pub fn show_alternatives(mut self, input: bool) -> Self { + self.show_alternatives = Some(input); + self + } + pub fn set_show_alternatives(mut self, input: std::option::Option) -> Self { + self.show_alternatives = input; + self + } + ///

                                                                                                The number of alternative transcriptions that the service should return. If you + /// specify the MaxAlternatives field, you must set the + /// ShowAlternatives field to true.

                                                                                                + pub fn max_alternatives(mut self, input: i32) -> Self { + self.max_alternatives = Some(input); + self + } + pub fn set_max_alternatives(mut self, input: std::option::Option) -> Self { + self.max_alternatives = input; + self + } + ///

                                                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that + /// you specify must have the same language code as the transcription job.

                                                                                                + pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { + self.vocabulary_filter_name = Some(input.into()); + self + } + pub fn set_vocabulary_filter_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_filter_name = input; + self + } + ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it + /// with three asterisks ("***") as placeholder text. Set to remove to remove + /// filtered text from the transcript without using placeholder text. Set to + /// tag to mark the word in the transcription output that matches the + /// vocabulary filter. When you set the filter method to tag, the words + /// matching your vocabulary filter are not masked or removed.

                                                                                                + pub fn vocabulary_filter_method( + mut self, + input: crate::model::VocabularyFilterMethod, + ) -> Self { + self.vocabulary_filter_method = Some(input); + self + } + pub fn set_vocabulary_filter_method( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_filter_method = input; + self + } + /// Consumes the builder and constructs a [`Settings`](crate::model::Settings) + pub fn build(self) -> crate::model::Settings { + crate::model::Settings { + vocabulary_name: self.vocabulary_name, + show_speaker_labels: self.show_speaker_labels, + max_speaker_labels: self.max_speaker_labels, + channel_identification: self.channel_identification, + show_alternatives: self.show_alternatives, + max_alternatives: self.max_alternatives, + vocabulary_filter_name: self.vocabulary_filter_name, + vocabulary_filter_method: self.vocabulary_filter_method, + } + } + } +} +impl Settings { + /// Creates a new builder-style object to manufacture [`Settings`](crate::model::Settings) + pub fn builder() -> crate::model::settings::Builder { + crate::model::settings::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum VocabularyFilterMethod { + Mask, + Remove, + Tag, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for VocabularyFilterMethod { + fn from(s: &str) -> Self { + match s { + "mask" => VocabularyFilterMethod::Mask, + "remove" => VocabularyFilterMethod::Remove, + "tag" => VocabularyFilterMethod::Tag, + other => VocabularyFilterMethod::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for VocabularyFilterMethod { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(VocabularyFilterMethod::from(s)) + } +} +impl VocabularyFilterMethod { + pub fn as_str(&self) -> &str { + match self { + VocabularyFilterMethod::Mask => "mask", + VocabularyFilterMethod::Remove => "remove", + VocabularyFilterMethod::Tag => "tag", + VocabularyFilterMethod::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["mask", "remove", "tag"] + } +} +impl AsRef for VocabularyFilterMethod { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                Identifies the location of a transcription.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Transcript { + ///

                                                                                                The S3 object location of the transcript.

                                                                                                + ///

                                                                                                Use this URI to access the transcript. If you specified an S3 bucket in the + /// OutputBucketName field when you created the job, this is the URI of + /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that + /// provides secure access to that location.

                                                                                                + pub transcript_file_uri: std::option::Option, + ///

                                                                                                The S3 object location of the redacted transcript.

                                                                                                + ///

                                                                                                Use this URI to access the redacted transcript. If you specified an S3 bucket in the + /// OutputBucketName field when you created the job, this is the URI of + /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that + /// provides secure access to that location.

                                                                                                + pub redacted_transcript_file_uri: std::option::Option, +} +impl std::fmt::Debug for Transcript { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Transcript"); + formatter.field("transcript_file_uri", &self.transcript_file_uri); + formatter.field( + "redacted_transcript_file_uri", + &self.redacted_transcript_file_uri, + ); + formatter.finish() + } +} +/// See [`Transcript`](crate::model::Transcript) +pub mod transcript { + /// A builder for [`Transcript`](crate::model::Transcript) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) transcript_file_uri: std::option::Option, + pub(crate) redacted_transcript_file_uri: std::option::Option, + } + impl Builder { + ///

                                                                                                The S3 object location of the transcript.

                                                                                                + ///

                                                                                                Use this URI to access the transcript. If you specified an S3 bucket in the + /// OutputBucketName field when you created the job, this is the URI of + /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that + /// provides secure access to that location.

                                                                                                + pub fn transcript_file_uri(mut self, input: impl Into) -> Self { + self.transcript_file_uri = Some(input.into()); + self + } + pub fn set_transcript_file_uri( + mut self, + input: std::option::Option, + ) -> Self { + self.transcript_file_uri = input; + self + } + ///

                                                                                                The S3 object location of the redacted transcript.

                                                                                                + ///

                                                                                                Use this URI to access the redacted transcript. If you specified an S3 bucket in the + /// OutputBucketName field when you created the job, this is the URI of + /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that + /// provides secure access to that location.

                                                                                                + pub fn redacted_transcript_file_uri( + mut self, + input: impl Into, + ) -> Self { + self.redacted_transcript_file_uri = Some(input.into()); + self + } + pub fn set_redacted_transcript_file_uri( + mut self, + input: std::option::Option, + ) -> Self { + self.redacted_transcript_file_uri = input; + self + } + /// Consumes the builder and constructs a [`Transcript`](crate::model::Transcript) + pub fn build(self) -> crate::model::Transcript { + crate::model::Transcript { + transcript_file_uri: self.transcript_file_uri, + redacted_transcript_file_uri: self.redacted_transcript_file_uri, + } + } + } +} +impl Transcript { + /// Creates a new builder-style object to manufacture [`Transcript`](crate::model::Transcript) + pub fn builder() -> crate::model::transcript::Builder { + crate::model::transcript::Builder::default() + } +} + +///

                                                                                                Describes the input media file in a transcription request.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct Media { + ///

                                                                                                The S3 object location of the input media file. The URI must be in the same region as + /// the API endpoint that you are calling. The general form is:

                                                                                                + ///

                                                                                                For example:

                                                                                                + ///

                                                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                                + pub media_file_uri: std::option::Option, + ///

                                                                                                The S3 object location for your redacted output media file. This is only supported for call analytics jobs.

                                                                                                + pub redacted_media_file_uri: std::option::Option, +} +impl std::fmt::Debug for Media { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("Media"); + formatter.field("media_file_uri", &self.media_file_uri); + formatter.field("redacted_media_file_uri", &self.redacted_media_file_uri); + formatter.finish() + } +} +/// See [`Media`](crate::model::Media) +pub mod media { + /// A builder for [`Media`](crate::model::Media) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) media_file_uri: std::option::Option, + pub(crate) redacted_media_file_uri: std::option::Option, + } + impl Builder { + ///

                                                                                                The S3 object location of the input media file. The URI must be in the same region as + /// the API endpoint that you are calling. The general form is:

                                                                                                + ///

                                                                                                For example:

                                                                                                + ///

                                                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                                + pub fn media_file_uri(mut self, input: impl Into) -> Self { + self.media_file_uri = Some(input.into()); + self + } + pub fn set_media_file_uri( + mut self, + input: std::option::Option, + ) -> Self { + self.media_file_uri = input; + self + } + ///

                                                                                                The S3 object location for your redacted output media file. This is only supported for call analytics jobs.

                                                                                                + pub fn redacted_media_file_uri(mut self, input: impl Into) -> Self { + self.redacted_media_file_uri = Some(input.into()); + self + } + pub fn set_redacted_media_file_uri( + mut self, + input: std::option::Option, + ) -> Self { + self.redacted_media_file_uri = input; + self + } + /// Consumes the builder and constructs a [`Media`](crate::model::Media) + pub fn build(self) -> crate::model::Media { + crate::model::Media { + media_file_uri: self.media_file_uri, + redacted_media_file_uri: self.redacted_media_file_uri, + } + } + } +} +impl Media { + /// Creates a new builder-style object to manufacture [`Media`](crate::model::Media) + pub fn builder() -> crate::model::media::Builder { + crate::model::media::Builder::default() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum MediaFormat { + Amr, + Flac, + Mp3, + Mp4, + Ogg, + Wav, + Webm, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for MediaFormat { + fn from(s: &str) -> Self { + match s { + "amr" => MediaFormat::Amr, + "flac" => MediaFormat::Flac, + "mp3" => MediaFormat::Mp3, + "mp4" => MediaFormat::Mp4, + "ogg" => MediaFormat::Ogg, + "wav" => MediaFormat::Wav, + "webm" => MediaFormat::Webm, + other => MediaFormat::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for MediaFormat { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(MediaFormat::from(s)) + } +} +impl MediaFormat { + pub fn as_str(&self) -> &str { + match self { + MediaFormat::Amr => "amr", + MediaFormat::Flac => "flac", + MediaFormat::Mp3 => "mp3", + MediaFormat::Mp4 => "mp4", + MediaFormat::Ogg => "ogg", + MediaFormat::Wav => "wav", + MediaFormat::Webm => "webm", + MediaFormat::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["amr", "flac", "mp3", "mp4", "ogg", "wav", "webm"] + } +} +impl AsRef for MediaFormat { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +#[non_exhaustive] +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum TranscriptionJobStatus { + Completed, + Failed, + InProgress, + Queued, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), +} +impl std::convert::From<&str> for TranscriptionJobStatus { + fn from(s: &str) -> Self { + match s { + "COMPLETED" => TranscriptionJobStatus::Completed, + "FAILED" => TranscriptionJobStatus::Failed, + "IN_PROGRESS" => TranscriptionJobStatus::InProgress, + "QUEUED" => TranscriptionJobStatus::Queued, + other => TranscriptionJobStatus::Unknown(other.to_owned()), + } + } +} +impl std::str::FromStr for TranscriptionJobStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(TranscriptionJobStatus::from(s)) + } +} +impl TranscriptionJobStatus { + pub fn as_str(&self) -> &str { + match self { + TranscriptionJobStatus::Completed => "COMPLETED", + TranscriptionJobStatus::Failed => "FAILED", + TranscriptionJobStatus::InProgress => "IN_PROGRESS", + TranscriptionJobStatus::Queued => "QUEUED", + TranscriptionJobStatus::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["COMPLETED", "FAILED", "IN_PROGRESS", "QUEUED"] + } +} +impl AsRef for TranscriptionJobStatus { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                The data structure that contains the information for a medical transcription +/// job.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MedicalTranscriptionJob { + ///

                                                                                                The name for a given medical transcription job.

                                                                                                + pub medical_transcription_job_name: std::option::Option, + ///

                                                                                                The completion status of a medical transcription job.

                                                                                                + pub transcription_job_status: std::option::Option, + ///

                                                                                                The language code for the language spoken in the source audio file. US English (en-US) + /// is the only supported language for medical transcriptions. Any other value you enter for + /// language code results in a BadRequestException error.

                                                                                                + pub language_code: std::option::Option, + ///

                                                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                                                + ///

                                                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to + /// specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you + /// should leave the MedicalMediaSampleHertz blank and let Amazon Transcribe Medical determine the sample + /// rate.

                                                                                                + pub media_sample_rate_hertz: std::option::Option, + ///

                                                                                                The format of the input media file.

                                                                                                + pub media_format: std::option::Option, + ///

                                                                                                Describes the input media file in a transcription request.

                                                                                                + pub media: std::option::Option, + ///

                                                                                                An object that contains the MedicalTranscript. The + /// MedicalTranscript contains the TranscriptFileUri.

                                                                                                + pub transcript: std::option::Option, + ///

                                                                                                A timestamp that shows when the job started processing.

                                                                                                + pub start_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + pub creation_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub completion_time: std::option::Option, + ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field + /// contains information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field contains one of the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  + /// Unsupported media format- The media format specified in the + /// MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid + /// values.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The media format provided does not match the detected media + /// format- The media format of the audio file doesn't match the format + /// specified in the MediaFormat field in the request. Check the media + /// format of your media file and make sure the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid sample rate for audio file- The sample rate specified in + /// the MediaSampleRateHertz of the request isn't valid. The sample + /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The sample rate provided does not match the detected sample rate- + /// The sample rate in the audio file doesn't match the sample rate specified in the + /// MediaSampleRateHertz field in the request. Check the sample + /// rate of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid file size: file size too large- The size of your audio + /// file is larger than what Amazon Transcribe Medical can process. For more information, see Guidelines and + /// Quotas in the Amazon Transcribe Medical Guide + ///

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid number of channels: number of channels too large- Your + /// audio contains more channels than Amazon Transcribe Medical is configured to process. To request + /// additional channels, see Amazon Transcribe Medical Endpoints and + /// Quotas in the Amazon Web Services General + /// Reference + ///

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub failure_reason: std::option::Option, + ///

                                                                                                Object that contains object.

                                                                                                + pub settings: std::option::Option, + ///

                                                                                                Shows the type of content that you've configured Amazon Transcribe Medical to identify in a transcription + /// job. If the value is PHI, you've configured the job to identify personal + /// health information (PHI) in the transcription output.

                                                                                                + pub content_identification_type: + std::option::Option, + ///

                                                                                                The medical specialty of any clinicians providing a dictation or having a + /// conversation. PRIMARYCARE is the only available setting for this object. + /// This specialty enables you to generate transcriptions for the following medical + /// fields:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  Family Medicine

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub specialty: std::option::Option, + ///

                                                                                                The type of speech in the transcription job. CONVERSATION is generally + /// used for patient-physician dialogues. DICTATION is the setting for + /// physicians speaking their notes after seeing a patient. For more information, see What is + /// Amazon Transcribe Medical?.

                                                                                                + pub r#type: std::option::Option, +} +impl std::fmt::Debug for MedicalTranscriptionJob { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MedicalTranscriptionJob"); + formatter.field( + "medical_transcription_job_name", + &self.medical_transcription_job_name, + ); + formatter.field("transcription_job_status", &self.transcription_job_status); + formatter.field("language_code", &self.language_code); + formatter.field("media_sample_rate_hertz", &self.media_sample_rate_hertz); + formatter.field("media_format", &self.media_format); + formatter.field("media", &self.media); + formatter.field("transcript", &self.transcript); + formatter.field("start_time", &self.start_time); + formatter.field("creation_time", &self.creation_time); + formatter.field("completion_time", &self.completion_time); + formatter.field("failure_reason", &self.failure_reason); + formatter.field("settings", &self.settings); + formatter.field( + "content_identification_type", + &self.content_identification_type, + ); + formatter.field("specialty", &self.specialty); + formatter.field("r#type", &self.r#type); formatter.finish() } } -/// See [`Settings`](crate::model::Settings) -pub mod settings { - /// A builder for [`Settings`](crate::model::Settings) +/// See [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) +pub mod medical_transcription_job { + /// A builder for [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) vocabulary_name: std::option::Option, - pub(crate) show_speaker_labels: std::option::Option, - pub(crate) max_speaker_labels: std::option::Option, - pub(crate) channel_identification: std::option::Option, - pub(crate) show_alternatives: std::option::Option, - pub(crate) max_alternatives: std::option::Option, - pub(crate) vocabulary_filter_name: std::option::Option, - pub(crate) vocabulary_filter_method: - std::option::Option, + pub(crate) medical_transcription_job_name: std::option::Option, + pub(crate) transcription_job_status: + std::option::Option, + pub(crate) language_code: std::option::Option, + pub(crate) media_sample_rate_hertz: std::option::Option, + pub(crate) media_format: std::option::Option, + pub(crate) media: std::option::Option, + pub(crate) transcript: std::option::Option, + pub(crate) start_time: std::option::Option, + pub(crate) creation_time: std::option::Option, + pub(crate) completion_time: std::option::Option, + pub(crate) failure_reason: std::option::Option, + pub(crate) settings: std::option::Option, + pub(crate) content_identification_type: + std::option::Option, + pub(crate) specialty: std::option::Option, + pub(crate) r#type: std::option::Option, } impl Builder { - ///

                                                                                                The name of a vocabulary to use when processing the transcription job.

                                                                                                - pub fn vocabulary_name(mut self, input: impl Into) -> Self { - self.vocabulary_name = Some(input.into()); + ///

                                                                                                The name for a given medical transcription job.

                                                                                                + pub fn medical_transcription_job_name( + mut self, + input: impl Into, + ) -> Self { + self.medical_transcription_job_name = Some(input.into()); self } - pub fn set_vocabulary_name( + pub fn set_medical_transcription_job_name( mut self, input: std::option::Option, ) -> Self { - self.vocabulary_name = input; + self.medical_transcription_job_name = input; self } - ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify - /// different speakers in the input audio. Speaker recognition labels individual speakers in - /// the audio file. If you set the ShowSpeakerLabels field to true, you must - /// also set the maximum number of speaker labels MaxSpeakerLabels - /// field.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub fn show_speaker_labels(mut self, input: bool) -> Self { - self.show_speaker_labels = Some(input); + ///

                                                                                                The completion status of a medical transcription job.

                                                                                                + pub fn transcription_job_status( + mut self, + input: crate::model::TranscriptionJobStatus, + ) -> Self { + self.transcription_job_status = Some(input); self } - pub fn set_show_speaker_labels(mut self, input: std::option::Option) -> Self { - self.show_speaker_labels = input; + pub fn set_transcription_job_status( + mut self, + input: std::option::Option, + ) -> Self { + self.transcription_job_status = input; self } - ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more - /// speakers in the audio than this number, multiple speakers are identified as a single - /// speaker. If you specify the MaxSpeakerLabels field, you must set the - /// ShowSpeakerLabels field to true.

                                                                                                - pub fn max_speaker_labels(mut self, input: i32) -> Self { - self.max_speaker_labels = Some(input); + ///

                                                                                                The language code for the language spoken in the source audio file. US English (en-US) + /// is the only supported language for medical transcriptions. Any other value you enter for + /// language code results in a BadRequestException error.

                                                                                                + pub fn language_code(mut self, input: crate::model::LanguageCode) -> Self { + self.language_code = Some(input); self } - pub fn set_max_speaker_labels(mut self, input: std::option::Option) -> Self { - self.max_speaker_labels = input; + pub fn set_language_code( + mut self, + input: std::option::Option, + ) -> Self { + self.language_code = input; self } - ///

                                                                                                Instructs Amazon Transcribe to process each audio channel separately and then merge the - /// transcription output of each channel into a single transcription.

                                                                                                - ///

                                                                                                Amazon Transcribe also produces a transcription of each item detected on an audio channel, - /// including the start time and end time of the item and alternative transcriptions of the - /// item including the confidence that Amazon Transcribe has in the transcription.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub fn channel_identification(mut self, input: bool) -> Self { - self.channel_identification = Some(input); + ///

                                                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                                                + ///

                                                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to + /// specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you + /// should leave the MedicalMediaSampleHertz blank and let Amazon Transcribe Medical determine the sample + /// rate.

                                                                                                + pub fn media_sample_rate_hertz(mut self, input: i32) -> Self { + self.media_sample_rate_hertz = Some(input); self } - pub fn set_channel_identification(mut self, input: std::option::Option) -> Self { - self.channel_identification = input; + pub fn set_media_sample_rate_hertz(mut self, input: std::option::Option) -> Self { + self.media_sample_rate_hertz = input; self } - ///

                                                                                                Determines whether the transcription contains alternative transcriptions. If you set - /// the ShowAlternatives field to true, you must also set the maximum number of - /// alternatives to return in the MaxAlternatives field.

                                                                                                - pub fn show_alternatives(mut self, input: bool) -> Self { - self.show_alternatives = Some(input); + ///

                                                                                                The format of the input media file.

                                                                                                + pub fn media_format(mut self, input: crate::model::MediaFormat) -> Self { + self.media_format = Some(input); self } - pub fn set_show_alternatives(mut self, input: std::option::Option) -> Self { - self.show_alternatives = input; + pub fn set_media_format( + mut self, + input: std::option::Option, + ) -> Self { + self.media_format = input; self } - ///

                                                                                                The number of alternative transcriptions that the service should return. If you - /// specify the MaxAlternatives field, you must set the - /// ShowAlternatives field to true.

                                                                                                - pub fn max_alternatives(mut self, input: i32) -> Self { - self.max_alternatives = Some(input); + ///

                                                                                                Describes the input media file in a transcription request.

                                                                                                + pub fn media(mut self, input: crate::model::Media) -> Self { + self.media = Some(input); + self + } + pub fn set_media(mut self, input: std::option::Option) -> Self { + self.media = input; + self + } + ///

                                                                                                An object that contains the MedicalTranscript. The + /// MedicalTranscript contains the TranscriptFileUri.

                                                                                                + pub fn transcript(mut self, input: crate::model::MedicalTranscript) -> Self { + self.transcript = Some(input); + self + } + pub fn set_transcript( + mut self, + input: std::option::Option, + ) -> Self { + self.transcript = input; + self + } + ///

                                                                                                A timestamp that shows when the job started processing.

                                                                                                + pub fn start_time(mut self, input: smithy_types::Instant) -> Self { + self.start_time = Some(input); + self + } + pub fn set_start_time(mut self, input: std::option::Option) -> Self { + self.start_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + pub fn creation_time(mut self, input: smithy_types::Instant) -> Self { + self.creation_time = Some(input); + self + } + pub fn set_creation_time( + mut self, + input: std::option::Option, + ) -> Self { + self.creation_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub fn completion_time(mut self, input: smithy_types::Instant) -> Self { + self.completion_time = Some(input); + self + } + pub fn set_completion_time( + mut self, + input: std::option::Option, + ) -> Self { + self.completion_time = input; + self + } + ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field + /// contains information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field contains one of the following values:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  + /// Unsupported media format- The media format specified in the + /// MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid + /// values.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The media format provided does not match the detected media + /// format- The media format of the audio file doesn't match the format + /// specified in the MediaFormat field in the request. Check the media + /// format of your media file and make sure the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid sample rate for audio file- The sample rate specified in + /// the MediaSampleRateHertz of the request isn't valid. The sample + /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// The sample rate provided does not match the detected sample rate- + /// The sample rate in the audio file doesn't match the sample rate specified in the + /// MediaSampleRateHertz field in the request. Check the sample + /// rate of your media file and make sure that the two values match.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid file size: file size too large- The size of your audio + /// file is larger than what Amazon Transcribe Medical can process. For more information, see Guidelines and + /// Quotas in the Amazon Transcribe Medical Guide + ///

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  + /// Invalid number of channels: number of channels too large- Your + /// audio contains more channels than Amazon Transcribe Medical is configured to process. To request + /// additional channels, see Amazon Transcribe Medical Endpoints and + /// Quotas in the Amazon Web Services General + /// Reference + ///

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn failure_reason(mut self, input: impl Into) -> Self { + self.failure_reason = Some(input.into()); + self + } + pub fn set_failure_reason( + mut self, + input: std::option::Option, + ) -> Self { + self.failure_reason = input; self } - pub fn set_max_alternatives(mut self, input: std::option::Option) -> Self { - self.max_alternatives = input; + ///

                                                                                                Object that contains object.

                                                                                                + pub fn settings(mut self, input: crate::model::MedicalTranscriptionSetting) -> Self { + self.settings = Some(input); self } - ///

                                                                                                The name of the vocabulary filter to use when transcribing the audio. The filter that - /// you specify must have the same language code as the transcription job.

                                                                                                - pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { - self.vocabulary_filter_name = Some(input.into()); + pub fn set_settings( + mut self, + input: std::option::Option, + ) -> Self { + self.settings = input; self } - pub fn set_vocabulary_filter_name( + ///

                                                                                                Shows the type of content that you've configured Amazon Transcribe Medical to identify in a transcription + /// job. If the value is PHI, you've configured the job to identify personal + /// health information (PHI) in the transcription output.

                                                                                                + pub fn content_identification_type( mut self, - input: std::option::Option, + input: crate::model::MedicalContentIdentificationType, ) -> Self { - self.vocabulary_filter_name = input; + self.content_identification_type = Some(input); self } - ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it - /// with three asterisks ("***") as placeholder text. Set to remove to remove - /// filtered text from the transcript without using placeholder text. Set to - /// tag to mark the word in the transcription output that matches the - /// vocabulary filter. When you set the filter method to tag, the words - /// matching your vocabulary filter are not masked or removed.

                                                                                                - pub fn vocabulary_filter_method( + pub fn set_content_identification_type( mut self, - input: crate::model::VocabularyFilterMethod, + input: std::option::Option, ) -> Self { - self.vocabulary_filter_method = Some(input); + self.content_identification_type = input; self } - pub fn set_vocabulary_filter_method( + ///

                                                                                                The medical specialty of any clinicians providing a dictation or having a + /// conversation. PRIMARYCARE is the only available setting for this object. + /// This specialty enables you to generate transcriptions for the following medical + /// fields:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  Family Medicine

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn specialty(mut self, input: crate::model::Specialty) -> Self { + self.specialty = Some(input); + self + } + pub fn set_specialty( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.vocabulary_filter_method = input; + self.specialty = input; self } - /// Consumes the builder and constructs a [`Settings`](crate::model::Settings) - pub fn build(self) -> crate::model::Settings { - crate::model::Settings { - vocabulary_name: self.vocabulary_name, - show_speaker_labels: self.show_speaker_labels, - max_speaker_labels: self.max_speaker_labels, - channel_identification: self.channel_identification, - show_alternatives: self.show_alternatives, - max_alternatives: self.max_alternatives, - vocabulary_filter_name: self.vocabulary_filter_name, - vocabulary_filter_method: self.vocabulary_filter_method, + ///

                                                                                                The type of speech in the transcription job. CONVERSATION is generally + /// used for patient-physician dialogues. DICTATION is the setting for + /// physicians speaking their notes after seeing a patient. For more information, see What is + /// Amazon Transcribe Medical?.

                                                                                                + pub fn r#type(mut self, input: crate::model::Type) -> Self { + self.r#type = Some(input); + self + } + pub fn set_type(mut self, input: std::option::Option) -> Self { + self.r#type = input; + self + } + /// Consumes the builder and constructs a [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) + pub fn build(self) -> crate::model::MedicalTranscriptionJob { + crate::model::MedicalTranscriptionJob { + medical_transcription_job_name: self.medical_transcription_job_name, + transcription_job_status: self.transcription_job_status, + language_code: self.language_code, + media_sample_rate_hertz: self.media_sample_rate_hertz, + media_format: self.media_format, + media: self.media, + transcript: self.transcript, + start_time: self.start_time, + creation_time: self.creation_time, + completion_time: self.completion_time, + failure_reason: self.failure_reason, + settings: self.settings, + content_identification_type: self.content_identification_type, + specialty: self.specialty, + r#type: self.r#type, } } } } -impl Settings { - /// Creates a new builder-style object to manufacture [`Settings`](crate::model::Settings) - pub fn builder() -> crate::model::settings::Builder { - crate::model::settings::Builder::default() +impl MedicalTranscriptionJob { + /// Creates a new builder-style object to manufacture [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) + pub fn builder() -> crate::model::medical_transcription_job::Builder { + crate::model::medical_transcription_job::Builder::default() } } @@ -1168,191 +3051,90 @@ impl Settings { std::fmt::Debug, std::hash::Hash, )] -pub enum VocabularyFilterMethod { - Mask, - Remove, - Tag, +pub enum Type { + Conversation, + Dictation, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), } -impl std::convert::From<&str> for VocabularyFilterMethod { +impl std::convert::From<&str> for Type { fn from(s: &str) -> Self { match s { - "mask" => VocabularyFilterMethod::Mask, - "remove" => VocabularyFilterMethod::Remove, - "tag" => VocabularyFilterMethod::Tag, - other => VocabularyFilterMethod::Unknown(other.to_owned()), + "CONVERSATION" => Type::Conversation, + "DICTATION" => Type::Dictation, + other => Type::Unknown(other.to_owned()), } } } -impl std::str::FromStr for VocabularyFilterMethod { +impl std::str::FromStr for Type { type Err = std::convert::Infallible; fn from_str(s: &str) -> std::result::Result { - Ok(VocabularyFilterMethod::from(s)) + Ok(Type::from(s)) } } -impl VocabularyFilterMethod { +impl Type { pub fn as_str(&self) -> &str { match self { - VocabularyFilterMethod::Mask => "mask", - VocabularyFilterMethod::Remove => "remove", - VocabularyFilterMethod::Tag => "tag", - VocabularyFilterMethod::Unknown(s) => s.as_ref(), + Type::Conversation => "CONVERSATION", + Type::Dictation => "DICTATION", + Type::Unknown(s) => s.as_ref(), } } pub fn values() -> &'static [&'static str] { - &["mask", "remove", "tag"] + &["CONVERSATION", "DICTATION"] } } -impl AsRef for VocabularyFilterMethod { +impl AsRef for Type { fn as_ref(&self) -> &str { self.as_str() } } -///

                                                                                                Identifies the location of a transcription.

                                                                                                -#[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct Transcript { - ///

                                                                                                The S3 object location of the transcript.

                                                                                                - ///

                                                                                                Use this URI to access the transcript. If you specified an S3 bucket in the - /// OutputBucketName field when you created the job, this is the URI of - /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that - /// provides secure access to that location.

                                                                                                - pub transcript_file_uri: std::option::Option, - ///

                                                                                                The S3 object location of the redacted transcript.

                                                                                                - ///

                                                                                                Use this URI to access the redacted transcript. If you specified an S3 bucket in the - /// OutputBucketName field when you created the job, this is the URI of - /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that - /// provides secure access to that location.

                                                                                                - pub redacted_transcript_file_uri: std::option::Option, -} -impl std::fmt::Debug for Transcript { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("Transcript"); - formatter.field("transcript_file_uri", &self.transcript_file_uri); - formatter.field( - "redacted_transcript_file_uri", - &self.redacted_transcript_file_uri, - ); - formatter.finish() - } -} -/// See [`Transcript`](crate::model::Transcript) -pub mod transcript { - /// A builder for [`Transcript`](crate::model::Transcript) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) transcript_file_uri: std::option::Option, - pub(crate) redacted_transcript_file_uri: std::option::Option, - } - impl Builder { - ///

                                                                                                The S3 object location of the transcript.

                                                                                                - ///

                                                                                                Use this URI to access the transcript. If you specified an S3 bucket in the - /// OutputBucketName field when you created the job, this is the URI of - /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that - /// provides secure access to that location.

                                                                                                - pub fn transcript_file_uri(mut self, input: impl Into) -> Self { - self.transcript_file_uri = Some(input.into()); - self - } - pub fn set_transcript_file_uri( - mut self, - input: std::option::Option, - ) -> Self { - self.transcript_file_uri = input; - self - } - ///

                                                                                                The S3 object location of the redacted transcript.

                                                                                                - ///

                                                                                                Use this URI to access the redacted transcript. If you specified an S3 bucket in the - /// OutputBucketName field when you created the job, this is the URI of - /// that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that - /// provides secure access to that location.

                                                                                                - pub fn redacted_transcript_file_uri( - mut self, - input: impl Into, - ) -> Self { - self.redacted_transcript_file_uri = Some(input.into()); - self - } - pub fn set_redacted_transcript_file_uri( - mut self, - input: std::option::Option, - ) -> Self { - self.redacted_transcript_file_uri = input; - self - } - /// Consumes the builder and constructs a [`Transcript`](crate::model::Transcript) - pub fn build(self) -> crate::model::Transcript { - crate::model::Transcript { - transcript_file_uri: self.transcript_file_uri, - redacted_transcript_file_uri: self.redacted_transcript_file_uri, - } - } - } -} -impl Transcript { - /// Creates a new builder-style object to manufacture [`Transcript`](crate::model::Transcript) - pub fn builder() -> crate::model::transcript::Builder { - crate::model::transcript::Builder::default() - } -} - -///

                                                                                                Describes the input media file in a transcription request.

                                                                                                #[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct Media { - ///

                                                                                                The S3 object location of the input media file. The URI must be in the same region as - /// the API endpoint that you are calling. The general form is:

                                                                                                - ///

                                                                                                For example:

                                                                                                - ///

                                                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                                - pub media_file_uri: std::option::Option, +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum Specialty { + Primarycare, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), } -impl std::fmt::Debug for Media { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("Media"); - formatter.field("media_file_uri", &self.media_file_uri); - formatter.finish() +impl std::convert::From<&str> for Specialty { + fn from(s: &str) -> Self { + match s { + "PRIMARYCARE" => Specialty::Primarycare, + other => Specialty::Unknown(other.to_owned()), + } } } -/// See [`Media`](crate::model::Media) -pub mod media { - /// A builder for [`Media`](crate::model::Media) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) media_file_uri: std::option::Option, +impl std::str::FromStr for Specialty { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(Specialty::from(s)) } - impl Builder { - ///

                                                                                                The S3 object location of the input media file. The URI must be in the same region as - /// the API endpoint that you are calling. The general form is:

                                                                                                - ///

                                                                                                For example:

                                                                                                - ///

                                                                                                For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

                                                                                                - pub fn media_file_uri(mut self, input: impl Into) -> Self { - self.media_file_uri = Some(input.into()); - self - } - pub fn set_media_file_uri( - mut self, - input: std::option::Option, - ) -> Self { - self.media_file_uri = input; - self - } - /// Consumes the builder and constructs a [`Media`](crate::model::Media) - pub fn build(self) -> crate::model::Media { - crate::model::Media { - media_file_uri: self.media_file_uri, - } +} +impl Specialty { + pub fn as_str(&self) -> &str { + match self { + Specialty::Primarycare => "PRIMARYCARE", + Specialty::Unknown(s) => s.as_ref(), } } + pub fn values() -> &'static [&'static str] { + &["PRIMARYCARE"] + } } -impl Media { - /// Creates a new builder-style object to manufacture [`Media`](crate::model::Media) - pub fn builder() -> crate::model::media::Builder { - crate::model::media::Builder::default() +impl AsRef for Specialty { + fn as_ref(&self) -> &str { + self.as_str() } } @@ -1366,229 +3148,427 @@ impl Media { std::fmt::Debug, std::hash::Hash, )] -pub enum MediaFormat { - Amr, - Flac, - Mp3, - Mp4, - Ogg, - Wav, - Webm, +pub enum MedicalContentIdentificationType { + Phi, /// Unknown contains new variants that have been added since this code was generated. Unknown(String), } -impl std::convert::From<&str> for MediaFormat { +impl std::convert::From<&str> for MedicalContentIdentificationType { fn from(s: &str) -> Self { match s { - "amr" => MediaFormat::Amr, - "flac" => MediaFormat::Flac, - "mp3" => MediaFormat::Mp3, - "mp4" => MediaFormat::Mp4, - "ogg" => MediaFormat::Ogg, - "wav" => MediaFormat::Wav, - "webm" => MediaFormat::Webm, - other => MediaFormat::Unknown(other.to_owned()), + "PHI" => MedicalContentIdentificationType::Phi, + other => MedicalContentIdentificationType::Unknown(other.to_owned()), } } } -impl std::str::FromStr for MediaFormat { +impl std::str::FromStr for MedicalContentIdentificationType { type Err = std::convert::Infallible; fn from_str(s: &str) -> std::result::Result { - Ok(MediaFormat::from(s)) + Ok(MedicalContentIdentificationType::from(s)) } } -impl MediaFormat { +impl MedicalContentIdentificationType { pub fn as_str(&self) -> &str { match self { - MediaFormat::Amr => "amr", - MediaFormat::Flac => "flac", - MediaFormat::Mp3 => "mp3", - MediaFormat::Mp4 => "mp4", - MediaFormat::Ogg => "ogg", - MediaFormat::Wav => "wav", - MediaFormat::Webm => "webm", - MediaFormat::Unknown(s) => s.as_ref(), + MedicalContentIdentificationType::Phi => "PHI", + MedicalContentIdentificationType::Unknown(s) => s.as_ref(), + } + } + pub fn values() -> &'static [&'static str] { + &["PHI"] + } +} +impl AsRef for MedicalContentIdentificationType { + fn as_ref(&self) -> &str { + self.as_str() + } +} + +///

                                                                                                Optional settings for the StartMedicalTranscriptionJob +/// operation.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MedicalTranscriptionSetting { + ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify + /// different speakers in the input audio. Speaker recognition labels individual speakers in + /// the audio file. If you set the ShowSpeakerLabels field to true, you must + /// also set the maximum number of speaker labels in the MaxSpeakerLabels + /// field.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub show_speaker_labels: std::option::Option, + ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more + /// speakers in the audio than this number, multiple speakers are identified as a single + /// speaker. If you specify the MaxSpeakerLabels field, you must set the + /// ShowSpeakerLabels field to true.

                                                                                                + pub max_speaker_labels: std::option::Option, + ///

                                                                                                Instructs Amazon Transcribe Medical to process each audio channel separately and then merge the + /// transcription output of each channel into a single transcription.

                                                                                                + ///

                                                                                                Amazon Transcribe Medical also produces a transcription of each item detected on an audio channel, + /// including the start time and end time of the item and alternative transcriptions of + /// item. The alternative transcriptions also come with confidence scores provided by + /// Amazon Transcribe Medical.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException + ///

                                                                                                + pub channel_identification: std::option::Option, + ///

                                                                                                Determines whether alternative transcripts are generated along with the transcript + /// that has the highest confidence. If you set ShowAlternatives field to true, + /// you must also set the maximum number of alternatives to return in the + /// MaxAlternatives field.

                                                                                                + pub show_alternatives: std::option::Option, + ///

                                                                                                The maximum number of alternatives that you tell the service to return. If you specify + /// the MaxAlternatives field, you must set the ShowAlternatives + /// field to true.

                                                                                                + pub max_alternatives: std::option::Option, + ///

                                                                                                The name of the vocabulary to use when processing a medical transcription job.

                                                                                                + pub vocabulary_name: std::option::Option, +} +impl std::fmt::Debug for MedicalTranscriptionSetting { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MedicalTranscriptionSetting"); + formatter.field("show_speaker_labels", &self.show_speaker_labels); + formatter.field("max_speaker_labels", &self.max_speaker_labels); + formatter.field("channel_identification", &self.channel_identification); + formatter.field("show_alternatives", &self.show_alternatives); + formatter.field("max_alternatives", &self.max_alternatives); + formatter.field("vocabulary_name", &self.vocabulary_name); + formatter.finish() + } +} +/// See [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) +pub mod medical_transcription_setting { + /// A builder for [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) show_speaker_labels: std::option::Option, + pub(crate) max_speaker_labels: std::option::Option, + pub(crate) channel_identification: std::option::Option, + pub(crate) show_alternatives: std::option::Option, + pub(crate) max_alternatives: std::option::Option, + pub(crate) vocabulary_name: std::option::Option, + } + impl Builder { + ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify + /// different speakers in the input audio. Speaker recognition labels individual speakers in + /// the audio file. If you set the ShowSpeakerLabels field to true, you must + /// also set the maximum number of speaker labels in the MaxSpeakerLabels + /// field.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException.

                                                                                                + pub fn show_speaker_labels(mut self, input: bool) -> Self { + self.show_speaker_labels = Some(input); + self + } + pub fn set_show_speaker_labels(mut self, input: std::option::Option) -> Self { + self.show_speaker_labels = input; + self + } + ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more + /// speakers in the audio than this number, multiple speakers are identified as a single + /// speaker. If you specify the MaxSpeakerLabels field, you must set the + /// ShowSpeakerLabels field to true.

                                                                                                + pub fn max_speaker_labels(mut self, input: i32) -> Self { + self.max_speaker_labels = Some(input); + self + } + pub fn set_max_speaker_labels(mut self, input: std::option::Option) -> Self { + self.max_speaker_labels = input; + self + } + ///

                                                                                                Instructs Amazon Transcribe Medical to process each audio channel separately and then merge the + /// transcription output of each channel into a single transcription.

                                                                                                + ///

                                                                                                Amazon Transcribe Medical also produces a transcription of each item detected on an audio channel, + /// including the start time and end time of the item and alternative transcriptions of + /// item. The alternative transcriptions also come with confidence scores provided by + /// Amazon Transcribe Medical.

                                                                                                + ///

                                                                                                You can't set both ShowSpeakerLabels and + /// ChannelIdentification in the same request. If you set both, your + /// request returns a BadRequestException + ///

                                                                                                + pub fn channel_identification(mut self, input: bool) -> Self { + self.channel_identification = Some(input); + self + } + pub fn set_channel_identification(mut self, input: std::option::Option) -> Self { + self.channel_identification = input; + self + } + ///

                                                                                                Determines whether alternative transcripts are generated along with the transcript + /// that has the highest confidence. If you set ShowAlternatives field to true, + /// you must also set the maximum number of alternatives to return in the + /// MaxAlternatives field.

                                                                                                + pub fn show_alternatives(mut self, input: bool) -> Self { + self.show_alternatives = Some(input); + self + } + pub fn set_show_alternatives(mut self, input: std::option::Option) -> Self { + self.show_alternatives = input; + self + } + ///

                                                                                                The maximum number of alternatives that you tell the service to return. If you specify + /// the MaxAlternatives field, you must set the ShowAlternatives + /// field to true.

                                                                                                + pub fn max_alternatives(mut self, input: i32) -> Self { + self.max_alternatives = Some(input); + self + } + pub fn set_max_alternatives(mut self, input: std::option::Option) -> Self { + self.max_alternatives = input; + self + } + ///

                                                                                                The name of the vocabulary to use when processing a medical transcription job.

                                                                                                + pub fn vocabulary_name(mut self, input: impl Into) -> Self { + self.vocabulary_name = Some(input.into()); + self + } + pub fn set_vocabulary_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_name = input; + self + } + /// Consumes the builder and constructs a [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) + pub fn build(self) -> crate::model::MedicalTranscriptionSetting { + crate::model::MedicalTranscriptionSetting { + show_speaker_labels: self.show_speaker_labels, + max_speaker_labels: self.max_speaker_labels, + channel_identification: self.channel_identification, + show_alternatives: self.show_alternatives, + max_alternatives: self.max_alternatives, + vocabulary_name: self.vocabulary_name, + } } } - pub fn values() -> &'static [&'static str] { - &["amr", "flac", "mp3", "mp4", "ogg", "wav", "webm"] - } } -impl AsRef for MediaFormat { - fn as_ref(&self) -> &str { - self.as_str() +impl MedicalTranscriptionSetting { + /// Creates a new builder-style object to manufacture [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) + pub fn builder() -> crate::model::medical_transcription_setting::Builder { + crate::model::medical_transcription_setting::Builder::default() } } +///

                                                                                                Identifies the location of a medical transcript.

                                                                                                #[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum TranscriptionJobStatus { - Completed, - Failed, - InProgress, - Queued, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct MedicalTranscript { + ///

                                                                                                The S3 object location of the medical transcript.

                                                                                                + ///

                                                                                                Use this URI to access the medical transcript. This URI points to the S3 bucket you + /// created to store the medical transcript.

                                                                                                + pub transcript_file_uri: std::option::Option, } -impl std::convert::From<&str> for TranscriptionJobStatus { - fn from(s: &str) -> Self { - match s { - "COMPLETED" => TranscriptionJobStatus::Completed, - "FAILED" => TranscriptionJobStatus::Failed, - "IN_PROGRESS" => TranscriptionJobStatus::InProgress, - "QUEUED" => TranscriptionJobStatus::Queued, - other => TranscriptionJobStatus::Unknown(other.to_owned()), - } +impl std::fmt::Debug for MedicalTranscript { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("MedicalTranscript"); + formatter.field("transcript_file_uri", &self.transcript_file_uri); + formatter.finish() } } -impl std::str::FromStr for TranscriptionJobStatus { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(TranscriptionJobStatus::from(s)) +/// See [`MedicalTranscript`](crate::model::MedicalTranscript) +pub mod medical_transcript { + /// A builder for [`MedicalTranscript`](crate::model::MedicalTranscript) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) transcript_file_uri: std::option::Option, } -} -impl TranscriptionJobStatus { - pub fn as_str(&self) -> &str { - match self { - TranscriptionJobStatus::Completed => "COMPLETED", - TranscriptionJobStatus::Failed => "FAILED", - TranscriptionJobStatus::InProgress => "IN_PROGRESS", - TranscriptionJobStatus::Queued => "QUEUED", - TranscriptionJobStatus::Unknown(s) => s.as_ref(), + impl Builder { + ///

                                                                                                The S3 object location of the medical transcript.

                                                                                                + ///

                                                                                                Use this URI to access the medical transcript. This URI points to the S3 bucket you + /// created to store the medical transcript.

                                                                                                + pub fn transcript_file_uri(mut self, input: impl Into) -> Self { + self.transcript_file_uri = Some(input.into()); + self + } + pub fn set_transcript_file_uri( + mut self, + input: std::option::Option, + ) -> Self { + self.transcript_file_uri = input; + self + } + /// Consumes the builder and constructs a [`MedicalTranscript`](crate::model::MedicalTranscript) + pub fn build(self) -> crate::model::MedicalTranscript { + crate::model::MedicalTranscript { + transcript_file_uri: self.transcript_file_uri, + } } - } - pub fn values() -> &'static [&'static str] { - &["COMPLETED", "FAILED", "IN_PROGRESS", "QUEUED"] } } -impl AsRef for TranscriptionJobStatus { - fn as_ref(&self) -> &str { - self.as_str() +impl MedicalTranscript { + /// Creates a new builder-style object to manufacture [`MedicalTranscript`](crate::model::MedicalTranscript) + pub fn builder() -> crate::model::medical_transcript::Builder { + crate::model::medical_transcript::Builder::default() } } -///

                                                                                                The data structure that contains the information for a medical transcription -/// job.

                                                                                                +///

                                                                                                Describes an asynchronous analytics job that was created with the StartAnalyticsJob +/// operation.

                                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct MedicalTranscriptionJob { - ///

                                                                                                The name for a given medical transcription job.

                                                                                                - pub medical_transcription_job_name: std::option::Option, - ///

                                                                                                The completion status of a medical transcription job.

                                                                                                - pub transcription_job_status: std::option::Option, - ///

                                                                                                The language code for the language spoken in the source audio file. US English (en-US) - /// is the only supported language for medical transcriptions. Any other value you enter for - /// language code results in a BadRequestException error.

                                                                                                +pub struct CallAnalyticsJob { + ///

                                                                                                The name of the call analytics job.

                                                                                                + pub call_analytics_job_name: std::option::Option, + ///

                                                                                                The status of the analytics job.

                                                                                                + pub call_analytics_job_status: std::option::Option, + ///

                                                                                                If you know the language spoken between the customer and the agent, specify a language + /// code for this field.

                                                                                                + ///

                                                                                                If you don't know the language, you can leave this field blank, and Amazon Transcribe will use machine + /// learning to automatically identify the language. To improve the accuracy of language identification, + /// you can provide an array containing the possible language codes for the language spoken in your + /// audio.

                                                                                                + ///

                                                                                                The following list shows the supported languages and corresponding language codes for + /// call analytics jobs:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  Gulf Arabic (ar-AE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Mandarin Chinese, Mainland (zh-CN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Australian English (en-AU)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  British English (en-GB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian English (en-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Irish English (en-IE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Scottish English (en-AB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US English (en-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Welsh English (en-WL)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Spanish (es-ES)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US Spanish (es-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  French (fr-FR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Canadian French (fr-CA)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  German (de-DE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Swiss German (de-CH)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian Hindi (hi-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Italian (it-IT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Japanese (ja-JP)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Korean (ko-KR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Portuguese (pt-PT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Brazilian Portuguese (pt-BR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                pub language_code: std::option::Option, - ///

                                                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                                                - ///

                                                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to - /// specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you - /// should leave the MediaSampleHertz blank and let Amazon Transcribe Medical determine the sample - /// rate.

                                                                                                + ///

                                                                                                The sample rate, in Hertz, of the audio.

                                                                                                pub media_sample_rate_hertz: std::option::Option, - ///

                                                                                                The format of the input media file.

                                                                                                + ///

                                                                                                The format of the input audio file. Note: for call analytics jobs, only the following media formats are supported: MP3, MP4, WAV, FLAC, OGG, and WebM.

                                                                                                pub media_format: std::option::Option, ///

                                                                                                Describes the input media file in a transcription request.

                                                                                                pub media: std::option::Option, - ///

                                                                                                An object that contains the MedicalTranscript. The - /// MedicalTranscript contains the TranscriptFileUri.

                                                                                                - pub transcript: std::option::Option, - ///

                                                                                                A timestamp that shows when the job started processing.

                                                                                                + ///

                                                                                                Identifies the location of a transcription.

                                                                                                + pub transcript: std::option::Option, + ///

                                                                                                A timestamp that shows when the analytics job started processing.

                                                                                                pub start_time: std::option::Option, - ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + ///

                                                                                                A timestamp that shows when the analytics job was created.

                                                                                                pub creation_time: std::option::Option, - ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + ///

                                                                                                A timestamp that shows when the analytics job was completed.

                                                                                                pub completion_time: std::option::Option, - ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field - /// contains information about why the job failed.

                                                                                                - ///

                                                                                                The FailureReason field contains one of the following values:

                                                                                                + ///

                                                                                                If the AnalyticsJobStatus is FAILED, this field contains + /// information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field can contain one of the following values:

                                                                                                ///
                                                                                                  ///
                                                                                                • ///

                                                                                                  - /// Unsupported media format- The media format specified in the - /// MediaFormat field of the request isn't valid. See the - /// description of the MediaFormat field for a list of valid - /// values.

                                                                                                  + /// Unsupported media format: The media format + /// specified in the MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid values.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  /// The media format provided does not match the detected media - /// format- The media format of the audio file doesn't match the format - /// specified in the MediaFormat field in the request. Check the media - /// format of your media file and make sure the two values match.

                                                                                                  + /// format
                                                                                                  : The media format of the audio file doesn't match the format specified in + /// the MediaFormat field in the request. Check the media format of your media file + /// and make sure the two values match.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid sample rate for audio file- The sample rate specified in - /// the MediaSampleRateHertz of the request isn't valid. The sample - /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + /// Invalid sample rate for audio file: The sample rate specified in the + /// MediaSampleRateHertz of the request isn't valid. The sample rate must be + /// between 8000 and 48000 Hertz.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// The sample rate provided does not match the detected sample rate- + /// The sample rate provided does not match the detected sample rate: /// The sample rate in the audio file doesn't match the sample rate specified in the - /// MediaSampleRateHertz field in the request. Check the sample - /// rate of your media file and make sure that the two values match.

                                                                                                  + /// MediaSampleRateHertz field in the request. Check the sample rate of your media + /// file and make sure that the two values match.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid file size: file size too large- The size of your audio - /// file is larger than what Amazon Transcribe Medical can process. For more information, see Guidelines and - /// Quotas in the Amazon Transcribe Medical Guide - ///

                                                                                                  + /// Invalid file size: file size too large: The size of your audio file is + /// larger than what Amazon Transcribe Medical can process. For more information, + /// see Guidelines and Quotas in the Amazon Transcribe Medical Guide

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid number of channels: number of channels too large- Your - /// audio contains more channels than Amazon Transcribe Medical is configured to process. To request - /// additional channels, see Amazon Transcribe Medical Endpoints and - /// Quotas in the Amazon Web Services General - /// Reference - ///

                                                                                                  + /// Invalid number of channels: number of channels too large: + /// Your audio contains more channels than Amazon Transcribe Medical is configured to + /// process. To request additional channels, see Amazon Transcribe Medical Endpoints and Quotas in the + /// Amazon Web + /// Services General Reference.

                                                                                                  ///
                                                                                                • ///
                                                                                                pub failure_reason: std::option::Option, - ///

                                                                                                Object that contains object.

                                                                                                - pub settings: std::option::Option, - ///

                                                                                                Shows the type of content that you've configured Amazon Transcribe Medical to identify in a transcription - /// job. If the value is PHI, you've configured the job to identify personal - /// health information (PHI) in the transcription output.

                                                                                                - pub content_identification_type: - std::option::Option, - ///

                                                                                                The medical specialty of any clinicians providing a dictation or having a - /// conversation. PRIMARYCARE is the only available setting for this object. - /// This specialty enables you to generate transcriptions for the following medical - /// fields:

                                                                                                - ///
                                                                                                  - ///
                                                                                                • - ///

                                                                                                  Family Medicine

                                                                                                  - ///
                                                                                                • - ///
                                                                                                - pub specialty: std::option::Option, - ///

                                                                                                The type of speech in the transcription job. CONVERSATION is generally - /// used for patient-physician dialogues. DICTATION is the setting for - /// physicians speaking their notes after seeing a patient. For more information, see how-it-works-med - ///

                                                                                                - pub r#type: std::option::Option, + ///

                                                                                                The Amazon Resource Number (ARN) that you use to get access to the analytics job.

                                                                                                + pub data_access_role_arn: std::option::Option, + ///

                                                                                                A value between zero and one that Amazon Transcribe assigned to the language that it + /// identified in the source audio. This value appears only when you don't provide a single + /// language code. Larger values indicate that Amazon Transcribe has higher confidence in the language + /// that it identified

                                                                                                + pub identified_language_score: std::option::Option, + ///

                                                                                                Provides information about the settings used to run a transcription job.

                                                                                                + pub settings: std::option::Option, + ///

                                                                                                Shows numeric values to indicate the channel assigned to the agent's audio and the + /// channel assigned to the customer's audio.

                                                                                                + pub channel_definitions: std::option::Option>, } -impl std::fmt::Debug for MedicalTranscriptionJob { +impl std::fmt::Debug for CallAnalyticsJob { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("MedicalTranscriptionJob"); - formatter.field( - "medical_transcription_job_name", - &self.medical_transcription_job_name, - ); - formatter.field("transcription_job_status", &self.transcription_job_status); + let mut formatter = f.debug_struct("CallAnalyticsJob"); + formatter.field("call_analytics_job_name", &self.call_analytics_job_name); + formatter.field("call_analytics_job_status", &self.call_analytics_job_status); formatter.field("language_code", &self.language_code); formatter.field("media_sample_rate_hertz", &self.media_sample_rate_hertz); formatter.field("media_format", &self.media_format); @@ -1598,74 +3578,138 @@ impl std::fmt::Debug for MedicalTranscriptionJob { formatter.field("creation_time", &self.creation_time); formatter.field("completion_time", &self.completion_time); formatter.field("failure_reason", &self.failure_reason); + formatter.field("data_access_role_arn", &self.data_access_role_arn); + formatter.field("identified_language_score", &self.identified_language_score); formatter.field("settings", &self.settings); - formatter.field( - "content_identification_type", - &self.content_identification_type, - ); - formatter.field("specialty", &self.specialty); - formatter.field("r#type", &self.r#type); + formatter.field("channel_definitions", &self.channel_definitions); formatter.finish() } } -/// See [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) -pub mod medical_transcription_job { - /// A builder for [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) +/// See [`CallAnalyticsJob`](crate::model::CallAnalyticsJob) +pub mod call_analytics_job { + /// A builder for [`CallAnalyticsJob`](crate::model::CallAnalyticsJob) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) medical_transcription_job_name: std::option::Option, - pub(crate) transcription_job_status: - std::option::Option, + pub(crate) call_analytics_job_name: std::option::Option, + pub(crate) call_analytics_job_status: + std::option::Option, pub(crate) language_code: std::option::Option, pub(crate) media_sample_rate_hertz: std::option::Option, pub(crate) media_format: std::option::Option, pub(crate) media: std::option::Option, - pub(crate) transcript: std::option::Option, + pub(crate) transcript: std::option::Option, pub(crate) start_time: std::option::Option, pub(crate) creation_time: std::option::Option, pub(crate) completion_time: std::option::Option, pub(crate) failure_reason: std::option::Option, - pub(crate) settings: std::option::Option, - pub(crate) content_identification_type: - std::option::Option, - pub(crate) specialty: std::option::Option, - pub(crate) r#type: std::option::Option, - } - impl Builder { - ///

                                                                                                The name for a given medical transcription job.

                                                                                                - pub fn medical_transcription_job_name( - mut self, - input: impl Into, - ) -> Self { - self.medical_transcription_job_name = Some(input.into()); + pub(crate) data_access_role_arn: std::option::Option, + pub(crate) identified_language_score: std::option::Option, + pub(crate) settings: std::option::Option, + pub(crate) channel_definitions: + std::option::Option>, + } + impl Builder { + ///

                                                                                                The name of the call analytics job.

                                                                                                + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.call_analytics_job_name = Some(input.into()); self } - pub fn set_medical_transcription_job_name( + pub fn set_call_analytics_job_name( mut self, input: std::option::Option, ) -> Self { - self.medical_transcription_job_name = input; + self.call_analytics_job_name = input; self } - ///

                                                                                                The completion status of a medical transcription job.

                                                                                                - pub fn transcription_job_status( + ///

                                                                                                The status of the analytics job.

                                                                                                + pub fn call_analytics_job_status( mut self, - input: crate::model::TranscriptionJobStatus, + input: crate::model::CallAnalyticsJobStatus, ) -> Self { - self.transcription_job_status = Some(input); + self.call_analytics_job_status = Some(input); self } - pub fn set_transcription_job_status( + pub fn set_call_analytics_job_status( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.transcription_job_status = input; + self.call_analytics_job_status = input; self } - ///

                                                                                                The language code for the language spoken in the source audio file. US English (en-US) - /// is the only supported language for medical transcriptions. Any other value you enter for - /// language code results in a BadRequestException error.

                                                                                                + ///

                                                                                                If you know the language spoken between the customer and the agent, specify a language + /// code for this field.

                                                                                                + ///

                                                                                                If you don't know the language, you can leave this field blank, and Amazon Transcribe will use machine + /// learning to automatically identify the language. To improve the accuracy of language identification, + /// you can provide an array containing the possible language codes for the language spoken in your + /// audio.

                                                                                                + ///

                                                                                                The following list shows the supported languages and corresponding language codes for + /// call analytics jobs:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  Gulf Arabic (ar-AE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Mandarin Chinese, Mainland (zh-CN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Australian English (en-AU)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  British English (en-GB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian English (en-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Irish English (en-IE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Scottish English (en-AB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US English (en-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Welsh English (en-WL)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Spanish (es-ES)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US Spanish (es-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  French (fr-FR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Canadian French (fr-CA)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  German (de-DE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Swiss German (de-CH)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian Hindi (hi-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Italian (it-IT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Japanese (ja-JP)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Korean (ko-KR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Portuguese (pt-PT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Brazilian Portuguese (pt-BR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                pub fn language_code(mut self, input: crate::model::LanguageCode) -> Self { self.language_code = Some(input); self @@ -1677,11 +3721,7 @@ pub mod medical_transcription_job { self.language_code = input; self } - ///

                                                                                                The sample rate, in Hertz, of the source audio containing medical information.

                                                                                                - ///

                                                                                                If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to - /// specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you - /// should leave the MediaSampleHertz blank and let Amazon Transcribe Medical determine the sample - /// rate.

                                                                                                + ///

                                                                                                The sample rate, in Hertz, of the audio.

                                                                                                pub fn media_sample_rate_hertz(mut self, input: i32) -> Self { self.media_sample_rate_hertz = Some(input); self @@ -1690,7 +3730,7 @@ pub mod medical_transcription_job { self.media_sample_rate_hertz = input; self } - ///

                                                                                                The format of the input media file.

                                                                                                + ///

                                                                                                The format of the input audio file. Note: for call analytics jobs, only the following media formats are supported: MP3, MP4, WAV, FLAC, OGG, and WebM.

                                                                                                pub fn media_format(mut self, input: crate::model::MediaFormat) -> Self { self.media_format = Some(input); self @@ -1711,20 +3751,19 @@ pub mod medical_transcription_job { self.media = input; self } - ///

                                                                                                An object that contains the MedicalTranscript. The - /// MedicalTranscript contains the TranscriptFileUri.

                                                                                                - pub fn transcript(mut self, input: crate::model::MedicalTranscript) -> Self { + ///

                                                                                                Identifies the location of a transcription.

                                                                                                + pub fn transcript(mut self, input: crate::model::Transcript) -> Self { self.transcript = Some(input); self } pub fn set_transcript( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { self.transcript = input; self } - ///

                                                                                                A timestamp that shows when the job started processing.

                                                                                                + ///

                                                                                                A timestamp that shows when the analytics job started processing.

                                                                                                pub fn start_time(mut self, input: smithy_types::Instant) -> Self { self.start_time = Some(input); self @@ -1733,7 +3772,7 @@ pub mod medical_transcription_job { self.start_time = input; self } - ///

                                                                                                A timestamp that shows when the job was created.

                                                                                                + ///

                                                                                                A timestamp that shows when the analytics job was created.

                                                                                                pub fn creation_time(mut self, input: smithy_types::Instant) -> Self { self.creation_time = Some(input); self @@ -1745,7 +3784,7 @@ pub mod medical_transcription_job { self.creation_time = input; self } - ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + ///

                                                                                                A timestamp that shows when the analytics job was completed.

                                                                                                pub fn completion_time(mut self, input: smithy_types::Instant) -> Self { self.completion_time = Some(input); self @@ -1757,52 +3796,49 @@ pub mod medical_transcription_job { self.completion_time = input; self } - ///

                                                                                                If the TranscriptionJobStatus field is FAILED, this field - /// contains information about why the job failed.

                                                                                                - ///

                                                                                                The FailureReason field contains one of the following values:

                                                                                                + ///

                                                                                                If the AnalyticsJobStatus is FAILED, this field contains + /// information about why the job failed.

                                                                                                + ///

                                                                                                The FailureReason field can contain one of the following values:

                                                                                                ///
                                                                                                  ///
                                                                                                • ///

                                                                                                  - /// Unsupported media format- The media format specified in the - /// MediaFormat field of the request isn't valid. See the - /// description of the MediaFormat field for a list of valid - /// values.

                                                                                                  + /// Unsupported media format: The media format + /// specified in the MediaFormat field of the request isn't valid. See the + /// description of the MediaFormat field for a list of valid values.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  /// The media format provided does not match the detected media - /// format- The media format of the audio file doesn't match the format - /// specified in the MediaFormat field in the request. Check the media - /// format of your media file and make sure the two values match.

                                                                                                  + /// format
                                                                                                  : The media format of the audio file doesn't match the format specified in + /// the MediaFormat field in the request. Check the media format of your media file + /// and make sure the two values match.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid sample rate for audio file- The sample rate specified in - /// the MediaSampleRateHertz of the request isn't valid. The sample - /// rate must be between 8000 and 48000 Hertz.

                                                                                                  + /// Invalid sample rate for audio file: The sample rate specified in the + /// MediaSampleRateHertz of the request isn't valid. The sample rate must be + /// between 8000 and 48000 Hertz.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// The sample rate provided does not match the detected sample rate- + /// The sample rate provided does not match the detected sample rate: /// The sample rate in the audio file doesn't match the sample rate specified in the - /// MediaSampleRateHertz field in the request. Check the sample - /// rate of your media file and make sure that the two values match.

                                                                                                  + /// MediaSampleRateHertz field in the request. Check the sample rate of your media + /// file and make sure that the two values match.

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid file size: file size too large- The size of your audio - /// file is larger than what Amazon Transcribe Medical can process. For more information, see Guidelines and - /// Quotas in the Amazon Transcribe Medical Guide - ///

                                                                                                  + /// Invalid file size: file size too large: The size of your audio file is + /// larger than what Amazon Transcribe Medical can process. For more information, + /// see Guidelines and Quotas in the Amazon Transcribe Medical Guide

                                                                                                  ///
                                                                                                • ///
                                                                                                • ///

                                                                                                  - /// Invalid number of channels: number of channels too large- Your - /// audio contains more channels than Amazon Transcribe Medical is configured to process. To request - /// additional channels, see Amazon Transcribe Medical Endpoints and - /// Quotas in the Amazon Web Services General - /// Reference - ///

                                                                                                  + /// Invalid number of channels: number of channels too large: + /// Your audio contains more channels than Amazon Transcribe Medical is configured to + /// process. To request additional channels, see Amazon Transcribe Medical Endpoints and Quotas in the + /// Amazon Web + /// Services General Reference.

                                                                                                  ///
                                                                                                • ///
                                                                                                pub fn failure_reason(mut self, input: impl Into) -> Self { @@ -1816,460 +3852,427 @@ pub mod medical_transcription_job { self.failure_reason = input; self } - ///

                                                                                                Object that contains object.

                                                                                                - pub fn settings(mut self, input: crate::model::MedicalTranscriptionSetting) -> Self { - self.settings = Some(input); + ///

                                                                                                The Amazon Resource Number (ARN) that you use to get access to the analytics job.

                                                                                                + pub fn data_access_role_arn(mut self, input: impl Into) -> Self { + self.data_access_role_arn = Some(input.into()); self } - pub fn set_settings( + pub fn set_data_access_role_arn( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.settings = input; + self.data_access_role_arn = input; self } - ///

                                                                                                Shows the type of content that you've configured Amazon Transcribe Medical to identify in a transcription - /// job. If the value is PHI, you've configured the job to identify personal - /// health information (PHI) in the transcription output.

                                                                                                - pub fn content_identification_type( - mut self, - input: crate::model::MedicalContentIdentificationType, - ) -> Self { - self.content_identification_type = Some(input); + ///

                                                                                                A value between zero and one that Amazon Transcribe assigned to the language that it + /// identified in the source audio. This value appears only when you don't provide a single + /// language code. Larger values indicate that Amazon Transcribe has higher confidence in the language + /// that it identified

                                                                                                + pub fn identified_language_score(mut self, input: f32) -> Self { + self.identified_language_score = Some(input); self } - pub fn set_content_identification_type( - mut self, - input: std::option::Option, - ) -> Self { - self.content_identification_type = input; + pub fn set_identified_language_score(mut self, input: std::option::Option) -> Self { + self.identified_language_score = input; self } - ///

                                                                                                The medical specialty of any clinicians providing a dictation or having a - /// conversation. PRIMARYCARE is the only available setting for this object. - /// This specialty enables you to generate transcriptions for the following medical - /// fields:

                                                                                                - ///
                                                                                                  - ///
                                                                                                • - ///

                                                                                                  Family Medicine

                                                                                                  - ///
                                                                                                • - ///
                                                                                                - pub fn specialty(mut self, input: crate::model::Specialty) -> Self { - self.specialty = Some(input); + ///

                                                                                                Provides information about the settings used to run a transcription job.

                                                                                                + pub fn settings(mut self, input: crate::model::CallAnalyticsJobSettings) -> Self { + self.settings = Some(input); self } - pub fn set_specialty( + pub fn set_settings( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.specialty = input; - self - } - ///

                                                                                                The type of speech in the transcription job. CONVERSATION is generally - /// used for patient-physician dialogues. DICTATION is the setting for - /// physicians speaking their notes after seeing a patient. For more information, see how-it-works-med - ///

                                                                                                - pub fn r#type(mut self, input: crate::model::Type) -> Self { - self.r#type = Some(input); - self - } - pub fn set_type(mut self, input: std::option::Option) -> Self { - self.r#type = input; + self.settings = input; self } - /// Consumes the builder and constructs a [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) - pub fn build(self) -> crate::model::MedicalTranscriptionJob { - crate::model::MedicalTranscriptionJob { - medical_transcription_job_name: self.medical_transcription_job_name, - transcription_job_status: self.transcription_job_status, - language_code: self.language_code, - media_sample_rate_hertz: self.media_sample_rate_hertz, - media_format: self.media_format, - media: self.media, - transcript: self.transcript, - start_time: self.start_time, - creation_time: self.creation_time, - completion_time: self.completion_time, - failure_reason: self.failure_reason, - settings: self.settings, - content_identification_type: self.content_identification_type, - specialty: self.specialty, - r#type: self.r#type, - } - } - } -} -impl MedicalTranscriptionJob { - /// Creates a new builder-style object to manufacture [`MedicalTranscriptionJob`](crate::model::MedicalTranscriptionJob) - pub fn builder() -> crate::model::medical_transcription_job::Builder { - crate::model::medical_transcription_job::Builder::default() - } -} - -#[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum Type { - Conversation, - Dictation, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), -} -impl std::convert::From<&str> for Type { - fn from(s: &str) -> Self { - match s { - "CONVERSATION" => Type::Conversation, - "DICTATION" => Type::Dictation, - other => Type::Unknown(other.to_owned()), - } - } -} -impl std::str::FromStr for Type { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(Type::from(s)) - } -} -impl Type { - pub fn as_str(&self) -> &str { - match self { - Type::Conversation => "CONVERSATION", - Type::Dictation => "DICTATION", - Type::Unknown(s) => s.as_ref(), - } - } - pub fn values() -> &'static [&'static str] { - &["CONVERSATION", "DICTATION"] - } -} -impl AsRef for Type { - fn as_ref(&self) -> &str { - self.as_str() - } -} - -#[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum Specialty { - Primarycare, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), -} -impl std::convert::From<&str> for Specialty { - fn from(s: &str) -> Self { - match s { - "PRIMARYCARE" => Specialty::Primarycare, - other => Specialty::Unknown(other.to_owned()), - } - } -} -impl std::str::FromStr for Specialty { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(Specialty::from(s)) - } -} -impl Specialty { - pub fn as_str(&self) -> &str { - match self { - Specialty::Primarycare => "PRIMARYCARE", - Specialty::Unknown(s) => s.as_ref(), + pub fn channel_definitions( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.channel_definitions.unwrap_or_default(); + v.push(input.into()); + self.channel_definitions = Some(v); + self + } + pub fn set_channel_definitions( + mut self, + input: std::option::Option>, + ) -> Self { + self.channel_definitions = input; + self + } + /// Consumes the builder and constructs a [`CallAnalyticsJob`](crate::model::CallAnalyticsJob) + pub fn build(self) -> crate::model::CallAnalyticsJob { + crate::model::CallAnalyticsJob { + call_analytics_job_name: self.call_analytics_job_name, + call_analytics_job_status: self.call_analytics_job_status, + language_code: self.language_code, + media_sample_rate_hertz: self.media_sample_rate_hertz, + media_format: self.media_format, + media: self.media, + transcript: self.transcript, + start_time: self.start_time, + creation_time: self.creation_time, + completion_time: self.completion_time, + failure_reason: self.failure_reason, + data_access_role_arn: self.data_access_role_arn, + identified_language_score: self.identified_language_score, + settings: self.settings, + channel_definitions: self.channel_definitions, + } } - } - pub fn values() -> &'static [&'static str] { - &["PRIMARYCARE"] } } -impl AsRef for Specialty { - fn as_ref(&self) -> &str { - self.as_str() +impl CallAnalyticsJob { + /// Creates a new builder-style object to manufacture [`CallAnalyticsJob`](crate::model::CallAnalyticsJob) + pub fn builder() -> crate::model::call_analytics_job::Builder { + crate::model::call_analytics_job::Builder::default() } } +///

                                                                                                For a call analytics job, an object that indicates the audio channel that belongs to the agent and +/// the audio channel that belongs to the customer.

                                                                                                #[non_exhaustive] -#[derive( - std::clone::Clone, - std::cmp::Eq, - std::cmp::Ord, - std::cmp::PartialEq, - std::cmp::PartialOrd, - std::fmt::Debug, - std::hash::Hash, -)] -pub enum MedicalContentIdentificationType { - Phi, - /// Unknown contains new variants that have been added since this code was generated. - Unknown(String), +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ChannelDefinition { + ///

                                                                                                A value that indicates the audio channel.

                                                                                                + pub channel_id: i32, + ///

                                                                                                Indicates whether the person speaking on the audio channel is the agent or customer.

                                                                                                + pub participant_role: std::option::Option, } -impl std::convert::From<&str> for MedicalContentIdentificationType { - fn from(s: &str) -> Self { - match s { - "PHI" => MedicalContentIdentificationType::Phi, - other => MedicalContentIdentificationType::Unknown(other.to_owned()), - } +impl std::fmt::Debug for ChannelDefinition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ChannelDefinition"); + formatter.field("channel_id", &self.channel_id); + formatter.field("participant_role", &self.participant_role); + formatter.finish() } } -impl std::str::FromStr for MedicalContentIdentificationType { - type Err = std::convert::Infallible; - - fn from_str(s: &str) -> std::result::Result { - Ok(MedicalContentIdentificationType::from(s)) +/// See [`ChannelDefinition`](crate::model::ChannelDefinition) +pub mod channel_definition { + /// A builder for [`ChannelDefinition`](crate::model::ChannelDefinition) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) channel_id: std::option::Option, + pub(crate) participant_role: std::option::Option, } -} -impl MedicalContentIdentificationType { - pub fn as_str(&self) -> &str { - match self { - MedicalContentIdentificationType::Phi => "PHI", - MedicalContentIdentificationType::Unknown(s) => s.as_ref(), + impl Builder { + ///

                                                                                                A value that indicates the audio channel.

                                                                                                + pub fn channel_id(mut self, input: i32) -> Self { + self.channel_id = Some(input); + self + } + pub fn set_channel_id(mut self, input: std::option::Option) -> Self { + self.channel_id = input; + self + } + ///

                                                                                                Indicates whether the person speaking on the audio channel is the agent or customer.

                                                                                                + pub fn participant_role(mut self, input: crate::model::ParticipantRole) -> Self { + self.participant_role = Some(input); + self + } + pub fn set_participant_role( + mut self, + input: std::option::Option, + ) -> Self { + self.participant_role = input; + self + } + /// Consumes the builder and constructs a [`ChannelDefinition`](crate::model::ChannelDefinition) + pub fn build(self) -> crate::model::ChannelDefinition { + crate::model::ChannelDefinition { + channel_id: self.channel_id.unwrap_or_default(), + participant_role: self.participant_role, + } } - } - pub fn values() -> &'static [&'static str] { - &["PHI"] } } -impl AsRef for MedicalContentIdentificationType { - fn as_ref(&self) -> &str { - self.as_str() +impl ChannelDefinition { + /// Creates a new builder-style object to manufacture [`ChannelDefinition`](crate::model::ChannelDefinition) + pub fn builder() -> crate::model::channel_definition::Builder { + crate::model::channel_definition::Builder::default() } } -///

                                                                                                Optional settings for the StartMedicalTranscriptionJob -/// operation.

                                                                                                +///

                                                                                                Provides optional settings for the CallAnalyticsJob operation.

                                                                                                #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct MedicalTranscriptionSetting { - ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify - /// different speakers in the input audio. Speaker recognition labels individual speakers in - /// the audio file. If you set the ShowSpeakerLabels field to true, you must - /// also set the maximum number of speaker labels in the MaxSpeakerLabels - /// field.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub show_speaker_labels: std::option::Option, - ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more - /// speakers in the audio than this number, multiple speakers are identified as a single - /// speaker. If you specify the MaxSpeakerLabels field, you must set the - /// ShowSpeakerLabels field to true.

                                                                                                - pub max_speaker_labels: std::option::Option, - ///

                                                                                                Instructs Amazon Transcribe Medical to process each audio channel separately and then merge the - /// transcription output of each channel into a single transcription.

                                                                                                - ///

                                                                                                Amazon Transcribe Medical also produces a transcription of each item detected on an audio channel, - /// including the start time and end time of the item and alternative transcriptions of - /// item. The alternative transcriptions also come with confidence scores provided by - /// Amazon Transcribe Medical.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException - ///

                                                                                                - pub channel_identification: std::option::Option, - ///

                                                                                                Determines whether alternative transcripts are generated along with the transcript - /// that has the highest confidence. If you set ShowAlternatives field to true, - /// you must also set the maximum number of alternatives to return in the - /// MaxAlternatives field.

                                                                                                - pub show_alternatives: std::option::Option, - ///

                                                                                                The maximum number of alternatives that you tell the service to return. If you specify - /// the MaxAlternatives field, you must set the ShowAlternatives - /// field to true.

                                                                                                - pub max_alternatives: std::option::Option, - ///

                                                                                                The name of the vocabulary to use when processing a medical transcription job.

                                                                                                +pub struct CallAnalyticsJobSettings { + ///

                                                                                                The name of a vocabulary to use when processing the call analytics job.

                                                                                                pub vocabulary_name: std::option::Option, + ///

                                                                                                The name of the vocabulary filter to use when running a call analytics job. The filter that + /// you specify must have the same language code as the analytics job.

                                                                                                + pub vocabulary_filter_name: std::option::Option, + ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it with three asterisks + /// ("***") as placeholder text. Set to remove to remove filtered text from the transcript + /// without using placeholder text. Set to tag to mark the word in the transcription output + /// that matches the vocabulary filter. When you set the filter method to tag, the words + /// matching your vocabulary filter are not masked or removed.

                                                                                                + pub vocabulary_filter_method: std::option::Option, + ///

                                                                                                The structure used to describe a custom language model.

                                                                                                + pub language_model_name: std::option::Option, + ///

                                                                                                Settings for content redaction within a transcription job.

                                                                                                + pub content_redaction: std::option::Option, + ///

                                                                                                When you run a call analytics job, you can specify the language spoken in the audio, or + /// you can have Amazon Transcribe identify the language for you.

                                                                                                + ///

                                                                                                To specify a language, specify an array with one language code. If you don't know the + /// language, you can leave this field blank and Amazon Transcribe will use machine learning to identify the + /// language for you. To improve the ability of Amazon Transcribe to correctly identify the language, you can + /// provide an array of the languages that can be present in the audio.

                                                                                                + ///

                                                                                                The following list shows the supported languages and corresponding language codes for + /// call analytics jobs:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  Gulf Arabic (ar-AE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Mandarin Chinese, Mainland (zh-CN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Australian English (en-AU)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  British English (en-GB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian English (en-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Irish English (en-IE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Scottish English (en-AB)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US English (en-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Welsh English (en-WL)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Spanish (es-ES)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  US Spanish (es-US)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  French (fr-FR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Canadian French (fr-CA)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  German (de-DE)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Swiss German (de-CH)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Indian Hindi (hi-IN)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Italian (it-IT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Japanese (ja-JP)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Korean (ko-KR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Portuguese (pt-PT)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  Brazilian Portuguese (pt-BR)

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub language_options: std::option::Option>, } -impl std::fmt::Debug for MedicalTranscriptionSetting { +impl std::fmt::Debug for CallAnalyticsJobSettings { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("MedicalTranscriptionSetting"); - formatter.field("show_speaker_labels", &self.show_speaker_labels); - formatter.field("max_speaker_labels", &self.max_speaker_labels); - formatter.field("channel_identification", &self.channel_identification); - formatter.field("show_alternatives", &self.show_alternatives); - formatter.field("max_alternatives", &self.max_alternatives); + let mut formatter = f.debug_struct("CallAnalyticsJobSettings"); formatter.field("vocabulary_name", &self.vocabulary_name); + formatter.field("vocabulary_filter_name", &self.vocabulary_filter_name); + formatter.field("vocabulary_filter_method", &self.vocabulary_filter_method); + formatter.field("language_model_name", &self.language_model_name); + formatter.field("content_redaction", &self.content_redaction); + formatter.field("language_options", &self.language_options); formatter.finish() } } -/// See [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) -pub mod medical_transcription_setting { - /// A builder for [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) +/// See [`CallAnalyticsJobSettings`](crate::model::CallAnalyticsJobSettings) +pub mod call_analytics_job_settings { + /// A builder for [`CallAnalyticsJobSettings`](crate::model::CallAnalyticsJobSettings) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) show_speaker_labels: std::option::Option, - pub(crate) max_speaker_labels: std::option::Option, - pub(crate) channel_identification: std::option::Option, - pub(crate) show_alternatives: std::option::Option, - pub(crate) max_alternatives: std::option::Option, pub(crate) vocabulary_name: std::option::Option, + pub(crate) vocabulary_filter_name: std::option::Option, + pub(crate) vocabulary_filter_method: + std::option::Option, + pub(crate) language_model_name: std::option::Option, + pub(crate) content_redaction: std::option::Option, + pub(crate) language_options: std::option::Option>, } impl Builder { - ///

                                                                                                Determines whether the transcription job uses speaker recognition to identify - /// different speakers in the input audio. Speaker recognition labels individual speakers in - /// the audio file. If you set the ShowSpeakerLabels field to true, you must - /// also set the maximum number of speaker labels in the MaxSpeakerLabels - /// field.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException.

                                                                                                - pub fn show_speaker_labels(mut self, input: bool) -> Self { - self.show_speaker_labels = Some(input); + ///

                                                                                                The name of a vocabulary to use when processing the call analytics job.

                                                                                                + pub fn vocabulary_name(mut self, input: impl Into) -> Self { + self.vocabulary_name = Some(input.into()); self } - pub fn set_show_speaker_labels(mut self, input: std::option::Option) -> Self { - self.show_speaker_labels = input; + pub fn set_vocabulary_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_name = input; self } - ///

                                                                                                The maximum number of speakers to identify in the input audio. If there are more - /// speakers in the audio than this number, multiple speakers are identified as a single - /// speaker. If you specify the MaxSpeakerLabels field, you must set the - /// ShowSpeakerLabels field to true.

                                                                                                - pub fn max_speaker_labels(mut self, input: i32) -> Self { - self.max_speaker_labels = Some(input); + ///

                                                                                                The name of the vocabulary filter to use when running a call analytics job. The filter that + /// you specify must have the same language code as the analytics job.

                                                                                                + pub fn vocabulary_filter_name(mut self, input: impl Into) -> Self { + self.vocabulary_filter_name = Some(input.into()); self } - pub fn set_max_speaker_labels(mut self, input: std::option::Option) -> Self { - self.max_speaker_labels = input; + pub fn set_vocabulary_filter_name( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_filter_name = input; self } - ///

                                                                                                Instructs Amazon Transcribe Medical to process each audio channel separately and then merge the - /// transcription output of each channel into a single transcription.

                                                                                                - ///

                                                                                                Amazon Transcribe Medical also produces a transcription of each item detected on an audio channel, - /// including the start time and end time of the item and alternative transcriptions of - /// item. The alternative transcriptions also come with confidence scores provided by - /// Amazon Transcribe Medical.

                                                                                                - ///

                                                                                                You can't set both ShowSpeakerLabels and - /// ChannelIdentification in the same request. If you set both, your - /// request returns a BadRequestException - ///

                                                                                                - pub fn channel_identification(mut self, input: bool) -> Self { - self.channel_identification = Some(input); + ///

                                                                                                Set to mask to remove filtered text from the transcript and replace it with three asterisks + /// ("***") as placeholder text. Set to remove to remove filtered text from the transcript + /// without using placeholder text. Set to tag to mark the word in the transcription output + /// that matches the vocabulary filter. When you set the filter method to tag, the words + /// matching your vocabulary filter are not masked or removed.

                                                                                                + pub fn vocabulary_filter_method( + mut self, + input: crate::model::VocabularyFilterMethod, + ) -> Self { + self.vocabulary_filter_method = Some(input); self } - pub fn set_channel_identification(mut self, input: std::option::Option) -> Self { - self.channel_identification = input; + pub fn set_vocabulary_filter_method( + mut self, + input: std::option::Option, + ) -> Self { + self.vocabulary_filter_method = input; self } - ///

                                                                                                Determines whether alternative transcripts are generated along with the transcript - /// that has the highest confidence. If you set ShowAlternatives field to true, - /// you must also set the maximum number of alternatives to return in the - /// MaxAlternatives field.

                                                                                                - pub fn show_alternatives(mut self, input: bool) -> Self { - self.show_alternatives = Some(input); + ///

                                                                                                The structure used to describe a custom language model.

                                                                                                + pub fn language_model_name(mut self, input: impl Into) -> Self { + self.language_model_name = Some(input.into()); self } - pub fn set_show_alternatives(mut self, input: std::option::Option) -> Self { - self.show_alternatives = input; + pub fn set_language_model_name( + mut self, + input: std::option::Option, + ) -> Self { + self.language_model_name = input; self } - ///

                                                                                                The maximum number of alternatives that you tell the service to return. If you specify - /// the MaxAlternatives field, you must set the ShowAlternatives - /// field to true.

                                                                                                - pub fn max_alternatives(mut self, input: i32) -> Self { - self.max_alternatives = Some(input); + ///

                                                                                                Settings for content redaction within a transcription job.

                                                                                                + pub fn content_redaction(mut self, input: crate::model::ContentRedaction) -> Self { + self.content_redaction = Some(input); self } - pub fn set_max_alternatives(mut self, input: std::option::Option) -> Self { - self.max_alternatives = input; + pub fn set_content_redaction( + mut self, + input: std::option::Option, + ) -> Self { + self.content_redaction = input; self } - ///

                                                                                                The name of the vocabulary to use when processing a medical transcription job.

                                                                                                - pub fn vocabulary_name(mut self, input: impl Into) -> Self { - self.vocabulary_name = Some(input.into()); + pub fn language_options(mut self, input: impl Into) -> Self { + let mut v = self.language_options.unwrap_or_default(); + v.push(input.into()); + self.language_options = Some(v); self } - pub fn set_vocabulary_name( + pub fn set_language_options( mut self, - input: std::option::Option, + input: std::option::Option>, ) -> Self { - self.vocabulary_name = input; + self.language_options = input; self } - /// Consumes the builder and constructs a [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) - pub fn build(self) -> crate::model::MedicalTranscriptionSetting { - crate::model::MedicalTranscriptionSetting { - show_speaker_labels: self.show_speaker_labels, - max_speaker_labels: self.max_speaker_labels, - channel_identification: self.channel_identification, - show_alternatives: self.show_alternatives, - max_alternatives: self.max_alternatives, + /// Consumes the builder and constructs a [`CallAnalyticsJobSettings`](crate::model::CallAnalyticsJobSettings) + pub fn build(self) -> crate::model::CallAnalyticsJobSettings { + crate::model::CallAnalyticsJobSettings { vocabulary_name: self.vocabulary_name, + vocabulary_filter_name: self.vocabulary_filter_name, + vocabulary_filter_method: self.vocabulary_filter_method, + language_model_name: self.language_model_name, + content_redaction: self.content_redaction, + language_options: self.language_options, } } } } -impl MedicalTranscriptionSetting { - /// Creates a new builder-style object to manufacture [`MedicalTranscriptionSetting`](crate::model::MedicalTranscriptionSetting) - pub fn builder() -> crate::model::medical_transcription_setting::Builder { - crate::model::medical_transcription_setting::Builder::default() +impl CallAnalyticsJobSettings { + /// Creates a new builder-style object to manufacture [`CallAnalyticsJobSettings`](crate::model::CallAnalyticsJobSettings) + pub fn builder() -> crate::model::call_analytics_job_settings::Builder { + crate::model::call_analytics_job_settings::Builder::default() } } -///

                                                                                                Identifies the location of a medical transcript.

                                                                                                #[non_exhaustive] -#[derive(std::clone::Clone, std::cmp::PartialEq)] -pub struct MedicalTranscript { - ///

                                                                                                The S3 object location of the medical transcript.

                                                                                                - ///

                                                                                                Use this URI to access the medical transcript. This URI points to the S3 bucket you - /// created to store the medical transcript.

                                                                                                - pub transcript_file_uri: std::option::Option, +#[derive( + std::clone::Clone, + std::cmp::Eq, + std::cmp::Ord, + std::cmp::PartialEq, + std::cmp::PartialOrd, + std::fmt::Debug, + std::hash::Hash, +)] +pub enum CallAnalyticsJobStatus { + Completed, + Failed, + InProgress, + Queued, + /// Unknown contains new variants that have been added since this code was generated. + Unknown(String), } -impl std::fmt::Debug for MedicalTranscript { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut formatter = f.debug_struct("MedicalTranscript"); - formatter.field("transcript_file_uri", &self.transcript_file_uri); - formatter.finish() +impl std::convert::From<&str> for CallAnalyticsJobStatus { + fn from(s: &str) -> Self { + match s { + "COMPLETED" => CallAnalyticsJobStatus::Completed, + "FAILED" => CallAnalyticsJobStatus::Failed, + "IN_PROGRESS" => CallAnalyticsJobStatus::InProgress, + "QUEUED" => CallAnalyticsJobStatus::Queued, + other => CallAnalyticsJobStatus::Unknown(other.to_owned()), + } } } -/// See [`MedicalTranscript`](crate::model::MedicalTranscript) -pub mod medical_transcript { - /// A builder for [`MedicalTranscript`](crate::model::MedicalTranscript) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) transcript_file_uri: std::option::Option, +impl std::str::FromStr for CallAnalyticsJobStatus { + type Err = std::convert::Infallible; + + fn from_str(s: &str) -> std::result::Result { + Ok(CallAnalyticsJobStatus::from(s)) } - impl Builder { - ///

                                                                                                The S3 object location of the medical transcript.

                                                                                                - ///

                                                                                                Use this URI to access the medical transcript. This URI points to the S3 bucket you - /// created to store the medical transcript.

                                                                                                - pub fn transcript_file_uri(mut self, input: impl Into) -> Self { - self.transcript_file_uri = Some(input.into()); - self - } - pub fn set_transcript_file_uri( - mut self, - input: std::option::Option, - ) -> Self { - self.transcript_file_uri = input; - self - } - /// Consumes the builder and constructs a [`MedicalTranscript`](crate::model::MedicalTranscript) - pub fn build(self) -> crate::model::MedicalTranscript { - crate::model::MedicalTranscript { - transcript_file_uri: self.transcript_file_uri, - } +} +impl CallAnalyticsJobStatus { + pub fn as_str(&self) -> &str { + match self { + CallAnalyticsJobStatus::Completed => "COMPLETED", + CallAnalyticsJobStatus::Failed => "FAILED", + CallAnalyticsJobStatus::InProgress => "IN_PROGRESS", + CallAnalyticsJobStatus::Queued => "QUEUED", + CallAnalyticsJobStatus::Unknown(s) => s.as_ref(), } } + pub fn values() -> &'static [&'static str] { + &["COMPLETED", "FAILED", "IN_PROGRESS", "QUEUED"] + } } -impl MedicalTranscript { - /// Creates a new builder-style object to manufacture [`MedicalTranscript`](crate::model::MedicalTranscript) - pub fn builder() -> crate::model::medical_transcript::Builder { - crate::model::medical_transcript::Builder::default() +impl AsRef for CallAnalyticsJobStatus { + fn as_ref(&self) -> &str { + self.as_str() } } @@ -2793,8 +4796,8 @@ pub struct MedicalTranscriptionJobSummary { /// valid value.

                                                                                                pub specialty: std::option::Option, ///

                                                                                                Shows the type of information you've configured Amazon Transcribe Medical to identify in a transcription - /// job. If the value is PHI, you've configured the transcription job to identify - /// personal health information (PHI).

                                                                                                + /// job. If the value is PHI, you've configured the transcription job to + /// identify personal health information (PHI).

                                                                                                pub content_identification_type: std::option::Option, ///

                                                                                                The speech of the clinician in the input audio.

                                                                                                @@ -2960,8 +4963,8 @@ pub mod medical_transcription_job_summary { self } ///

                                                                                                Shows the type of information you've configured Amazon Transcribe Medical to identify in a transcription - /// job. If the value is PHI, you've configured the transcription job to identify - /// personal health information (PHI).

                                                                                                + /// job. If the value is PHI, you've configured the transcription job to + /// identify personal health information (PHI).

                                                                                                pub fn content_identification_type( mut self, input: crate::model::MedicalContentIdentificationType, @@ -3449,3 +5452,158 @@ impl AsRef for ClmLanguageCode { self.as_str() } } + +///

                                                                                                Provides summary information about a call analytics job.

                                                                                                +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CallAnalyticsJobSummary { + ///

                                                                                                The name of the call analytics job.

                                                                                                + pub call_analytics_job_name: std::option::Option, + ///

                                                                                                A timestamp that shows when the call analytics job was created.

                                                                                                + pub creation_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job began processing.

                                                                                                + pub start_time: std::option::Option, + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub completion_time: std::option::Option, + ///

                                                                                                The language of the transcript in the source audio file.

                                                                                                + pub language_code: std::option::Option, + ///

                                                                                                The status of the call analytics job.

                                                                                                + pub call_analytics_job_status: std::option::Option, + ///

                                                                                                If the CallAnalyticsJobStatus is FAILED, a description of + /// the error.

                                                                                                + pub failure_reason: std::option::Option, +} +impl std::fmt::Debug for CallAnalyticsJobSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CallAnalyticsJobSummary"); + formatter.field("call_analytics_job_name", &self.call_analytics_job_name); + formatter.field("creation_time", &self.creation_time); + formatter.field("start_time", &self.start_time); + formatter.field("completion_time", &self.completion_time); + formatter.field("language_code", &self.language_code); + formatter.field("call_analytics_job_status", &self.call_analytics_job_status); + formatter.field("failure_reason", &self.failure_reason); + formatter.finish() + } +} +/// See [`CallAnalyticsJobSummary`](crate::model::CallAnalyticsJobSummary) +pub mod call_analytics_job_summary { + /// A builder for [`CallAnalyticsJobSummary`](crate::model::CallAnalyticsJobSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) call_analytics_job_name: std::option::Option, + pub(crate) creation_time: std::option::Option, + pub(crate) start_time: std::option::Option, + pub(crate) completion_time: std::option::Option, + pub(crate) language_code: std::option::Option, + pub(crate) call_analytics_job_status: + std::option::Option, + pub(crate) failure_reason: std::option::Option, + } + impl Builder { + ///

                                                                                                The name of the call analytics job.

                                                                                                + pub fn call_analytics_job_name(mut self, input: impl Into) -> Self { + self.call_analytics_job_name = Some(input.into()); + self + } + pub fn set_call_analytics_job_name( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job_name = input; + self + } + ///

                                                                                                A timestamp that shows when the call analytics job was created.

                                                                                                + pub fn creation_time(mut self, input: smithy_types::Instant) -> Self { + self.creation_time = Some(input); + self + } + pub fn set_creation_time( + mut self, + input: std::option::Option, + ) -> Self { + self.creation_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job began processing.

                                                                                                + pub fn start_time(mut self, input: smithy_types::Instant) -> Self { + self.start_time = Some(input); + self + } + pub fn set_start_time(mut self, input: std::option::Option) -> Self { + self.start_time = input; + self + } + ///

                                                                                                A timestamp that shows when the job was completed.

                                                                                                + pub fn completion_time(mut self, input: smithy_types::Instant) -> Self { + self.completion_time = Some(input); + self + } + pub fn set_completion_time( + mut self, + input: std::option::Option, + ) -> Self { + self.completion_time = input; + self + } + ///

                                                                                                The language of the transcript in the source audio file.

                                                                                                + pub fn language_code(mut self, input: crate::model::LanguageCode) -> Self { + self.language_code = Some(input); + self + } + pub fn set_language_code( + mut self, + input: std::option::Option, + ) -> Self { + self.language_code = input; + self + } + ///

                                                                                                The status of the call analytics job.

                                                                                                + pub fn call_analytics_job_status( + mut self, + input: crate::model::CallAnalyticsJobStatus, + ) -> Self { + self.call_analytics_job_status = Some(input); + self + } + pub fn set_call_analytics_job_status( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job_status = input; + self + } + ///

                                                                                                If the CallAnalyticsJobStatus is FAILED, a description of + /// the error.

                                                                                                + pub fn failure_reason(mut self, input: impl Into) -> Self { + self.failure_reason = Some(input.into()); + self + } + pub fn set_failure_reason( + mut self, + input: std::option::Option, + ) -> Self { + self.failure_reason = input; + self + } + /// Consumes the builder and constructs a [`CallAnalyticsJobSummary`](crate::model::CallAnalyticsJobSummary) + pub fn build(self) -> crate::model::CallAnalyticsJobSummary { + crate::model::CallAnalyticsJobSummary { + call_analytics_job_name: self.call_analytics_job_name, + creation_time: self.creation_time, + start_time: self.start_time, + completion_time: self.completion_time, + language_code: self.language_code, + call_analytics_job_status: self.call_analytics_job_status, + failure_reason: self.failure_reason, + } + } + } +} +impl CallAnalyticsJobSummary { + /// Creates a new builder-style object to manufacture [`CallAnalyticsJobSummary`](crate::model::CallAnalyticsJobSummary) + pub fn builder() -> crate::model::call_analytics_job_summary::Builder { + crate::model::call_analytics_job_summary::Builder::default() + } +} diff --git a/sdk/transcribe/src/operation.rs b/sdk/transcribe/src/operation.rs index c5a0b07c4f6c..f33ea97ca740 100644 --- a/sdk/transcribe/src/operation.rs +++ b/sdk/transcribe/src/operation.rs @@ -1,4 +1,36 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +///

                                                                                                Creates an analytics category. Amazon Transcribe applies the conditions specified by your +/// analytics categories to your call analytics jobs. For each analytics category, you specify one or +/// more rules. For example, you can specify a rule that the customer sentiment was neutral or +/// negative within that category. If you start a call analytics job, Amazon Transcribe applies the +/// category to the analytics job that you've specified.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct CreateCallAnalyticsCategory { + _private: (), +} +impl CreateCallAnalyticsCategory { + /// Creates a new builder-style object to manufacture [`CreateCallAnalyticsCategoryInput`](crate::input::CreateCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::create_call_analytics_category_input::Builder { + crate::input::create_call_analytics_category_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for CreateCallAnalyticsCategory { + type Output = std::result::Result< + crate::output::CreateCallAnalyticsCategoryOutput, + crate::error::CreateCallAnalyticsCategoryError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_create_call_analytics_category_error(response) + } else { + crate::operation_deser::parse_create_call_analytics_category_response(response) + } + } +} + ///

                                                                                                Creates a new custom language model. Use Amazon S3 prefixes to provide the location of your /// input files. The time it takes to create your model depends on the size of your training /// data.

                                                                                                @@ -117,6 +149,62 @@ impl smithy_http::response::ParseStrictResponse for CreateVocabularyFilter { } } +///

                                                                                                Deletes a call analytics category using its name.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteCallAnalyticsCategory { + _private: (), +} +impl DeleteCallAnalyticsCategory { + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsCategoryInput`](crate::input::DeleteCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::delete_call_analytics_category_input::Builder { + crate::input::delete_call_analytics_category_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteCallAnalyticsCategory { + type Output = std::result::Result< + crate::output::DeleteCallAnalyticsCategoryOutput, + crate::error::DeleteCallAnalyticsCategoryError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_call_analytics_category_error(response) + } else { + crate::operation_deser::parse_delete_call_analytics_category_response(response) + } + } +} + +///

                                                                                                Deletes a call analytics job using its name.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct DeleteCallAnalyticsJob { + _private: (), +} +impl DeleteCallAnalyticsJob { + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsJobInput`](crate::input::DeleteCallAnalyticsJobInput) + pub fn builder() -> crate::input::delete_call_analytics_job_input::Builder { + crate::input::delete_call_analytics_job_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for DeleteCallAnalyticsJob { + type Output = std::result::Result< + crate::output::DeleteCallAnalyticsJobOutput, + crate::error::DeleteCallAnalyticsJobError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_delete_call_analytics_job_error(response) + } else { + crate::operation_deser::parse_delete_call_analytics_job_response(response) + } + } +} + ///

                                                                                                Deletes a custom language model using its name.

                                                                                                #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteLanguageModel { @@ -287,11 +375,11 @@ impl smithy_http::response::ParseStrictResponse for DeleteVocabularyFilter { } ///

                                                                                                Gets information about a single custom language model. Use this information to see -/// details about the language model in your AWS account. You can also see whether the base -/// language model used to create your custom language model has been updated. If Amazon Transcribe has -/// updated the base model, you can create a new custom language model using the updated -/// base model. If the language model wasn't created, you can use this operation to -/// understand why Amazon Transcribe couldn't create it.

                                                                                                +/// details about the language model in your Amazon Web Services account. You can also see +/// whether the base language model used to create your custom language model has been +/// updated. If Amazon Transcribe has updated the base model, you can create a new custom language model +/// using the updated base model. If the language model wasn't created, you can use this +/// operation to understand why Amazon Transcribe couldn't create it.

                                                                                                #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeLanguageModel { _private: (), @@ -319,6 +407,66 @@ impl smithy_http::response::ParseStrictResponse for DescribeLanguageModel { } } +///

                                                                                                Retrieves information about a call analytics category.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetCallAnalyticsCategory { + _private: (), +} +impl GetCallAnalyticsCategory { + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsCategoryInput`](crate::input::GetCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::get_call_analytics_category_input::Builder { + crate::input::get_call_analytics_category_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetCallAnalyticsCategory { + type Output = std::result::Result< + crate::output::GetCallAnalyticsCategoryOutput, + crate::error::GetCallAnalyticsCategoryError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_call_analytics_category_error(response) + } else { + crate::operation_deser::parse_get_call_analytics_category_response(response) + } + } +} + +///

                                                                                                Returns information about a call analytics job. To see the status of the job, check the +/// CallAnalyticsJobStatus field. If the status is COMPLETED, the job +/// is finished and you can find the results at the location specified in the TranscriptFileUri +/// field. If you enable personally identifiable information (PII) redaction, the redacted transcript appears +/// in the RedactedTranscriptFileUri field.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetCallAnalyticsJob { + _private: (), +} +impl GetCallAnalyticsJob { + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsJobInput`](crate::input::GetCallAnalyticsJobInput) + pub fn builder() -> crate::input::get_call_analytics_job_input::Builder { + crate::input::get_call_analytics_job_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetCallAnalyticsJob { + type Output = std::result::Result< + crate::output::GetCallAnalyticsJobOutput, + crate::error::GetCallAnalyticsJobError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_call_analytics_job_error(response) + } else { + crate::operation_deser::parse_get_call_analytics_job_response(response) + } + } +} + ///

                                                                                                Returns information about a transcription job from Amazon Transcribe Medical. To see the status of the /// job, check the TranscriptionJobStatus field. If the status is /// COMPLETED, the job is finished. You find the results of the completed @@ -464,6 +612,64 @@ impl smithy_http::response::ParseStrictResponse for GetVocabularyFilter { } } +///

                                                                                                Provides more information about the call analytics categories that you've created. You +/// can use the information in this list to find a specific category. You can then use the +/// operation to get more information about it.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListCallAnalyticsCategories { + _private: (), +} +impl ListCallAnalyticsCategories { + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsCategoriesInput`](crate::input::ListCallAnalyticsCategoriesInput) + pub fn builder() -> crate::input::list_call_analytics_categories_input::Builder { + crate::input::list_call_analytics_categories_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListCallAnalyticsCategories { + type Output = std::result::Result< + crate::output::ListCallAnalyticsCategoriesOutput, + crate::error::ListCallAnalyticsCategoriesError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_call_analytics_categories_error(response) + } else { + crate::operation_deser::parse_list_call_analytics_categories_response(response) + } + } +} + +///

                                                                                                List call analytics jobs with a specified status or substring that matches their names.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListCallAnalyticsJobs { + _private: (), +} +impl ListCallAnalyticsJobs { + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsJobsInput`](crate::input::ListCallAnalyticsJobsInput) + pub fn builder() -> crate::input::list_call_analytics_jobs_input::Builder { + crate::input::list_call_analytics_jobs_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListCallAnalyticsJobs { + type Output = std::result::Result< + crate::output::ListCallAnalyticsJobsOutput, + crate::error::ListCallAnalyticsJobsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_call_analytics_jobs_error(response) + } else { + crate::operation_deser::parse_list_call_analytics_jobs_response(response) + } + } +} + ///

                                                                                                Provides more information about the custom language models you've created. You can use /// the information in this list to find a specific custom language model. You can then use /// the operation to get more information about @@ -638,6 +844,39 @@ impl smithy_http::response::ParseStrictResponse for ListVocabularyFilters { } } +///

                                                                                                Starts an asynchronous analytics job that not only transcribes the audio recording of a caller and +/// agent, but also returns additional insights. These insights include how quickly or loudly the caller +/// or agent was speaking. To retrieve additional insights with your analytics jobs, create +/// categories. A category is a way to classify analytics jobs based on attributes, such as a customer's +/// sentiment or a particular phrase being used during the call. For more information, see the +/// operation.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct StartCallAnalyticsJob { + _private: (), +} +impl StartCallAnalyticsJob { + /// Creates a new builder-style object to manufacture [`StartCallAnalyticsJobInput`](crate::input::StartCallAnalyticsJobInput) + pub fn builder() -> crate::input::start_call_analytics_job_input::Builder { + crate::input::start_call_analytics_job_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for StartCallAnalyticsJob { + type Output = std::result::Result< + crate::output::StartCallAnalyticsJobOutput, + crate::error::StartCallAnalyticsJobError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_start_call_analytics_job_error(response) + } else { + crate::operation_deser::parse_start_call_analytics_job_response(response) + } + } +} + ///

                                                                                                Starts a batch job to transcribe medical speech to text.

                                                                                                #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct StartMedicalTranscriptionJob { @@ -694,6 +933,36 @@ impl smithy_http::response::ParseStrictResponse for StartTranscriptionJob { } } +///

                                                                                                Updates the call analytics category with new values. The UpdateCallAnalyticsCategory +/// operation overwrites all of the existing information with the values that you provide in the +/// request.

                                                                                                +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateCallAnalyticsCategory { + _private: (), +} +impl UpdateCallAnalyticsCategory { + /// Creates a new builder-style object to manufacture [`UpdateCallAnalyticsCategoryInput`](crate::input::UpdateCallAnalyticsCategoryInput) + pub fn builder() -> crate::input::update_call_analytics_category_input::Builder { + crate::input::update_call_analytics_category_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateCallAnalyticsCategory { + type Output = std::result::Result< + crate::output::UpdateCallAnalyticsCategoryOutput, + crate::error::UpdateCallAnalyticsCategoryError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_call_analytics_category_error(response) + } else { + crate::operation_deser::parse_update_call_analytics_category_response(response) + } + } +} + ///

                                                                                                Updates a vocabulary with new values that you provide in a different text file from /// the one you used to create the vocabulary. The UpdateMedicalVocabulary /// operation overwrites all of the existing information with the values that you provide in diff --git a/sdk/transcribe/src/operation_deser.rs b/sdk/transcribe/src/operation_deser.rs index 547f934be445..c9f39447c717 100644 --- a/sdk/transcribe/src/operation_deser.rs +++ b/sdk/transcribe/src/operation_deser.rs @@ -1,4 +1,132 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_call_analytics_category_error( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateCallAnalyticsCategoryOutput, + crate::error::CreateCallAnalyticsCategoryError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::CreateCallAnalyticsCategoryError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::CreateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::CreateCallAnalyticsCategoryErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::CreateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::CreateCallAnalyticsCategoryErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::CreateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::CreateCallAnalyticsCategoryErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::CreateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::CreateCallAnalyticsCategoryErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::CreateCallAnalyticsCategoryError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_create_call_analytics_category_response( + response: &http::Response, +) -> std::result::Result< + crate::output::CreateCallAnalyticsCategoryOutput, + crate::error::CreateCallAnalyticsCategoryError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::create_call_analytics_category_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_create_call_analytics_category( + response.body().as_ref(), + output, + ) + .map_err(crate::error::CreateCallAnalyticsCategoryError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_create_language_model_error( response: &http::Response, @@ -498,24 +626,28 @@ pub fn parse_create_vocabulary_filter_response( } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_language_model_error( +pub fn parse_delete_call_analytics_category_error( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteLanguageModelOutput, - crate::error::DeleteLanguageModelError, + crate::output::DeleteCallAnalyticsCategoryOutput, + crate::error::DeleteCallAnalyticsCategoryError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DeleteLanguageModelError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsCategoryError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => return Err(crate::error::DeleteLanguageModelError::unhandled(generic)), + None => { + return Err(crate::error::DeleteCallAnalyticsCategoryError::unhandled( + generic, + )) + } }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DeleteLanguageModelError { + "BadRequestException" => crate::error::DeleteCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteLanguageModelErrorKind::BadRequestException({ + kind: crate::error::DeleteCallAnalyticsCategoryErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -525,7 +657,7 @@ pub fn parse_delete_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteLanguageModelError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -534,9 +666,9 @@ pub fn parse_delete_language_model_error( tmp }), }, - "InternalFailureException" => crate::error::DeleteLanguageModelError { + "InternalFailureException" => crate::error::DeleteCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteLanguageModelErrorKind::InternalFailureException({ + kind: crate::error::DeleteCallAnalyticsCategoryErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -546,7 +678,7 @@ pub fn parse_delete_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteLanguageModelError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -555,9 +687,9 @@ pub fn parse_delete_language_model_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteLanguageModelError { + "LimitExceededException" => crate::error::DeleteCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteLanguageModelErrorKind::LimitExceededException({ + kind: crate::error::DeleteCallAnalyticsCategoryErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -567,7 +699,7 @@ pub fn parse_delete_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteLanguageModelError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -576,38 +708,59 @@ pub fn parse_delete_language_model_error( tmp }), }, - _ => crate::error::DeleteLanguageModelError::generic(generic), + "NotFoundException" => crate::error::DeleteCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::DeleteCallAnalyticsCategoryErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteCallAnalyticsCategoryError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_language_model_response( +pub fn parse_delete_call_analytics_category_response( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteLanguageModelOutput, - crate::error::DeleteLanguageModelError, + crate::output::DeleteCallAnalyticsCategoryOutput, + crate::error::DeleteCallAnalyticsCategoryError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_language_model_output::Builder::default(); + let mut output = crate::output::delete_call_analytics_category_output::Builder::default(); let _ = response; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_medical_transcription_job_error( +pub fn parse_delete_call_analytics_job_error( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteMedicalTranscriptionJobOutput, - crate::error::DeleteMedicalTranscriptionJobError, + crate::output::DeleteCallAnalyticsJobOutput, + crate::error::DeleteCallAnalyticsJobError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsJobError::unhandled)?; let error_code = match generic.code() { Some(code) => code, None => { - return Err(crate::error::DeleteMedicalTranscriptionJobError::unhandled( + return Err(crate::error::DeleteCallAnalyticsJobError::unhandled( generic, )) } @@ -615,9 +768,9 @@ pub fn parse_delete_medical_transcription_job_error( let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DeleteMedicalTranscriptionJobError { + "BadRequestException" => crate::error::DeleteCallAnalyticsJobError { meta: generic, - kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::BadRequestException({ + kind: crate::error::DeleteCallAnalyticsJobErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -627,7 +780,7 @@ pub fn parse_delete_medical_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -636,9 +789,9 @@ pub fn parse_delete_medical_transcription_job_error( tmp }), }, - "InternalFailureException" => crate::error::DeleteMedicalTranscriptionJobError { + "InternalFailureException" => crate::error::DeleteCallAnalyticsJobError { meta: generic, - kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::InternalFailureException({ + kind: crate::error::DeleteCallAnalyticsJobErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -648,7 +801,7 @@ pub fn parse_delete_medical_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -657,9 +810,9 @@ pub fn parse_delete_medical_transcription_job_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteMedicalTranscriptionJobError { + "LimitExceededException" => crate::error::DeleteCallAnalyticsJobError { meta: generic, - kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::LimitExceededException({ + kind: crate::error::DeleteCallAnalyticsJobErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -669,7 +822,7 @@ pub fn parse_delete_medical_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -678,48 +831,44 @@ pub fn parse_delete_medical_transcription_job_error( tmp }), }, - _ => crate::error::DeleteMedicalTranscriptionJobError::generic(generic), + _ => crate::error::DeleteCallAnalyticsJobError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_medical_transcription_job_response( +pub fn parse_delete_call_analytics_job_response( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteMedicalTranscriptionJobOutput, - crate::error::DeleteMedicalTranscriptionJobError, + crate::output::DeleteCallAnalyticsJobOutput, + crate::error::DeleteCallAnalyticsJobError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_medical_transcription_job_output::Builder::default(); + let mut output = crate::output::delete_call_analytics_job_output::Builder::default(); let _ = response; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_medical_vocabulary_error( +pub fn parse_delete_language_model_error( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteMedicalVocabularyOutput, - crate::error::DeleteMedicalVocabularyError, + crate::output::DeleteLanguageModelOutput, + crate::error::DeleteLanguageModelError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + .map_err(crate::error::DeleteLanguageModelError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => { - return Err(crate::error::DeleteMedicalVocabularyError::unhandled( - generic, - )) - } + None => return Err(crate::error::DeleteLanguageModelError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DeleteMedicalVocabularyError { + "BadRequestException" => crate::error::DeleteLanguageModelError { meta: generic, - kind: crate::error::DeleteMedicalVocabularyErrorKind::BadRequestException({ + kind: crate::error::DeleteLanguageModelErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -729,7 +878,7 @@ pub fn parse_delete_medical_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + .map_err(crate::error::DeleteLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -738,9 +887,9 @@ pub fn parse_delete_medical_vocabulary_error( tmp }), }, - "InternalFailureException" => crate::error::DeleteMedicalVocabularyError { + "InternalFailureException" => crate::error::DeleteLanguageModelError { meta: generic, - kind: crate::error::DeleteMedicalVocabularyErrorKind::InternalFailureException({ + kind: crate::error::DeleteLanguageModelErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -750,7 +899,7 @@ pub fn parse_delete_medical_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + .map_err(crate::error::DeleteLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -759,9 +908,9 @@ pub fn parse_delete_medical_vocabulary_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteMedicalVocabularyError { + "LimitExceededException" => crate::error::DeleteLanguageModelError { meta: generic, - kind: crate::error::DeleteMedicalVocabularyErrorKind::LimitExceededException({ + kind: crate::error::DeleteLanguageModelErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -771,28 +920,7 @@ pub fn parse_delete_medical_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }), - }, - "NotFoundException" => crate::error::DeleteMedicalVocabularyError { - meta: generic, - kind: crate::error::DeleteMedicalVocabularyErrorKind::NotFoundException({ - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = crate::error::not_found_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_not_found_exceptionjson_err( - response.body().as_ref(), - output, - ) - .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + .map_err(crate::error::DeleteLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -801,38 +929,38 @@ pub fn parse_delete_medical_vocabulary_error( tmp }), }, - _ => crate::error::DeleteMedicalVocabularyError::generic(generic), + _ => crate::error::DeleteLanguageModelError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_medical_vocabulary_response( +pub fn parse_delete_language_model_response( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteMedicalVocabularyOutput, - crate::error::DeleteMedicalVocabularyError, + crate::output::DeleteLanguageModelOutput, + crate::error::DeleteLanguageModelError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_medical_vocabulary_output::Builder::default(); + let mut output = crate::output::delete_language_model_output::Builder::default(); let _ = response; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_transcription_job_error( +pub fn parse_delete_medical_transcription_job_error( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteTranscriptionJobOutput, - crate::error::DeleteTranscriptionJobError, + crate::output::DeleteMedicalTranscriptionJobOutput, + crate::error::DeleteMedicalTranscriptionJobError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; let error_code = match generic.code() { Some(code) => code, None => { - return Err(crate::error::DeleteTranscriptionJobError::unhandled( + return Err(crate::error::DeleteMedicalTranscriptionJobError::unhandled( generic, )) } @@ -840,9 +968,9 @@ pub fn parse_delete_transcription_job_error( let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DeleteTranscriptionJobError { + "BadRequestException" => crate::error::DeleteMedicalTranscriptionJobError { meta: generic, - kind: crate::error::DeleteTranscriptionJobErrorKind::BadRequestException({ + kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -852,7 +980,7 @@ pub fn parse_delete_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -861,9 +989,9 @@ pub fn parse_delete_transcription_job_error( tmp }), }, - "InternalFailureException" => crate::error::DeleteTranscriptionJobError { + "InternalFailureException" => crate::error::DeleteMedicalTranscriptionJobError { meta: generic, - kind: crate::error::DeleteTranscriptionJobErrorKind::InternalFailureException({ + kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -873,7 +1001,7 @@ pub fn parse_delete_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -882,9 +1010,9 @@ pub fn parse_delete_transcription_job_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteTranscriptionJobError { + "LimitExceededException" => crate::error::DeleteMedicalTranscriptionJobError { meta: generic, - kind: crate::error::DeleteTranscriptionJobErrorKind::LimitExceededException({ + kind: crate::error::DeleteMedicalTranscriptionJobErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -894,7 +1022,7 @@ pub fn parse_delete_transcription_job_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + .map_err(crate::error::DeleteMedicalTranscriptionJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -903,7 +1031,232 @@ pub fn parse_delete_transcription_job_error( tmp }), }, - _ => crate::error::DeleteTranscriptionJobError::generic(generic), + _ => crate::error::DeleteMedicalTranscriptionJobError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_medical_transcription_job_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteMedicalTranscriptionJobOutput, + crate::error::DeleteMedicalTranscriptionJobError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_medical_transcription_job_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_medical_vocabulary_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteMedicalVocabularyOutput, + crate::error::DeleteMedicalVocabularyError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteMedicalVocabularyError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteMedicalVocabularyError { + meta: generic, + kind: crate::error::DeleteMedicalVocabularyErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::DeleteMedicalVocabularyError { + meta: generic, + kind: crate::error::DeleteMedicalVocabularyErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::DeleteMedicalVocabularyError { + meta: generic, + kind: crate::error::DeleteMedicalVocabularyErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DeleteMedicalVocabularyError { + meta: generic, + kind: crate::error::DeleteMedicalVocabularyErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteMedicalVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteMedicalVocabularyError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_medical_vocabulary_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteMedicalVocabularyOutput, + crate::error::DeleteMedicalVocabularyError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_medical_vocabulary_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_transcription_job_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteTranscriptionJobOutput, + crate::error::DeleteTranscriptionJobError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteTranscriptionJobError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteTranscriptionJobError { + meta: generic, + kind: crate::error::DeleteTranscriptionJobErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::DeleteTranscriptionJobError { + meta: generic, + kind: crate::error::DeleteTranscriptionJobErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::DeleteTranscriptionJobError { + meta: generic, + kind: crate::error::DeleteTranscriptionJobErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteTranscriptionJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteTranscriptionJobError::generic(generic), }) } @@ -969,7 +1322,247 @@ pub fn parse_delete_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyError::unhandled)?; + .map_err(crate::error::DeleteVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::DeleteVocabularyError { + meta: generic, + kind: crate::error::DeleteVocabularyErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DeleteVocabularyError { + meta: generic, + kind: crate::error::DeleteVocabularyErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteVocabularyError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_vocabulary_response( + response: &http::Response, +) -> std::result::Result +{ + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_vocabulary_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_vocabulary_filter_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteVocabularyFilterOutput, + crate::error::DeleteVocabularyFilterError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::DeleteVocabularyFilterError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DeleteVocabularyFilterError { + meta: generic, + kind: crate::error::DeleteVocabularyFilterErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::DeleteVocabularyFilterError { + meta: generic, + kind: crate::error::DeleteVocabularyFilterErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::DeleteVocabularyFilterError { + meta: generic, + kind: crate::error::DeleteVocabularyFilterErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::DeleteVocabularyFilterError { + meta: generic, + kind: crate::error::DeleteVocabularyFilterErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::DeleteVocabularyFilterError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_delete_vocabulary_filter_response( + response: &http::Response, +) -> std::result::Result< + crate::output::DeleteVocabularyFilterOutput, + crate::error::DeleteVocabularyFilterError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::delete_vocabulary_filter_output::Builder::default(); + let _ = response; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_describe_language_model_error( + response: &http::Response, +) -> std::result::Result< + crate::output::DescribeLanguageModelOutput, + crate::error::DescribeLanguageModelError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::DescribeLanguageModelError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::DescribeLanguageModelError { + meta: generic, + kind: crate::error::DescribeLanguageModelErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::DescribeLanguageModelError { + meta: generic, + kind: crate::error::DescribeLanguageModelErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -978,9 +1571,9 @@ pub fn parse_delete_vocabulary_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteVocabularyError { + "LimitExceededException" => crate::error::DescribeLanguageModelError { meta: generic, - kind: crate::error::DeleteVocabularyErrorKind::LimitExceededException({ + kind: crate::error::DescribeLanguageModelErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -990,7 +1583,7 @@ pub fn parse_delete_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyError::unhandled)?; + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -999,9 +1592,9 @@ pub fn parse_delete_vocabulary_error( tmp }), }, - "NotFoundException" => crate::error::DeleteVocabularyError { + "NotFoundException" => crate::error::DescribeLanguageModelError { meta: generic, - kind: crate::error::DeleteVocabularyErrorKind::NotFoundException({ + kind: crate::error::DescribeLanguageModelErrorKind::NotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1011,7 +1604,7 @@ pub fn parse_delete_vocabulary_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyError::unhandled)?; + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1020,36 +1613,43 @@ pub fn parse_delete_vocabulary_error( tmp }), }, - _ => crate::error::DeleteVocabularyError::generic(generic), + _ => crate::error::DescribeLanguageModelError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_vocabulary_response( +pub fn parse_describe_language_model_response( response: &http::Response, -) -> std::result::Result -{ +) -> std::result::Result< + crate::output::DescribeLanguageModelOutput, + crate::error::DescribeLanguageModelError, +> { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_vocabulary_output::Builder::default(); + let mut output = crate::output::describe_language_model_output::Builder::default(); let _ = response; + output = crate::json_deser::deser_operation_describe_language_model( + response.body().as_ref(), + output, + ) + .map_err(crate::error::DescribeLanguageModelError::unhandled)?; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_vocabulary_filter_error( +pub fn parse_get_call_analytics_category_error( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteVocabularyFilterOutput, - crate::error::DeleteVocabularyFilterError, + crate::output::GetCallAnalyticsCategoryOutput, + crate::error::GetCallAnalyticsCategoryError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; let error_code = match generic.code() { Some(code) => code, None => { - return Err(crate::error::DeleteVocabularyFilterError::unhandled( + return Err(crate::error::GetCallAnalyticsCategoryError::unhandled( generic, )) } @@ -1057,9 +1657,9 @@ pub fn parse_delete_vocabulary_filter_error( let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DeleteVocabularyFilterError { + "BadRequestException" => crate::error::GetCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteVocabularyFilterErrorKind::BadRequestException({ + kind: crate::error::GetCallAnalyticsCategoryErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1069,7 +1669,7 @@ pub fn parse_delete_vocabulary_filter_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1078,9 +1678,9 @@ pub fn parse_delete_vocabulary_filter_error( tmp }), }, - "InternalFailureException" => crate::error::DeleteVocabularyFilterError { + "InternalFailureException" => crate::error::GetCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteVocabularyFilterErrorKind::InternalFailureException({ + kind: crate::error::GetCallAnalyticsCategoryErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1090,7 +1690,7 @@ pub fn parse_delete_vocabulary_filter_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1099,9 +1699,9 @@ pub fn parse_delete_vocabulary_filter_error( tmp }), }, - "LimitExceededException" => crate::error::DeleteVocabularyFilterError { + "LimitExceededException" => crate::error::GetCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteVocabularyFilterErrorKind::LimitExceededException({ + kind: crate::error::GetCallAnalyticsCategoryErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1111,7 +1711,7 @@ pub fn parse_delete_vocabulary_filter_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1120,9 +1720,9 @@ pub fn parse_delete_vocabulary_filter_error( tmp }), }, - "NotFoundException" => crate::error::DeleteVocabularyFilterError { + "NotFoundException" => crate::error::GetCallAnalyticsCategoryError { meta: generic, - kind: crate::error::DeleteVocabularyFilterErrorKind::NotFoundException({ + kind: crate::error::GetCallAnalyticsCategoryErrorKind::NotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1132,7 +1732,7 @@ pub fn parse_delete_vocabulary_filter_error( response.body().as_ref(), output, ) - .map_err(crate::error::DeleteVocabularyFilterError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1141,44 +1741,49 @@ pub fn parse_delete_vocabulary_filter_error( tmp }), }, - _ => crate::error::DeleteVocabularyFilterError::generic(generic), + _ => crate::error::GetCallAnalyticsCategoryError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_delete_vocabulary_filter_response( +pub fn parse_get_call_analytics_category_response( response: &http::Response, ) -> std::result::Result< - crate::output::DeleteVocabularyFilterOutput, - crate::error::DeleteVocabularyFilterError, + crate::output::GetCallAnalyticsCategoryOutput, + crate::error::GetCallAnalyticsCategoryError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::delete_vocabulary_filter_output::Builder::default(); + let mut output = crate::output::get_call_analytics_category_output::Builder::default(); let _ = response; + output = crate::json_deser::deser_operation_get_call_analytics_category( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetCallAnalyticsCategoryError::unhandled)?; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_describe_language_model_error( +pub fn parse_get_call_analytics_job_error( response: &http::Response, ) -> std::result::Result< - crate::output::DescribeLanguageModelOutput, - crate::error::DescribeLanguageModelError, + crate::output::GetCallAnalyticsJobOutput, + crate::error::GetCallAnalyticsJobError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => return Err(crate::error::DescribeLanguageModelError::unhandled(generic)), + None => return Err(crate::error::GetCallAnalyticsJobError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "BadRequestException" => crate::error::DescribeLanguageModelError { + "BadRequestException" => crate::error::GetCallAnalyticsJobError { meta: generic, - kind: crate::error::DescribeLanguageModelErrorKind::BadRequestException({ + kind: crate::error::GetCallAnalyticsJobErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1188,7 +1793,7 @@ pub fn parse_describe_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1197,9 +1802,9 @@ pub fn parse_describe_language_model_error( tmp }), }, - "InternalFailureException" => crate::error::DescribeLanguageModelError { + "InternalFailureException" => crate::error::GetCallAnalyticsJobError { meta: generic, - kind: crate::error::DescribeLanguageModelErrorKind::InternalFailureException({ + kind: crate::error::GetCallAnalyticsJobErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1209,7 +1814,7 @@ pub fn parse_describe_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1218,9 +1823,9 @@ pub fn parse_describe_language_model_error( tmp }), }, - "LimitExceededException" => crate::error::DescribeLanguageModelError { + "LimitExceededException" => crate::error::GetCallAnalyticsJobError { meta: generic, - kind: crate::error::DescribeLanguageModelErrorKind::LimitExceededException({ + kind: crate::error::GetCallAnalyticsJobErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1230,7 +1835,7 @@ pub fn parse_describe_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1239,9 +1844,9 @@ pub fn parse_describe_language_model_error( tmp }), }, - "NotFoundException" => crate::error::DescribeLanguageModelError { + "NotFoundException" => crate::error::GetCallAnalyticsJobError { meta: generic, - kind: crate::error::DescribeLanguageModelErrorKind::NotFoundException({ + kind: crate::error::GetCallAnalyticsJobErrorKind::NotFoundException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] @@ -1251,7 +1856,7 @@ pub fn parse_describe_language_model_error( response.body().as_ref(), output, ) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1260,26 +1865,26 @@ pub fn parse_describe_language_model_error( tmp }), }, - _ => crate::error::DescribeLanguageModelError::generic(generic), + _ => crate::error::GetCallAnalyticsJobError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_describe_language_model_response( +pub fn parse_get_call_analytics_job_response( response: &http::Response, ) -> std::result::Result< - crate::output::DescribeLanguageModelOutput, - crate::error::DescribeLanguageModelError, + crate::output::GetCallAnalyticsJobOutput, + crate::error::GetCallAnalyticsJobError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::describe_language_model_output::Builder::default(); + let mut output = crate::output::get_call_analytics_job_output::Builder::default(); let _ = response; - output = crate::json_deser::deser_operation_describe_language_model( + output = crate::json_deser::deser_operation_get_call_analytics_job( response.body().as_ref(), output, ) - .map_err(crate::error::DescribeLanguageModelError::unhandled)?; + .map_err(crate::error::GetCallAnalyticsJobError::unhandled)?; output.build() }) } @@ -1815,17 +2420,227 @@ pub fn parse_get_vocabulary_filter_error( }, "InternalFailureException" => crate::error::GetVocabularyFilterError { meta: generic, - kind: crate::error::GetVocabularyFilterErrorKind::InternalFailureException({ + kind: crate::error::GetVocabularyFilterErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::GetVocabularyFilterError { + meta: generic, + kind: crate::error::GetVocabularyFilterErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::GetVocabularyFilterError { + meta: generic, + kind: crate::error::GetVocabularyFilterErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::GetVocabularyFilterError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_vocabulary_filter_response( + response: &http::Response, +) -> std::result::Result< + crate::output::GetVocabularyFilterOutput, + crate::error::GetVocabularyFilterError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::get_vocabulary_filter_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_get_vocabulary_filter( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_call_analytics_categories_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListCallAnalyticsCategoriesOutput, + crate::error::ListCallAnalyticsCategoriesError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListCallAnalyticsCategoriesError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::ListCallAnalyticsCategoriesError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListCallAnalyticsCategoriesError { + meta: generic, + kind: crate::error::ListCallAnalyticsCategoriesErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListCallAnalyticsCategoriesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::ListCallAnalyticsCategoriesError { + meta: generic, + kind: crate::error::ListCallAnalyticsCategoriesErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListCallAnalyticsCategoriesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::ListCallAnalyticsCategoriesError { + meta: generic, + kind: crate::error::ListCallAnalyticsCategoriesErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListCallAnalyticsCategoriesError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::ListCallAnalyticsCategoriesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_call_analytics_categories_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListCallAnalyticsCategoriesOutput, + crate::error::ListCallAnalyticsCategoriesError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_call_analytics_categories_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_call_analytics_categories( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListCallAnalyticsCategoriesError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_call_analytics_jobs_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListCallAnalyticsJobsOutput, + crate::error::ListCallAnalyticsJobsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListCallAnalyticsJobsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListCallAnalyticsJobsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::ListCallAnalyticsJobsError { + meta: generic, + kind: crate::error::ListCallAnalyticsJobsErrorKind::BadRequestException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] - let mut output = crate::error::internal_failure_exception::Builder::default(); + let mut output = crate::error::bad_request_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( response.body().as_ref(), output, ) - .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + .map_err(crate::error::ListCallAnalyticsJobsError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1834,19 +2649,19 @@ pub fn parse_get_vocabulary_filter_error( tmp }), }, - "LimitExceededException" => crate::error::GetVocabularyFilterError { + "InternalFailureException" => crate::error::ListCallAnalyticsJobsError { meta: generic, - kind: crate::error::GetVocabularyFilterErrorKind::LimitExceededException({ + kind: crate::error::ListCallAnalyticsJobsErrorKind::InternalFailureException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] - let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let mut output = crate::error::internal_failure_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( response.body().as_ref(), output, ) - .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + .map_err(crate::error::ListCallAnalyticsJobsError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1855,19 +2670,19 @@ pub fn parse_get_vocabulary_filter_error( tmp }), }, - "NotFoundException" => crate::error::GetVocabularyFilterError { + "LimitExceededException" => crate::error::ListCallAnalyticsJobsError { meta: generic, - kind: crate::error::GetVocabularyFilterErrorKind::NotFoundException({ + kind: crate::error::ListCallAnalyticsJobsErrorKind::LimitExceededException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] - let mut output = crate::error::not_found_exception::Builder::default(); + let mut output = crate::error::limit_exceeded_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( response.body().as_ref(), output, ) - .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + .map_err(crate::error::ListCallAnalyticsJobsError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -1876,26 +2691,26 @@ pub fn parse_get_vocabulary_filter_error( tmp }), }, - _ => crate::error::GetVocabularyFilterError::generic(generic), + _ => crate::error::ListCallAnalyticsJobsError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_get_vocabulary_filter_response( +pub fn parse_list_call_analytics_jobs_response( response: &http::Response, ) -> std::result::Result< - crate::output::GetVocabularyFilterOutput, - crate::error::GetVocabularyFilterError, + crate::output::ListCallAnalyticsJobsOutput, + crate::error::ListCallAnalyticsJobsError, > { Ok({ #[allow(unused_mut)] - let mut output = crate::output::get_vocabulary_filter_output::Builder::default(); + let mut output = crate::output::list_call_analytics_jobs_output::Builder::default(); let _ = response; - output = crate::json_deser::deser_operation_get_vocabulary_filter( + output = crate::json_deser::deser_operation_list_call_analytics_jobs( response.body().as_ref(), output, ) - .map_err(crate::error::GetVocabularyFilterError::unhandled)?; + .map_err(crate::error::ListCallAnalyticsJobsError::unhandled)?; output.build() }) } @@ -2520,6 +3335,130 @@ pub fn parse_list_vocabulary_filters_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_start_call_analytics_job_error( + response: &http::Response, +) -> std::result::Result< + crate::output::StartCallAnalyticsJobOutput, + crate::error::StartCallAnalyticsJobError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::StartCallAnalyticsJobError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::StartCallAnalyticsJobError { + meta: generic, + kind: crate::error::StartCallAnalyticsJobErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::StartCallAnalyticsJobError { + meta: generic, + kind: crate::error::StartCallAnalyticsJobErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::StartCallAnalyticsJobError { + meta: generic, + kind: crate::error::StartCallAnalyticsJobErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::StartCallAnalyticsJobError { + meta: generic, + kind: crate::error::StartCallAnalyticsJobErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::StartCallAnalyticsJobError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_start_call_analytics_job_response( + response: &http::Response, +) -> std::result::Result< + crate::output::StartCallAnalyticsJobOutput, + crate::error::StartCallAnalyticsJobError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::start_call_analytics_job_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_start_call_analytics_job( + response.body().as_ref(), + output, + ) + .map_err(crate::error::StartCallAnalyticsJobError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_start_medical_transcription_job_error( response: &http::Response, @@ -2772,6 +3711,155 @@ pub fn parse_start_transcription_job_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_call_analytics_category_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateCallAnalyticsCategoryOutput, + crate::error::UpdateCallAnalyticsCategoryError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::UpdateCallAnalyticsCategoryError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "BadRequestException" => crate::error::UpdateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::UpdateCallAnalyticsCategoryErrorKind::BadRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::bad_request_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_bad_request_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "ConflictException" => crate::error::UpdateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::UpdateCallAnalyticsCategoryErrorKind::ConflictException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::conflict_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_conflict_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "InternalFailureException" => crate::error::UpdateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::UpdateCallAnalyticsCategoryErrorKind::InternalFailureException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::internal_failure_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_internal_failure_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "LimitExceededException" => crate::error::UpdateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::UpdateCallAnalyticsCategoryErrorKind::LimitExceededException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::limit_exceeded_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_limit_exceeded_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "NotFoundException" => crate::error::UpdateCallAnalyticsCategoryError { + meta: generic, + kind: crate::error::UpdateCallAnalyticsCategoryErrorKind::NotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::error::not_found_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_not_found_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + _ => crate::error::UpdateCallAnalyticsCategoryError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_call_analytics_category_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateCallAnalyticsCategoryOutput, + crate::error::UpdateCallAnalyticsCategoryError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::update_call_analytics_category_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_call_analytics_category( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateCallAnalyticsCategoryError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_update_medical_vocabulary_error( response: &http::Response, diff --git a/sdk/transcribe/src/operation_ser.rs b/sdk/transcribe/src/operation_ser.rs index 4df5b8f301ef..b4239c92c1e2 100644 --- a/sdk/transcribe/src/operation_ser.rs +++ b/sdk/transcribe/src/operation_ser.rs @@ -1,4 +1,14 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn serialize_operation_create_call_analytics_category( + input: &crate::input::CreateCallAnalyticsCategoryInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_create_call_analytics_category_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_create_language_model( input: &crate::input::CreateLanguageModelInput, ) -> Result { @@ -39,6 +49,26 @@ pub fn serialize_operation_create_vocabulary_filter( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_delete_call_analytics_category( + input: &crate::input::DeleteCallAnalyticsCategoryInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_call_analytics_category_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_delete_call_analytics_job( + input: &crate::input::DeleteCallAnalyticsJobInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_delete_call_analytics_job_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_delete_language_model( input: &crate::input::DeleteLanguageModelInput, ) -> Result { @@ -109,6 +139,26 @@ pub fn serialize_operation_describe_language_model( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_get_call_analytics_category( + input: &crate::input::GetCallAnalyticsCategoryInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_call_analytics_category_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_get_call_analytics_job( + input: &crate::input::GetCallAnalyticsJobInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_call_analytics_job_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_get_medical_transcription_job( input: &crate::input::GetMedicalTranscriptionJobInput, ) -> Result { @@ -159,6 +209,26 @@ pub fn serialize_operation_get_vocabulary_filter( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_list_call_analytics_categories( + input: &crate::input::ListCallAnalyticsCategoriesInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_call_analytics_categories_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + +pub fn serialize_operation_list_call_analytics_jobs( + input: &crate::input::ListCallAnalyticsJobsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_call_analytics_jobs_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_list_language_models( input: &crate::input::ListLanguageModelsInput, ) -> Result { @@ -219,6 +289,16 @@ pub fn serialize_operation_list_vocabulary_filters( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_start_call_analytics_job( + input: &crate::input::StartCallAnalyticsJobInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_start_call_analytics_job_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_start_medical_transcription_job( input: &crate::input::StartMedicalTranscriptionJobInput, ) -> Result { @@ -239,6 +319,16 @@ pub fn serialize_operation_start_transcription_job( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_update_call_analytics_category( + input: &crate::input::UpdateCallAnalyticsCategoryInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_call_analytics_category_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_update_medical_vocabulary( input: &crate::input::UpdateMedicalVocabularyInput, ) -> Result { diff --git a/sdk/transcribe/src/output.rs b/sdk/transcribe/src/output.rs index 710909c0907c..b73994b8fe83 100644 --- a/sdk/transcribe/src/output.rs +++ b/sdk/transcribe/src/output.rs @@ -292,6 +292,59 @@ impl UpdateMedicalVocabularyOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateCallAnalyticsCategoryOutput { + ///

                                                                                                The attributes describing the analytics category. You can see information such as the + /// rules that you've used to update the category and when the category was originally + /// created.

                                                                                                + pub category_properties: std::option::Option, +} +impl std::fmt::Debug for UpdateCallAnalyticsCategoryOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateCallAnalyticsCategoryOutput"); + formatter.field("category_properties", &self.category_properties); + formatter.finish() + } +} +/// See [`UpdateCallAnalyticsCategoryOutput`](crate::output::UpdateCallAnalyticsCategoryOutput) +pub mod update_call_analytics_category_output { + /// A builder for [`UpdateCallAnalyticsCategoryOutput`](crate::output::UpdateCallAnalyticsCategoryOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_properties: std::option::Option, + } + impl Builder { + ///

                                                                                                The attributes describing the analytics category. You can see information such as the + /// rules that you've used to update the category and when the category was originally + /// created.

                                                                                                + pub fn category_properties(mut self, input: crate::model::CategoryProperties) -> Self { + self.category_properties = Some(input); + self + } + pub fn set_category_properties( + mut self, + input: std::option::Option, + ) -> Self { + self.category_properties = input; + self + } + /// Consumes the builder and constructs a [`UpdateCallAnalyticsCategoryOutput`](crate::output::UpdateCallAnalyticsCategoryOutput) + pub fn build(self) -> crate::output::UpdateCallAnalyticsCategoryOutput { + crate::output::UpdateCallAnalyticsCategoryOutput { + category_properties: self.category_properties, + } + } + } +} +impl UpdateCallAnalyticsCategoryOutput { + /// Creates a new builder-style object to manufacture [`UpdateCallAnalyticsCategoryOutput`](crate::output::UpdateCallAnalyticsCategoryOutput) + pub fn builder() -> crate::output::update_call_analytics_category_output::Builder { + crate::output::update_call_analytics_category_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct StartTranscriptionJobOutput { @@ -394,6 +447,55 @@ impl StartMedicalTranscriptionJobOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct StartCallAnalyticsJobOutput { + ///

                                                                                                An object containing the details of the asynchronous call analytics job.

                                                                                                + pub call_analytics_job: std::option::Option, +} +impl std::fmt::Debug for StartCallAnalyticsJobOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("StartCallAnalyticsJobOutput"); + formatter.field("call_analytics_job", &self.call_analytics_job); + formatter.finish() + } +} +/// See [`StartCallAnalyticsJobOutput`](crate::output::StartCallAnalyticsJobOutput) +pub mod start_call_analytics_job_output { + /// A builder for [`StartCallAnalyticsJobOutput`](crate::output::StartCallAnalyticsJobOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) call_analytics_job: std::option::Option, + } + impl Builder { + ///

                                                                                                An object containing the details of the asynchronous call analytics job.

                                                                                                + pub fn call_analytics_job(mut self, input: crate::model::CallAnalyticsJob) -> Self { + self.call_analytics_job = Some(input); + self + } + pub fn set_call_analytics_job( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job = input; + self + } + /// Consumes the builder and constructs a [`StartCallAnalyticsJobOutput`](crate::output::StartCallAnalyticsJobOutput) + pub fn build(self) -> crate::output::StartCallAnalyticsJobOutput { + crate::output::StartCallAnalyticsJobOutput { + call_analytics_job: self.call_analytics_job, + } + } + } +} +impl StartCallAnalyticsJobOutput { + /// Creates a new builder-style object to manufacture [`StartCallAnalyticsJobOutput`](crate::output::StartCallAnalyticsJobOutput) + pub fn builder() -> crate::output::start_call_analytics_job_output::Builder { + crate::output::start_call_analytics_job_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListVocabularyFiltersOutput { @@ -925,6 +1027,177 @@ impl ListLanguageModelsOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListCallAnalyticsJobsOutput { + ///

                                                                                                When specified, returns only call analytics jobs with that status. Jobs are ordered + /// by creation date, with the most recent jobs returned first. If you don't specify a status, Amazon Transcribe + /// returns all transcription jobs ordered by creation date.

                                                                                                + pub status: std::option::Option, + ///

                                                                                                The operation returns a page of jobs at a time. The + /// maximum size of the page is set by the MaxResults parameter. If there are more + /// jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the + /// token in your next request to the operation to return next page of jobs.

                                                                                                + pub next_token: std::option::Option, + ///

                                                                                                A list of objects containing summary information for a transcription job.

                                                                                                + pub call_analytics_job_summaries: + std::option::Option>, +} +impl std::fmt::Debug for ListCallAnalyticsJobsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListCallAnalyticsJobsOutput"); + formatter.field("status", &self.status); + formatter.field("next_token", &self.next_token); + formatter.field( + "call_analytics_job_summaries", + &self.call_analytics_job_summaries, + ); + formatter.finish() + } +} +/// See [`ListCallAnalyticsJobsOutput`](crate::output::ListCallAnalyticsJobsOutput) +pub mod list_call_analytics_jobs_output { + /// A builder for [`ListCallAnalyticsJobsOutput`](crate::output::ListCallAnalyticsJobsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) status: std::option::Option, + pub(crate) next_token: std::option::Option, + pub(crate) call_analytics_job_summaries: + std::option::Option>, + } + impl Builder { + ///

                                                                                                When specified, returns only call analytics jobs with that status. Jobs are ordered + /// by creation date, with the most recent jobs returned first. If you don't specify a status, Amazon Transcribe + /// returns all transcription jobs ordered by creation date.

                                                                                                + pub fn status(mut self, input: crate::model::CallAnalyticsJobStatus) -> Self { + self.status = Some(input); + self + } + pub fn set_status( + mut self, + input: std::option::Option, + ) -> Self { + self.status = input; + self + } + ///

                                                                                                The operation returns a page of jobs at a time. The + /// maximum size of the page is set by the MaxResults parameter. If there are more + /// jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the + /// token in your next request to the operation to return next page of jobs.

                                                                                                + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn call_analytics_job_summaries( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.call_analytics_job_summaries.unwrap_or_default(); + v.push(input.into()); + self.call_analytics_job_summaries = Some(v); + self + } + pub fn set_call_analytics_job_summaries( + mut self, + input: std::option::Option>, + ) -> Self { + self.call_analytics_job_summaries = input; + self + } + /// Consumes the builder and constructs a [`ListCallAnalyticsJobsOutput`](crate::output::ListCallAnalyticsJobsOutput) + pub fn build(self) -> crate::output::ListCallAnalyticsJobsOutput { + crate::output::ListCallAnalyticsJobsOutput { + status: self.status, + next_token: self.next_token, + call_analytics_job_summaries: self.call_analytics_job_summaries, + } + } + } +} +impl ListCallAnalyticsJobsOutput { + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsJobsOutput`](crate::output::ListCallAnalyticsJobsOutput) + pub fn builder() -> crate::output::list_call_analytics_jobs_output::Builder { + crate::output::list_call_analytics_jobs_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListCallAnalyticsCategoriesOutput { + ///

                                                                                                The operation returns a page of jobs at a time. The + /// maximum size of the list is set by the MaxResults parameter. If there are + /// more categories in the list than the page size, Amazon Transcribe returns the NextPage + /// token. Include the token in the next request to the + /// operation to return the next page of analytics categories.

                                                                                                + pub next_token: std::option::Option, + ///

                                                                                                A list of objects containing information about analytics categories.

                                                                                                + pub categories: std::option::Option>, +} +impl std::fmt::Debug for ListCallAnalyticsCategoriesOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListCallAnalyticsCategoriesOutput"); + formatter.field("next_token", &self.next_token); + formatter.field("categories", &self.categories); + formatter.finish() + } +} +/// See [`ListCallAnalyticsCategoriesOutput`](crate::output::ListCallAnalyticsCategoriesOutput) +pub mod list_call_analytics_categories_output { + /// A builder for [`ListCallAnalyticsCategoriesOutput`](crate::output::ListCallAnalyticsCategoriesOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_token: std::option::Option, + pub(crate) categories: std::option::Option>, + } + impl Builder { + ///

                                                                                                The operation returns a page of jobs at a time. The + /// maximum size of the list is set by the MaxResults parameter. If there are + /// more categories in the list than the page size, Amazon Transcribe returns the NextPage + /// token. Include the token in the next request to the + /// operation to return the next page of analytics categories.

                                                                                                + pub fn next_token(mut self, input: impl Into) -> Self { + self.next_token = Some(input.into()); + self + } + pub fn set_next_token(mut self, input: std::option::Option) -> Self { + self.next_token = input; + self + } + pub fn categories(mut self, input: impl Into) -> Self { + let mut v = self.categories.unwrap_or_default(); + v.push(input.into()); + self.categories = Some(v); + self + } + pub fn set_categories( + mut self, + input: std::option::Option>, + ) -> Self { + self.categories = input; + self + } + /// Consumes the builder and constructs a [`ListCallAnalyticsCategoriesOutput`](crate::output::ListCallAnalyticsCategoriesOutput) + pub fn build(self) -> crate::output::ListCallAnalyticsCategoriesOutput { + crate::output::ListCallAnalyticsCategoriesOutput { + next_token: self.next_token, + categories: self.categories, + } + } + } +} +impl ListCallAnalyticsCategoriesOutput { + /// Creates a new builder-style object to manufacture [`ListCallAnalyticsCategoriesOutput`](crate::output::ListCallAnalyticsCategoriesOutput) + pub fn builder() -> crate::output::list_call_analytics_categories_output::Builder { + crate::output::list_call_analytics_categories_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetVocabularyFilterOutput { @@ -1408,6 +1681,104 @@ impl GetMedicalTranscriptionJobOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetCallAnalyticsJobOutput { + ///

                                                                                                An object that contains the results of your call analytics job.

                                                                                                + pub call_analytics_job: std::option::Option, +} +impl std::fmt::Debug for GetCallAnalyticsJobOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetCallAnalyticsJobOutput"); + formatter.field("call_analytics_job", &self.call_analytics_job); + formatter.finish() + } +} +/// See [`GetCallAnalyticsJobOutput`](crate::output::GetCallAnalyticsJobOutput) +pub mod get_call_analytics_job_output { + /// A builder for [`GetCallAnalyticsJobOutput`](crate::output::GetCallAnalyticsJobOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) call_analytics_job: std::option::Option, + } + impl Builder { + ///

                                                                                                An object that contains the results of your call analytics job.

                                                                                                + pub fn call_analytics_job(mut self, input: crate::model::CallAnalyticsJob) -> Self { + self.call_analytics_job = Some(input); + self + } + pub fn set_call_analytics_job( + mut self, + input: std::option::Option, + ) -> Self { + self.call_analytics_job = input; + self + } + /// Consumes the builder and constructs a [`GetCallAnalyticsJobOutput`](crate::output::GetCallAnalyticsJobOutput) + pub fn build(self) -> crate::output::GetCallAnalyticsJobOutput { + crate::output::GetCallAnalyticsJobOutput { + call_analytics_job: self.call_analytics_job, + } + } + } +} +impl GetCallAnalyticsJobOutput { + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsJobOutput`](crate::output::GetCallAnalyticsJobOutput) + pub fn builder() -> crate::output::get_call_analytics_job_output::Builder { + crate::output::get_call_analytics_job_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetCallAnalyticsCategoryOutput { + ///

                                                                                                The rules you've defined for a category.

                                                                                                + pub category_properties: std::option::Option, +} +impl std::fmt::Debug for GetCallAnalyticsCategoryOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetCallAnalyticsCategoryOutput"); + formatter.field("category_properties", &self.category_properties); + formatter.finish() + } +} +/// See [`GetCallAnalyticsCategoryOutput`](crate::output::GetCallAnalyticsCategoryOutput) +pub mod get_call_analytics_category_output { + /// A builder for [`GetCallAnalyticsCategoryOutput`](crate::output::GetCallAnalyticsCategoryOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_properties: std::option::Option, + } + impl Builder { + ///

                                                                                                The rules you've defined for a category.

                                                                                                + pub fn category_properties(mut self, input: crate::model::CategoryProperties) -> Self { + self.category_properties = Some(input); + self + } + pub fn set_category_properties( + mut self, + input: std::option::Option, + ) -> Self { + self.category_properties = input; + self + } + /// Consumes the builder and constructs a [`GetCallAnalyticsCategoryOutput`](crate::output::GetCallAnalyticsCategoryOutput) + pub fn build(self) -> crate::output::GetCallAnalyticsCategoryOutput { + crate::output::GetCallAnalyticsCategoryOutput { + category_properties: self.category_properties, + } + } + } +} +impl GetCallAnalyticsCategoryOutput { + /// Creates a new builder-style object to manufacture [`GetCallAnalyticsCategoryOutput`](crate::output::GetCallAnalyticsCategoryOutput) + pub fn builder() -> crate::output::get_call_analytics_category_output::Builder { + crate::output::get_call_analytics_category_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeLanguageModelOutput { @@ -1631,6 +2002,64 @@ impl DeleteLanguageModelOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCallAnalyticsJobOutput {} +impl std::fmt::Debug for DeleteCallAnalyticsJobOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCallAnalyticsJobOutput"); + formatter.finish() + } +} +/// See [`DeleteCallAnalyticsJobOutput`](crate::output::DeleteCallAnalyticsJobOutput) +pub mod delete_call_analytics_job_output { + /// A builder for [`DeleteCallAnalyticsJobOutput`](crate::output::DeleteCallAnalyticsJobOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteCallAnalyticsJobOutput`](crate::output::DeleteCallAnalyticsJobOutput) + pub fn build(self) -> crate::output::DeleteCallAnalyticsJobOutput { + crate::output::DeleteCallAnalyticsJobOutput {} + } + } +} +impl DeleteCallAnalyticsJobOutput { + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsJobOutput`](crate::output::DeleteCallAnalyticsJobOutput) + pub fn builder() -> crate::output::delete_call_analytics_job_output::Builder { + crate::output::delete_call_analytics_job_output::Builder::default() + } +} + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct DeleteCallAnalyticsCategoryOutput {} +impl std::fmt::Debug for DeleteCallAnalyticsCategoryOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("DeleteCallAnalyticsCategoryOutput"); + formatter.finish() + } +} +/// See [`DeleteCallAnalyticsCategoryOutput`](crate::output::DeleteCallAnalyticsCategoryOutput) +pub mod delete_call_analytics_category_output { + /// A builder for [`DeleteCallAnalyticsCategoryOutput`](crate::output::DeleteCallAnalyticsCategoryOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder {} + impl Builder { + /// Consumes the builder and constructs a [`DeleteCallAnalyticsCategoryOutput`](crate::output::DeleteCallAnalyticsCategoryOutput) + pub fn build(self) -> crate::output::DeleteCallAnalyticsCategoryOutput { + crate::output::DeleteCallAnalyticsCategoryOutput {} + } + } +} +impl DeleteCallAnalyticsCategoryOutput { + /// Creates a new builder-style object to manufacture [`DeleteCallAnalyticsCategoryOutput`](crate::output::DeleteCallAnalyticsCategoryOutput) + pub fn builder() -> crate::output::delete_call_analytics_category_output::Builder { + crate::output::delete_call_analytics_category_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateVocabularyFilterOutput { @@ -1840,7 +2269,7 @@ impl CreateVocabularyOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CreateMedicalVocabularyOutput { - ///

                                                                                                The name of the vocabulary. The name must be unique within an AWS account and is case + ///

                                                                                                The name of the vocabulary. The name must be unique within an Amazon Web Services account and is case /// sensitive.

                                                                                                pub vocabulary_name: std::option::Option, ///

                                                                                                The language code for the entries in your custom vocabulary. US English (en-US) is the @@ -1880,7 +2309,7 @@ pub mod create_medical_vocabulary_output { pub(crate) failure_reason: std::option::Option, } impl Builder { - ///

                                                                                                The name of the vocabulary. The name must be unique within an AWS account and is case + ///

                                                                                                The name of the vocabulary. The name must be unique within an Amazon Web Services account and is case /// sensitive.

                                                                                                pub fn vocabulary_name(mut self, input: impl Into) -> Self { self.vocabulary_name = Some(input.into()); @@ -2083,3 +2512,52 @@ impl CreateLanguageModelOutput { crate::output::create_language_model_output::Builder::default() } } + +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct CreateCallAnalyticsCategoryOutput { + ///

                                                                                                The rules and associated metadata used to create a category.

                                                                                                + pub category_properties: std::option::Option, +} +impl std::fmt::Debug for CreateCallAnalyticsCategoryOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("CreateCallAnalyticsCategoryOutput"); + formatter.field("category_properties", &self.category_properties); + formatter.finish() + } +} +/// See [`CreateCallAnalyticsCategoryOutput`](crate::output::CreateCallAnalyticsCategoryOutput) +pub mod create_call_analytics_category_output { + /// A builder for [`CreateCallAnalyticsCategoryOutput`](crate::output::CreateCallAnalyticsCategoryOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) category_properties: std::option::Option, + } + impl Builder { + ///

                                                                                                The rules and associated metadata used to create a category.

                                                                                                + pub fn category_properties(mut self, input: crate::model::CategoryProperties) -> Self { + self.category_properties = Some(input); + self + } + pub fn set_category_properties( + mut self, + input: std::option::Option, + ) -> Self { + self.category_properties = input; + self + } + /// Consumes the builder and constructs a [`CreateCallAnalyticsCategoryOutput`](crate::output::CreateCallAnalyticsCategoryOutput) + pub fn build(self) -> crate::output::CreateCallAnalyticsCategoryOutput { + crate::output::CreateCallAnalyticsCategoryOutput { + category_properties: self.category_properties, + } + } + } +} +impl CreateCallAnalyticsCategoryOutput { + /// Creates a new builder-style object to manufacture [`CreateCallAnalyticsCategoryOutput`](crate::output::CreateCallAnalyticsCategoryOutput) + pub fn builder() -> crate::output::create_call_analytics_category_output::Builder { + crate::output::create_call_analytics_category_output::Builder::default() + } +} diff --git a/sdk/transfer/Cargo.toml b/sdk/transfer/Cargo.toml index b1196245e50e..a71b980c4bf5 100644 --- a/sdk/transfer/Cargo.toml +++ b/sdk/transfer/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-transfer" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                                Amazon Web Services Transfer Family is a fully managed service that enables the transfer of files over the\n File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH)\n File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon\n S3). Amazon Web Services helps you seamlessly migrate your file transfer workflows to Amazon Web Services Transfer Family by\n integrating with existing authentication systems, and providing DNS routing with Amazon Route\n 53 so nothing changes for your customers and partners, or their applications. With your data\n in Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning,\n and archiving. Getting started with Amazon Web Services Transfer Family is easy since there is no\n infrastructure to buy and set up.

                                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/translate/Cargo.toml b/sdk/translate/Cargo.toml index 2360b393e29c..0940b04143f4 100644 --- a/sdk/translate/Cargo.toml +++ b/sdk/translate/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-translate" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                                Provides translation between one source language and another of the same set of\n languages.

                                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/waf/Cargo.toml b/sdk/waf/Cargo.toml index 4ce8288c9350..361efe3dc4be 100644 --- a/sdk/waf/Cargo.toml +++ b/sdk/waf/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-waf" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "\n

                                                                                                This is AWS WAF Classic documentation. For\n more information, see AWS\n WAF Classic in the developer guide.

                                                                                                \n

                                                                                                \n For the latest version of AWS\n WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

                                                                                                \n
                                                                                                \n\t

                                                                                                This is the AWS WAF Classic API Reference for using AWS WAF Classic with Amazon CloudFront. The AWS WAF Classic actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF Classic API actions, \n\t data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the \n\t AWS WAF Classic in the developer guide.

                                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/wafregional/Cargo.toml b/sdk/wafregional/Cargo.toml index df94808df3b2..ec2719a84307 100644 --- a/sdk/wafregional/Cargo.toml +++ b/sdk/wafregional/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-wafregional" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "\n

                                                                                                This is AWS WAF Classic Regional documentation. For\n more information, see AWS\n WAF Classic in the developer guide.

                                                                                                \n

                                                                                                \n For the latest version of AWS\n WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

                                                                                                \n
                                                                                                \n

                                                                                                This is the AWS WAF Regional Classic API Reference for using AWS WAF Classic with the AWS resources, Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. The AWS WAF Classic actions and data types listed in the reference are available for protecting Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the \n AWS\n WAF Classic in the developer guide.

                                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/wafv2/Cargo.toml b/sdk/wafv2/Cargo.toml index d67a2a6a557a..bfdecbe35ae8 100644 --- a/sdk/wafv2/Cargo.toml +++ b/sdk/wafv2/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-wafv2" -version = "0.0.15-alpha" -description = "WAF\n \n

                                                                                                This is the latest version of the WAF API, released in\n November, 2019. The names of the entities that you use to access this API, like\n endpoints and namespaces, all have the versioning information added, like \"V2\" or \"v2\",\n to distinguish from the prior version. We recommend migrating your resources to this\n version, because it has a number of significant improvements.

                                                                                                \n

                                                                                                If you used WAF prior to this release, you can't use this WAFV2 API to access\n any WAF resources that you created before. You can access your old rules, web ACLs,\n and other WAF resources only through the WAF Classic APIs. The WAF Classic\n APIs have retained the prior names, endpoints, and namespaces.

                                                                                                \n

                                                                                                For information, including how to migrate your WAF resources to this version, see the WAF\n Developer Guide.

                                                                                                \n
                                                                                                \n

                                                                                                WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests\n that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AppSync GraphQL API. WAF also lets you control access to your content. Based on conditions that\n you specify, such as the IP addresses that requests originate from or the values of query\n strings, the Amazon API Gateway REST API, CloudFront distribution, the Application Load Balancer, \n or the AppSync GraphQL API responds to requests\n either with the requested content or with an HTTP 403 status code (Forbidden). You also can\n configure CloudFront to return a custom error page when a request is blocked.

                                                                                                \n

                                                                                                This API guide is for developers who need detailed information about WAF API\n actions, data types, and errors. For detailed information about WAF features and an\n overview of how to use WAF, see the WAF Developer Guide.

                                                                                                \n

                                                                                                You can make calls using the endpoints listed in Amazon Web Services Service Endpoints for WAF.

                                                                                                \n
                                                                                                  \n
                                                                                                • \n

                                                                                                  For regional applications, you can use any of the endpoints in the list.\n A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  For Amazon CloudFront applications, you must use the API endpoint listed for\n US East (N. Virginia): us-east-1.

                                                                                                  \n
                                                                                                • \n
                                                                                                \n

                                                                                                Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the\n programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

                                                                                                \n

                                                                                                We currently provide two versions of the WAF API: this API and the prior versions,\n the classic WAF APIs. This new API provides the same functionality as the older\n versions, with the following major improvements:

                                                                                                \n
                                                                                                  \n
                                                                                                • \n

                                                                                                  You use one API for both global and regional applications. Where you need to\n distinguish the scope, you specify a Scope parameter and set it to\n CLOUDFRONT or REGIONAL.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  You can define a web ACL or rule group with a single call, and update it with a\n single call. You define all rule specifications in JSON format, and pass them to your\n rule group or web ACL calls.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  The limits WAF places on the use of rules more closely reflects the cost of\n running each type of rule. Rule groups include capacity settings, so you know the\n maximum cost of a rule group when you use it.

                                                                                                  \n
                                                                                                • \n
                                                                                                " +version = "0.0.16-alpha" +description = "WAF\n \n

                                                                                                This is the latest version of the WAF API,\n released in November, 2019. The names of the entities that you use to access this API,\n like endpoints and namespaces, all have the versioning information added, like \"V2\" or\n \"v2\", to distinguish from the prior version. We recommend migrating your resources to\n this version, because it has a number of significant improvements.

                                                                                                \n

                                                                                                If you used WAF prior to this release, you can't use this WAFV2 API to access any\n WAF resources that you created before. You can access your old rules, web ACLs, and\n other WAF resources only through the WAF Classic APIs. The WAF Classic APIs\n have retained the prior names, endpoints, and namespaces.

                                                                                                \n

                                                                                                For information, including how to migrate your WAF resources to this version,\n see the WAF Developer Guide.

                                                                                                \n
                                                                                                \n

                                                                                                WAF is a web application firewall that lets you monitor the HTTP and HTTPS\n requests that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AppSync\n GraphQL API. WAF also lets you control access to your content. Based on conditions that\n you specify, such as the IP addresses that requests originate from or the values of query\n strings, the Amazon API Gateway REST API, CloudFront distribution, the Application Load Balancer, or the AppSync GraphQL\n API responds to requests either with the requested content or with an HTTP 403 status code\n (Forbidden). You also can configure CloudFront to return a custom error page when a request is\n blocked.

                                                                                                \n

                                                                                                This API guide is for developers who need detailed information about WAF API actions,\n data types, and errors. For detailed information about WAF features and an overview of\n how to use WAF, see the WAF Developer\n Guide.

                                                                                                \n

                                                                                                You can make calls using the endpoints listed in WAF endpoints and quotas.

                                                                                                \n
                                                                                                  \n
                                                                                                • \n

                                                                                                  For regional applications, you can use any of the endpoints in the list.\n A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  For Amazon CloudFront applications, you must use the API endpoint listed for\n US East (N. Virginia): us-east-1.

                                                                                                  \n
                                                                                                • \n
                                                                                                \n

                                                                                                Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the\n programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

                                                                                                \n

                                                                                                We currently provide two versions of the WAF API: this API and the prior versions,\n the classic WAF APIs. This new API provides the same functionality as the older versions,\n with the following major improvements:

                                                                                                \n
                                                                                                  \n
                                                                                                • \n

                                                                                                  You use one API for both global and regional applications. Where you need to\n distinguish the scope, you specify a Scope parameter and set it to\n CLOUDFRONT or REGIONAL.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  You can define a web ACL or rule group with a single call, and update it with a\n single call. You define all rule specifications in JSON format, and pass them to your\n rule group or web ACL calls.

                                                                                                  \n
                                                                                                • \n
                                                                                                • \n

                                                                                                  The limits WAF places on the use of rules more closely reflects the cost of\n running each type of rule. Rule groups include capacity settings, so you know the\n maximum cost of a rule group when you use it.

                                                                                                  \n
                                                                                                • \n
                                                                                                " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/wafv2/src/client.rs b/sdk/wafv2/src/client.rs index 8f9b41cc7cb1..6d5cdf344e51 100644 --- a/sdk/wafv2/src/client.rs +++ b/sdk/wafv2/src/client.rs @@ -92,6 +92,9 @@ where pub fn get_logging_configuration(&self) -> fluent_builders::GetLoggingConfiguration { fluent_builders::GetLoggingConfiguration::new(self.handle.clone()) } + pub fn get_managed_rule_set(&self) -> fluent_builders::GetManagedRuleSet { + fluent_builders::GetManagedRuleSet::new(self.handle.clone()) + } pub fn get_permission_policy(&self) -> fluent_builders::GetPermissionPolicy { fluent_builders::GetPermissionPolicy::new(self.handle.clone()) } @@ -120,12 +123,20 @@ where ) -> fluent_builders::ListAvailableManagedRuleGroups { fluent_builders::ListAvailableManagedRuleGroups::new(self.handle.clone()) } + pub fn list_available_managed_rule_group_versions( + &self, + ) -> fluent_builders::ListAvailableManagedRuleGroupVersions { + fluent_builders::ListAvailableManagedRuleGroupVersions::new(self.handle.clone()) + } pub fn list_ip_sets(&self) -> fluent_builders::ListIPSets { fluent_builders::ListIPSets::new(self.handle.clone()) } pub fn list_logging_configurations(&self) -> fluent_builders::ListLoggingConfigurations { fluent_builders::ListLoggingConfigurations::new(self.handle.clone()) } + pub fn list_managed_rule_sets(&self) -> fluent_builders::ListManagedRuleSets { + fluent_builders::ListManagedRuleSets::new(self.handle.clone()) + } pub fn list_regex_pattern_sets(&self) -> fluent_builders::ListRegexPatternSets { fluent_builders::ListRegexPatternSets::new(self.handle.clone()) } @@ -144,6 +155,9 @@ where pub fn put_logging_configuration(&self) -> fluent_builders::PutLoggingConfiguration { fluent_builders::PutLoggingConfiguration::new(self.handle.clone()) } + pub fn put_managed_rule_set_versions(&self) -> fluent_builders::PutManagedRuleSetVersions { + fluent_builders::PutManagedRuleSetVersions::new(self.handle.clone()) + } pub fn put_permission_policy(&self) -> fluent_builders::PutPermissionPolicy { fluent_builders::PutPermissionPolicy::new(self.handle.clone()) } @@ -156,6 +170,11 @@ where pub fn update_ip_set(&self) -> fluent_builders::UpdateIPSet { fluent_builders::UpdateIPSet::new(self.handle.clone()) } + pub fn update_managed_rule_set_version_expiry_date( + &self, + ) -> fluent_builders::UpdateManagedRuleSetVersionExpiryDate { + fluent_builders::UpdateManagedRuleSetVersionExpiryDate::new(self.handle.clone()) + } pub fn update_regex_pattern_set(&self) -> fluent_builders::UpdateRegexPatternSet { fluent_builders::UpdateRegexPatternSet::new(self.handle.clone()) } @@ -198,7 +217,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                                The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

                                                                                                + ///

                                                                                                The Amazon Resource Name (ARN) of the web ACL that you want to associate with the + /// resource.

                                                                                                pub fn web_acl_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.web_acl_arn(input); self @@ -284,7 +304,8 @@ pub mod fluent_builders { self.inner = self.inner.set_scope(input); self } - ///

                                                                                                An array of Rule that you're configuring to use in a rule group or web ACL.

                                                                                                + ///

                                                                                                An array of Rule that you're configuring to use in a rule group or web + /// ACL.

                                                                                                pub fn rules(mut self, inp: impl Into) -> Self { self.inner = self.inner.rules(inp); self @@ -364,7 +385,7 @@ pub mod fluent_builders { self.inner = self.inner.set_description(input); self } - ///

                                                                                                Specify IPV4 or IPV6.

                                                                                                + ///

                                                                                                The version of the IP addresses, either IPV4 or IPV6.

                                                                                                pub fn ip_address_version(mut self, input: crate::model::IpAddressVersion) -> Self { self.inner = self.inner.ip_address_version(input); self @@ -393,8 +414,7 @@ pub mod fluent_builders { ///

                                                                                                To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

                                                                                                /// ///
                                                                                              - ///

                                                                                              For more information about CIDR notation, see the Wikipedia entry Classless - /// Inter-Domain Routing.

                                                                                              + ///

                                                                                              For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

                                                                                              pub fn addresses(mut self, inp: impl Into) -> Self { self.inner = self.inner.addresses(inp); self @@ -841,7 +861,7 @@ pub mod fluent_builders { self.inner = self.inner.set_web_acl_arn(input); self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn web_acl_lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.web_acl_lock_token(input); self @@ -921,7 +941,7 @@ pub mod fluent_builders { self.inner = self.inner.set_id(input); self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -1003,7 +1023,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                              The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the rule group from which you want to delete the + /// policy.

                                                                                              ///

                                                                                              You must be the owner of the rule group to perform this operation.

                                                                                              pub fn resource_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_arn(input); @@ -1081,7 +1102,7 @@ pub mod fluent_builders { self.inner = self.inner.set_id(input); self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -1158,7 +1179,7 @@ pub mod fluent_builders { self.inner = self.inner.set_id(input); self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -1235,7 +1256,7 @@ pub mod fluent_builders { self.inner = self.inner.set_id(input); self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -1312,6 +1333,17 @@ pub mod fluent_builders { self.inner = self.inner.set_scope(input); self } + ///

                                                                                              The version of the rule group. You can only use a version that is not + /// scheduled for expiration. If you don't provide this, WAF uses the vendor's default version. + ///

                                                                                              + pub fn version_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.version_name(input); + self + } + pub fn set_version_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_version_name(input); + self + } } #[derive(std::fmt::Debug)] pub struct DisassociateWebACL { @@ -1482,6 +1514,75 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct GetManagedRuleSet { + handle: std::sync::Arc>, + inner: crate::input::get_managed_rule_set_input::Builder, + } + impl GetManagedRuleSet { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::GetManagedRuleSetOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                              The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                              + ///

                                                                                              This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                              + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.inner = self.inner.scope(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_scope(input); + self + } + ///

                                                                                              A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                              + pub fn id(mut self, input: impl Into) -> Self { + self.inner = self.inner.id(input); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_id(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct GetPermissionPolicy { handle: std::sync::Arc>, inner: crate::input::get_permission_policy_input::Builder, @@ -1512,7 +1613,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                              The Amazon Resource Name (ARN) of the rule group for which you want to get the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the rule group for which you want to get the + /// policy.

                                                                                              pub fn resource_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_arn(input); self @@ -1775,7 +1877,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.

                                                                                              + ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of + /// requests.

                                                                                              pub fn web_acl_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.web_acl_arn(input); self @@ -1784,7 +1887,8 @@ pub mod fluent_builders { self.inner = self.inner.set_web_acl_arn(input); self } - ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.

                                                                                              + ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which + /// you want a sample of requests.

                                                                                              pub fn rule_metric_name(mut self, input: impl Into) -> Self { self.inner = self.inner.rule_metric_name(input); self @@ -1814,8 +1918,12 @@ pub mod fluent_builders { self.inner = self.inner.set_scope(input); self } - ///

                                                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - /// sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours. If you specify a start time that's earlier than three hours ago, WAF sets it to three hours ago.

                                                                                              + ///

                                                                                              The start date and time and the end date and time of the range for which you want + /// GetSampledRequests to return a sample of requests. You must specify the + /// times in Coordinated Universal Time (UTC) format. UTC format includes the special + /// designator, Z. For example, "2016-09-27T14:50Z". You can specify + /// any time range in the previous three hours. If you specify a start time that's earlier than + /// three hours ago, WAF sets it to three hours ago.

                                                                                              pub fn time_window(mut self, input: crate::model::TimeWindow) -> Self { self.inner = self.inner.time_window(input); self @@ -1827,8 +1935,9 @@ pub mod fluent_builders { self.inner = self.inner.set_time_window(input); self } - ///

                                                                                              The number of requests that you want WAF to return from among the first 5,000 requests that your Amazon Web Services resource received - /// during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests + ///

                                                                                              The number of requests that you want WAF to return from among the first 5,000 + /// requests that your Amazon Web Services resource received during the time range. If your resource received + /// fewer requests than the value of MaxItems, GetSampledRequests /// returns information about all of them.

                                                                                              pub fn max_items(mut self, input: i64) -> Self { self.inner = self.inner.max_items(input); @@ -2021,6 +2130,96 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct ListAvailableManagedRuleGroupVersions { + handle: std::sync::Arc>, + inner: crate::input::list_available_managed_rule_group_versions_input::Builder, + } + impl ListAvailableManagedRuleGroupVersions { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListAvailableManagedRuleGroupVersionsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                              The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

                                                                                              + pub fn vendor_name(mut self, input: impl Into) -> Self { + self.inner = self.inner.vendor_name(input); + self + } + pub fn set_vendor_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_vendor_name(input); + self + } + ///

                                                                                              The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                                              + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.inner = self.inner.scope(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_scope(input); + self + } + ///

                                                                                              When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                              + pub fn next_marker(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_marker(input); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_marker(input); + self + } + ///

                                                                                              The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                              + pub fn limit(mut self, input: i32) -> Self { + self.inner = self.inner.limit(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_limit(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct ListIPSets { handle: std::sync::Arc>, inner: crate::input::list_ip_sets_input::Builder, @@ -2165,6 +2364,78 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct ListManagedRuleSets { + handle: std::sync::Arc>, + inner: crate::input::list_managed_rule_sets_input::Builder, + } + impl ListManagedRuleSets { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::ListManagedRuleSetsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.inner = self.inner.scope(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_scope(input); + self + } + ///

                                                                                              When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                              + pub fn next_marker(mut self, input: impl Into) -> Self { + self.inner = self.inner.next_marker(input); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_next_marker(input); + self + } + ///

                                                                                              The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                              + pub fn limit(mut self, input: i32) -> Self { + self.inner = self.inner.limit(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_limit(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct ListRegexPatternSets { handle: std::sync::Arc>, inner: crate::input::list_regex_pattern_sets_input::Builder, @@ -2276,7 +2547,8 @@ pub mod fluent_builders { self.inner = self.inner.set_web_acl_arn(input); self } - ///

                                                                                              Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              Used for web ACLs that are scoped for regional applications. + /// A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              pub fn resource_type(mut self, input: crate::model::ResourceType) -> Self { self.inner = self.inner.resource_type(input); self @@ -2541,6 +2813,116 @@ pub mod fluent_builders { } } #[derive(std::fmt::Debug)] + pub struct PutManagedRuleSetVersions { + handle: std::sync::Arc>, + inner: crate::input::put_managed_rule_set_versions_input::Builder, + } + impl PutManagedRuleSetVersions { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::PutManagedRuleSetVersionsOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                              The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                              + ///

                                                                                              This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                              + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.inner = self.inner.scope(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_scope(input); + self + } + ///

                                                                                              A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                              + pub fn id(mut self, input: impl Into) -> Self { + self.inner = self.inner.id(input); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_id(input); + self + } + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + pub fn lock_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.lock_token(input); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_lock_token(input); + self + } + ///

                                                                                              The version of the named managed rule group that you'd like your customers to choose, + /// from among your version offerings.

                                                                                              + pub fn recommended_version(mut self, input: impl Into) -> Self { + self.inner = self.inner.recommended_version(input); + self + } + pub fn set_recommended_version( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_recommended_version(input); + self + } + ///

                                                                                              The versions of the named managed rule group that you want to offer to your customers. + ///

                                                                                              + pub fn versions_to_publish( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + self.inner = self.inner.versions_to_publish(k, v); + self + } + pub fn set_versions_to_publish( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.inner = self.inner.set_versions_to_publish(input); + self + } + } + #[derive(std::fmt::Debug)] pub struct PutPermissionPolicy { handle: std::sync::Arc>, inner: crate::input::put_permission_policy_input::Builder, @@ -2571,7 +2953,8 @@ pub mod fluent_builders { .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; self.handle.client.call(op).await } - ///

                                                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to + /// attach the policy.

                                                                                              pub fn resource_arn(mut self, input: impl Into) -> Self { self.inner = self.inner.resource_arn(input); self @@ -2810,8 +3193,7 @@ pub mod fluent_builders { ///

                                                                                              To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

                                                                                              /// ///
                                                                                            - ///

                                                                                            For more information about CIDR notation, see the Wikipedia entry Classless - /// Inter-Domain Routing.

                                                                                            + ///

                                                                                            For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

                                                                                            pub fn addresses(mut self, inp: impl Into) -> Self { self.inner = self.inner.addresses(inp); self @@ -2823,7 +3205,85 @@ pub mod fluent_builders { self.inner = self.inner.set_addresses(input); self } - ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + pub fn lock_token(mut self, input: impl Into) -> Self { + self.inner = self.inner.lock_token(input); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_lock_token(input); + self + } + } + #[derive(std::fmt::Debug)] + pub struct UpdateManagedRuleSetVersionExpiryDate { + handle: std::sync::Arc>, + inner: crate::input::update_managed_rule_set_version_expiry_date_input::Builder, + } + impl UpdateManagedRuleSetVersionExpiryDate { + pub(crate) fn new(handle: std::sync::Arc>) -> Self { + Self { + handle, + inner: Default::default(), + } + } + + pub async fn send( + self, + ) -> std::result::Result< + crate::output::UpdateManagedRuleSetVersionExpiryDateOutput, + smithy_http::result::SdkError, + > + where + C: aws_hyper::SmithyConnector, + { + let input = self + .inner + .build() + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + let op = input + .make_operation(&self.handle.conf) + .map_err(|err| smithy_http::result::SdkError::ConstructionFailure(err.into()))?; + self.handle.client.call(op).await + } + ///

                                                                                            The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                            + ///

                                                                                            This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                            + pub fn name(mut self, input: impl Into) -> Self { + self.inner = self.inner.name(input); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_name(input); + self + } + ///

                                                                                            Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                            + ///

                                                                                            To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                            + ///
                                                                                              + ///
                                                                                            • + ///

                                                                                              CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                              + ///
                                                                                            • + ///
                                                                                            • + ///

                                                                                              API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                              + ///
                                                                                            • + ///
                                                                                            + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.inner = self.inner.scope(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_scope(input); + self + } + ///

                                                                                            A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                            + pub fn id(mut self, input: impl Into) -> Self { + self.inner = self.inner.id(input); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.inner = self.inner.set_id(input); + self + } + ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -2832,6 +3292,32 @@ pub mod fluent_builders { self.inner = self.inner.set_lock_token(input); self } + ///

                                                                                            The version that you want to remove from your list of offerings for the named managed + /// rule group.

                                                                                            + pub fn version_to_expire(mut self, input: impl Into) -> Self { + self.inner = self.inner.version_to_expire(input); + self + } + pub fn set_version_to_expire( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_version_to_expire(input); + self + } + ///

                                                                                            The time that you want the version to expire.

                                                                                            + ///

                                                                                            Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

                                                                                            + pub fn expiry_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.inner = self.inner.expiry_timestamp(input); + self + } + pub fn set_expiry_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.inner = self.inner.set_expiry_timestamp(input); + self + } } #[derive(std::fmt::Debug)] pub struct UpdateRegexPatternSet { @@ -2921,7 +3407,7 @@ pub mod fluent_builders { self.inner = self.inner.set_regular_expression_list(input); self } - ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -3034,7 +3520,7 @@ pub mod fluent_builders { self.inner = self.inner.set_visibility_config(input); self } - ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self @@ -3181,7 +3667,7 @@ pub mod fluent_builders { self.inner = self.inner.set_visibility_config(input); self } - ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            + ///

                                                                                            A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                            pub fn lock_token(mut self, input: impl Into) -> Self { self.inner = self.inner.lock_token(input); self diff --git a/sdk/wafv2/src/error.rs b/sdk/wafv2/src/error.rs index c3d3a3288da3..e3183111caf9 100644 --- a/sdk/wafv2/src/error.rs +++ b/sdk/wafv2/src/error.rs @@ -125,6 +125,9 @@ pub struct CheckCapacityError { #[non_exhaustive] #[derive(std::fmt::Debug)] pub enum CheckCapacityErrorKind { + WafExpiredManagedRuleGroupVersionException( + crate::error::WafExpiredManagedRuleGroupVersionException, + ), WafInternalErrorException(crate::error::WafInternalErrorException), WafInvalidParameterException(crate::error::WafInvalidParameterException), WafInvalidResourceException(crate::error::WafInvalidResourceException), @@ -138,6 +141,9 @@ pub enum CheckCapacityErrorKind { impl std::fmt::Display for CheckCapacityError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self.kind { + CheckCapacityErrorKind::WafExpiredManagedRuleGroupVersionException(_inner) => { + _inner.fmt(f) + } CheckCapacityErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), CheckCapacityErrorKind::WafInvalidParameterException(_inner) => _inner.fmt(f), CheckCapacityErrorKind::WafInvalidResourceException(_inner) => _inner.fmt(f), @@ -193,6 +199,12 @@ impl CheckCapacityError { pub fn code(&self) -> Option<&str> { self.meta.code() } + pub fn is_waf_expired_managed_rule_group_version_exception(&self) -> bool { + matches!( + &self.kind, + CheckCapacityErrorKind::WafExpiredManagedRuleGroupVersionException(_) + ) + } pub fn is_waf_internal_error_exception(&self) -> bool { matches!( &self.kind, @@ -239,6 +251,9 @@ impl CheckCapacityError { impl std::error::Error for CheckCapacityError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { + CheckCapacityErrorKind::WafExpiredManagedRuleGroupVersionException(_inner) => { + Some(_inner) + } CheckCapacityErrorKind::WafInternalErrorException(_inner) => Some(_inner), CheckCapacityErrorKind::WafInvalidParameterException(_inner) => Some(_inner), CheckCapacityErrorKind::WafInvalidResourceException(_inner) => Some(_inner), @@ -1854,6 +1869,9 @@ pub struct DescribeManagedRuleGroupError { #[non_exhaustive] #[derive(std::fmt::Debug)] pub enum DescribeManagedRuleGroupErrorKind { + WafExpiredManagedRuleGroupVersionException( + crate::error::WafExpiredManagedRuleGroupVersionException, + ), WafInternalErrorException(crate::error::WafInternalErrorException), WafInvalidOperationException(crate::error::WafInvalidOperationException), WafInvalidParameterException(crate::error::WafInvalidParameterException), @@ -1865,6 +1883,9 @@ pub enum DescribeManagedRuleGroupErrorKind { impl std::fmt::Display for DescribeManagedRuleGroupError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self.kind { + DescribeManagedRuleGroupErrorKind::WafExpiredManagedRuleGroupVersionException( + _inner, + ) => _inner.fmt(f), DescribeManagedRuleGroupErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), DescribeManagedRuleGroupErrorKind::WafInvalidOperationException(_inner) => { _inner.fmt(f) @@ -1922,6 +1943,12 @@ impl DescribeManagedRuleGroupError { pub fn code(&self) -> Option<&str> { self.meta.code() } + pub fn is_waf_expired_managed_rule_group_version_exception(&self) -> bool { + matches!( + &self.kind, + DescribeManagedRuleGroupErrorKind::WafExpiredManagedRuleGroupVersionException(_) + ) + } pub fn is_waf_internal_error_exception(&self) -> bool { matches!( &self.kind, @@ -1956,6 +1983,9 @@ impl DescribeManagedRuleGroupError { impl std::error::Error for DescribeManagedRuleGroupError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { + DescribeManagedRuleGroupErrorKind::WafExpiredManagedRuleGroupVersionException( + _inner, + ) => Some(_inner), DescribeManagedRuleGroupErrorKind::WafInternalErrorException(_inner) => Some(_inner), DescribeManagedRuleGroupErrorKind::WafInvalidOperationException(_inner) => Some(_inner), DescribeManagedRuleGroupErrorKind::WafInvalidParameterException(_inner) => Some(_inner), @@ -2287,6 +2317,114 @@ impl std::error::Error for GetLoggingConfigurationError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct GetManagedRuleSetError { + pub kind: GetManagedRuleSetErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum GetManagedRuleSetErrorKind { + WafInternalErrorException(crate::error::WafInternalErrorException), + WafInvalidOperationException(crate::error::WafInvalidOperationException), + WafInvalidParameterException(crate::error::WafInvalidParameterException), + WafNonexistentItemException(crate::error::WafNonexistentItemException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for GetManagedRuleSetError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + GetManagedRuleSetErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), + GetManagedRuleSetErrorKind::WafInvalidOperationException(_inner) => _inner.fmt(f), + GetManagedRuleSetErrorKind::WafInvalidParameterException(_inner) => _inner.fmt(f), + GetManagedRuleSetErrorKind::WafNonexistentItemException(_inner) => _inner.fmt(f), + GetManagedRuleSetErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for GetManagedRuleSetError { + fn code(&self) -> Option<&str> { + GetManagedRuleSetError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl GetManagedRuleSetError { + pub fn new(kind: GetManagedRuleSetErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: GetManagedRuleSetErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: GetManagedRuleSetErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_waf_internal_error_exception(&self) -> bool { + matches!( + &self.kind, + GetManagedRuleSetErrorKind::WafInternalErrorException(_) + ) + } + pub fn is_waf_invalid_operation_exception(&self) -> bool { + matches!( + &self.kind, + GetManagedRuleSetErrorKind::WafInvalidOperationException(_) + ) + } + pub fn is_waf_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + GetManagedRuleSetErrorKind::WafInvalidParameterException(_) + ) + } + pub fn is_waf_nonexistent_item_exception(&self) -> bool { + matches!( + &self.kind, + GetManagedRuleSetErrorKind::WafNonexistentItemException(_) + ) + } +} +impl std::error::Error for GetManagedRuleSetError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + GetManagedRuleSetErrorKind::WafInternalErrorException(_inner) => Some(_inner), + GetManagedRuleSetErrorKind::WafInvalidOperationException(_inner) => Some(_inner), + GetManagedRuleSetErrorKind::WafInvalidParameterException(_inner) => Some(_inner), + GetManagedRuleSetErrorKind::WafNonexistentItemException(_inner) => Some(_inner), + GetManagedRuleSetErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct GetPermissionPolicyError { @@ -3158,6 +3296,122 @@ impl std::error::Error for ListAvailableManagedRuleGroupsError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListAvailableManagedRuleGroupVersionsError { + pub kind: ListAvailableManagedRuleGroupVersionsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListAvailableManagedRuleGroupVersionsErrorKind { + WafInternalErrorException(crate::error::WafInternalErrorException), + WafInvalidOperationException(crate::error::WafInvalidOperationException), + WafInvalidParameterException(crate::error::WafInvalidParameterException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListAvailableManagedRuleGroupVersionsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListAvailableManagedRuleGroupVersionsErrorKind::WafInternalErrorException(_inner) => { + _inner.fmt(f) + } + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidOperationException( + _inner, + ) => _inner.fmt(f), + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidParameterException( + _inner, + ) => _inner.fmt(f), + ListAvailableManagedRuleGroupVersionsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListAvailableManagedRuleGroupVersionsError { + fn code(&self) -> Option<&str> { + ListAvailableManagedRuleGroupVersionsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListAvailableManagedRuleGroupVersionsError { + pub fn new( + kind: ListAvailableManagedRuleGroupVersionsErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListAvailableManagedRuleGroupVersionsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListAvailableManagedRuleGroupVersionsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_waf_internal_error_exception(&self) -> bool { + matches!( + &self.kind, + ListAvailableManagedRuleGroupVersionsErrorKind::WafInternalErrorException(_) + ) + } + pub fn is_waf_invalid_operation_exception(&self) -> bool { + matches!( + &self.kind, + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidOperationException(_) + ) + } + pub fn is_waf_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidParameterException(_) + ) + } +} +impl std::error::Error for ListAvailableManagedRuleGroupVersionsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListAvailableManagedRuleGroupVersionsErrorKind::WafInternalErrorException(_inner) => { + Some(_inner) + } + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidOperationException( + _inner, + ) => Some(_inner), + ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidParameterException( + _inner, + ) => Some(_inner), + ListAvailableManagedRuleGroupVersionsErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct ListIPSetsError { @@ -3364,6 +3618,105 @@ impl std::error::Error for ListLoggingConfigurationsError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct ListManagedRuleSetsError { + pub kind: ListManagedRuleSetsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum ListManagedRuleSetsErrorKind { + WafInternalErrorException(crate::error::WafInternalErrorException), + WafInvalidOperationException(crate::error::WafInvalidOperationException), + WafInvalidParameterException(crate::error::WafInvalidParameterException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for ListManagedRuleSetsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + ListManagedRuleSetsErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), + ListManagedRuleSetsErrorKind::WafInvalidOperationException(_inner) => _inner.fmt(f), + ListManagedRuleSetsErrorKind::WafInvalidParameterException(_inner) => _inner.fmt(f), + ListManagedRuleSetsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for ListManagedRuleSetsError { + fn code(&self) -> Option<&str> { + ListManagedRuleSetsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl ListManagedRuleSetsError { + pub fn new(kind: ListManagedRuleSetsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: ListManagedRuleSetsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: ListManagedRuleSetsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_waf_internal_error_exception(&self) -> bool { + matches!( + &self.kind, + ListManagedRuleSetsErrorKind::WafInternalErrorException(_) + ) + } + pub fn is_waf_invalid_operation_exception(&self) -> bool { + matches!( + &self.kind, + ListManagedRuleSetsErrorKind::WafInvalidOperationException(_) + ) + } + pub fn is_waf_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + ListManagedRuleSetsErrorKind::WafInvalidParameterException(_) + ) + } +} +impl std::error::Error for ListManagedRuleSetsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + ListManagedRuleSetsErrorKind::WafInternalErrorException(_inner) => Some(_inner), + ListManagedRuleSetsErrorKind::WafInvalidOperationException(_inner) => Some(_inner), + ListManagedRuleSetsErrorKind::WafInvalidParameterException(_inner) => Some(_inner), + ListManagedRuleSetsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct ListRegexPatternSetsError { @@ -4040,8 +4393,135 @@ impl std::error::Error for PutLoggingConfigurationError { #[non_exhaustive] #[derive(std::fmt::Debug)] -pub struct PutPermissionPolicyError { - pub kind: PutPermissionPolicyErrorKind, +pub struct PutManagedRuleSetVersionsError { + pub kind: PutManagedRuleSetVersionsErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum PutManagedRuleSetVersionsErrorKind { + WafInternalErrorException(crate::error::WafInternalErrorException), + WafInvalidOperationException(crate::error::WafInvalidOperationException), + WafInvalidParameterException(crate::error::WafInvalidParameterException), + WafNonexistentItemException(crate::error::WafNonexistentItemException), + WafOptimisticLockException(crate::error::WafOptimisticLockException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for PutManagedRuleSetVersionsError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + PutManagedRuleSetVersionsErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), + PutManagedRuleSetVersionsErrorKind::WafInvalidOperationException(_inner) => { + _inner.fmt(f) + } + PutManagedRuleSetVersionsErrorKind::WafInvalidParameterException(_inner) => { + _inner.fmt(f) + } + PutManagedRuleSetVersionsErrorKind::WafNonexistentItemException(_inner) => { + _inner.fmt(f) + } + PutManagedRuleSetVersionsErrorKind::WafOptimisticLockException(_inner) => _inner.fmt(f), + PutManagedRuleSetVersionsErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for PutManagedRuleSetVersionsError { + fn code(&self) -> Option<&str> { + PutManagedRuleSetVersionsError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl PutManagedRuleSetVersionsError { + pub fn new(kind: PutManagedRuleSetVersionsErrorKind, meta: smithy_types::Error) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: PutManagedRuleSetVersionsErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: PutManagedRuleSetVersionsErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_waf_internal_error_exception(&self) -> bool { + matches!( + &self.kind, + PutManagedRuleSetVersionsErrorKind::WafInternalErrorException(_) + ) + } + pub fn is_waf_invalid_operation_exception(&self) -> bool { + matches!( + &self.kind, + PutManagedRuleSetVersionsErrorKind::WafInvalidOperationException(_) + ) + } + pub fn is_waf_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + PutManagedRuleSetVersionsErrorKind::WafInvalidParameterException(_) + ) + } + pub fn is_waf_nonexistent_item_exception(&self) -> bool { + matches!( + &self.kind, + PutManagedRuleSetVersionsErrorKind::WafNonexistentItemException(_) + ) + } + pub fn is_waf_optimistic_lock_exception(&self) -> bool { + matches!( + &self.kind, + PutManagedRuleSetVersionsErrorKind::WafOptimisticLockException(_) + ) + } +} +impl std::error::Error for PutManagedRuleSetVersionsError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + PutManagedRuleSetVersionsErrorKind::WafInternalErrorException(_inner) => Some(_inner), + PutManagedRuleSetVersionsErrorKind::WafInvalidOperationException(_inner) => { + Some(_inner) + } + PutManagedRuleSetVersionsErrorKind::WafInvalidParameterException(_inner) => { + Some(_inner) + } + PutManagedRuleSetVersionsErrorKind::WafNonexistentItemException(_inner) => Some(_inner), + PutManagedRuleSetVersionsErrorKind::WafOptimisticLockException(_inner) => Some(_inner), + PutManagedRuleSetVersionsErrorKind::Unhandled(_inner) => Some(_inner.as_ref()), + } + } +} + +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct PutPermissionPolicyError { + pub kind: PutPermissionPolicyErrorKind, pub(crate) meta: smithy_types::Error, } #[non_exhaustive] @@ -4546,6 +5026,148 @@ impl std::error::Error for UpdateIPSetError { } } +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub struct UpdateManagedRuleSetVersionExpiryDateError { + pub kind: UpdateManagedRuleSetVersionExpiryDateErrorKind, + pub(crate) meta: smithy_types::Error, +} +#[non_exhaustive] +#[derive(std::fmt::Debug)] +pub enum UpdateManagedRuleSetVersionExpiryDateErrorKind { + WafInternalErrorException(crate::error::WafInternalErrorException), + WafInvalidOperationException(crate::error::WafInvalidOperationException), + WafInvalidParameterException(crate::error::WafInvalidParameterException), + WafNonexistentItemException(crate::error::WafNonexistentItemException), + WafOptimisticLockException(crate::error::WafOptimisticLockException), + /// An unexpected error, eg. invalid JSON returned by the service or an unknown error code + Unhandled(Box), +} +impl std::fmt::Display for UpdateManagedRuleSetVersionExpiryDateError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.kind { + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInternalErrorException(_inner) => { + _inner.fmt(f) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidOperationException( + _inner, + ) => _inner.fmt(f), + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidParameterException( + _inner, + ) => _inner.fmt(f), + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafNonexistentItemException(_inner) => { + _inner.fmt(f) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafOptimisticLockException(_inner) => { + _inner.fmt(f) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::Unhandled(_inner) => _inner.fmt(f), + } + } +} +impl smithy_types::retry::ProvideErrorKind for UpdateManagedRuleSetVersionExpiryDateError { + fn code(&self) -> Option<&str> { + UpdateManagedRuleSetVersionExpiryDateError::code(self) + } + fn retryable_error_kind(&self) -> Option { + None + } +} +impl UpdateManagedRuleSetVersionExpiryDateError { + pub fn new( + kind: UpdateManagedRuleSetVersionExpiryDateErrorKind, + meta: smithy_types::Error, + ) -> Self { + Self { kind, meta } + } + + pub fn unhandled(err: impl Into>) -> Self { + Self { + kind: UpdateManagedRuleSetVersionExpiryDateErrorKind::Unhandled(err.into()), + meta: Default::default(), + } + } + + pub fn generic(err: smithy_types::Error) -> Self { + Self { + meta: err.clone(), + kind: UpdateManagedRuleSetVersionExpiryDateErrorKind::Unhandled(err.into()), + } + } + + // Consider if this should actually be `Option>`. This would enable us to use display as implemented + // by std::Error to generate a message in that case. + pub fn message(&self) -> Option<&str> { + self.meta.message() + } + + pub fn meta(&self) -> &smithy_types::Error { + &self.meta + } + + pub fn request_id(&self) -> Option<&str> { + self.meta.request_id() + } + + pub fn code(&self) -> Option<&str> { + self.meta.code() + } + pub fn is_waf_internal_error_exception(&self) -> bool { + matches!( + &self.kind, + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInternalErrorException(_) + ) + } + pub fn is_waf_invalid_operation_exception(&self) -> bool { + matches!( + &self.kind, + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidOperationException(_) + ) + } + pub fn is_waf_invalid_parameter_exception(&self) -> bool { + matches!( + &self.kind, + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidParameterException(_) + ) + } + pub fn is_waf_nonexistent_item_exception(&self) -> bool { + matches!( + &self.kind, + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafNonexistentItemException(_) + ) + } + pub fn is_waf_optimistic_lock_exception(&self) -> bool { + matches!( + &self.kind, + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafOptimisticLockException(_) + ) + } +} +impl std::error::Error for UpdateManagedRuleSetVersionExpiryDateError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match &self.kind { + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInternalErrorException(_inner) => { + Some(_inner) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidOperationException( + _inner, + ) => Some(_inner), + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidParameterException( + _inner, + ) => Some(_inner), + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafNonexistentItemException(_inner) => { + Some(_inner) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::WafOptimisticLockException(_inner) => { + Some(_inner) + } + UpdateManagedRuleSetVersionExpiryDateErrorKind::Unhandled(_inner) => { + Some(_inner.as_ref()) + } + } + } +} + #[non_exhaustive] #[derive(std::fmt::Debug)] pub struct UpdateRegexPatternSetError { @@ -4844,6 +5466,9 @@ pub struct UpdateWebACLError { #[derive(std::fmt::Debug)] pub enum UpdateWebACLErrorKind { WafDuplicateItemException(crate::error::WafDuplicateItemException), + WafExpiredManagedRuleGroupVersionException( + crate::error::WafExpiredManagedRuleGroupVersionException, + ), WafInternalErrorException(crate::error::WafInternalErrorException), WafInvalidOperationException(crate::error::WafInvalidOperationException), WafInvalidParameterException(crate::error::WafInvalidParameterException), @@ -4860,6 +5485,9 @@ impl std::fmt::Display for UpdateWebACLError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match &self.kind { UpdateWebACLErrorKind::WafDuplicateItemException(_inner) => _inner.fmt(f), + UpdateWebACLErrorKind::WafExpiredManagedRuleGroupVersionException(_inner) => { + _inner.fmt(f) + } UpdateWebACLErrorKind::WafInternalErrorException(_inner) => _inner.fmt(f), UpdateWebACLErrorKind::WafInvalidOperationException(_inner) => _inner.fmt(f), UpdateWebACLErrorKind::WafInvalidParameterException(_inner) => _inner.fmt(f), @@ -4923,6 +5551,12 @@ impl UpdateWebACLError { UpdateWebACLErrorKind::WafDuplicateItemException(_) ) } + pub fn is_waf_expired_managed_rule_group_version_exception(&self) -> bool { + matches!( + &self.kind, + UpdateWebACLErrorKind::WafExpiredManagedRuleGroupVersionException(_) + ) + } pub fn is_waf_internal_error_exception(&self) -> bool { matches!( &self.kind, @@ -4982,6 +5616,9 @@ impl std::error::Error for UpdateWebACLError { fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { match &self.kind { UpdateWebACLErrorKind::WafDuplicateItemException(_inner) => Some(_inner), + UpdateWebACLErrorKind::WafExpiredManagedRuleGroupVersionException(_inner) => { + Some(_inner) + } UpdateWebACLErrorKind::WafInternalErrorException(_inner) => Some(_inner), UpdateWebACLErrorKind::WafInvalidOperationException(_inner) => Some(_inner), UpdateWebACLErrorKind::WafInvalidParameterException(_inner) => Some(_inner), @@ -5059,7 +5696,8 @@ impl WafUnavailableEntityException { } } -///

                                                                                            You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

                                                                                            +///

                                                                                            You tried to use a managed rule group that's available by subscription, but you aren't +/// subscribed to it yet.

                                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafSubscriptionNotFoundException { @@ -5122,7 +5760,9 @@ impl WafSubscriptionNotFoundException { } } -///

                                                                                            WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

                                                                                            +///

                                                                                            WAF couldn’t save your changes because you tried to update or delete a resource +/// that has changed since you last retrieved it. Get the resource again, make any changes you +/// need to make to the new copy, and retry your operation.

                                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafOptimisticLockException { @@ -5245,9 +5885,10 @@ impl WafNonexistentItemException { } } -///

                                                                                            WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create -/// for an account. For more information, see -/// Limits in the WAF Developer Guide.

                                                                                            +///

                                                                                            WAF couldn’t perform the operation because you exceeded your resource limit. For +/// example, the maximum number of WebACL objects that you can create for an Amazon Web Services +/// account. For more information, see WAF quotas in the +/// WAF Developer Guide.

                                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafLimitsExceededException { @@ -5307,7 +5948,8 @@ impl WafLimitsExceededException { } } -///

                                                                                            WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

                                                                                            +///

                                                                                            WAF couldn’t perform the operation because the resource that you requested isn’t +/// valid. Check the resource, and try again.

                                                                                            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafInvalidResourceException { @@ -5370,7 +6012,8 @@ impl WafInvalidResourceException { } } -///

                                                                                            The operation failed because WAF didn't recognize a parameter in the request. For example:

                                                                                            +///

                                                                                            The operation failed because WAF didn't recognize a parameter in the request. For +/// example:

                                                                                            ///
                                                                                              ///
                                                                                            • ///

                                                                                              You specified @@ -5378,11 +6021,12 @@ impl WafInvalidResourceException { /// parameter name or value that isn't valid.

                                                                                              ///
                                                                                            • ///
                                                                                            • -///

                                                                                              Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

                                                                                              +///

                                                                                              Your nested statement isn't valid. You might have tried to nest a statement that +/// can’t be nested.

                                                                                              ///
                                                                                            • ///
                                                                                            • -///

                                                                                              You tried to update a WebACL with a DefaultAction that isn't among the types -/// available at DefaultAction.

                                                                                              +///

                                                                                              You tried to update a WebACL with a DefaultAction that +/// isn't among the types available at DefaultAction.

                                                                                              ///
                                                                                            • ///
                                                                                            • ///

                                                                                              Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

                                                                                              @@ -5392,8 +6036,11 @@ impl WafInvalidResourceException { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafInvalidParameterException { pub message: std::option::Option, + ///

                                                                                              The settings where the invalid parameter was found.

                                                                                              pub field: std::option::Option, + ///

                                                                                              The invalid parameter that resulted in the exception.

                                                                                              pub parameter: std::option::Option, + ///

                                                                                              Additional information about the exception.

                                                                                              pub reason: std::option::Option, } impl std::fmt::Debug for WafInvalidParameterException { @@ -5444,6 +6091,7 @@ pub mod waf_invalid_parameter_exception { self.message = input; self } + ///

                                                                                              The settings where the invalid parameter was found.

                                                                                              pub fn field(mut self, input: crate::model::ParameterExceptionField) -> Self { self.field = Some(input); self @@ -5455,6 +6103,7 @@ pub mod waf_invalid_parameter_exception { self.field = input; self } + ///

                                                                                              The invalid parameter that resulted in the exception.

                                                                                              pub fn parameter(mut self, input: impl Into) -> Self { self.parameter = Some(input.into()); self @@ -5463,6 +6112,7 @@ pub mod waf_invalid_parameter_exception { self.parameter = input; self } + ///

                                                                                              Additional information about the exception.

                                                                                              pub fn reason(mut self, input: impl Into) -> Self { self.reason = Some(input.into()); self @@ -5552,7 +6202,8 @@ impl WafInvalidOperationException { } } -///

                                                                                              Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

                                                                                              +///

                                                                                              Your request is valid, but WAF couldn’t perform the operation because of a system +/// problem. Retry your request.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafInternalErrorException { @@ -5612,7 +6263,70 @@ impl WafInternalErrorException { } } -///

                                                                                              WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

                                                                                              +///

                                                                                              The operation failed because the specified version for the managed rule group has +/// expired. You can retrieve the available versions for the managed rule group by calling +/// ListAvailableManagedRuleGroupVersions.

                                                                                              +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct WafExpiredManagedRuleGroupVersionException { + pub message: std::option::Option, +} +impl std::fmt::Debug for WafExpiredManagedRuleGroupVersionException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("WafExpiredManagedRuleGroupVersionException"); + formatter.field("message", &self.message); + formatter.finish() + } +} +impl WafExpiredManagedRuleGroupVersionException { + pub fn message(&self) -> Option<&str> { + self.message.as_deref() + } +} +impl std::fmt::Display for WafExpiredManagedRuleGroupVersionException { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "WafExpiredManagedRuleGroupVersionException [WAFExpiredManagedRuleGroupVersionException]")?; + if let Some(inner_10) = &self.message { + write!(f, ": {}", inner_10)?; + } + Ok(()) + } +} +impl std::error::Error for WafExpiredManagedRuleGroupVersionException {} +/// See [`WafExpiredManagedRuleGroupVersionException`](crate::error::WafExpiredManagedRuleGroupVersionException) +pub mod waf_expired_managed_rule_group_version_exception { + /// A builder for [`WafExpiredManagedRuleGroupVersionException`](crate::error::WafExpiredManagedRuleGroupVersionException) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) message: std::option::Option, + } + impl Builder { + pub fn message(mut self, input: impl Into) -> Self { + self.message = Some(input.into()); + self + } + pub fn set_message(mut self, input: std::option::Option) -> Self { + self.message = input; + self + } + /// Consumes the builder and constructs a [`WafExpiredManagedRuleGroupVersionException`](crate::error::WafExpiredManagedRuleGroupVersionException) + pub fn build(self) -> crate::error::WafExpiredManagedRuleGroupVersionException { + crate::error::WafExpiredManagedRuleGroupVersionException { + message: self.message, + } + } + } +} +impl WafExpiredManagedRuleGroupVersionException { + /// Creates a new builder-style object to manufacture [`WafExpiredManagedRuleGroupVersionException`](crate::error::WafExpiredManagedRuleGroupVersionException) + pub fn builder() -> crate::error::waf_expired_managed_rule_group_version_exception::Builder { + crate::error::waf_expired_managed_rule_group_version_exception::Builder::default() + } +} + +///

                                                                                              WAF couldn’t perform the operation because the resource that you tried to save is +/// a duplicate of an existing one.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafDuplicateItemException { @@ -5633,8 +6347,8 @@ impl WafDuplicateItemException { impl std::fmt::Display for WafDuplicateItemException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "WafDuplicateItemException [WAFDuplicateItemException]")?; - if let Some(inner_10) = &self.message { - write!(f, ": {}", inner_10)?; + if let Some(inner_11) = &self.message { + write!(f, ": {}", inner_11)?; } Ok(()) } @@ -5672,7 +6386,8 @@ impl WafDuplicateItemException { } } -///

                                                                                              WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

                                                                                              +///

                                                                                              WAF couldn’t perform your tagging operation because of an internal error. Retry +/// your request.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafTagOperationInternalErrorException { @@ -5696,8 +6411,8 @@ impl std::fmt::Display for WafTagOperationInternalErrorException { f, "WafTagOperationInternalErrorException [WAFTagOperationInternalErrorException]" )?; - if let Some(inner_11) = &self.message { - write!(f, ": {}", inner_11)?; + if let Some(inner_12) = &self.message { + write!(f, ": {}", inner_12)?; } Ok(()) } @@ -5756,8 +6471,8 @@ impl WafTagOperationException { impl std::fmt::Display for WafTagOperationException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "WafTagOperationException [WAFTagOperationException]")?; - if let Some(inner_12) = &self.message { - write!(f, ": {}", inner_12)?; + if let Some(inner_13) = &self.message { + write!(f, ": {}", inner_13)?; } Ok(()) } @@ -5840,8 +6555,8 @@ impl std::fmt::Display for WafInvalidPermissionPolicyException { f, "WafInvalidPermissionPolicyException [WAFInvalidPermissionPolicyException]" )?; - if let Some(inner_13) = &self.message { - write!(f, ": {}", inner_13)?; + if let Some(inner_14) = &self.message { + write!(f, ": {}", inner_14)?; } Ok(()) } @@ -5879,7 +6594,14 @@ impl WafInvalidPermissionPolicyException { } } -///

                                                                                              WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a call to DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

                                                                                              +///

                                                                                              WAF is not able to access the service linked role. This can be caused by a +/// previous PutLoggingConfiguration request, which can lock the service linked +/// role for about 20 seconds. Please try your request again. The service linked role can also +/// be locked by a previous DeleteServiceLinkedRole request, which can lock the +/// role for 15 minutes or more. If you recently made a call to +/// DeleteServiceLinkedRole, wait at least 15 minutes and try the request +/// again. If you receive this same exception again, you will have to wait additional time +/// until the role is unlocked.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafServiceLinkedRoleErrorException { @@ -5903,8 +6625,8 @@ impl std::fmt::Display for WafServiceLinkedRoleErrorException { f, "WafServiceLinkedRoleErrorException [WAFServiceLinkedRoleErrorException]" )?; - if let Some(inner_14) = &self.message { - write!(f, ": {}", inner_14)?; + if let Some(inner_15) = &self.message { + write!(f, ": {}", inner_15)?; } Ok(()) } @@ -5942,7 +6664,8 @@ impl WafServiceLinkedRoleErrorException { } } -///

                                                                                              WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

                                                                                              +///

                                                                                              WAF couldn’t perform the operation because your resource is being used by another +/// resource or it’s associated with another resource.

                                                                                              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct WafAssociatedItemException { @@ -5963,8 +6686,8 @@ impl WafAssociatedItemException { impl std::fmt::Display for WafAssociatedItemException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "WafAssociatedItemException [WAFAssociatedItemException]")?; - if let Some(inner_15) = &self.message { - write!(f, ": {}", inner_15)?; + if let Some(inner_16) = &self.message { + write!(f, ": {}", inner_16)?; } Ok(()) } diff --git a/sdk/wafv2/src/error_meta.rs b/sdk/wafv2/src/error_meta.rs index a14d139af3e4..3d2c8873795f 100644 --- a/sdk/wafv2/src/error_meta.rs +++ b/sdk/wafv2/src/error_meta.rs @@ -4,6 +4,9 @@ pub enum Error { WafAssociatedItemException(crate::error::WafAssociatedItemException), WafDuplicateItemException(crate::error::WafDuplicateItemException), + WafExpiredManagedRuleGroupVersionException( + crate::error::WafExpiredManagedRuleGroupVersionException, + ), WafInternalErrorException(crate::error::WafInternalErrorException), WafInvalidOperationException(crate::error::WafInvalidOperationException), WafInvalidParameterException(crate::error::WafInvalidParameterException), @@ -24,6 +27,7 @@ impl std::fmt::Display for Error { match self { Error::WafAssociatedItemException(inner) => inner.fmt(f), Error::WafDuplicateItemException(inner) => inner.fmt(f), + Error::WafExpiredManagedRuleGroupVersionException(inner) => inner.fmt(f), Error::WafInternalErrorException(inner) => inner.fmt(f), Error::WafInvalidOperationException(inner) => inner.fmt(f), Error::WafInvalidParameterException(inner) => inner.fmt(f), @@ -69,30 +73,17 @@ impl From> for impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { - smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { - crate::error::CheckCapacityErrorKind::WafInternalErrorException(inner) => { - Error::WafInternalErrorException(inner) - } - crate::error::CheckCapacityErrorKind::WafInvalidParameterException(inner) => { - Error::WafInvalidParameterException(inner) - } - crate::error::CheckCapacityErrorKind::WafInvalidResourceException(inner) => { - Error::WafInvalidResourceException(inner) - } - crate::error::CheckCapacityErrorKind::WafLimitsExceededException(inner) => { - Error::WafLimitsExceededException(inner) - } - crate::error::CheckCapacityErrorKind::WafNonexistentItemException(inner) => { - Error::WafNonexistentItemException(inner) - } - crate::error::CheckCapacityErrorKind::WafSubscriptionNotFoundException(inner) => { - Error::WafSubscriptionNotFoundException(inner) - } - crate::error::CheckCapacityErrorKind::WafUnavailableEntityException(inner) => { - Error::WafUnavailableEntityException(inner) - } + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::CheckCapacityErrorKind::WafExpiredManagedRuleGroupVersionException(inner) => Error::WafExpiredManagedRuleGroupVersionException(inner), + crate::error::CheckCapacityErrorKind::WafInternalErrorException(inner) => Error::WafInternalErrorException(inner), + crate::error::CheckCapacityErrorKind::WafInvalidParameterException(inner) => Error::WafInvalidParameterException(inner), + crate::error::CheckCapacityErrorKind::WafInvalidResourceException(inner) => Error::WafInvalidResourceException(inner), + crate::error::CheckCapacityErrorKind::WafLimitsExceededException(inner) => Error::WafLimitsExceededException(inner), + crate::error::CheckCapacityErrorKind::WafNonexistentItemException(inner) => Error::WafNonexistentItemException(inner), + crate::error::CheckCapacityErrorKind::WafSubscriptionNotFoundException(inner) => Error::WafSubscriptionNotFoundException(inner), + crate::error::CheckCapacityErrorKind::WafUnavailableEntityException(inner) => Error::WafUnavailableEntityException(inner), crate::error::CheckCapacityErrorKind::Unhandled(inner) => Error::Unhandled(inner), - }, + } _ => Error::Unhandled(err.into()), } } @@ -432,26 +423,15 @@ impl From, ) -> Self { match err { - smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { - crate::error::DescribeManagedRuleGroupErrorKind::WafInternalErrorException( - inner, - ) => Error::WafInternalErrorException(inner), - crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidOperationException( - inner, - ) => Error::WafInvalidOperationException(inner), - crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidParameterException( - inner, - ) => Error::WafInvalidParameterException(inner), - crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidResourceException( - inner, - ) => Error::WafInvalidResourceException(inner), - crate::error::DescribeManagedRuleGroupErrorKind::WafNonexistentItemException( - inner, - ) => Error::WafNonexistentItemException(inner), - crate::error::DescribeManagedRuleGroupErrorKind::Unhandled(inner) => { - Error::Unhandled(inner) - } - }, + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::DescribeManagedRuleGroupErrorKind::WafExpiredManagedRuleGroupVersionException(inner) => Error::WafExpiredManagedRuleGroupVersionException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::WafInternalErrorException(inner) => Error::WafInternalErrorException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidOperationException(inner) => Error::WafInvalidOperationException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidParameterException(inner) => Error::WafInvalidParameterException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidResourceException(inner) => Error::WafInvalidResourceException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::WafNonexistentItemException(inner) => Error::WafNonexistentItemException(inner), + crate::error::DescribeManagedRuleGroupErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } _ => Error::Unhandled(err.into()), } } @@ -528,6 +508,30 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::GetManagedRuleSetErrorKind::WafInternalErrorException(inner) => { + Error::WafInternalErrorException(inner) + } + crate::error::GetManagedRuleSetErrorKind::WafInvalidOperationException(inner) => { + Error::WafInvalidOperationException(inner) + } + crate::error::GetManagedRuleSetErrorKind::WafInvalidParameterException(inner) => { + Error::WafInvalidParameterException(inner) + } + crate::error::GetManagedRuleSetErrorKind::WafNonexistentItemException(inner) => { + Error::WafNonexistentItemException(inner) + } + crate::error::GetManagedRuleSetErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -700,6 +704,25 @@ impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::ListAvailableManagedRuleGroupVersionsError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInternalErrorException(inner) => Error::WafInternalErrorException(inner), + crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidOperationException(inner) => Error::WafInvalidOperationException(inner), + crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidParameterException(inner) => Error::WafInvalidParameterException(inner), + crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -742,6 +765,27 @@ impl From> for Error { + fn from(err: smithy_http::result::SdkError) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::ListManagedRuleSetsErrorKind::WafInternalErrorException(inner) => { + Error::WafInternalErrorException(inner) + } + crate::error::ListManagedRuleSetsErrorKind::WafInvalidOperationException(inner) => { + Error::WafInvalidOperationException(inner) + } + crate::error::ListManagedRuleSetsErrorKind::WafInvalidParameterException(inner) => { + Error::WafInvalidParameterException(inner) + } + crate::error::ListManagedRuleSetsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -860,6 +904,35 @@ impl From> for Error { + fn from( + err: smithy_http::result::SdkError, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, .. } => match err.kind { + crate::error::PutManagedRuleSetVersionsErrorKind::WafInternalErrorException( + inner, + ) => Error::WafInternalErrorException(inner), + crate::error::PutManagedRuleSetVersionsErrorKind::WafInvalidOperationException( + inner, + ) => Error::WafInvalidOperationException(inner), + crate::error::PutManagedRuleSetVersionsErrorKind::WafInvalidParameterException( + inner, + ) => Error::WafInvalidParameterException(inner), + crate::error::PutManagedRuleSetVersionsErrorKind::WafNonexistentItemException( + inner, + ) => Error::WafNonexistentItemException(inner), + crate::error::PutManagedRuleSetVersionsErrorKind::WafOptimisticLockException( + inner, + ) => Error::WafOptimisticLockException(inner), + crate::error::PutManagedRuleSetVersionsErrorKind::Unhandled(inner) => { + Error::Unhandled(inner) + } + }, + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -974,6 +1047,27 @@ impl From> for Err } } } +impl From> + for Error +{ + fn from( + err: smithy_http::result::SdkError< + crate::error::UpdateManagedRuleSetVersionExpiryDateError, + >, + ) -> Self { + match err { + smithy_http::result::SdkError::ServiceError { err, ..} => match err.kind { + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInternalErrorException(inner) => Error::WafInternalErrorException(inner), + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidOperationException(inner) => Error::WafInvalidOperationException(inner), + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidParameterException(inner) => Error::WafInvalidParameterException(inner), + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafNonexistentItemException(inner) => Error::WafNonexistentItemException(inner), + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafOptimisticLockException(inner) => Error::WafOptimisticLockException(inner), + crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::Unhandled(inner) => Error::Unhandled(inner), + } + _ => Error::Unhandled(err.into()), + } + } +} impl From> for Error { fn from(err: smithy_http::result::SdkError) -> Self { match err { @@ -1051,6 +1145,9 @@ impl From> for Er crate::error::UpdateWebACLErrorKind::WafDuplicateItemException(inner) => { Error::WafDuplicateItemException(inner) } + crate::error::UpdateWebACLErrorKind::WafExpiredManagedRuleGroupVersionException( + inner, + ) => Error::WafExpiredManagedRuleGroupVersionException(inner), crate::error::UpdateWebACLErrorKind::WafInternalErrorException(inner) => { Error::WafInternalErrorException(inner) } diff --git a/sdk/wafv2/src/input.rs b/sdk/wafv2/src/input.rs index 7f0561bb4c8c..db7cf81eb240 100644 --- a/sdk/wafv2/src/input.rs +++ b/sdk/wafv2/src/input.rs @@ -10,7 +10,8 @@ pub mod associate_web_acl_input { pub(crate) resource_arn: std::option::Option, } impl Builder { - ///

                                                                                              The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the web ACL that you want to associate with the + /// resource.

                                                                                              pub fn web_acl_arn(mut self, input: impl Into) -> Self { self.web_acl_arn = Some(input.into()); self @@ -378,7 +379,7 @@ pub mod create_ip_set_input { self.description = input; self } - ///

                                                                                              Specify IPV4 or IPV6.

                                                                                              + ///

                                                                                              The version of the IP addresses, either IPV4 or IPV6.

                                                                                              pub fn ip_address_version(mut self, input: crate::model::IpAddressVersion) -> Self { self.ip_address_version = Some(input); self @@ -1266,7 +1267,7 @@ pub mod delete_firewall_manager_rule_groups_input { self.web_acl_arn = input; self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn web_acl_lock_token(mut self, input: impl Into) -> Self { self.web_acl_lock_token = Some(input.into()); self @@ -1452,7 +1453,7 @@ pub mod delete_ip_set_input { self.id = input; self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -1733,7 +1734,8 @@ pub mod delete_permission_policy_input { pub(crate) resource_arn: std::option::Option, } impl Builder { - ///

                                                                                              The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the rule group from which you want to delete the + /// policy.

                                                                                              ///

                                                                                              You must be the owner of the rule group to perform this operation.

                                                                                              pub fn resource_arn(mut self, input: impl Into) -> Self { self.resource_arn = Some(input.into()); @@ -1912,7 +1914,7 @@ pub mod delete_regex_pattern_set_input { self.id = input; self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -2093,7 +2095,7 @@ pub mod delete_rule_group_input { self.id = input; self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -2273,7 +2275,7 @@ pub mod delete_web_acl_input { self.id = input; self } - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -2413,6 +2415,7 @@ pub mod describe_managed_rule_group_input { pub(crate) vendor_name: std::option::Option, pub(crate) name: std::option::Option, pub(crate) scope: std::option::Option, + pub(crate) version_name: std::option::Option, } impl Builder { ///

                                                                                              The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

                                                                                              @@ -2451,6 +2454,17 @@ pub mod describe_managed_rule_group_input { self.scope = input; self } + ///

                                                                                              The version of the rule group. You can only use a version that is not + /// scheduled for expiration. If you don't provide this, WAF uses the vendor's default version. + ///

                                                                                              + pub fn version_name(mut self, input: impl Into) -> Self { + self.version_name = Some(input.into()); + self + } + pub fn set_version_name(mut self, input: std::option::Option) -> Self { + self.version_name = input; + self + } /// Consumes the builder and constructs a [`DescribeManagedRuleGroupInput`](crate::input::DescribeManagedRuleGroupInput) pub fn build( self, @@ -2462,6 +2476,7 @@ pub mod describe_managed_rule_group_input { vendor_name: self.vendor_name, name: self.name, scope: self.scope, + version_name: self.version_name, }) } } @@ -3035,6 +3050,177 @@ impl GetLoggingConfigurationInput { } } +/// See [`GetManagedRuleSetInput`](crate::input::GetManagedRuleSetInput) +pub mod get_managed_rule_set_input { + /// A builder for [`GetManagedRuleSetInput`](crate::input::GetManagedRuleSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) scope: std::option::Option, + pub(crate) id: std::option::Option, + } + impl Builder { + ///

                                                                                              The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                              + ///

                                                                                              This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                              + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.scope = Some(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.scope = input; + self + } + ///

                                                                                              A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                              + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + /// Consumes the builder and constructs a [`GetManagedRuleSetInput`](crate::input::GetManagedRuleSetInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::GetManagedRuleSetInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::GetManagedRuleSetInput { + name: self.name, + scope: self.scope, + id: self.id, + }) + } + } +} +#[doc(hidden)] +pub type GetManagedRuleSetInputOperationOutputAlias = crate::operation::GetManagedRuleSet; +#[doc(hidden)] +pub type GetManagedRuleSetInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl GetManagedRuleSetInput { + /// Consumes the builder and constructs an Operation<[`GetManagedRuleSet`](crate::operation::GetManagedRuleSet)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::GetManagedRuleSet, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_get_managed_rule_set(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::GetManagedRuleSet::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "GetManagedRuleSet", + "wafv2", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "AWSWAF_20190729.GetManagedRuleSet", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`GetManagedRuleSetInput`](crate::input::GetManagedRuleSetInput) + pub fn builder() -> crate::input::get_managed_rule_set_input::Builder { + crate::input::get_managed_rule_set_input::Builder::default() + } +} + /// See [`GetPermissionPolicyInput`](crate::input::GetPermissionPolicyInput) pub mod get_permission_policy_input { /// A builder for [`GetPermissionPolicyInput`](crate::input::GetPermissionPolicyInput) @@ -3044,7 +3230,8 @@ pub mod get_permission_policy_input { pub(crate) resource_arn: std::option::Option, } impl Builder { - ///

                                                                                              The Amazon Resource Name (ARN) of the rule group for which you want to get the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the rule group for which you want to get the + /// policy.

                                                                                              pub fn resource_arn(mut self, input: impl Into) -> Self { self.resource_arn = Some(input.into()); self @@ -3721,7 +3908,8 @@ pub mod get_sampled_requests_input { pub(crate) max_items: std::option::Option, } impl Builder { - ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.

                                                                                              + ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of + /// requests.

                                                                                              pub fn web_acl_arn(mut self, input: impl Into) -> Self { self.web_acl_arn = Some(input.into()); self @@ -3730,7 +3918,8 @@ pub mod get_sampled_requests_input { self.web_acl_arn = input; self } - ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.

                                                                                              + ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which + /// you want a sample of requests.

                                                                                              pub fn rule_metric_name(mut self, input: impl Into) -> Self { self.rule_metric_name = Some(input.into()); self @@ -3760,8 +3949,12 @@ pub mod get_sampled_requests_input { self.scope = input; self } - ///

                                                                                              The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - /// sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours. If you specify a start time that's earlier than three hours ago, WAF sets it to three hours ago.

                                                                                              + ///

                                                                                              The start date and time and the end date and time of the range for which you want + /// GetSampledRequests to return a sample of requests. You must specify the + /// times in Coordinated Universal Time (UTC) format. UTC format includes the special + /// designator, Z. For example, "2016-09-27T14:50Z". You can specify + /// any time range in the previous three hours. If you specify a start time that's earlier than + /// three hours ago, WAF sets it to three hours ago.

                                                                                              pub fn time_window(mut self, input: crate::model::TimeWindow) -> Self { self.time_window = Some(input); self @@ -3773,8 +3966,9 @@ pub mod get_sampled_requests_input { self.time_window = input; self } - ///

                                                                                              The number of requests that you want WAF to return from among the first 5,000 requests that your Amazon Web Services resource received - /// during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests + ///

                                                                                              The number of requests that you want WAF to return from among the first 5,000 + /// requests that your Amazon Web Services resource received during the time range. If your resource received + /// fewer requests than the value of MaxItems, GetSampledRequests /// returns information about all of them.

                                                                                              pub fn max_items(mut self, input: i64) -> Self { self.max_items = Some(input); @@ -4387,17 +4581,37 @@ impl ListAvailableManagedRuleGroupsInput { } } -/// See [`ListIpSetsInput`](crate::input::ListIpSetsInput) -pub mod list_ip_sets_input { - /// A builder for [`ListIpSetsInput`](crate::input::ListIpSetsInput) +/// See [`ListAvailableManagedRuleGroupVersionsInput`](crate::input::ListAvailableManagedRuleGroupVersionsInput) +pub mod list_available_managed_rule_group_versions_input { + /// A builder for [`ListAvailableManagedRuleGroupVersionsInput`](crate::input::ListAvailableManagedRuleGroupVersionsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { + pub(crate) vendor_name: std::option::Option, + pub(crate) name: std::option::Option, pub(crate) scope: std::option::Option, pub(crate) next_marker: std::option::Option, pub(crate) limit: std::option::Option, } impl Builder { + ///

                                                                                              The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

                                                                                              + pub fn vendor_name(mut self, input: impl Into) -> Self { + self.vendor_name = Some(input.into()); + self + } + pub fn set_vendor_name(mut self, input: std::option::Option) -> Self { + self.vendor_name = input; + self + } + ///

                                                                                              The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                                              + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              ///
                                                                                                @@ -4438,12 +4652,16 @@ pub mod list_ip_sets_input { self.limit = input; self } - /// Consumes the builder and constructs a [`ListIpSetsInput`](crate::input::ListIpSetsInput) + /// Consumes the builder and constructs a [`ListAvailableManagedRuleGroupVersionsInput`](crate::input::ListAvailableManagedRuleGroupVersionsInput) pub fn build( self, - ) -> std::result::Result - { - Ok(crate::input::ListIpSetsInput { + ) -> std::result::Result< + crate::input::ListAvailableManagedRuleGroupVersionsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListAvailableManagedRuleGroupVersionsInput { + vendor_name: self.vendor_name, + name: self.name, scope: self.scope, next_marker: self.next_marker, limit: self.limit, @@ -4452,18 +4670,20 @@ pub mod list_ip_sets_input { } } #[doc(hidden)] -pub type ListIPSetsInputOperationOutputAlias = crate::operation::ListIPSets; +pub type ListAvailableManagedRuleGroupVersionsInputOperationOutputAlias = + crate::operation::ListAvailableManagedRuleGroupVersions; #[doc(hidden)] -pub type ListIPSetsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListIpSetsInput { - /// Consumes the builder and constructs an Operation<[`ListIPSets`](crate::operation::ListIPSets)> +pub type ListAvailableManagedRuleGroupVersionsInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl ListAvailableManagedRuleGroupVersionsInput { + /// Consumes the builder and constructs an Operation<[`ListAvailableManagedRuleGroupVersions`](crate::operation::ListAvailableManagedRuleGroupVersions)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListIPSets, + crate::operation::ListAvailableManagedRuleGroupVersions, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -4471,9 +4691,8 @@ impl ListIpSetsInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_list_ip_sets(&self).map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_list_available_managed_rule_group_versions(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + ; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -4504,9 +4723,12 @@ impl ListIpSetsInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListIPSets::new(), + crate::operation::ListAvailableManagedRuleGroupVersions::new(), ) - .with_metadata(smithy_http::operation::Metadata::new("ListIPSets", "wafv2")); + .with_metadata(smithy_http::operation::Metadata::new( + "ListAvailableManagedRuleGroupVersions", + "wafv2", + )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4537,7 +4759,7 @@ impl ListIpSetsInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListIPSets", + "AWSWAF_20190729.ListAvailableManagedRuleGroupVersions", ); Ok(builder) } @@ -4550,15 +4772,15 @@ impl ListIpSetsInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListIpSetsInput`](crate::input::ListIpSetsInput) - pub fn builder() -> crate::input::list_ip_sets_input::Builder { - crate::input::list_ip_sets_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListAvailableManagedRuleGroupVersionsInput`](crate::input::ListAvailableManagedRuleGroupVersionsInput) + pub fn builder() -> crate::input::list_available_managed_rule_group_versions_input::Builder { + crate::input::list_available_managed_rule_group_versions_input::Builder::default() } } -/// See [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) -pub mod list_logging_configurations_input { - /// A builder for [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) +/// See [`ListIpSetsInput`](crate::input::ListIpSetsInput) +pub mod list_ip_sets_input { + /// A builder for [`ListIpSetsInput`](crate::input::ListIpSetsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { @@ -4607,14 +4829,12 @@ pub mod list_logging_configurations_input { self.limit = input; self } - /// Consumes the builder and constructs a [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) + /// Consumes the builder and constructs a [`ListIpSetsInput`](crate::input::ListIpSetsInput) pub fn build( self, - ) -> std::result::Result< - crate::input::ListLoggingConfigurationsInput, - smithy_http::operation::BuildError, - > { - Ok(crate::input::ListLoggingConfigurationsInput { + ) -> std::result::Result + { + Ok(crate::input::ListIpSetsInput { scope: self.scope, next_marker: self.next_marker, limit: self.limit, @@ -4623,27 +4843,26 @@ pub mod list_logging_configurations_input { } } #[doc(hidden)] -pub type ListLoggingConfigurationsInputOperationOutputAlias = - crate::operation::ListLoggingConfigurations; +pub type ListIPSetsInputOperationOutputAlias = crate::operation::ListIPSets; #[doc(hidden)] -pub type ListLoggingConfigurationsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListLoggingConfigurationsInput { - /// Consumes the builder and constructs an Operation<[`ListLoggingConfigurations`](crate::operation::ListLoggingConfigurations)> +pub type ListIPSetsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListIpSetsInput { + /// Consumes the builder and constructs an Operation<[`ListIPSets`](crate::operation::ListIPSets)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListLoggingConfigurations, + crate::operation::ListIPSets, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_logging_configurations(&self) - .map_err(|err| { + let body = + crate::operation_ser::serialize_operation_list_ip_sets(&self).map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; let request = Self::assemble(request, body); @@ -4676,12 +4895,9 @@ impl ListLoggingConfigurationsInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListLoggingConfigurations::new(), + crate::operation::ListIPSets::new(), ) - .with_metadata(smithy_http::operation::Metadata::new( - "ListLoggingConfigurations", - "wafv2", - )); + .with_metadata(smithy_http::operation::Metadata::new("ListIPSets", "wafv2")); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); op }) @@ -4712,7 +4928,7 @@ impl ListLoggingConfigurationsInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListLoggingConfigurations", + "AWSWAF_20190729.ListIPSets", ); Ok(builder) } @@ -4725,15 +4941,15 @@ impl ListLoggingConfigurationsInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) - pub fn builder() -> crate::input::list_logging_configurations_input::Builder { - crate::input::list_logging_configurations_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListIpSetsInput`](crate::input::ListIpSetsInput) + pub fn builder() -> crate::input::list_ip_sets_input::Builder { + crate::input::list_ip_sets_input::Builder::default() } } -/// See [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) -pub mod list_regex_pattern_sets_input { - /// A builder for [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) +/// See [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) +pub mod list_logging_configurations_input { + /// A builder for [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { @@ -4782,14 +4998,14 @@ pub mod list_regex_pattern_sets_input { self.limit = input; self } - /// Consumes the builder and constructs a [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) + /// Consumes the builder and constructs a [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) pub fn build( self, ) -> std::result::Result< - crate::input::ListRegexPatternSetsInput, + crate::input::ListLoggingConfigurationsInput, smithy_http::operation::BuildError, > { - Ok(crate::input::ListRegexPatternSetsInput { + Ok(crate::input::ListLoggingConfigurationsInput { scope: self.scope, next_marker: self.next_marker, limit: self.limit, @@ -4798,25 +5014,26 @@ pub mod list_regex_pattern_sets_input { } } #[doc(hidden)] -pub type ListRegexPatternSetsInputOperationOutputAlias = crate::operation::ListRegexPatternSets; +pub type ListLoggingConfigurationsInputOperationOutputAlias = + crate::operation::ListLoggingConfigurations; #[doc(hidden)] -pub type ListRegexPatternSetsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListRegexPatternSetsInput { - /// Consumes the builder and constructs an Operation<[`ListRegexPatternSets`](crate::operation::ListRegexPatternSets)> +pub type ListLoggingConfigurationsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListLoggingConfigurationsInput { + /// Consumes the builder and constructs an Operation<[`ListLoggingConfigurations`](crate::operation::ListLoggingConfigurations)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListRegexPatternSets, + crate::operation::ListLoggingConfigurations, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_regex_pattern_sets(&self) + let body = crate::operation_ser::serialize_operation_list_logging_configurations(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -4850,10 +5067,10 @@ impl ListRegexPatternSetsInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListRegexPatternSets::new(), + crate::operation::ListLoggingConfigurations::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "ListRegexPatternSets", + "ListLoggingConfigurations", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -4886,7 +5103,7 @@ impl ListRegexPatternSetsInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListRegexPatternSets", + "AWSWAF_20190729.ListLoggingConfigurations", ); Ok(builder) } @@ -4899,77 +5116,98 @@ impl ListRegexPatternSetsInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) - pub fn builder() -> crate::input::list_regex_pattern_sets_input::Builder { - crate::input::list_regex_pattern_sets_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListLoggingConfigurationsInput`](crate::input::ListLoggingConfigurationsInput) + pub fn builder() -> crate::input::list_logging_configurations_input::Builder { + crate::input::list_logging_configurations_input::Builder::default() } } -/// See [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) -pub mod list_resources_for_web_acl_input { - /// A builder for [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) +/// See [`ListManagedRuleSetsInput`](crate::input::ListManagedRuleSetsInput) +pub mod list_managed_rule_sets_input { + /// A builder for [`ListManagedRuleSetsInput`](crate::input::ListManagedRuleSetsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) web_acl_arn: std::option::Option, - pub(crate) resource_type: std::option::Option, + pub(crate) scope: std::option::Option, + pub(crate) next_marker: std::option::Option, + pub(crate) limit: std::option::Option, } impl Builder { - ///

                                                                                                The Amazon Resource Name (ARN) of the web ACL.

                                                                                                - pub fn web_acl_arn(mut self, input: impl Into) -> Self { - self.web_acl_arn = Some(input.into()); + ///

                                                                                                Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + ///

                                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.scope = Some(input); self } - pub fn set_web_acl_arn(mut self, input: std::option::Option) -> Self { - self.web_acl_arn = input; + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.scope = input; self } - ///

                                                                                                Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                - pub fn resource_type(mut self, input: crate::model::ResourceType) -> Self { - self.resource_type = Some(input); + ///

                                                                                                When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                                + pub fn next_marker(mut self, input: impl Into) -> Self { + self.next_marker = Some(input.into()); self } - pub fn set_resource_type( - mut self, - input: std::option::Option, - ) -> Self { - self.resource_type = input; + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.next_marker = input; self } - /// Consumes the builder and constructs a [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) + ///

                                                                                                The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                                + pub fn limit(mut self, input: i32) -> Self { + self.limit = Some(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.limit = input; + self + } + /// Consumes the builder and constructs a [`ListManagedRuleSetsInput`](crate::input::ListManagedRuleSetsInput) pub fn build( self, ) -> std::result::Result< - crate::input::ListResourcesForWebAclInput, + crate::input::ListManagedRuleSetsInput, smithy_http::operation::BuildError, > { - Ok(crate::input::ListResourcesForWebAclInput { - web_acl_arn: self.web_acl_arn, - resource_type: self.resource_type, + Ok(crate::input::ListManagedRuleSetsInput { + scope: self.scope, + next_marker: self.next_marker, + limit: self.limit, }) } } } #[doc(hidden)] -pub type ListResourcesForWebACLInputOperationOutputAlias = crate::operation::ListResourcesForWebACL; +pub type ListManagedRuleSetsInputOperationOutputAlias = crate::operation::ListManagedRuleSets; #[doc(hidden)] -pub type ListResourcesForWebACLInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListResourcesForWebAclInput { - /// Consumes the builder and constructs an Operation<[`ListResourcesForWebACL`](crate::operation::ListResourcesForWebACL)> +pub type ListManagedRuleSetsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListManagedRuleSetsInput { + /// Consumes the builder and constructs an Operation<[`ListManagedRuleSets`](crate::operation::ListManagedRuleSets)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListResourcesForWebACL, + crate::operation::ListManagedRuleSets, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_resources_for_web_acl(&self) + let body = crate::operation_ser::serialize_operation_list_managed_rule_sets(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -5003,10 +5241,10 @@ impl ListResourcesForWebAclInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListResourcesForWebACL::new(), + crate::operation::ListManagedRuleSets::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "ListResourcesForWebACL", + "ListManagedRuleSets", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -5039,7 +5277,7 @@ impl ListResourcesForWebAclInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListResourcesForWebACL", + "AWSWAF_20190729.ListManagedRuleSets", ); Ok(builder) } @@ -5052,15 +5290,15 @@ impl ListResourcesForWebAclInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) - pub fn builder() -> crate::input::list_resources_for_web_acl_input::Builder { - crate::input::list_resources_for_web_acl_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListManagedRuleSetsInput`](crate::input::ListManagedRuleSetsInput) + pub fn builder() -> crate::input::list_managed_rule_sets_input::Builder { + crate::input::list_managed_rule_sets_input::Builder::default() } } -/// See [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) -pub mod list_rule_groups_input { - /// A builder for [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) +/// See [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) +pub mod list_regex_pattern_sets_input { + /// A builder for [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { @@ -5109,14 +5347,14 @@ pub mod list_rule_groups_input { self.limit = input; self } - /// Consumes the builder and constructs a [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) + /// Consumes the builder and constructs a [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) pub fn build( self, ) -> std::result::Result< - crate::input::ListRuleGroupsInput, + crate::input::ListRegexPatternSetsInput, smithy_http::operation::BuildError, > { - Ok(crate::input::ListRuleGroupsInput { + Ok(crate::input::ListRegexPatternSetsInput { scope: self.scope, next_marker: self.next_marker, limit: self.limit, @@ -5125,27 +5363,28 @@ pub mod list_rule_groups_input { } } #[doc(hidden)] -pub type ListRuleGroupsInputOperationOutputAlias = crate::operation::ListRuleGroups; +pub type ListRegexPatternSetsInputOperationOutputAlias = crate::operation::ListRegexPatternSets; #[doc(hidden)] -pub type ListRuleGroupsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListRuleGroupsInput { - /// Consumes the builder and constructs an Operation<[`ListRuleGroups`](crate::operation::ListRuleGroups)> +pub type ListRegexPatternSetsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListRegexPatternSetsInput { + /// Consumes the builder and constructs an Operation<[`ListRegexPatternSets`](crate::operation::ListRegexPatternSets)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListRuleGroups, + crate::operation::ListRegexPatternSets, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_rule_groups(&self).map_err( - |err| smithy_http::operation::BuildError::SerializationError(err.into()), - )?; + let body = crate::operation_ser::serialize_operation_list_regex_pattern_sets(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -5176,10 +5415,10 @@ impl ListRuleGroupsInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListRuleGroups::new(), + crate::operation::ListRegexPatternSets::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "ListRuleGroups", + "ListRegexPatternSets", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -5212,7 +5451,7 @@ impl ListRuleGroupsInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListRuleGroups", + "AWSWAF_20190729.ListRegexPatternSets", ); Ok(builder) } @@ -5225,89 +5464,78 @@ impl ListRuleGroupsInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) - pub fn builder() -> crate::input::list_rule_groups_input::Builder { - crate::input::list_rule_groups_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListRegexPatternSetsInput`](crate::input::ListRegexPatternSetsInput) + pub fn builder() -> crate::input::list_regex_pattern_sets_input::Builder { + crate::input::list_regex_pattern_sets_input::Builder::default() } } -/// See [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) -pub mod list_tags_for_resource_input { - /// A builder for [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) +/// See [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) +pub mod list_resources_for_web_acl_input { + /// A builder for [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { - pub(crate) next_marker: std::option::Option, - pub(crate) limit: std::option::Option, - pub(crate) resource_arn: std::option::Option, + pub(crate) web_acl_arn: std::option::Option, + pub(crate) resource_type: std::option::Option, } impl Builder { - ///

                                                                                                When you request a list of objects with a Limit setting, if the number of objects that are still available - /// for retrieval exceeds the limit, WAF returns a NextMarker - /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                                - pub fn next_marker(mut self, input: impl Into) -> Self { - self.next_marker = Some(input.into()); - self - } - pub fn set_next_marker(mut self, input: std::option::Option) -> Self { - self.next_marker = input; - self - } - ///

                                                                                                The maximum number of objects that you want WAF to return for this request. If more - /// objects are available, in the response, WAF provides a - /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                                - pub fn limit(mut self, input: i32) -> Self { - self.limit = Some(input); + ///

                                                                                                The Amazon Resource Name (ARN) of the web ACL.

                                                                                                + pub fn web_acl_arn(mut self, input: impl Into) -> Self { + self.web_acl_arn = Some(input.into()); self } - pub fn set_limit(mut self, input: std::option::Option) -> Self { - self.limit = input; + pub fn set_web_acl_arn(mut self, input: std::option::Option) -> Self { + self.web_acl_arn = input; self } - ///

                                                                                                The Amazon Resource Name (ARN) of the resource.

                                                                                                - pub fn resource_arn(mut self, input: impl Into) -> Self { - self.resource_arn = Some(input.into()); + ///

                                                                                                Used for web ACLs that are scoped for regional applications. + /// A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + pub fn resource_type(mut self, input: crate::model::ResourceType) -> Self { + self.resource_type = Some(input); self } - pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { - self.resource_arn = input; + pub fn set_resource_type( + mut self, + input: std::option::Option, + ) -> Self { + self.resource_type = input; self } - /// Consumes the builder and constructs a [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + /// Consumes the builder and constructs a [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) pub fn build( self, ) -> std::result::Result< - crate::input::ListTagsForResourceInput, + crate::input::ListResourcesForWebAclInput, smithy_http::operation::BuildError, > { - Ok(crate::input::ListTagsForResourceInput { - next_marker: self.next_marker, - limit: self.limit, - resource_arn: self.resource_arn, + Ok(crate::input::ListResourcesForWebAclInput { + web_acl_arn: self.web_acl_arn, + resource_type: self.resource_type, }) } } } #[doc(hidden)] -pub type ListTagsForResourceInputOperationOutputAlias = crate::operation::ListTagsForResource; +pub type ListResourcesForWebACLInputOperationOutputAlias = crate::operation::ListResourcesForWebACL; #[doc(hidden)] -pub type ListTagsForResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListTagsForResourceInput { - /// Consumes the builder and constructs an Operation<[`ListTagsForResource`](crate::operation::ListTagsForResource)> +pub type ListResourcesForWebACLInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListResourcesForWebAclInput { + /// Consumes the builder and constructs an Operation<[`ListResourcesForWebACL`](crate::operation::ListResourcesForWebACL)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListTagsForResource, + crate::operation::ListResourcesForWebACL, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_list_tags_for_resource(&self) + let body = crate::operation_ser::serialize_operation_list_resources_for_web_acl(&self) .map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; @@ -5341,10 +5569,10 @@ impl ListTagsForResourceInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::ListTagsForResource::new(), + crate::operation::ListResourcesForWebACL::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "ListTagsForResource", + "ListResourcesForWebACL", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -5377,7 +5605,7 @@ impl ListTagsForResourceInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.ListTagsForResource", + "AWSWAF_20190729.ListResourcesForWebACL", ); Ok(builder) } @@ -5390,15 +5618,15 @@ impl ListTagsForResourceInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) - pub fn builder() -> crate::input::list_tags_for_resource_input::Builder { - crate::input::list_tags_for_resource_input::Builder::default() + /// Creates a new builder-style object to manufacture [`ListResourcesForWebAclInput`](crate::input::ListResourcesForWebAclInput) + pub fn builder() -> crate::input::list_resources_for_web_acl_input::Builder { + crate::input::list_resources_for_web_acl_input::Builder::default() } } -/// See [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) -pub mod list_web_ac_ls_input { - /// A builder for [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) +/// See [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) +pub mod list_rule_groups_input { + /// A builder for [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { @@ -5447,12 +5675,14 @@ pub mod list_web_ac_ls_input { self.limit = input; self } - /// Consumes the builder and constructs a [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) + /// Consumes the builder and constructs a [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) pub fn build( self, - ) -> std::result::Result - { - Ok(crate::input::ListWebAcLsInput { + ) -> std::result::Result< + crate::input::ListRuleGroupsInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListRuleGroupsInput { scope: self.scope, next_marker: self.next_marker, limit: self.limit, @@ -5461,29 +5691,365 @@ pub mod list_web_ac_ls_input { } } #[doc(hidden)] -pub type ListWebACLsInputOperationOutputAlias = crate::operation::ListWebACLs; +pub type ListRuleGroupsInputOperationOutputAlias = crate::operation::ListRuleGroups; #[doc(hidden)] -pub type ListWebACLsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl ListWebAcLsInput { - /// Consumes the builder and constructs an Operation<[`ListWebACLs`](crate::operation::ListWebACLs)> +pub type ListRuleGroupsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListRuleGroupsInput { + /// Consumes the builder and constructs an Operation<[`ListRuleGroups`](crate::operation::ListRuleGroups)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::ListWebACLs, + crate::operation::ListRuleGroups, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = - crate::operation_ser::serialize_operation_list_web_ac_ls(&self).map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; - let request = Self::assemble(request, body); + let body = crate::operation_ser::serialize_operation_list_rule_groups(&self).map_err( + |err| smithy_http::operation::BuildError::SerializationError(err.into()), + )?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListRuleGroups::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListRuleGroups", + "wafv2", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "AWSWAF_20190729.ListRuleGroups", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListRuleGroupsInput`](crate::input::ListRuleGroupsInput) + pub fn builder() -> crate::input::list_rule_groups_input::Builder { + crate::input::list_rule_groups_input::Builder::default() + } +} + +/// See [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) +pub mod list_tags_for_resource_input { + /// A builder for [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_marker: std::option::Option, + pub(crate) limit: std::option::Option, + pub(crate) resource_arn: std::option::Option, + } + impl Builder { + ///

                                                                                                When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                                + pub fn next_marker(mut self, input: impl Into) -> Self { + self.next_marker = Some(input.into()); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.next_marker = input; + self + } + ///

                                                                                                The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                                + pub fn limit(mut self, input: i32) -> Self { + self.limit = Some(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.limit = input; + self + } + ///

                                                                                                The Amazon Resource Name (ARN) of the resource.

                                                                                                + pub fn resource_arn(mut self, input: impl Into) -> Self { + self.resource_arn = Some(input.into()); + self + } + pub fn set_resource_arn(mut self, input: std::option::Option) -> Self { + self.resource_arn = input; + self + } + /// Consumes the builder and constructs a [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::ListTagsForResourceInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::ListTagsForResourceInput { + next_marker: self.next_marker, + limit: self.limit, + resource_arn: self.resource_arn, + }) + } + } +} +#[doc(hidden)] +pub type ListTagsForResourceInputOperationOutputAlias = crate::operation::ListTagsForResource; +#[doc(hidden)] +pub type ListTagsForResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListTagsForResourceInput { + /// Consumes the builder and constructs an Operation<[`ListTagsForResource`](crate::operation::ListTagsForResource)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListTagsForResource, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_list_tags_for_resource(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::ListTagsForResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "ListTagsForResource", + "wafv2", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "AWSWAF_20190729.ListTagsForResource", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListTagsForResourceInput`](crate::input::ListTagsForResourceInput) + pub fn builder() -> crate::input::list_tags_for_resource_input::Builder { + crate::input::list_tags_for_resource_input::Builder::default() + } +} + +/// See [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) +pub mod list_web_ac_ls_input { + /// A builder for [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) scope: std::option::Option, + pub(crate) next_marker: std::option::Option, + pub(crate) limit: std::option::Option, + } + impl Builder { + ///

                                                                                                Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + ///

                                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.scope = Some(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.scope = input; + self + } + ///

                                                                                                When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                                + pub fn next_marker(mut self, input: impl Into) -> Self { + self.next_marker = Some(input.into()); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.next_marker = input; + self + } + ///

                                                                                                The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                                + pub fn limit(mut self, input: i32) -> Self { + self.limit = Some(input); + self + } + pub fn set_limit(mut self, input: std::option::Option) -> Self { + self.limit = input; + self + } + /// Consumes the builder and constructs a [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::ListWebAcLsInput { + scope: self.scope, + next_marker: self.next_marker, + limit: self.limit, + }) + } + } +} +#[doc(hidden)] +pub type ListWebACLsInputOperationOutputAlias = crate::operation::ListWebACLs; +#[doc(hidden)] +pub type ListWebACLsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl ListWebAcLsInput { + /// Consumes the builder and constructs an Operation<[`ListWebACLs`](crate::operation::ListWebACLs)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::ListWebACLs, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_list_web_ac_ls(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); @@ -5560,72 +6126,294 @@ impl ListWebAcLsInput { if let Some(content_length) = body.content_length() { builder = builder.header(http::header::CONTENT_LENGTH, content_length) } - builder.body(body).expect("should be valid request") - } - /// Creates a new builder-style object to manufacture [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) - pub fn builder() -> crate::input::list_web_ac_ls_input::Builder { - crate::input::list_web_ac_ls_input::Builder::default() - } -} - -/// See [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) -pub mod put_logging_configuration_input { - /// A builder for [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) - #[non_exhaustive] - #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] - pub struct Builder { - pub(crate) logging_configuration: std::option::Option, - } - impl Builder { - ///

                                                                                                - pub fn logging_configuration(mut self, input: crate::model::LoggingConfiguration) -> Self { - self.logging_configuration = Some(input); + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`ListWebAcLsInput`](crate::input::ListWebAcLsInput) + pub fn builder() -> crate::input::list_web_ac_ls_input::Builder { + crate::input::list_web_ac_ls_input::Builder::default() + } +} + +/// See [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) +pub mod put_logging_configuration_input { + /// A builder for [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) logging_configuration: std::option::Option, + } + impl Builder { + ///

                                                                                                + pub fn logging_configuration(mut self, input: crate::model::LoggingConfiguration) -> Self { + self.logging_configuration = Some(input); + self + } + pub fn set_logging_configuration( + mut self, + input: std::option::Option, + ) -> Self { + self.logging_configuration = input; + self + } + /// Consumes the builder and constructs a [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) + pub fn build( + self, + ) -> std::result::Result< + crate::input::PutLoggingConfigurationInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::PutLoggingConfigurationInput { + logging_configuration: self.logging_configuration, + }) + } + } +} +#[doc(hidden)] +pub type PutLoggingConfigurationInputOperationOutputAlias = + crate::operation::PutLoggingConfiguration; +#[doc(hidden)] +pub type PutLoggingConfigurationInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl PutLoggingConfigurationInput { + /// Consumes the builder and constructs an Operation<[`PutLoggingConfiguration`](crate::operation::PutLoggingConfiguration)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::PutLoggingConfiguration, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = crate::operation_ser::serialize_operation_put_logging_configuration(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::PutLoggingConfiguration::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "PutLoggingConfiguration", + "wafv2", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "AWSWAF_20190729.PutLoggingConfiguration", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) + pub fn builder() -> crate::input::put_logging_configuration_input::Builder { + crate::input::put_logging_configuration_input::Builder::default() + } +} + +/// See [`PutManagedRuleSetVersionsInput`](crate::input::PutManagedRuleSetVersionsInput) +pub mod put_managed_rule_set_versions_input { + /// A builder for [`PutManagedRuleSetVersionsInput`](crate::input::PutManagedRuleSetVersionsInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) scope: std::option::Option, + pub(crate) id: std::option::Option, + pub(crate) lock_token: std::option::Option, + pub(crate) recommended_version: std::option::Option, + pub(crate) versions_to_publish: std::option::Option< + std::collections::HashMap, + >, + } + impl Builder { + ///

                                                                                                The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                                + ///

                                                                                                This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                                + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                                Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + ///

                                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.scope = Some(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.scope = input; + self + } + ///

                                                                                                A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                                + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + pub fn lock_token(mut self, input: impl Into) -> Self { + self.lock_token = Some(input.into()); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.lock_token = input; + self + } + ///

                                                                                                The version of the named managed rule group that you'd like your customers to choose, + /// from among your version offerings.

                                                                                                + pub fn recommended_version(mut self, input: impl Into) -> Self { + self.recommended_version = Some(input.into()); self } - pub fn set_logging_configuration( + pub fn set_recommended_version( mut self, - input: std::option::Option, + input: std::option::Option, ) -> Self { - self.logging_configuration = input; + self.recommended_version = input; self } - /// Consumes the builder and constructs a [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) + pub fn versions_to_publish( + mut self, + k: impl Into, + v: impl Into, + ) -> Self { + let mut hash_map = self.versions_to_publish.unwrap_or_default(); + hash_map.insert(k.into(), v.into()); + self.versions_to_publish = Some(hash_map); + self + } + pub fn set_versions_to_publish( + mut self, + input: std::option::Option< + std::collections::HashMap, + >, + ) -> Self { + self.versions_to_publish = input; + self + } + /// Consumes the builder and constructs a [`PutManagedRuleSetVersionsInput`](crate::input::PutManagedRuleSetVersionsInput) pub fn build( self, ) -> std::result::Result< - crate::input::PutLoggingConfigurationInput, + crate::input::PutManagedRuleSetVersionsInput, smithy_http::operation::BuildError, > { - Ok(crate::input::PutLoggingConfigurationInput { - logging_configuration: self.logging_configuration, + Ok(crate::input::PutManagedRuleSetVersionsInput { + name: self.name, + scope: self.scope, + id: self.id, + lock_token: self.lock_token, + recommended_version: self.recommended_version, + versions_to_publish: self.versions_to_publish, }) } } } #[doc(hidden)] -pub type PutLoggingConfigurationInputOperationOutputAlias = - crate::operation::PutLoggingConfiguration; +pub type PutManagedRuleSetVersionsInputOperationOutputAlias = + crate::operation::PutManagedRuleSetVersions; #[doc(hidden)] -pub type PutLoggingConfigurationInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl PutLoggingConfigurationInput { - /// Consumes the builder and constructs an Operation<[`PutLoggingConfiguration`](crate::operation::PutLoggingConfiguration)> +pub type PutManagedRuleSetVersionsInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl PutManagedRuleSetVersionsInput { + /// Consumes the builder and constructs an Operation<[`PutManagedRuleSetVersions`](crate::operation::PutManagedRuleSetVersions)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::PutLoggingConfiguration, + crate::operation::PutManagedRuleSetVersions, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, > { Ok({ let request = self.request_builder_base()?; - let body = crate::operation_ser::serialize_operation_put_logging_configuration(&self) - .map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + let body = + crate::operation_ser::serialize_operation_put_managed_rule_set_versions(&self) + .map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -5656,10 +6444,10 @@ impl PutLoggingConfigurationInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::PutLoggingConfiguration::new(), + crate::operation::PutManagedRuleSetVersions::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "PutLoggingConfiguration", + "PutManagedRuleSetVersions", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -5692,7 +6480,7 @@ impl PutLoggingConfigurationInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.PutLoggingConfiguration", + "AWSWAF_20190729.PutManagedRuleSetVersions", ); Ok(builder) } @@ -5705,9 +6493,9 @@ impl PutLoggingConfigurationInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`PutLoggingConfigurationInput`](crate::input::PutLoggingConfigurationInput) - pub fn builder() -> crate::input::put_logging_configuration_input::Builder { - crate::input::put_logging_configuration_input::Builder::default() + /// Creates a new builder-style object to manufacture [`PutManagedRuleSetVersionsInput`](crate::input::PutManagedRuleSetVersionsInput) + pub fn builder() -> crate::input::put_managed_rule_set_versions_input::Builder { + crate::input::put_managed_rule_set_versions_input::Builder::default() } } @@ -5721,7 +6509,8 @@ pub mod put_permission_policy_input { pub(crate) policy: std::option::Option, } impl Builder { - ///

                                                                                                The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                                                                + ///

                                                                                                The Amazon Resource Name (ARN) of the RuleGroup to which you want to + /// attach the policy.

                                                                                                pub fn resource_arn(mut self, input: impl Into) -> Self { self.resource_arn = Some(input.into()); self @@ -6053,44 +6842,249 @@ pub mod untag_resource_input { self.resource_arn = input; self } - pub fn tag_keys(mut self, input: impl Into) -> Self { - let mut v = self.tag_keys.unwrap_or_default(); + pub fn tag_keys(mut self, input: impl Into) -> Self { + let mut v = self.tag_keys.unwrap_or_default(); + v.push(input.into()); + self.tag_keys = Some(v); + self + } + pub fn set_tag_keys( + mut self, + input: std::option::Option>, + ) -> Self { + self.tag_keys = input; + self + } + /// Consumes the builder and constructs a [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn build( + self, + ) -> std::result::Result + { + Ok(crate::input::UntagResourceInput { + resource_arn: self.resource_arn, + tag_keys: self.tag_keys, + }) + } + } +} +#[doc(hidden)] +pub type UntagResourceInputOperationOutputAlias = crate::operation::UntagResource; +#[doc(hidden)] +pub type UntagResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UntagResourceInput { + /// Consumes the builder and constructs an Operation<[`UntagResource`](crate::operation::UntagResource)> + #[allow(clippy::let_and_return)] + pub fn make_operation( + &self, + _config: &crate::config::Config, + ) -> std::result::Result< + smithy_http::operation::Operation< + crate::operation::UntagResource, + aws_http::AwsErrorRetryPolicy, + >, + smithy_http::operation::BuildError, + > { + Ok({ + let request = self.request_builder_base()?; + let body = + crate::operation_ser::serialize_operation_untag_resource(&self).map_err(|err| { + smithy_http::operation::BuildError::SerializationError(err.into()) + })?; + let request = Self::assemble(request, body); + #[allow(unused_mut)] + let mut request = + smithy_http::operation::Request::new(request.map(smithy_http::body::SdkBody::from)); + request.properties_mut().insert( + aws_http::user_agent::AwsUserAgent::new_from_environment( + crate::API_METADATA.clone(), + ), + ); + #[allow(unused_mut)] + let mut signing_config = aws_sig_auth::signer::OperationSigningConfig::default_config(); + request.properties_mut().insert(signing_config); + request + .properties_mut() + .insert(aws_types::SigningService::from_static( + _config.signing_service(), + )); + aws_endpoint::set_endpoint_resolver( + &mut request.properties_mut(), + _config.endpoint_resolver.clone(), + ); + if let Some(region) = &_config.region { + request.properties_mut().insert(region.clone()); + } + aws_auth::provider::set_provider( + &mut request.properties_mut(), + _config.credentials_provider.clone(), + ); + let op = smithy_http::operation::Operation::new( + request, + crate::operation::UntagResource::new(), + ) + .with_metadata(smithy_http::operation::Metadata::new( + "UntagResource", + "wafv2", + )); + let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); + op + }) + } + fn uri_base(&self, output: &mut String) -> Result<(), smithy_http::operation::BuildError> { + write!(output, "/").expect("formatting should succeed"); + Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + &self, + builder: http::request::Builder, + ) -> std::result::Result { + let mut uri = String::new(); + self.uri_base(&mut uri)?; + Ok(builder.method("POST").uri(uri)) + } + #[allow(clippy::unnecessary_wraps)] + fn request_builder_base( + &self, + ) -> std::result::Result { + let mut builder = self.update_http_builder(http::request::Builder::new())?; + builder = smithy_http::header::set_header_if_absent( + builder, + "content-type", + "application/x-amz-json-1.1", + ); + builder = smithy_http::header::set_header_if_absent( + builder, + "x-amz-target", + "AWSWAF_20190729.UntagResource", + ); + Ok(builder) + } + fn assemble( + mut builder: http::request::Builder, + body: smithy_http::body::SdkBody, + ) -> http::request::Request { + if let Some(content_length) = body.content_length() { + builder = builder.header(http::header::CONTENT_LENGTH, content_length) + } + builder.body(body).expect("should be valid request") + } + /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) + pub fn builder() -> crate::input::untag_resource_input::Builder { + crate::input::untag_resource_input::Builder::default() + } +} + +/// See [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) +pub mod update_ip_set_input { + /// A builder for [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) scope: std::option::Option, + pub(crate) id: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) addresses: std::option::Option>, + pub(crate) lock_token: std::option::Option, + } + impl Builder { + ///

                                                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                                                + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                                Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + ///

                                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub fn scope(mut self, input: crate::model::Scope) -> Self { + self.scope = Some(input); + self + } + pub fn set_scope(mut self, input: std::option::Option) -> Self { + self.scope = input; + self + } + ///

                                                                                                A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                                + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + ///

                                                                                                A description of the IP set that helps with identification.

                                                                                                + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + pub fn addresses(mut self, input: impl Into) -> Self { + let mut v = self.addresses.unwrap_or_default(); v.push(input.into()); - self.tag_keys = Some(v); + self.addresses = Some(v); self } - pub fn set_tag_keys( + pub fn set_addresses( mut self, input: std::option::Option>, ) -> Self { - self.tag_keys = input; + self.addresses = input; self } - /// Consumes the builder and constructs a [`UntagResourceInput`](crate::input::UntagResourceInput) + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + pub fn lock_token(mut self, input: impl Into) -> Self { + self.lock_token = Some(input.into()); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.lock_token = input; + self + } + /// Consumes the builder and constructs a [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) pub fn build( self, - ) -> std::result::Result + ) -> std::result::Result { - Ok(crate::input::UntagResourceInput { - resource_arn: self.resource_arn, - tag_keys: self.tag_keys, + Ok(crate::input::UpdateIpSetInput { + name: self.name, + scope: self.scope, + id: self.id, + description: self.description, + addresses: self.addresses, + lock_token: self.lock_token, }) } } } #[doc(hidden)] -pub type UntagResourceInputOperationOutputAlias = crate::operation::UntagResource; +pub type UpdateIPSetInputOperationOutputAlias = crate::operation::UpdateIPSet; #[doc(hidden)] -pub type UntagResourceInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl UntagResourceInput { - /// Consumes the builder and constructs an Operation<[`UntagResource`](crate::operation::UntagResource)> +pub type UpdateIPSetInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; +impl UpdateIpSetInput { + /// Consumes the builder and constructs an Operation<[`UpdateIPSet`](crate::operation::UpdateIPSet)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::UntagResource, + crate::operation::UpdateIPSet, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -6098,7 +7092,7 @@ impl UntagResourceInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_untag_resource(&self).map_err(|err| { + crate::operation_ser::serialize_operation_update_ip_set(&self).map_err(|err| { smithy_http::operation::BuildError::SerializationError(err.into()) })?; let request = Self::assemble(request, body); @@ -6131,10 +7125,10 @@ impl UntagResourceInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::UntagResource::new(), + crate::operation::UpdateIPSet::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "UntagResource", + "UpdateIPSet", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -6167,7 +7161,7 @@ impl UntagResourceInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.UntagResource", + "AWSWAF_20190729.UpdateIPSet", ); Ok(builder) } @@ -6180,27 +7174,28 @@ impl UntagResourceInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`UntagResourceInput`](crate::input::UntagResourceInput) - pub fn builder() -> crate::input::untag_resource_input::Builder { - crate::input::untag_resource_input::Builder::default() + /// Creates a new builder-style object to manufacture [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) + pub fn builder() -> crate::input::update_ip_set_input::Builder { + crate::input::update_ip_set_input::Builder::default() } } -/// See [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) -pub mod update_ip_set_input { - /// A builder for [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) +/// See [`UpdateManagedRuleSetVersionExpiryDateInput`](crate::input::UpdateManagedRuleSetVersionExpiryDateInput) +pub mod update_managed_rule_set_version_expiry_date_input { + /// A builder for [`UpdateManagedRuleSetVersionExpiryDateInput`](crate::input::UpdateManagedRuleSetVersionExpiryDateInput) #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { pub(crate) name: std::option::Option, pub(crate) scope: std::option::Option, pub(crate) id: std::option::Option, - pub(crate) description: std::option::Option, - pub(crate) addresses: std::option::Option>, pub(crate) lock_token: std::option::Option, + pub(crate) version_to_expire: std::option::Option, + pub(crate) expiry_timestamp: std::option::Option, } impl Builder { - ///

                                                                                                The name of the IP set. You cannot change the name of an IPSet after you create it.

                                                                                                + ///

                                                                                                The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                                + ///

                                                                                                This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                                pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -6227,7 +7222,7 @@ pub mod update_ip_set_input { self.scope = input; self } - ///

                                                                                                A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                                + ///

                                                                                                A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                                pub fn id(mut self, input: impl Into) -> Self { self.id = Some(input.into()); self @@ -6236,66 +7231,74 @@ pub mod update_ip_set_input { self.id = input; self } - ///

                                                                                                A description of the IP set that helps with identification.

                                                                                                - pub fn description(mut self, input: impl Into) -> Self { - self.description = Some(input.into()); + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + pub fn lock_token(mut self, input: impl Into) -> Self { + self.lock_token = Some(input.into()); self } - pub fn set_description(mut self, input: std::option::Option) -> Self { - self.description = input; + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.lock_token = input; self } - pub fn addresses(mut self, input: impl Into) -> Self { - let mut v = self.addresses.unwrap_or_default(); - v.push(input.into()); - self.addresses = Some(v); + ///

                                                                                                The version that you want to remove from your list of offerings for the named managed + /// rule group.

                                                                                                + pub fn version_to_expire(mut self, input: impl Into) -> Self { + self.version_to_expire = Some(input.into()); self } - pub fn set_addresses( + pub fn set_version_to_expire( mut self, - input: std::option::Option>, + input: std::option::Option, ) -> Self { - self.addresses = input; + self.version_to_expire = input; self } - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                - pub fn lock_token(mut self, input: impl Into) -> Self { - self.lock_token = Some(input.into()); + ///

                                                                                                The time that you want the version to expire.

                                                                                                + ///

                                                                                                Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

                                                                                                + pub fn expiry_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.expiry_timestamp = Some(input); self } - pub fn set_lock_token(mut self, input: std::option::Option) -> Self { - self.lock_token = input; + pub fn set_expiry_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.expiry_timestamp = input; self } - /// Consumes the builder and constructs a [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) + /// Consumes the builder and constructs a [`UpdateManagedRuleSetVersionExpiryDateInput`](crate::input::UpdateManagedRuleSetVersionExpiryDateInput) pub fn build( self, - ) -> std::result::Result - { - Ok(crate::input::UpdateIpSetInput { + ) -> std::result::Result< + crate::input::UpdateManagedRuleSetVersionExpiryDateInput, + smithy_http::operation::BuildError, + > { + Ok(crate::input::UpdateManagedRuleSetVersionExpiryDateInput { name: self.name, scope: self.scope, id: self.id, - description: self.description, - addresses: self.addresses, lock_token: self.lock_token, + version_to_expire: self.version_to_expire, + expiry_timestamp: self.expiry_timestamp, }) } } } #[doc(hidden)] -pub type UpdateIPSetInputOperationOutputAlias = crate::operation::UpdateIPSet; +pub type UpdateManagedRuleSetVersionExpiryDateInputOperationOutputAlias = + crate::operation::UpdateManagedRuleSetVersionExpiryDate; #[doc(hidden)] -pub type UpdateIPSetInputOperationRetryAlias = aws_http::AwsErrorRetryPolicy; -impl UpdateIpSetInput { - /// Consumes the builder and constructs an Operation<[`UpdateIPSet`](crate::operation::UpdateIPSet)> +pub type UpdateManagedRuleSetVersionExpiryDateInputOperationRetryAlias = + aws_http::AwsErrorRetryPolicy; +impl UpdateManagedRuleSetVersionExpiryDateInput { + /// Consumes the builder and constructs an Operation<[`UpdateManagedRuleSetVersionExpiryDate`](crate::operation::UpdateManagedRuleSetVersionExpiryDate)> #[allow(clippy::let_and_return)] pub fn make_operation( &self, _config: &crate::config::Config, ) -> std::result::Result< smithy_http::operation::Operation< - crate::operation::UpdateIPSet, + crate::operation::UpdateManagedRuleSetVersionExpiryDate, aws_http::AwsErrorRetryPolicy, >, smithy_http::operation::BuildError, @@ -6303,9 +7306,8 @@ impl UpdateIpSetInput { Ok({ let request = self.request_builder_base()?; let body = - crate::operation_ser::serialize_operation_update_ip_set(&self).map_err(|err| { - smithy_http::operation::BuildError::SerializationError(err.into()) - })?; + crate::operation_ser::serialize_operation_update_managed_rule_set_version_expiry_date(&self).map_err(|err|smithy_http::operation::BuildError::SerializationError(err.into()))? + ; let request = Self::assemble(request, body); #[allow(unused_mut)] let mut request = @@ -6336,10 +7338,10 @@ impl UpdateIpSetInput { ); let op = smithy_http::operation::Operation::new( request, - crate::operation::UpdateIPSet::new(), + crate::operation::UpdateManagedRuleSetVersionExpiryDate::new(), ) .with_metadata(smithy_http::operation::Metadata::new( - "UpdateIPSet", + "UpdateManagedRuleSetVersionExpiryDate", "wafv2", )); let op = op.with_retry_policy(aws_http::AwsErrorRetryPolicy::new()); @@ -6372,7 +7374,7 @@ impl UpdateIpSetInput { builder = smithy_http::header::set_header_if_absent( builder, "x-amz-target", - "AWSWAF_20190729.UpdateIPSet", + "AWSWAF_20190729.UpdateManagedRuleSetVersionExpiryDate", ); Ok(builder) } @@ -6385,9 +7387,9 @@ impl UpdateIpSetInput { } builder.body(body).expect("should be valid request") } - /// Creates a new builder-style object to manufacture [`UpdateIpSetInput`](crate::input::UpdateIpSetInput) - pub fn builder() -> crate::input::update_ip_set_input::Builder { - crate::input::update_ip_set_input::Builder::default() + /// Creates a new builder-style object to manufacture [`UpdateManagedRuleSetVersionExpiryDateInput`](crate::input::UpdateManagedRuleSetVersionExpiryDateInput) + pub fn builder() -> crate::input::update_managed_rule_set_version_expiry_date_input::Builder { + crate::input::update_managed_rule_set_version_expiry_date_input::Builder::default() } } @@ -6463,7 +7465,7 @@ pub mod update_regex_pattern_set_input { self.regular_expression_list = input; self } - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -6686,7 +7688,7 @@ pub mod update_rule_group_input { self.visibility_config = input; self } - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -6942,7 +7944,7 @@ pub mod update_web_acl_input { self.visibility_config = input; self } - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -7126,7 +8128,7 @@ pub struct UpdateWebAclInput { pub rules: std::option::Option>, ///

                                                                                                Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                                pub visibility_config: std::option::Option, - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub lock_token: std::option::Option, ///

                                                                                                A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.

                                                                                                ///

                                                                                                For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the @@ -7180,7 +8182,7 @@ pub struct UpdateRuleGroupInput { pub rules: std::option::Option>, ///

                                                                                                Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                                pub visibility_config: std::option::Option, - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub lock_token: std::option::Option, ///

                                                                                                A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.

                                                                                                ///

                                                                                                For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the @@ -7228,7 +8230,7 @@ pub struct UpdateRegexPatternSetInput { pub description: std::option::Option, ///

                                                                                                pub regular_expression_list: std::option::Option>, - ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                pub lock_token: std::option::Option, } impl std::fmt::Debug for UpdateRegexPatternSetInput { @@ -7244,6 +8246,47 @@ impl std::fmt::Debug for UpdateRegexPatternSetInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateManagedRuleSetVersionExpiryDateInput { + ///

                                                                                                The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                                + ///

                                                                                                This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                                + pub name: std::option::Option, + ///

                                                                                                Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                                + ///

                                                                                                To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                                + ///
                                                                                                  + ///
                                                                                                • + ///

                                                                                                  CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                • + ///

                                                                                                  API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                  + ///
                                                                                                • + ///
                                                                                                + pub scope: std::option::Option, + ///

                                                                                                A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                                + pub id: std::option::Option, + ///

                                                                                                A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                                + pub lock_token: std::option::Option, + ///

                                                                                                The version that you want to remove from your list of offerings for the named managed + /// rule group.

                                                                                                + pub version_to_expire: std::option::Option, + ///

                                                                                                The time that you want the version to expire.

                                                                                                + ///

                                                                                                Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

                                                                                                + pub expiry_timestamp: std::option::Option, +} +impl std::fmt::Debug for UpdateManagedRuleSetVersionExpiryDateInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateManagedRuleSetVersionExpiryDateInput"); + formatter.field("name", &self.name); + formatter.field("scope", &self.scope); + formatter.field("id", &self.id); + formatter.field("lock_token", &self.lock_token); + formatter.field("version_to_expire", &self.version_to_expire); + formatter.field("expiry_timestamp", &self.expiry_timestamp); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateIpSetInput { @@ -7281,10 +8324,9 @@ pub struct UpdateIpSetInput { ///

                                                                                                To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

                                                                                                /// ///
                                                                                              - ///

                                                                                              For more information about CIDR notation, see the Wikipedia entry Classless - /// Inter-Domain Routing.

                                                                                              + ///

                                                                                              For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

                                                                                              pub addresses: std::option::Option>, - ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              pub lock_token: std::option::Option, } impl std::fmt::Debug for UpdateIpSetInput { @@ -7337,7 +8379,8 @@ impl std::fmt::Debug for TagResourceInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutPermissionPolicyInput { - ///

                                                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

                                                                                              + ///

                                                                                              The Amazon Resource Name (ARN) of the RuleGroup to which you want to + /// attach the policy.

                                                                                              pub resource_arn: std::option::Option, ///

                                                                                              The policy to attach to the specified rule group.

                                                                                              ///

                                                                                              The policy specifications must conform to the following:

                                                                                              @@ -7372,6 +8415,49 @@ impl std::fmt::Debug for PutPermissionPolicyInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutManagedRuleSetVersionsInput { + ///

                                                                                              The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                              + ///

                                                                                              This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                              + pub name: std::option::Option, + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub scope: std::option::Option, + ///

                                                                                              A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                              + pub id: std::option::Option, + ///

                                                                                              A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                              + pub lock_token: std::option::Option, + ///

                                                                                              The version of the named managed rule group that you'd like your customers to choose, + /// from among your version offerings.

                                                                                              + pub recommended_version: std::option::Option, + ///

                                                                                              The versions of the named managed rule group that you want to offer to your customers. + ///

                                                                                              + pub versions_to_publish: std::option::Option< + std::collections::HashMap, + >, +} +impl std::fmt::Debug for PutManagedRuleSetVersionsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutManagedRuleSetVersionsInput"); + formatter.field("name", &self.name); + formatter.field("scope", &self.scope); + formatter.field("id", &self.id); + formatter.field("lock_token", &self.lock_token); + formatter.field("recommended_version", &self.recommended_version); + formatter.field("versions_to_publish", &self.versions_to_publish); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutLoggingConfigurationInput { @@ -7481,7 +8567,8 @@ impl std::fmt::Debug for ListRuleGroupsInput { pub struct ListResourcesForWebAclInput { ///

                                                                                              The Amazon Resource Name (ARN) of the web ACL.

                                                                                              pub web_acl_arn: std::option::Option, - ///

                                                                                              Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              Used for web ACLs that are scoped for regional applications. + /// A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              pub resource_type: std::option::Option, } impl std::fmt::Debug for ListResourcesForWebAclInput { @@ -7526,6 +8613,39 @@ impl std::fmt::Debug for ListRegexPatternSetsInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListManagedRuleSetsInput { + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub scope: std::option::Option, + ///

                                                                                              When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                              + pub next_marker: std::option::Option, + ///

                                                                                              The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                              + pub limit: std::option::Option, +} +impl std::fmt::Debug for ListManagedRuleSetsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListManagedRuleSetsInput"); + formatter.field("scope", &self.scope); + formatter.field("next_marker", &self.next_marker); + formatter.field("limit", &self.limit); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListLoggingConfigurationsInput { @@ -7592,6 +8712,45 @@ impl std::fmt::Debug for ListIpSetsInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAvailableManagedRuleGroupVersionsInput { + ///

                                                                                              The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

                                                                                              + pub vendor_name: std::option::Option, + ///

                                                                                              The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                                              + pub name: std::option::Option, + ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              + ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              + ///
                                                                                                + ///
                                                                                              • + ///

                                                                                                CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              • + ///

                                                                                                API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                                + ///
                                                                                              • + ///
                                                                                              + pub scope: std::option::Option, + ///

                                                                                              When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                              + pub next_marker: std::option::Option, + ///

                                                                                              The maximum number of objects that you want WAF to return for this request. If more + /// objects are available, in the response, WAF provides a + /// NextMarker value that you can use in a subsequent call to get the next batch of objects.

                                                                                              + pub limit: std::option::Option, +} +impl std::fmt::Debug for ListAvailableManagedRuleGroupVersionsInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAvailableManagedRuleGroupVersionsInput"); + formatter.field("vendor_name", &self.vendor_name); + formatter.field("name", &self.name); + formatter.field("scope", &self.scope); + formatter.field("next_marker", &self.next_marker); + formatter.field("limit", &self.limit); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListAvailableManagedRuleGroupsInput { @@ -7671,9 +8830,11 @@ impl std::fmt::Debug for GetWebAclInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetSampledRequestsInput { - ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.

                                                                                              + ///

                                                                                              The Amazon resource name (ARN) of the WebACL for which you want a sample of + /// requests.

                                                                                              pub web_acl_arn: std::option::Option, - ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.

                                                                                              + ///

                                                                                              The metric name assigned to the Rule or RuleGroup for which + /// you want a sample of requests.

                                                                                              pub rule_metric_name: std::option::Option, ///

                                                                                              Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                              ///

                                                                                              To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                              @@ -7686,11 +8847,16 @@ pub struct GetSampledRequestsInput { ///
                                                                                            • ///
                                                                                            pub scope: std::option::Option, - ///

                                                                                            The start date and time and the end date and time of the range for which you want GetSampledRequests to return a - /// sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours. If you specify a start time that's earlier than three hours ago, WAF sets it to three hours ago.

                                                                                            + ///

                                                                                            The start date and time and the end date and time of the range for which you want + /// GetSampledRequests to return a sample of requests. You must specify the + /// times in Coordinated Universal Time (UTC) format. UTC format includes the special + /// designator, Z. For example, "2016-09-27T14:50Z". You can specify + /// any time range in the previous three hours. If you specify a start time that's earlier than + /// three hours ago, WAF sets it to three hours ago.

                                                                                            pub time_window: std::option::Option, - ///

                                                                                            The number of requests that you want WAF to return from among the first 5,000 requests that your Amazon Web Services resource received - /// during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests + ///

                                                                                            The number of requests that you want WAF to return from among the first 5,000 + /// requests that your Amazon Web Services resource received during the time range. If your resource received + /// fewer requests than the value of MaxItems, GetSampledRequests /// returns information about all of them.

                                                                                            pub max_items: i64, } @@ -7802,7 +8968,8 @@ impl std::fmt::Debug for GetRateBasedStatementManagedKeysInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetPermissionPolicyInput { - ///

                                                                                            The Amazon Resource Name (ARN) of the rule group for which you want to get the policy.

                                                                                            + ///

                                                                                            The Amazon Resource Name (ARN) of the rule group for which you want to get the + /// policy.

                                                                                            pub resource_arn: std::option::Option, } impl std::fmt::Debug for GetPermissionPolicyInput { @@ -7813,6 +8980,36 @@ impl std::fmt::Debug for GetPermissionPolicyInput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetManagedRuleSetInput { + ///

                                                                                            The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                            + ///

                                                                                            This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                            + pub name: std::option::Option, + ///

                                                                                            Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                            + ///

                                                                                            To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

                                                                                            + ///
                                                                                              + ///
                                                                                            • + ///

                                                                                              CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

                                                                                              + ///
                                                                                            • + ///
                                                                                            • + ///

                                                                                              API and SDKs - For all calls, use the Region endpoint us-east-1.

                                                                                              + ///
                                                                                            • + ///
                                                                                            + pub scope: std::option::Option, + ///

                                                                                            A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                            + pub id: std::option::Option, +} +impl std::fmt::Debug for GetManagedRuleSetInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetManagedRuleSetInput"); + formatter.field("name", &self.name); + formatter.field("scope", &self.scope); + formatter.field("id", &self.id); + formatter.finish() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetLoggingConfigurationInput { @@ -7906,6 +9103,10 @@ pub struct DescribeManagedRuleGroupInput { /// ///
                                                                                          pub scope: std::option::Option, + ///

                                                                                          The version of the rule group. You can only use a version that is not + /// scheduled for expiration. If you don't provide this, WAF uses the vendor's default version. + ///

                                                                                          + pub version_name: std::option::Option, } impl std::fmt::Debug for DescribeManagedRuleGroupInput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -7913,6 +9114,7 @@ impl std::fmt::Debug for DescribeManagedRuleGroupInput { formatter.field("vendor_name", &self.vendor_name); formatter.field("name", &self.name); formatter.field("scope", &self.scope); + formatter.field("version_name", &self.version_name); formatter.finish() } } @@ -7935,7 +9137,7 @@ pub struct DeleteWebAclInput { pub scope: std::option::Option, ///

                                                                                          The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          pub id: std::option::Option, - ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          + ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          pub lock_token: std::option::Option, } impl std::fmt::Debug for DeleteWebAclInput { @@ -7967,7 +9169,7 @@ pub struct DeleteRuleGroupInput { pub scope: std::option::Option, ///

                                                                                          A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          pub id: std::option::Option, - ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          + ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          pub lock_token: std::option::Option, } impl std::fmt::Debug for DeleteRuleGroupInput { @@ -7999,7 +9201,7 @@ pub struct DeleteRegexPatternSetInput { pub scope: std::option::Option, ///

                                                                                          A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          pub id: std::option::Option, - ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          + ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          pub lock_token: std::option::Option, } impl std::fmt::Debug for DeleteRegexPatternSetInput { @@ -8016,7 +9218,8 @@ impl std::fmt::Debug for DeleteRegexPatternSetInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeletePermissionPolicyInput { - ///

                                                                                          The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy.

                                                                                          + ///

                                                                                          The Amazon Resource Name (ARN) of the rule group from which you want to delete the + /// policy.

                                                                                          ///

                                                                                          You must be the owner of the rule group to perform this operation.

                                                                                          pub resource_arn: std::option::Option, } @@ -8060,7 +9263,7 @@ pub struct DeleteIpSetInput { pub scope: std::option::Option, ///

                                                                                          A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

                                                                                          pub id: std::option::Option, - ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          + ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          pub lock_token: std::option::Option, } impl std::fmt::Debug for DeleteIpSetInput { @@ -8079,7 +9282,7 @@ impl std::fmt::Debug for DeleteIpSetInput { pub struct DeleteFirewallManagerRuleGroupsInput { ///

                                                                                          The Amazon Resource Name (ARN) of the web ACL.

                                                                                          pub web_acl_arn: std::option::Option, - ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          + ///

                                                                                          A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                          pub web_acl_lock_token: std::option::Option, } impl std::fmt::Debug for DeleteFirewallManagerRuleGroupsInput { @@ -8261,7 +9464,7 @@ pub struct CreateIpSetInput { pub scope: std::option::Option, ///

                                                                                          A description of the IP set that helps with identification.

                                                                                          pub description: std::option::Option, - ///

                                                                                          Specify IPV4 or IPV6.

                                                                                          + ///

                                                                                          The version of the IP addresses, either IPV4 or IPV6.

                                                                                          pub ip_address_version: std::option::Option, ///

                                                                                          Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

                                                                                          ///

                                                                                          Examples:

                                                                                          @@ -8280,8 +9483,7 @@ pub struct CreateIpSetInput { ///

                                                                                          To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

                                                                                          /// ///
                                                                                        - ///

                                                                                        For more information about CIDR notation, see the Wikipedia entry Classless - /// Inter-Domain Routing.

                                                                                        + ///

                                                                                        For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

                                                                                        pub addresses: std::option::Option>, ///

                                                                                        An array of key:value pairs to associate with the resource.

                                                                                        pub tags: std::option::Option>, @@ -8313,7 +9515,8 @@ pub struct CheckCapacityInput { ///
                                                                                      • ///
                                                                                      pub scope: std::option::Option, - ///

                                                                                      An array of Rule that you're configuring to use in a rule group or web ACL.

                                                                                      + ///

                                                                                      An array of Rule that you're configuring to use in a rule group or web + /// ACL.

                                                                                      pub rules: std::option::Option>, } impl std::fmt::Debug for CheckCapacityInput { @@ -8328,7 +9531,8 @@ impl std::fmt::Debug for CheckCapacityInput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AssociateWebAclInput { - ///

                                                                                      The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

                                                                                      + ///

                                                                                      The Amazon Resource Name (ARN) of the web ACL that you want to associate with the + /// resource.

                                                                                      pub web_acl_arn: std::option::Option, ///

                                                                                      The Amazon Resource Name (ARN) of the resource to associate with the web ACL.

                                                                                      ///

                                                                                      The ARN must be in one of the following formats:

                                                                                      diff --git a/sdk/wafv2/src/json_deser.rs b/sdk/wafv2/src/json_deser.rs index d651aec4c80c..b9c1fa6c24ee 100644 --- a/sdk/wafv2/src/json_deser.rs +++ b/sdk/wafv2/src/json_deser.rs @@ -229,6 +229,48 @@ pub fn deser_structure_waf_unavailable_entity_exceptionjson_err( Ok(builder) } +pub fn deser_structure_waf_expired_managed_rule_group_version_exceptionjson_err( + input: &[u8], + mut builder: crate::error::waf_expired_managed_rule_group_version_exception::Builder, +) -> Result< + crate::error::waf_expired_managed_rule_group_version_exception::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Message" => { + builder = builder.set_message( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_structure_waf_invalid_resource_exceptionjson_err( input: &[u8], mut builder: crate::error::waf_invalid_resource_exception::Builder, @@ -794,6 +836,20 @@ pub fn deser_operation_describe_managed_rule_group( Some(smithy_json::deserialize::Token::EndObject { .. }) => break, Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { match key.to_unescaped()?.as_ref() { + "VersionName" => { + builder = builder.set_version_name( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "SnsTopicArn" => { + builder = builder.set_sns_topic_arn( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "Capacity" => { builder = builder.set_capacity( smithy_json::deserialize::token::expect_number_or_null(tokens.next())? @@ -920,6 +976,50 @@ pub fn deser_operation_get_logging_configuration( Ok(builder) } +pub fn deser_operation_get_managed_rule_set( + input: &[u8], + mut builder: crate::output::get_managed_rule_set_output::Builder, +) -> Result { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ManagedRuleSet" => { + builder = builder.set_managed_rule_set( + crate::json_deser::deser_structure_managed_rule_set(tokens)?, + ); + } + "LockToken" => { + builder = builder.set_lock_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_get_permission_policy( input: &[u8], mut builder: crate::output::get_permission_policy_output::Builder, @@ -1266,6 +1366,53 @@ pub fn deser_operation_list_available_managed_rule_groups( Ok(builder) } +pub fn deser_operation_list_available_managed_rule_group_versions( + input: &[u8], + mut builder: crate::output::list_available_managed_rule_group_versions_output::Builder, +) -> Result< + crate::output::list_available_managed_rule_group_versions_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "NextMarker" => { + builder = builder.set_next_marker( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Versions" => { + builder = builder.set_versions( + crate::json_deser::deser_list_managed_rule_group_versions(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_list_ip_sets( input: &[u8], mut builder: crate::output::list_ip_sets_output::Builder, @@ -1356,6 +1503,51 @@ pub fn deser_operation_list_logging_configurations( Ok(builder) } +pub fn deser_operation_list_managed_rule_sets( + input: &[u8], + mut builder: crate::output::list_managed_rule_sets_output::Builder, +) -> Result +{ + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "NextMarker" => { + builder = builder.set_next_marker( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ManagedRuleSets" => { + builder = builder.set_managed_rule_sets( + crate::json_deser::deser_list_managed_rule_set_summaries(tokens)?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_list_regex_pattern_sets( input: &[u8], mut builder: crate::output::list_regex_pattern_sets_output::Builder, @@ -1654,6 +1846,48 @@ pub fn deser_operation_put_logging_configuration( Ok(builder) } +pub fn deser_operation_put_managed_rule_set_versions( + input: &[u8], + mut builder: crate::output::put_managed_rule_set_versions_output::Builder, +) -> Result< + crate::output::put_managed_rule_set_versions_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "NextLockToken" => { + builder = builder.set_next_lock_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_structure_waf_invalid_permission_policy_exceptionjson_err( input: &[u8], mut builder: crate::error::waf_invalid_permission_policy_exception::Builder, @@ -1735,6 +1969,63 @@ pub fn deser_operation_update_ip_set( Ok(builder) } +pub fn deser_operation_update_managed_rule_set_version_expiry_date( + input: &[u8], + mut builder: crate::output::update_managed_rule_set_version_expiry_date_output::Builder, +) -> Result< + crate::output::update_managed_rule_set_version_expiry_date_output::Builder, + smithy_json::deserialize::Error, +> { + let mut tokens_owned = + smithy_json::deserialize::json_token_iter(crate::json_deser::or_empty_doc(input)) + .peekable(); + let tokens = &mut tokens_owned; + smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "ExpiringVersion" => { + builder = builder.set_expiring_version( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ExpiryTimestamp" => { + builder = builder.set_expiry_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "NextLockToken" => { + builder = builder.set_next_lock_token( + smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + if tokens.next().is_some() { + return Err(smithy_json::deserialize::Error::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} + pub fn deser_operation_update_regex_pattern_set( input: &[u8], mut builder: crate::output::update_regex_pattern_set_output::Builder, @@ -2412,6 +2703,101 @@ where } } +pub fn deser_structure_managed_rule_set<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ManagedRuleSet::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Id" => { + builder = builder.set_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ARN" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Description" => { + builder = builder.set_description( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "PublishedVersions" => { + builder = builder.set_published_versions( + crate::json_deser::deser_map_published_versions(tokens)?, + ); + } + "RecommendedVersion" => { + builder = builder.set_recommended_version( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "LabelNamespace" => { + builder = builder.set_label_namespace( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_rate_based_statement_managed_keys_ip_set<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -2912,6 +3298,45 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_managed_rule_group_versions<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_managed_rule_group_version(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_ip_set_summaries<'a, I>( tokens: &mut std::iter::Peekable, @@ -2948,10 +3373,49 @@ where } #[allow(clippy::type_complexity, non_snake_case)] -pub fn deser_list_logging_configurations<'a, I>( +pub fn deser_list_logging_configurations<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = + crate::json_deser::deser_structure_logging_configuration(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start array or null", + )), + } +} + +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_list_managed_rule_set_summaries<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result< - Option>, + Option>, smithy_json::deserialize::Error, > where @@ -2971,7 +3435,7 @@ where } _ => { let value = - crate::json_deser::deser_structure_logging_configuration(tokens)?; + crate::json_deser::deser_structure_managed_rule_set_summary(tokens)?; if let Some(value) = value { items.push(value); } @@ -3440,6 +3904,48 @@ where } } +#[allow(clippy::type_complexity, non_snake_case)] +pub fn deser_map_published_versions<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result< + Option>, + smithy_json::deserialize::Error, +> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + let mut map = std::collections::HashMap::new(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + let key = key.to_unescaped().map(|u| u.into_owned())?; + let value = + crate::json_deser::deser_structure_managed_rule_set_version(tokens)?; + if let Some(value) = value { + map.insert(key, value); + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(map)) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_regular_expression_list<'a, I>( tokens: &mut std::iter::Peekable, @@ -3851,6 +4357,149 @@ where } } +pub fn deser_structure_managed_rule_group_version<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ManagedRuleGroupVersion::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "LastUpdateTimestamp" => { + builder = builder.set_last_update_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + +pub fn deser_structure_managed_rule_set_summary<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ManagedRuleSetSummary::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "Name" => { + builder = builder.set_name( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Id" => { + builder = builder.set_id( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Description" => { + builder = builder.set_description( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "LockToken" => { + builder = builder.set_lock_token( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "ARN" => { + builder = builder.set_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "LabelNamespace" => { + builder = builder.set_label_namespace( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + #[allow(clippy::type_complexity, non_snake_case)] pub fn deser_list_tag_list<'a, I>( tokens: &mut std::iter::Peekable, @@ -4048,6 +4697,91 @@ where } } +pub fn deser_structure_managed_rule_set_version<'a, I>( + tokens: &mut std::iter::Peekable, +) -> Result, smithy_json::deserialize::Error> +where + I: Iterator< + Item = Result, smithy_json::deserialize::Error>, + >, +{ + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::model::ManagedRuleSetVersion::builder(); + loop { + match tokens.next().transpose()? { + Some(smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(smithy_json::deserialize::Token::ObjectKey { key, .. }) => { + match key.to_unescaped()?.as_ref() { + "AssociatedRuleGroupArn" => { + builder = builder.set_associated_rule_group_arn( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "Capacity" => { + builder = builder.set_capacity( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i64()), + ); + } + "ForecastedLifetime" => { + builder = builder.set_forecasted_lifetime( + smithy_json::deserialize::token::expect_number_or_null( + tokens.next(), + )? + .map(|v| v.to_i32()), + ); + } + "PublishTimestamp" => { + builder = builder.set_publish_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "LastUpdateTimestamp" => { + builder = builder.set_last_update_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + "ExpiryTimestamp" => { + builder = builder.set_expiry_timestamp( + smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + smithy_types::instant::Format::EpochSeconds, + )?, + ); + } + _ => smithy_json::deserialize::token::skip_value(tokens)?, + } + } + _ => { + return Err(smithy_json::deserialize::Error::custom( + "expected object key or end object", + )) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(smithy_json::deserialize::Error::custom( + "expected start object or null", + )), + } +} + pub fn deser_structure_regex<'a, I>( tokens: &mut std::iter::Peekable, ) -> Result, smithy_json::deserialize::Error> @@ -6110,6 +6844,15 @@ where .transpose()?, ); } + "Version" => { + builder = builder.set_version( + smithy_json::deserialize::token::expect_string_or_null( + tokens.next(), + )? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } "ExcludedRules" => { builder = builder.set_excluded_rules( crate::json_deser::deser_list_excluded_rules(tokens)?, diff --git a/sdk/wafv2/src/json_ser.rs b/sdk/wafv2/src/json_ser.rs index f8d48e9ff833..af94da712a0e 100644 --- a/sdk/wafv2/src/json_ser.rs +++ b/sdk/wafv2/src/json_ser.rs @@ -338,14 +338,17 @@ pub fn serialize_structure_describe_managed_rule_group_input( if let Some(var_90) = &input.scope { object.key("Scope").string(var_90.as_str()); } + if let Some(var_91) = &input.version_name { + object.key("VersionName").string(var_91); + } } pub fn serialize_structure_disassociate_web_acl_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::DisassociateWebAclInput, ) { - if let Some(var_91) = &input.resource_arn { - object.key("ResourceArn").string(var_91); + if let Some(var_92) = &input.resource_arn { + object.key("ResourceArn").string(var_92); } } @@ -353,14 +356,14 @@ pub fn serialize_structure_get_ip_set_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetIpSetInput, ) { - if let Some(var_92) = &input.name { - object.key("Name").string(var_92); + if let Some(var_93) = &input.name { + object.key("Name").string(var_93); } - if let Some(var_93) = &input.scope { - object.key("Scope").string(var_93.as_str()); + if let Some(var_94) = &input.scope { + object.key("Scope").string(var_94.as_str()); } - if let Some(var_94) = &input.id { - object.key("Id").string(var_94); + if let Some(var_95) = &input.id { + object.key("Id").string(var_95); } } @@ -368,8 +371,23 @@ pub fn serialize_structure_get_logging_configuration_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetLoggingConfigurationInput, ) { - if let Some(var_95) = &input.resource_arn { - object.key("ResourceArn").string(var_95); + if let Some(var_96) = &input.resource_arn { + object.key("ResourceArn").string(var_96); + } +} + +pub fn serialize_structure_get_managed_rule_set_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::GetManagedRuleSetInput, +) { + if let Some(var_97) = &input.name { + object.key("Name").string(var_97); + } + if let Some(var_98) = &input.scope { + object.key("Scope").string(var_98.as_str()); + } + if let Some(var_99) = &input.id { + object.key("Id").string(var_99); } } @@ -377,8 +395,8 @@ pub fn serialize_structure_get_permission_policy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetPermissionPolicyInput, ) { - if let Some(var_96) = &input.resource_arn { - object.key("ResourceArn").string(var_96); + if let Some(var_100) = &input.resource_arn { + object.key("ResourceArn").string(var_100); } } @@ -386,17 +404,17 @@ pub fn serialize_structure_get_rate_based_statement_managed_keys_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetRateBasedStatementManagedKeysInput, ) { - if let Some(var_97) = &input.scope { - object.key("Scope").string(var_97.as_str()); + if let Some(var_101) = &input.scope { + object.key("Scope").string(var_101.as_str()); } - if let Some(var_98) = &input.web_acl_name { - object.key("WebACLName").string(var_98); + if let Some(var_102) = &input.web_acl_name { + object.key("WebACLName").string(var_102); } - if let Some(var_99) = &input.web_acl_id { - object.key("WebACLId").string(var_99); + if let Some(var_103) = &input.web_acl_id { + object.key("WebACLId").string(var_103); } - if let Some(var_100) = &input.rule_name { - object.key("RuleName").string(var_100); + if let Some(var_104) = &input.rule_name { + object.key("RuleName").string(var_104); } } @@ -404,14 +422,14 @@ pub fn serialize_structure_get_regex_pattern_set_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetRegexPatternSetInput, ) { - if let Some(var_101) = &input.name { - object.key("Name").string(var_101); + if let Some(var_105) = &input.name { + object.key("Name").string(var_105); } - if let Some(var_102) = &input.scope { - object.key("Scope").string(var_102.as_str()); + if let Some(var_106) = &input.scope { + object.key("Scope").string(var_106.as_str()); } - if let Some(var_103) = &input.id { - object.key("Id").string(var_103); + if let Some(var_107) = &input.id { + object.key("Id").string(var_107); } } @@ -419,17 +437,17 @@ pub fn serialize_structure_get_rule_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetRuleGroupInput, ) { - if let Some(var_104) = &input.name { - object.key("Name").string(var_104); + if let Some(var_108) = &input.name { + object.key("Name").string(var_108); } - if let Some(var_105) = &input.scope { - object.key("Scope").string(var_105.as_str()); + if let Some(var_109) = &input.scope { + object.key("Scope").string(var_109.as_str()); } - if let Some(var_106) = &input.id { - object.key("Id").string(var_106); + if let Some(var_110) = &input.id { + object.key("Id").string(var_110); } - if let Some(var_107) = &input.arn { - object.key("ARN").string(var_107); + if let Some(var_111) = &input.arn { + object.key("ARN").string(var_111); } } @@ -437,19 +455,19 @@ pub fn serialize_structure_get_sampled_requests_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetSampledRequestsInput, ) { - if let Some(var_108) = &input.web_acl_arn { - object.key("WebAclArn").string(var_108); + if let Some(var_112) = &input.web_acl_arn { + object.key("WebAclArn").string(var_112); } - if let Some(var_109) = &input.rule_metric_name { - object.key("RuleMetricName").string(var_109); + if let Some(var_113) = &input.rule_metric_name { + object.key("RuleMetricName").string(var_113); } - if let Some(var_110) = &input.scope { - object.key("Scope").string(var_110.as_str()); + if let Some(var_114) = &input.scope { + object.key("Scope").string(var_114.as_str()); } - if let Some(var_111) = &input.time_window { - let mut object_112 = object.key("TimeWindow").start_object(); - crate::json_ser::serialize_structure_time_window(&mut object_112, var_111); - object_112.finish(); + if let Some(var_115) = &input.time_window { + let mut object_116 = object.key("TimeWindow").start_object(); + crate::json_ser::serialize_structure_time_window(&mut object_116, var_115); + object_116.finish(); } { object.key("MaxItems").number( @@ -463,14 +481,14 @@ pub fn serialize_structure_get_web_acl_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetWebAclInput, ) { - if let Some(var_113) = &input.name { - object.key("Name").string(var_113); + if let Some(var_117) = &input.name { + object.key("Name").string(var_117); } - if let Some(var_114) = &input.scope { - object.key("Scope").string(var_114.as_str()); + if let Some(var_118) = &input.scope { + object.key("Scope").string(var_118.as_str()); } - if let Some(var_115) = &input.id { - object.key("Id").string(var_115); + if let Some(var_119) = &input.id { + object.key("Id").string(var_119); } } @@ -478,8 +496,8 @@ pub fn serialize_structure_get_web_acl_for_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::GetWebAclForResourceInput, ) { - if let Some(var_116) = &input.resource_arn { - object.key("ResourceArn").string(var_116); + if let Some(var_120) = &input.resource_arn { + object.key("ResourceArn").string(var_120); } } @@ -487,16 +505,40 @@ pub fn serialize_structure_list_available_managed_rule_groups_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListAvailableManagedRuleGroupsInput, ) { - if let Some(var_117) = &input.scope { - object.key("Scope").string(var_117.as_str()); + if let Some(var_121) = &input.scope { + object.key("Scope").string(var_121.as_str()); } - if let Some(var_118) = &input.next_marker { - object.key("NextMarker").string(var_118); + if let Some(var_122) = &input.next_marker { + object.key("NextMarker").string(var_122); + } + if let Some(var_123) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_123).into()), + ); + } +} + +pub fn serialize_structure_list_available_managed_rule_group_versions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListAvailableManagedRuleGroupVersionsInput, +) { + if let Some(var_124) = &input.vendor_name { + object.key("VendorName").string(var_124); + } + if let Some(var_125) = &input.name { + object.key("Name").string(var_125); + } + if let Some(var_126) = &input.scope { + object.key("Scope").string(var_126.as_str()); + } + if let Some(var_127) = &input.next_marker { + object.key("NextMarker").string(var_127); } - if let Some(var_119) = &input.limit { + if let Some(var_128) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_119).into()), + smithy_types::Number::NegInt((*var_128).into()), ); } } @@ -505,16 +547,16 @@ pub fn serialize_structure_list_ip_sets_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListIpSetsInput, ) { - if let Some(var_120) = &input.scope { - object.key("Scope").string(var_120.as_str()); + if let Some(var_129) = &input.scope { + object.key("Scope").string(var_129.as_str()); } - if let Some(var_121) = &input.next_marker { - object.key("NextMarker").string(var_121); + if let Some(var_130) = &input.next_marker { + object.key("NextMarker").string(var_130); } - if let Some(var_122) = &input.limit { + if let Some(var_131) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_122).into()), + smithy_types::Number::NegInt((*var_131).into()), ); } } @@ -523,16 +565,34 @@ pub fn serialize_structure_list_logging_configurations_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListLoggingConfigurationsInput, ) { - if let Some(var_123) = &input.scope { - object.key("Scope").string(var_123.as_str()); + if let Some(var_132) = &input.scope { + object.key("Scope").string(var_132.as_str()); + } + if let Some(var_133) = &input.next_marker { + object.key("NextMarker").string(var_133); + } + if let Some(var_134) = &input.limit { + object.key("Limit").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_134).into()), + ); + } +} + +pub fn serialize_structure_list_managed_rule_sets_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::ListManagedRuleSetsInput, +) { + if let Some(var_135) = &input.scope { + object.key("Scope").string(var_135.as_str()); } - if let Some(var_124) = &input.next_marker { - object.key("NextMarker").string(var_124); + if let Some(var_136) = &input.next_marker { + object.key("NextMarker").string(var_136); } - if let Some(var_125) = &input.limit { + if let Some(var_137) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_125).into()), + smithy_types::Number::NegInt((*var_137).into()), ); } } @@ -541,16 +601,16 @@ pub fn serialize_structure_list_regex_pattern_sets_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListRegexPatternSetsInput, ) { - if let Some(var_126) = &input.scope { - object.key("Scope").string(var_126.as_str()); + if let Some(var_138) = &input.scope { + object.key("Scope").string(var_138.as_str()); } - if let Some(var_127) = &input.next_marker { - object.key("NextMarker").string(var_127); + if let Some(var_139) = &input.next_marker { + object.key("NextMarker").string(var_139); } - if let Some(var_128) = &input.limit { + if let Some(var_140) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_128).into()), + smithy_types::Number::NegInt((*var_140).into()), ); } } @@ -559,11 +619,11 @@ pub fn serialize_structure_list_resources_for_web_acl_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListResourcesForWebAclInput, ) { - if let Some(var_129) = &input.web_acl_arn { - object.key("WebACLArn").string(var_129); + if let Some(var_141) = &input.web_acl_arn { + object.key("WebACLArn").string(var_141); } - if let Some(var_130) = &input.resource_type { - object.key("ResourceType").string(var_130.as_str()); + if let Some(var_142) = &input.resource_type { + object.key("ResourceType").string(var_142.as_str()); } } @@ -571,16 +631,16 @@ pub fn serialize_structure_list_rule_groups_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListRuleGroupsInput, ) { - if let Some(var_131) = &input.scope { - object.key("Scope").string(var_131.as_str()); + if let Some(var_143) = &input.scope { + object.key("Scope").string(var_143.as_str()); } - if let Some(var_132) = &input.next_marker { - object.key("NextMarker").string(var_132); + if let Some(var_144) = &input.next_marker { + object.key("NextMarker").string(var_144); } - if let Some(var_133) = &input.limit { + if let Some(var_145) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_133).into()), + smithy_types::Number::NegInt((*var_145).into()), ); } } @@ -589,17 +649,17 @@ pub fn serialize_structure_list_tags_for_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListTagsForResourceInput, ) { - if let Some(var_134) = &input.next_marker { - object.key("NextMarker").string(var_134); + if let Some(var_146) = &input.next_marker { + object.key("NextMarker").string(var_146); } - if let Some(var_135) = &input.limit { + if let Some(var_147) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_135).into()), + smithy_types::Number::NegInt((*var_147).into()), ); } - if let Some(var_136) = &input.resource_arn { - object.key("ResourceARN").string(var_136); + if let Some(var_148) = &input.resource_arn { + object.key("ResourceARN").string(var_148); } } @@ -607,16 +667,16 @@ pub fn serialize_structure_list_web_ac_ls_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::ListWebAcLsInput, ) { - if let Some(var_137) = &input.scope { - object.key("Scope").string(var_137.as_str()); + if let Some(var_149) = &input.scope { + object.key("Scope").string(var_149.as_str()); } - if let Some(var_138) = &input.next_marker { - object.key("NextMarker").string(var_138); + if let Some(var_150) = &input.next_marker { + object.key("NextMarker").string(var_150); } - if let Some(var_139) = &input.limit { + if let Some(var_151) = &input.limit { object.key("Limit").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_139).into()), + smithy_types::Number::NegInt((*var_151).into()), ); } } @@ -625,10 +685,42 @@ pub fn serialize_structure_put_logging_configuration_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutLoggingConfigurationInput, ) { - if let Some(var_140) = &input.logging_configuration { - let mut object_141 = object.key("LoggingConfiguration").start_object(); - crate::json_ser::serialize_structure_logging_configuration(&mut object_141, var_140); - object_141.finish(); + if let Some(var_152) = &input.logging_configuration { + let mut object_153 = object.key("LoggingConfiguration").start_object(); + crate::json_ser::serialize_structure_logging_configuration(&mut object_153, var_152); + object_153.finish(); + } +} + +pub fn serialize_structure_put_managed_rule_set_versions_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::PutManagedRuleSetVersionsInput, +) { + if let Some(var_154) = &input.name { + object.key("Name").string(var_154); + } + if let Some(var_155) = &input.scope { + object.key("Scope").string(var_155.as_str()); + } + if let Some(var_156) = &input.id { + object.key("Id").string(var_156); + } + if let Some(var_157) = &input.lock_token { + object.key("LockToken").string(var_157); + } + if let Some(var_158) = &input.recommended_version { + object.key("RecommendedVersion").string(var_158); + } + if let Some(var_159) = &input.versions_to_publish { + let mut object_160 = object.key("VersionsToPublish").start_object(); + for (key_161, value_162) in var_159 { + { + let mut object_163 = object_160.key(key_161).start_object(); + crate::json_ser::serialize_structure_version_to_publish(&mut object_163, value_162); + object_163.finish(); + } + } + object_160.finish(); } } @@ -636,11 +728,11 @@ pub fn serialize_structure_put_permission_policy_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::PutPermissionPolicyInput, ) { - if let Some(var_142) = &input.resource_arn { - object.key("ResourceArn").string(var_142); + if let Some(var_164) = &input.resource_arn { + object.key("ResourceArn").string(var_164); } - if let Some(var_143) = &input.policy { - object.key("Policy").string(var_143); + if let Some(var_165) = &input.policy { + object.key("Policy").string(var_165); } } @@ -648,19 +740,19 @@ pub fn serialize_structure_tag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::TagResourceInput, ) { - if let Some(var_144) = &input.resource_arn { - object.key("ResourceARN").string(var_144); + if let Some(var_166) = &input.resource_arn { + object.key("ResourceARN").string(var_166); } - if let Some(var_145) = &input.tags { - let mut array_146 = object.key("Tags").start_array(); - for item_147 in var_145 { + if let Some(var_167) = &input.tags { + let mut array_168 = object.key("Tags").start_array(); + for item_169 in var_167 { { - let mut object_148 = array_146.value().start_object(); - crate::json_ser::serialize_structure_tag(&mut object_148, item_147); - object_148.finish(); + let mut object_170 = array_168.value().start_object(); + crate::json_ser::serialize_structure_tag(&mut object_170, item_169); + object_170.finish(); } } - array_146.finish(); + array_168.finish(); } } @@ -668,17 +760,17 @@ pub fn serialize_structure_untag_resource_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UntagResourceInput, ) { - if let Some(var_149) = &input.resource_arn { - object.key("ResourceARN").string(var_149); + if let Some(var_171) = &input.resource_arn { + object.key("ResourceARN").string(var_171); } - if let Some(var_150) = &input.tag_keys { - let mut array_151 = object.key("TagKeys").start_array(); - for item_152 in var_150 { + if let Some(var_172) = &input.tag_keys { + let mut array_173 = object.key("TagKeys").start_array(); + for item_174 in var_172 { { - array_151.value().string(item_152); + array_173.value().string(item_174); } } - array_151.finish(); + array_173.finish(); } } @@ -686,29 +778,55 @@ pub fn serialize_structure_update_ip_set_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateIpSetInput, ) { - if let Some(var_153) = &input.name { - object.key("Name").string(var_153); + if let Some(var_175) = &input.name { + object.key("Name").string(var_175); } - if let Some(var_154) = &input.scope { - object.key("Scope").string(var_154.as_str()); + if let Some(var_176) = &input.scope { + object.key("Scope").string(var_176.as_str()); } - if let Some(var_155) = &input.id { - object.key("Id").string(var_155); + if let Some(var_177) = &input.id { + object.key("Id").string(var_177); } - if let Some(var_156) = &input.description { - object.key("Description").string(var_156); + if let Some(var_178) = &input.description { + object.key("Description").string(var_178); } - if let Some(var_157) = &input.addresses { - let mut array_158 = object.key("Addresses").start_array(); - for item_159 in var_157 { + if let Some(var_179) = &input.addresses { + let mut array_180 = object.key("Addresses").start_array(); + for item_181 in var_179 { { - array_158.value().string(item_159); + array_180.value().string(item_181); } } - array_158.finish(); + array_180.finish(); + } + if let Some(var_182) = &input.lock_token { + object.key("LockToken").string(var_182); } - if let Some(var_160) = &input.lock_token { - object.key("LockToken").string(var_160); +} + +pub fn serialize_structure_update_managed_rule_set_version_expiry_date_input( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::input::UpdateManagedRuleSetVersionExpiryDateInput, +) { + if let Some(var_183) = &input.name { + object.key("Name").string(var_183); + } + if let Some(var_184) = &input.scope { + object.key("Scope").string(var_184.as_str()); + } + if let Some(var_185) = &input.id { + object.key("Id").string(var_185); + } + if let Some(var_186) = &input.lock_token { + object.key("LockToken").string(var_186); + } + if let Some(var_187) = &input.version_to_expire { + object.key("VersionToExpire").string(var_187); + } + if let Some(var_188) = &input.expiry_timestamp { + object + .key("ExpiryTimestamp") + .instant(var_188, smithy_types::instant::Format::EpochSeconds); } } @@ -716,31 +834,31 @@ pub fn serialize_structure_update_regex_pattern_set_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRegexPatternSetInput, ) { - if let Some(var_161) = &input.name { - object.key("Name").string(var_161); + if let Some(var_189) = &input.name { + object.key("Name").string(var_189); } - if let Some(var_162) = &input.scope { - object.key("Scope").string(var_162.as_str()); + if let Some(var_190) = &input.scope { + object.key("Scope").string(var_190.as_str()); } - if let Some(var_163) = &input.id { - object.key("Id").string(var_163); + if let Some(var_191) = &input.id { + object.key("Id").string(var_191); } - if let Some(var_164) = &input.description { - object.key("Description").string(var_164); + if let Some(var_192) = &input.description { + object.key("Description").string(var_192); } - if let Some(var_165) = &input.regular_expression_list { - let mut array_166 = object.key("RegularExpressionList").start_array(); - for item_167 in var_165 { + if let Some(var_193) = &input.regular_expression_list { + let mut array_194 = object.key("RegularExpressionList").start_array(); + for item_195 in var_193 { { - let mut object_168 = array_166.value().start_object(); - crate::json_ser::serialize_structure_regex(&mut object_168, item_167); - object_168.finish(); + let mut object_196 = array_194.value().start_object(); + crate::json_ser::serialize_structure_regex(&mut object_196, item_195); + object_196.finish(); } } - array_166.finish(); + array_194.finish(); } - if let Some(var_169) = &input.lock_token { - object.key("LockToken").string(var_169); + if let Some(var_197) = &input.lock_token { + object.key("LockToken").string(var_197); } } @@ -748,50 +866,50 @@ pub fn serialize_structure_update_rule_group_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateRuleGroupInput, ) { - if let Some(var_170) = &input.name { - object.key("Name").string(var_170); + if let Some(var_198) = &input.name { + object.key("Name").string(var_198); } - if let Some(var_171) = &input.scope { - object.key("Scope").string(var_171.as_str()); + if let Some(var_199) = &input.scope { + object.key("Scope").string(var_199.as_str()); } - if let Some(var_172) = &input.id { - object.key("Id").string(var_172); + if let Some(var_200) = &input.id { + object.key("Id").string(var_200); } - if let Some(var_173) = &input.description { - object.key("Description").string(var_173); + if let Some(var_201) = &input.description { + object.key("Description").string(var_201); } - if let Some(var_174) = &input.rules { - let mut array_175 = object.key("Rules").start_array(); - for item_176 in var_174 { + if let Some(var_202) = &input.rules { + let mut array_203 = object.key("Rules").start_array(); + for item_204 in var_202 { { - let mut object_177 = array_175.value().start_object(); - crate::json_ser::serialize_structure_rule(&mut object_177, item_176); - object_177.finish(); + let mut object_205 = array_203.value().start_object(); + crate::json_ser::serialize_structure_rule(&mut object_205, item_204); + object_205.finish(); } } - array_175.finish(); + array_203.finish(); } - if let Some(var_178) = &input.visibility_config { - let mut object_179 = object.key("VisibilityConfig").start_object(); - crate::json_ser::serialize_structure_visibility_config(&mut object_179, var_178); - object_179.finish(); + if let Some(var_206) = &input.visibility_config { + let mut object_207 = object.key("VisibilityConfig").start_object(); + crate::json_ser::serialize_structure_visibility_config(&mut object_207, var_206); + object_207.finish(); } - if let Some(var_180) = &input.lock_token { - object.key("LockToken").string(var_180); + if let Some(var_208) = &input.lock_token { + object.key("LockToken").string(var_208); } - if let Some(var_181) = &input.custom_response_bodies { - let mut object_182 = object.key("CustomResponseBodies").start_object(); - for (key_183, value_184) in var_181 { + if let Some(var_209) = &input.custom_response_bodies { + let mut object_210 = object.key("CustomResponseBodies").start_object(); + for (key_211, value_212) in var_209 { { - let mut object_185 = object_182.key(key_183).start_object(); + let mut object_213 = object_210.key(key_211).start_object(); crate::json_ser::serialize_structure_custom_response_body( - &mut object_185, - value_184, + &mut object_213, + value_212, ); - object_185.finish(); + object_213.finish(); } } - object_182.finish(); + object_210.finish(); } } @@ -799,55 +917,55 @@ pub fn serialize_structure_update_web_acl_input( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::input::UpdateWebAclInput, ) { - if let Some(var_186) = &input.name { - object.key("Name").string(var_186); + if let Some(var_214) = &input.name { + object.key("Name").string(var_214); } - if let Some(var_187) = &input.scope { - object.key("Scope").string(var_187.as_str()); + if let Some(var_215) = &input.scope { + object.key("Scope").string(var_215.as_str()); } - if let Some(var_188) = &input.id { - object.key("Id").string(var_188); + if let Some(var_216) = &input.id { + object.key("Id").string(var_216); } - if let Some(var_189) = &input.default_action { - let mut object_190 = object.key("DefaultAction").start_object(); - crate::json_ser::serialize_structure_default_action(&mut object_190, var_189); - object_190.finish(); + if let Some(var_217) = &input.default_action { + let mut object_218 = object.key("DefaultAction").start_object(); + crate::json_ser::serialize_structure_default_action(&mut object_218, var_217); + object_218.finish(); } - if let Some(var_191) = &input.description { - object.key("Description").string(var_191); + if let Some(var_219) = &input.description { + object.key("Description").string(var_219); } - if let Some(var_192) = &input.rules { - let mut array_193 = object.key("Rules").start_array(); - for item_194 in var_192 { + if let Some(var_220) = &input.rules { + let mut array_221 = object.key("Rules").start_array(); + for item_222 in var_220 { { - let mut object_195 = array_193.value().start_object(); - crate::json_ser::serialize_structure_rule(&mut object_195, item_194); - object_195.finish(); + let mut object_223 = array_221.value().start_object(); + crate::json_ser::serialize_structure_rule(&mut object_223, item_222); + object_223.finish(); } } - array_193.finish(); + array_221.finish(); } - if let Some(var_196) = &input.visibility_config { - let mut object_197 = object.key("VisibilityConfig").start_object(); - crate::json_ser::serialize_structure_visibility_config(&mut object_197, var_196); - object_197.finish(); + if let Some(var_224) = &input.visibility_config { + let mut object_225 = object.key("VisibilityConfig").start_object(); + crate::json_ser::serialize_structure_visibility_config(&mut object_225, var_224); + object_225.finish(); } - if let Some(var_198) = &input.lock_token { - object.key("LockToken").string(var_198); + if let Some(var_226) = &input.lock_token { + object.key("LockToken").string(var_226); } - if let Some(var_199) = &input.custom_response_bodies { - let mut object_200 = object.key("CustomResponseBodies").start_object(); - for (key_201, value_202) in var_199 { + if let Some(var_227) = &input.custom_response_bodies { + let mut object_228 = object.key("CustomResponseBodies").start_object(); + for (key_229, value_230) in var_227 { { - let mut object_203 = object_200.key(key_201).start_object(); + let mut object_231 = object_228.key(key_229).start_object(); crate::json_ser::serialize_structure_custom_response_body( - &mut object_203, - value_202, + &mut object_231, + value_230, ); - object_203.finish(); + object_231.finish(); } } - object_200.finish(); + object_228.finish(); } } @@ -855,8 +973,8 @@ pub fn serialize_structure_rule( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Rule, ) { - if let Some(var_204) = &input.name { - object.key("Name").string(var_204); + if let Some(var_232) = &input.name { + object.key("Name").string(var_232); } { object.key("Priority").number( @@ -864,36 +982,36 @@ pub fn serialize_structure_rule( smithy_types::Number::NegInt((input.priority).into()), ); } - if let Some(var_205) = &input.statement { - let mut object_206 = object.key("Statement").start_object(); - crate::json_ser::serialize_structure_statement(&mut object_206, var_205); - object_206.finish(); + if let Some(var_233) = &input.statement { + let mut object_234 = object.key("Statement").start_object(); + crate::json_ser::serialize_structure_statement(&mut object_234, var_233); + object_234.finish(); } - if let Some(var_207) = &input.action { - let mut object_208 = object.key("Action").start_object(); - crate::json_ser::serialize_structure_rule_action(&mut object_208, var_207); - object_208.finish(); + if let Some(var_235) = &input.action { + let mut object_236 = object.key("Action").start_object(); + crate::json_ser::serialize_structure_rule_action(&mut object_236, var_235); + object_236.finish(); } - if let Some(var_209) = &input.override_action { - let mut object_210 = object.key("OverrideAction").start_object(); - crate::json_ser::serialize_structure_override_action(&mut object_210, var_209); - object_210.finish(); + if let Some(var_237) = &input.override_action { + let mut object_238 = object.key("OverrideAction").start_object(); + crate::json_ser::serialize_structure_override_action(&mut object_238, var_237); + object_238.finish(); } - if let Some(var_211) = &input.rule_labels { - let mut array_212 = object.key("RuleLabels").start_array(); - for item_213 in var_211 { + if let Some(var_239) = &input.rule_labels { + let mut array_240 = object.key("RuleLabels").start_array(); + for item_241 in var_239 { { - let mut object_214 = array_212.value().start_object(); - crate::json_ser::serialize_structure_label(&mut object_214, item_213); - object_214.finish(); + let mut object_242 = array_240.value().start_object(); + crate::json_ser::serialize_structure_label(&mut object_242, item_241); + object_242.finish(); } } - array_212.finish(); + array_240.finish(); } - if let Some(var_215) = &input.visibility_config { - let mut object_216 = object.key("VisibilityConfig").start_object(); - crate::json_ser::serialize_structure_visibility_config(&mut object_216, var_215); - object_216.finish(); + if let Some(var_243) = &input.visibility_config { + let mut object_244 = object.key("VisibilityConfig").start_object(); + crate::json_ser::serialize_structure_visibility_config(&mut object_244, var_243); + object_244.finish(); } } @@ -901,11 +1019,11 @@ pub fn serialize_structure_tag( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Tag, ) { - if let Some(var_217) = &input.key { - object.key("Key").string(var_217); + if let Some(var_245) = &input.key { + object.key("Key").string(var_245); } - if let Some(var_218) = &input.value { - object.key("Value").string(var_218); + if let Some(var_246) = &input.value { + object.key("Value").string(var_246); } } @@ -913,8 +1031,8 @@ pub fn serialize_structure_regex( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Regex, ) { - if let Some(var_219) = &input.regex_string { - object.key("RegexString").string(var_219); + if let Some(var_247) = &input.regex_string { + object.key("RegexString").string(var_247); } } @@ -932,8 +1050,8 @@ pub fn serialize_structure_visibility_config( .key("CloudWatchMetricsEnabled") .boolean(input.cloud_watch_metrics_enabled); } - if let Some(var_220) = &input.metric_name { - object.key("MetricName").string(var_220); + if let Some(var_248) = &input.metric_name { + object.key("MetricName").string(var_248); } } @@ -941,11 +1059,11 @@ pub fn serialize_structure_custom_response_body( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomResponseBody, ) { - if let Some(var_221) = &input.content_type { - object.key("ContentType").string(var_221.as_str()); + if let Some(var_249) = &input.content_type { + object.key("ContentType").string(var_249.as_str()); } - if let Some(var_222) = &input.content { - object.key("Content").string(var_222); + if let Some(var_250) = &input.content { + object.key("Content").string(var_250); } } @@ -953,15 +1071,15 @@ pub fn serialize_structure_default_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::DefaultAction, ) { - if let Some(var_223) = &input.block { - let mut object_224 = object.key("Block").start_object(); - crate::json_ser::serialize_structure_block_action(&mut object_224, var_223); - object_224.finish(); + if let Some(var_251) = &input.block { + let mut object_252 = object.key("Block").start_object(); + crate::json_ser::serialize_structure_block_action(&mut object_252, var_251); + object_252.finish(); } - if let Some(var_225) = &input.allow { - let mut object_226 = object.key("Allow").start_object(); - crate::json_ser::serialize_structure_allow_action(&mut object_226, var_225); - object_226.finish(); + if let Some(var_253) = &input.allow { + let mut object_254 = object.key("Allow").start_object(); + crate::json_ser::serialize_structure_allow_action(&mut object_254, var_253); + object_254.finish(); } } @@ -969,15 +1087,15 @@ pub fn serialize_structure_time_window( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::TimeWindow, ) { - if let Some(var_227) = &input.start_time { + if let Some(var_255) = &input.start_time { object .key("StartTime") - .instant(var_227, smithy_types::instant::Format::EpochSeconds); + .instant(var_255, smithy_types::instant::Format::EpochSeconds); } - if let Some(var_228) = &input.end_time { + if let Some(var_256) = &input.end_time { object .key("EndTime") - .instant(var_228, smithy_types::instant::Format::EpochSeconds); + .instant(var_256, smithy_types::instant::Format::EpochSeconds); } } @@ -985,38 +1103,53 @@ pub fn serialize_structure_logging_configuration( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LoggingConfiguration, ) { - if let Some(var_229) = &input.resource_arn { - object.key("ResourceArn").string(var_229); + if let Some(var_257) = &input.resource_arn { + object.key("ResourceArn").string(var_257); } - if let Some(var_230) = &input.log_destination_configs { - let mut array_231 = object.key("LogDestinationConfigs").start_array(); - for item_232 in var_230 { + if let Some(var_258) = &input.log_destination_configs { + let mut array_259 = object.key("LogDestinationConfigs").start_array(); + for item_260 in var_258 { { - array_231.value().string(item_232); + array_259.value().string(item_260); } } - array_231.finish(); + array_259.finish(); } - if let Some(var_233) = &input.redacted_fields { - let mut array_234 = object.key("RedactedFields").start_array(); - for item_235 in var_233 { + if let Some(var_261) = &input.redacted_fields { + let mut array_262 = object.key("RedactedFields").start_array(); + for item_263 in var_261 { { - let mut object_236 = array_234.value().start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_236, item_235); - object_236.finish(); + let mut object_264 = array_262.value().start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_264, item_263); + object_264.finish(); } } - array_234.finish(); + array_262.finish(); } if input.managed_by_firewall_manager { object .key("ManagedByFirewallManager") .boolean(input.managed_by_firewall_manager); } - if let Some(var_237) = &input.logging_filter { - let mut object_238 = object.key("LoggingFilter").start_object(); - crate::json_ser::serialize_structure_logging_filter(&mut object_238, var_237); - object_238.finish(); + if let Some(var_265) = &input.logging_filter { + let mut object_266 = object.key("LoggingFilter").start_object(); + crate::json_ser::serialize_structure_logging_filter(&mut object_266, var_265); + object_266.finish(); + } +} + +pub fn serialize_structure_version_to_publish( + object: &mut smithy_json::serialize::JsonObjectWriter, + input: &crate::model::VersionToPublish, +) { + if let Some(var_267) = &input.associated_rule_group_arn { + object.key("AssociatedRuleGroupArn").string(var_267); + } + if let Some(var_268) = &input.forecasted_lifetime { + object.key("ForecastedLifetime").number( + #[allow(clippy::useless_conversion)] + smithy_types::Number::NegInt((*var_268).into()), + ); } } @@ -1024,83 +1157,83 @@ pub fn serialize_structure_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Statement, ) { - if let Some(var_239) = &input.byte_match_statement { - let mut object_240 = object.key("ByteMatchStatement").start_object(); - crate::json_ser::serialize_structure_byte_match_statement(&mut object_240, var_239); - object_240.finish(); + if let Some(var_269) = &input.byte_match_statement { + let mut object_270 = object.key("ByteMatchStatement").start_object(); + crate::json_ser::serialize_structure_byte_match_statement(&mut object_270, var_269); + object_270.finish(); } - if let Some(var_241) = &input.sqli_match_statement { - let mut object_242 = object.key("SqliMatchStatement").start_object(); - crate::json_ser::serialize_structure_sqli_match_statement(&mut object_242, var_241); - object_242.finish(); + if let Some(var_271) = &input.sqli_match_statement { + let mut object_272 = object.key("SqliMatchStatement").start_object(); + crate::json_ser::serialize_structure_sqli_match_statement(&mut object_272, var_271); + object_272.finish(); } - if let Some(var_243) = &input.xss_match_statement { - let mut object_244 = object.key("XssMatchStatement").start_object(); - crate::json_ser::serialize_structure_xss_match_statement(&mut object_244, var_243); - object_244.finish(); + if let Some(var_273) = &input.xss_match_statement { + let mut object_274 = object.key("XssMatchStatement").start_object(); + crate::json_ser::serialize_structure_xss_match_statement(&mut object_274, var_273); + object_274.finish(); } - if let Some(var_245) = &input.size_constraint_statement { - let mut object_246 = object.key("SizeConstraintStatement").start_object(); - crate::json_ser::serialize_structure_size_constraint_statement(&mut object_246, var_245); - object_246.finish(); + if let Some(var_275) = &input.size_constraint_statement { + let mut object_276 = object.key("SizeConstraintStatement").start_object(); + crate::json_ser::serialize_structure_size_constraint_statement(&mut object_276, var_275); + object_276.finish(); } - if let Some(var_247) = &input.geo_match_statement { - let mut object_248 = object.key("GeoMatchStatement").start_object(); - crate::json_ser::serialize_structure_geo_match_statement(&mut object_248, var_247); - object_248.finish(); + if let Some(var_277) = &input.geo_match_statement { + let mut object_278 = object.key("GeoMatchStatement").start_object(); + crate::json_ser::serialize_structure_geo_match_statement(&mut object_278, var_277); + object_278.finish(); } - if let Some(var_249) = &input.rule_group_reference_statement { - let mut object_250 = object.key("RuleGroupReferenceStatement").start_object(); + if let Some(var_279) = &input.rule_group_reference_statement { + let mut object_280 = object.key("RuleGroupReferenceStatement").start_object(); crate::json_ser::serialize_structure_rule_group_reference_statement( - &mut object_250, - var_249, + &mut object_280, + var_279, ); - object_250.finish(); + object_280.finish(); } - if let Some(var_251) = &input.ip_set_reference_statement { - let mut object_252 = object.key("IPSetReferenceStatement").start_object(); - crate::json_ser::serialize_structure_ip_set_reference_statement(&mut object_252, var_251); - object_252.finish(); + if let Some(var_281) = &input.ip_set_reference_statement { + let mut object_282 = object.key("IPSetReferenceStatement").start_object(); + crate::json_ser::serialize_structure_ip_set_reference_statement(&mut object_282, var_281); + object_282.finish(); } - if let Some(var_253) = &input.regex_pattern_set_reference_statement { - let mut object_254 = object + if let Some(var_283) = &input.regex_pattern_set_reference_statement { + let mut object_284 = object .key("RegexPatternSetReferenceStatement") .start_object(); crate::json_ser::serialize_structure_regex_pattern_set_reference_statement( - &mut object_254, - var_253, + &mut object_284, + var_283, ); - object_254.finish(); + object_284.finish(); } - if let Some(var_255) = &input.rate_based_statement { - let mut object_256 = object.key("RateBasedStatement").start_object(); - crate::json_ser::serialize_structure_rate_based_statement(&mut object_256, var_255); - object_256.finish(); - } - if let Some(var_257) = &input.and_statement { - let mut object_258 = object.key("AndStatement").start_object(); - crate::json_ser::serialize_structure_and_statement(&mut object_258, var_257); - object_258.finish(); - } - if let Some(var_259) = &input.or_statement { - let mut object_260 = object.key("OrStatement").start_object(); - crate::json_ser::serialize_structure_or_statement(&mut object_260, var_259); - object_260.finish(); - } - if let Some(var_261) = &input.not_statement { - let mut object_262 = object.key("NotStatement").start_object(); - crate::json_ser::serialize_structure_not_statement(&mut object_262, var_261); - object_262.finish(); - } - if let Some(var_263) = &input.managed_rule_group_statement { - let mut object_264 = object.key("ManagedRuleGroupStatement").start_object(); - crate::json_ser::serialize_structure_managed_rule_group_statement(&mut object_264, var_263); - object_264.finish(); - } - if let Some(var_265) = &input.label_match_statement { - let mut object_266 = object.key("LabelMatchStatement").start_object(); - crate::json_ser::serialize_structure_label_match_statement(&mut object_266, var_265); - object_266.finish(); + if let Some(var_285) = &input.rate_based_statement { + let mut object_286 = object.key("RateBasedStatement").start_object(); + crate::json_ser::serialize_structure_rate_based_statement(&mut object_286, var_285); + object_286.finish(); + } + if let Some(var_287) = &input.and_statement { + let mut object_288 = object.key("AndStatement").start_object(); + crate::json_ser::serialize_structure_and_statement(&mut object_288, var_287); + object_288.finish(); + } + if let Some(var_289) = &input.or_statement { + let mut object_290 = object.key("OrStatement").start_object(); + crate::json_ser::serialize_structure_or_statement(&mut object_290, var_289); + object_290.finish(); + } + if let Some(var_291) = &input.not_statement { + let mut object_292 = object.key("NotStatement").start_object(); + crate::json_ser::serialize_structure_not_statement(&mut object_292, var_291); + object_292.finish(); + } + if let Some(var_293) = &input.managed_rule_group_statement { + let mut object_294 = object.key("ManagedRuleGroupStatement").start_object(); + crate::json_ser::serialize_structure_managed_rule_group_statement(&mut object_294, var_293); + object_294.finish(); + } + if let Some(var_295) = &input.label_match_statement { + let mut object_296 = object.key("LabelMatchStatement").start_object(); + crate::json_ser::serialize_structure_label_match_statement(&mut object_296, var_295); + object_296.finish(); } } @@ -1108,20 +1241,20 @@ pub fn serialize_structure_rule_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RuleAction, ) { - if let Some(var_267) = &input.block { - let mut object_268 = object.key("Block").start_object(); - crate::json_ser::serialize_structure_block_action(&mut object_268, var_267); - object_268.finish(); + if let Some(var_297) = &input.block { + let mut object_298 = object.key("Block").start_object(); + crate::json_ser::serialize_structure_block_action(&mut object_298, var_297); + object_298.finish(); } - if let Some(var_269) = &input.allow { - let mut object_270 = object.key("Allow").start_object(); - crate::json_ser::serialize_structure_allow_action(&mut object_270, var_269); - object_270.finish(); + if let Some(var_299) = &input.allow { + let mut object_300 = object.key("Allow").start_object(); + crate::json_ser::serialize_structure_allow_action(&mut object_300, var_299); + object_300.finish(); } - if let Some(var_271) = &input.count { - let mut object_272 = object.key("Count").start_object(); - crate::json_ser::serialize_structure_count_action(&mut object_272, var_271); - object_272.finish(); + if let Some(var_301) = &input.count { + let mut object_302 = object.key("Count").start_object(); + crate::json_ser::serialize_structure_count_action(&mut object_302, var_301); + object_302.finish(); } } @@ -1129,15 +1262,15 @@ pub fn serialize_structure_override_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OverrideAction, ) { - if let Some(var_273) = &input.count { - let mut object_274 = object.key("Count").start_object(); - crate::json_ser::serialize_structure_count_action(&mut object_274, var_273); - object_274.finish(); + if let Some(var_303) = &input.count { + let mut object_304 = object.key("Count").start_object(); + crate::json_ser::serialize_structure_count_action(&mut object_304, var_303); + object_304.finish(); } - if let Some(var_275) = &input.none { - let mut object_276 = object.key("None").start_object(); - crate::json_ser::serialize_structure_none_action(&mut object_276, var_275); - object_276.finish(); + if let Some(var_305) = &input.none { + let mut object_306 = object.key("None").start_object(); + crate::json_ser::serialize_structure_none_action(&mut object_306, var_305); + object_306.finish(); } } @@ -1145,8 +1278,8 @@ pub fn serialize_structure_label( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Label, ) { - if let Some(var_277) = &input.name { - object.key("Name").string(var_277); + if let Some(var_307) = &input.name { + object.key("Name").string(var_307); } } @@ -1154,10 +1287,10 @@ pub fn serialize_structure_block_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::BlockAction, ) { - if let Some(var_278) = &input.custom_response { - let mut object_279 = object.key("CustomResponse").start_object(); - crate::json_ser::serialize_structure_custom_response(&mut object_279, var_278); - object_279.finish(); + if let Some(var_308) = &input.custom_response { + let mut object_309 = object.key("CustomResponse").start_object(); + crate::json_ser::serialize_structure_custom_response(&mut object_309, var_308); + object_309.finish(); } } @@ -1165,10 +1298,10 @@ pub fn serialize_structure_allow_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AllowAction, ) { - if let Some(var_280) = &input.custom_request_handling { - let mut object_281 = object.key("CustomRequestHandling").start_object(); - crate::json_ser::serialize_structure_custom_request_handling(&mut object_281, var_280); - object_281.finish(); + if let Some(var_310) = &input.custom_request_handling { + let mut object_311 = object.key("CustomRequestHandling").start_object(); + crate::json_ser::serialize_structure_custom_request_handling(&mut object_311, var_310); + object_311.finish(); } } @@ -1176,45 +1309,45 @@ pub fn serialize_structure_field_to_match( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::FieldToMatch, ) { - if let Some(var_282) = &input.single_header { - let mut object_283 = object.key("SingleHeader").start_object(); - crate::json_ser::serialize_structure_single_header(&mut object_283, var_282); - object_283.finish(); + if let Some(var_312) = &input.single_header { + let mut object_313 = object.key("SingleHeader").start_object(); + crate::json_ser::serialize_structure_single_header(&mut object_313, var_312); + object_313.finish(); } - if let Some(var_284) = &input.single_query_argument { - let mut object_285 = object.key("SingleQueryArgument").start_object(); - crate::json_ser::serialize_structure_single_query_argument(&mut object_285, var_284); - object_285.finish(); + if let Some(var_314) = &input.single_query_argument { + let mut object_315 = object.key("SingleQueryArgument").start_object(); + crate::json_ser::serialize_structure_single_query_argument(&mut object_315, var_314); + object_315.finish(); } - if let Some(var_286) = &input.all_query_arguments { - let mut object_287 = object.key("AllQueryArguments").start_object(); - crate::json_ser::serialize_structure_all_query_arguments(&mut object_287, var_286); - object_287.finish(); + if let Some(var_316) = &input.all_query_arguments { + let mut object_317 = object.key("AllQueryArguments").start_object(); + crate::json_ser::serialize_structure_all_query_arguments(&mut object_317, var_316); + object_317.finish(); } - if let Some(var_288) = &input.uri_path { - let mut object_289 = object.key("UriPath").start_object(); - crate::json_ser::serialize_structure_uri_path(&mut object_289, var_288); - object_289.finish(); + if let Some(var_318) = &input.uri_path { + let mut object_319 = object.key("UriPath").start_object(); + crate::json_ser::serialize_structure_uri_path(&mut object_319, var_318); + object_319.finish(); } - if let Some(var_290) = &input.query_string { - let mut object_291 = object.key("QueryString").start_object(); - crate::json_ser::serialize_structure_query_string(&mut object_291, var_290); - object_291.finish(); + if let Some(var_320) = &input.query_string { + let mut object_321 = object.key("QueryString").start_object(); + crate::json_ser::serialize_structure_query_string(&mut object_321, var_320); + object_321.finish(); } - if let Some(var_292) = &input.body { - let mut object_293 = object.key("Body").start_object(); - crate::json_ser::serialize_structure_body(&mut object_293, var_292); - object_293.finish(); + if let Some(var_322) = &input.body { + let mut object_323 = object.key("Body").start_object(); + crate::json_ser::serialize_structure_body(&mut object_323, var_322); + object_323.finish(); } - if let Some(var_294) = &input.method { - let mut object_295 = object.key("Method").start_object(); - crate::json_ser::serialize_structure_method(&mut object_295, var_294); - object_295.finish(); + if let Some(var_324) = &input.method { + let mut object_325 = object.key("Method").start_object(); + crate::json_ser::serialize_structure_method(&mut object_325, var_324); + object_325.finish(); } - if let Some(var_296) = &input.json_body { - let mut object_297 = object.key("JsonBody").start_object(); - crate::json_ser::serialize_structure_json_body(&mut object_297, var_296); - object_297.finish(); + if let Some(var_326) = &input.json_body { + let mut object_327 = object.key("JsonBody").start_object(); + crate::json_ser::serialize_structure_json_body(&mut object_327, var_326); + object_327.finish(); } } @@ -1222,19 +1355,19 @@ pub fn serialize_structure_logging_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LoggingFilter, ) { - if let Some(var_298) = &input.filters { - let mut array_299 = object.key("Filters").start_array(); - for item_300 in var_298 { + if let Some(var_328) = &input.filters { + let mut array_329 = object.key("Filters").start_array(); + for item_330 in var_328 { { - let mut object_301 = array_299.value().start_object(); - crate::json_ser::serialize_structure_filter(&mut object_301, item_300); - object_301.finish(); + let mut object_331 = array_329.value().start_object(); + crate::json_ser::serialize_structure_filter(&mut object_331, item_330); + object_331.finish(); } } - array_299.finish(); + array_329.finish(); } - if let Some(var_302) = &input.default_behavior { - object.key("DefaultBehavior").string(var_302.as_str()); + if let Some(var_332) = &input.default_behavior { + object.key("DefaultBehavior").string(var_332.as_str()); } } @@ -1242,29 +1375,29 @@ pub fn serialize_structure_byte_match_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ByteMatchStatement, ) { - if let Some(var_303) = &input.search_string { + if let Some(var_333) = &input.search_string { object .key("SearchString") - .string_unchecked(&smithy_types::base64::encode(var_303)); + .string_unchecked(&smithy_types::base64::encode(var_333)); } - if let Some(var_304) = &input.field_to_match { - let mut object_305 = object.key("FieldToMatch").start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_305, var_304); - object_305.finish(); + if let Some(var_334) = &input.field_to_match { + let mut object_335 = object.key("FieldToMatch").start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_335, var_334); + object_335.finish(); } - if let Some(var_306) = &input.text_transformations { - let mut array_307 = object.key("TextTransformations").start_array(); - for item_308 in var_306 { + if let Some(var_336) = &input.text_transformations { + let mut array_337 = object.key("TextTransformations").start_array(); + for item_338 in var_336 { { - let mut object_309 = array_307.value().start_object(); - crate::json_ser::serialize_structure_text_transformation(&mut object_309, item_308); - object_309.finish(); + let mut object_339 = array_337.value().start_object(); + crate::json_ser::serialize_structure_text_transformation(&mut object_339, item_338); + object_339.finish(); } } - array_307.finish(); + array_337.finish(); } - if let Some(var_310) = &input.positional_constraint { - object.key("PositionalConstraint").string(var_310.as_str()); + if let Some(var_340) = &input.positional_constraint { + object.key("PositionalConstraint").string(var_340.as_str()); } } @@ -1272,21 +1405,21 @@ pub fn serialize_structure_sqli_match_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SqliMatchStatement, ) { - if let Some(var_311) = &input.field_to_match { - let mut object_312 = object.key("FieldToMatch").start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_312, var_311); - object_312.finish(); + if let Some(var_341) = &input.field_to_match { + let mut object_342 = object.key("FieldToMatch").start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_342, var_341); + object_342.finish(); } - if let Some(var_313) = &input.text_transformations { - let mut array_314 = object.key("TextTransformations").start_array(); - for item_315 in var_313 { + if let Some(var_343) = &input.text_transformations { + let mut array_344 = object.key("TextTransformations").start_array(); + for item_345 in var_343 { { - let mut object_316 = array_314.value().start_object(); - crate::json_ser::serialize_structure_text_transformation(&mut object_316, item_315); - object_316.finish(); + let mut object_346 = array_344.value().start_object(); + crate::json_ser::serialize_structure_text_transformation(&mut object_346, item_345); + object_346.finish(); } } - array_314.finish(); + array_344.finish(); } } @@ -1294,21 +1427,21 @@ pub fn serialize_structure_xss_match_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::XssMatchStatement, ) { - if let Some(var_317) = &input.field_to_match { - let mut object_318 = object.key("FieldToMatch").start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_318, var_317); - object_318.finish(); + if let Some(var_347) = &input.field_to_match { + let mut object_348 = object.key("FieldToMatch").start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_348, var_347); + object_348.finish(); } - if let Some(var_319) = &input.text_transformations { - let mut array_320 = object.key("TextTransformations").start_array(); - for item_321 in var_319 { + if let Some(var_349) = &input.text_transformations { + let mut array_350 = object.key("TextTransformations").start_array(); + for item_351 in var_349 { { - let mut object_322 = array_320.value().start_object(); - crate::json_ser::serialize_structure_text_transformation(&mut object_322, item_321); - object_322.finish(); + let mut object_352 = array_350.value().start_object(); + crate::json_ser::serialize_structure_text_transformation(&mut object_352, item_351); + object_352.finish(); } } - array_320.finish(); + array_350.finish(); } } @@ -1316,13 +1449,13 @@ pub fn serialize_structure_size_constraint_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SizeConstraintStatement, ) { - if let Some(var_323) = &input.field_to_match { - let mut object_324 = object.key("FieldToMatch").start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_324, var_323); - object_324.finish(); + if let Some(var_353) = &input.field_to_match { + let mut object_354 = object.key("FieldToMatch").start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_354, var_353); + object_354.finish(); } - if let Some(var_325) = &input.comparison_operator { - object.key("ComparisonOperator").string(var_325.as_str()); + if let Some(var_355) = &input.comparison_operator { + object.key("ComparisonOperator").string(var_355.as_str()); } { object.key("Size").number( @@ -1330,16 +1463,16 @@ pub fn serialize_structure_size_constraint_statement( smithy_types::Number::NegInt((input.size).into()), ); } - if let Some(var_326) = &input.text_transformations { - let mut array_327 = object.key("TextTransformations").start_array(); - for item_328 in var_326 { + if let Some(var_356) = &input.text_transformations { + let mut array_357 = object.key("TextTransformations").start_array(); + for item_358 in var_356 { { - let mut object_329 = array_327.value().start_object(); - crate::json_ser::serialize_structure_text_transformation(&mut object_329, item_328); - object_329.finish(); + let mut object_359 = array_357.value().start_object(); + crate::json_ser::serialize_structure_text_transformation(&mut object_359, item_358); + object_359.finish(); } } - array_327.finish(); + array_357.finish(); } } @@ -1347,19 +1480,19 @@ pub fn serialize_structure_geo_match_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::GeoMatchStatement, ) { - if let Some(var_330) = &input.country_codes { - let mut array_331 = object.key("CountryCodes").start_array(); - for item_332 in var_330 { + if let Some(var_360) = &input.country_codes { + let mut array_361 = object.key("CountryCodes").start_array(); + for item_362 in var_360 { { - array_331.value().string(item_332.as_str()); + array_361.value().string(item_362.as_str()); } } - array_331.finish(); + array_361.finish(); } - if let Some(var_333) = &input.forwarded_ip_config { - let mut object_334 = object.key("ForwardedIPConfig").start_object(); - crate::json_ser::serialize_structure_forwarded_ip_config(&mut object_334, var_333); - object_334.finish(); + if let Some(var_363) = &input.forwarded_ip_config { + let mut object_364 = object.key("ForwardedIPConfig").start_object(); + crate::json_ser::serialize_structure_forwarded_ip_config(&mut object_364, var_363); + object_364.finish(); } } @@ -1367,19 +1500,19 @@ pub fn serialize_structure_rule_group_reference_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RuleGroupReferenceStatement, ) { - if let Some(var_335) = &input.arn { - object.key("ARN").string(var_335); + if let Some(var_365) = &input.arn { + object.key("ARN").string(var_365); } - if let Some(var_336) = &input.excluded_rules { - let mut array_337 = object.key("ExcludedRules").start_array(); - for item_338 in var_336 { + if let Some(var_366) = &input.excluded_rules { + let mut array_367 = object.key("ExcludedRules").start_array(); + for item_368 in var_366 { { - let mut object_339 = array_337.value().start_object(); - crate::json_ser::serialize_structure_excluded_rule(&mut object_339, item_338); - object_339.finish(); + let mut object_369 = array_367.value().start_object(); + crate::json_ser::serialize_structure_excluded_rule(&mut object_369, item_368); + object_369.finish(); } } - array_337.finish(); + array_367.finish(); } } @@ -1387,13 +1520,13 @@ pub fn serialize_structure_ip_set_reference_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IpSetReferenceStatement, ) { - if let Some(var_340) = &input.arn { - object.key("ARN").string(var_340); + if let Some(var_370) = &input.arn { + object.key("ARN").string(var_370); } - if let Some(var_341) = &input.ip_set_forwarded_ip_config { - let mut object_342 = object.key("IPSetForwardedIPConfig").start_object(); - crate::json_ser::serialize_structure_ip_set_forwarded_ip_config(&mut object_342, var_341); - object_342.finish(); + if let Some(var_371) = &input.ip_set_forwarded_ip_config { + let mut object_372 = object.key("IPSetForwardedIPConfig").start_object(); + crate::json_ser::serialize_structure_ip_set_forwarded_ip_config(&mut object_372, var_371); + object_372.finish(); } } @@ -1401,24 +1534,24 @@ pub fn serialize_structure_regex_pattern_set_reference_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::RegexPatternSetReferenceStatement, ) { - if let Some(var_343) = &input.arn { - object.key("ARN").string(var_343); + if let Some(var_373) = &input.arn { + object.key("ARN").string(var_373); } - if let Some(var_344) = &input.field_to_match { - let mut object_345 = object.key("FieldToMatch").start_object(); - crate::json_ser::serialize_structure_field_to_match(&mut object_345, var_344); - object_345.finish(); + if let Some(var_374) = &input.field_to_match { + let mut object_375 = object.key("FieldToMatch").start_object(); + crate::json_ser::serialize_structure_field_to_match(&mut object_375, var_374); + object_375.finish(); } - if let Some(var_346) = &input.text_transformations { - let mut array_347 = object.key("TextTransformations").start_array(); - for item_348 in var_346 { + if let Some(var_376) = &input.text_transformations { + let mut array_377 = object.key("TextTransformations").start_array(); + for item_378 in var_376 { { - let mut object_349 = array_347.value().start_object(); - crate::json_ser::serialize_structure_text_transformation(&mut object_349, item_348); - object_349.finish(); + let mut object_379 = array_377.value().start_object(); + crate::json_ser::serialize_structure_text_transformation(&mut object_379, item_378); + object_379.finish(); } } - array_347.finish(); + array_377.finish(); } } @@ -1432,18 +1565,18 @@ pub fn serialize_structure_rate_based_statement( smithy_types::Number::NegInt((input.limit).into()), ); } - if let Some(var_350) = &input.aggregate_key_type { - object.key("AggregateKeyType").string(var_350.as_str()); + if let Some(var_380) = &input.aggregate_key_type { + object.key("AggregateKeyType").string(var_380.as_str()); } - if let Some(var_351) = &input.scope_down_statement { - let mut object_352 = object.key("ScopeDownStatement").start_object(); - crate::json_ser::serialize_structure_statement(&mut object_352, var_351); - object_352.finish(); + if let Some(var_381) = &input.scope_down_statement { + let mut object_382 = object.key("ScopeDownStatement").start_object(); + crate::json_ser::serialize_structure_statement(&mut object_382, var_381); + object_382.finish(); } - if let Some(var_353) = &input.forwarded_ip_config { - let mut object_354 = object.key("ForwardedIPConfig").start_object(); - crate::json_ser::serialize_structure_forwarded_ip_config(&mut object_354, var_353); - object_354.finish(); + if let Some(var_383) = &input.forwarded_ip_config { + let mut object_384 = object.key("ForwardedIPConfig").start_object(); + crate::json_ser::serialize_structure_forwarded_ip_config(&mut object_384, var_383); + object_384.finish(); } } @@ -1451,16 +1584,16 @@ pub fn serialize_structure_and_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::AndStatement, ) { - if let Some(var_355) = &input.statements { - let mut array_356 = object.key("Statements").start_array(); - for item_357 in var_355 { + if let Some(var_385) = &input.statements { + let mut array_386 = object.key("Statements").start_array(); + for item_387 in var_385 { { - let mut object_358 = array_356.value().start_object(); - crate::json_ser::serialize_structure_statement(&mut object_358, item_357); - object_358.finish(); + let mut object_388 = array_386.value().start_object(); + crate::json_ser::serialize_structure_statement(&mut object_388, item_387); + object_388.finish(); } } - array_356.finish(); + array_386.finish(); } } @@ -1468,16 +1601,16 @@ pub fn serialize_structure_or_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::OrStatement, ) { - if let Some(var_359) = &input.statements { - let mut array_360 = object.key("Statements").start_array(); - for item_361 in var_359 { + if let Some(var_389) = &input.statements { + let mut array_390 = object.key("Statements").start_array(); + for item_391 in var_389 { { - let mut object_362 = array_360.value().start_object(); - crate::json_ser::serialize_structure_statement(&mut object_362, item_361); - object_362.finish(); + let mut object_392 = array_390.value().start_object(); + crate::json_ser::serialize_structure_statement(&mut object_392, item_391); + object_392.finish(); } } - array_360.finish(); + array_390.finish(); } } @@ -1485,10 +1618,10 @@ pub fn serialize_structure_not_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::NotStatement, ) { - if let Some(var_363) = &input.statement { - let mut object_364 = object.key("Statement").start_object(); - crate::json_ser::serialize_structure_statement(&mut object_364, var_363); - object_364.finish(); + if let Some(var_393) = &input.statement { + let mut object_394 = object.key("Statement").start_object(); + crate::json_ser::serialize_structure_statement(&mut object_394, var_393); + object_394.finish(); } } @@ -1496,27 +1629,30 @@ pub fn serialize_structure_managed_rule_group_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ManagedRuleGroupStatement, ) { - if let Some(var_365) = &input.vendor_name { - object.key("VendorName").string(var_365); + if let Some(var_395) = &input.vendor_name { + object.key("VendorName").string(var_395); } - if let Some(var_366) = &input.name { - object.key("Name").string(var_366); + if let Some(var_396) = &input.name { + object.key("Name").string(var_396); } - if let Some(var_367) = &input.excluded_rules { - let mut array_368 = object.key("ExcludedRules").start_array(); - for item_369 in var_367 { + if let Some(var_397) = &input.version { + object.key("Version").string(var_397); + } + if let Some(var_398) = &input.excluded_rules { + let mut array_399 = object.key("ExcludedRules").start_array(); + for item_400 in var_398 { { - let mut object_370 = array_368.value().start_object(); - crate::json_ser::serialize_structure_excluded_rule(&mut object_370, item_369); - object_370.finish(); + let mut object_401 = array_399.value().start_object(); + crate::json_ser::serialize_structure_excluded_rule(&mut object_401, item_400); + object_401.finish(); } } - array_368.finish(); + array_399.finish(); } - if let Some(var_371) = &input.scope_down_statement { - let mut object_372 = object.key("ScopeDownStatement").start_object(); - crate::json_ser::serialize_structure_statement(&mut object_372, var_371); - object_372.finish(); + if let Some(var_402) = &input.scope_down_statement { + let mut object_403 = object.key("ScopeDownStatement").start_object(); + crate::json_ser::serialize_structure_statement(&mut object_403, var_402); + object_403.finish(); } } @@ -1524,11 +1660,11 @@ pub fn serialize_structure_label_match_statement( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelMatchStatement, ) { - if let Some(var_373) = &input.scope { - object.key("Scope").string(var_373.as_str()); + if let Some(var_404) = &input.scope { + object.key("Scope").string(var_404.as_str()); } - if let Some(var_374) = &input.key { - object.key("Key").string(var_374); + if let Some(var_405) = &input.key { + object.key("Key").string(var_405); } } @@ -1536,10 +1672,10 @@ pub fn serialize_structure_count_action( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CountAction, ) { - if let Some(var_375) = &input.custom_request_handling { - let mut object_376 = object.key("CustomRequestHandling").start_object(); - crate::json_ser::serialize_structure_custom_request_handling(&mut object_376, var_375); - object_376.finish(); + if let Some(var_406) = &input.custom_request_handling { + let mut object_407 = object.key("CustomRequestHandling").start_object(); + crate::json_ser::serialize_structure_custom_request_handling(&mut object_407, var_406); + object_407.finish(); } } @@ -1554,25 +1690,25 @@ pub fn serialize_structure_custom_response( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomResponse, ) { - if let Some(var_377) = &input.response_code { + if let Some(var_408) = &input.response_code { object.key("ResponseCode").number( #[allow(clippy::useless_conversion)] - smithy_types::Number::NegInt((*var_377).into()), + smithy_types::Number::NegInt((*var_408).into()), ); } - if let Some(var_378) = &input.custom_response_body_key { - object.key("CustomResponseBodyKey").string(var_378); + if let Some(var_409) = &input.custom_response_body_key { + object.key("CustomResponseBodyKey").string(var_409); } - if let Some(var_379) = &input.response_headers { - let mut array_380 = object.key("ResponseHeaders").start_array(); - for item_381 in var_379 { + if let Some(var_410) = &input.response_headers { + let mut array_411 = object.key("ResponseHeaders").start_array(); + for item_412 in var_410 { { - let mut object_382 = array_380.value().start_object(); - crate::json_ser::serialize_structure_custom_http_header(&mut object_382, item_381); - object_382.finish(); + let mut object_413 = array_411.value().start_object(); + crate::json_ser::serialize_structure_custom_http_header(&mut object_413, item_412); + object_413.finish(); } } - array_380.finish(); + array_411.finish(); } } @@ -1580,16 +1716,16 @@ pub fn serialize_structure_custom_request_handling( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomRequestHandling, ) { - if let Some(var_383) = &input.insert_headers { - let mut array_384 = object.key("InsertHeaders").start_array(); - for item_385 in var_383 { + if let Some(var_414) = &input.insert_headers { + let mut array_415 = object.key("InsertHeaders").start_array(); + for item_416 in var_414 { { - let mut object_386 = array_384.value().start_object(); - crate::json_ser::serialize_structure_custom_http_header(&mut object_386, item_385); - object_386.finish(); + let mut object_417 = array_415.value().start_object(); + crate::json_ser::serialize_structure_custom_http_header(&mut object_417, item_416); + object_417.finish(); } } - array_384.finish(); + array_415.finish(); } } @@ -1597,8 +1733,8 @@ pub fn serialize_structure_single_header( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SingleHeader, ) { - if let Some(var_387) = &input.name { - object.key("Name").string(var_387); + if let Some(var_418) = &input.name { + object.key("Name").string(var_418); } } @@ -1606,8 +1742,8 @@ pub fn serialize_structure_single_query_argument( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::SingleQueryArgument, ) { - if let Some(var_388) = &input.name { - object.key("Name").string(var_388); + if let Some(var_419) = &input.name { + object.key("Name").string(var_419); } } @@ -1650,18 +1786,18 @@ pub fn serialize_structure_json_body( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::JsonBody, ) { - if let Some(var_389) = &input.match_pattern { - let mut object_390 = object.key("MatchPattern").start_object(); - crate::json_ser::serialize_structure_json_match_pattern(&mut object_390, var_389); - object_390.finish(); + if let Some(var_420) = &input.match_pattern { + let mut object_421 = object.key("MatchPattern").start_object(); + crate::json_ser::serialize_structure_json_match_pattern(&mut object_421, var_420); + object_421.finish(); } - if let Some(var_391) = &input.match_scope { - object.key("MatchScope").string(var_391.as_str()); + if let Some(var_422) = &input.match_scope { + object.key("MatchScope").string(var_422.as_str()); } - if let Some(var_392) = &input.invalid_fallback_behavior { + if let Some(var_423) = &input.invalid_fallback_behavior { object .key("InvalidFallbackBehavior") - .string(var_392.as_str()); + .string(var_423.as_str()); } } @@ -1669,22 +1805,22 @@ pub fn serialize_structure_filter( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Filter, ) { - if let Some(var_393) = &input.behavior { - object.key("Behavior").string(var_393.as_str()); + if let Some(var_424) = &input.behavior { + object.key("Behavior").string(var_424.as_str()); } - if let Some(var_394) = &input.requirement { - object.key("Requirement").string(var_394.as_str()); + if let Some(var_425) = &input.requirement { + object.key("Requirement").string(var_425.as_str()); } - if let Some(var_395) = &input.conditions { - let mut array_396 = object.key("Conditions").start_array(); - for item_397 in var_395 { + if let Some(var_426) = &input.conditions { + let mut array_427 = object.key("Conditions").start_array(); + for item_428 in var_426 { { - let mut object_398 = array_396.value().start_object(); - crate::json_ser::serialize_structure_condition(&mut object_398, item_397); - object_398.finish(); + let mut object_429 = array_427.value().start_object(); + crate::json_ser::serialize_structure_condition(&mut object_429, item_428); + object_429.finish(); } } - array_396.finish(); + array_427.finish(); } } @@ -1698,8 +1834,8 @@ pub fn serialize_structure_text_transformation( smithy_types::Number::NegInt((input.priority).into()), ); } - if let Some(var_399) = &input.r#type { - object.key("Type").string(var_399.as_str()); + if let Some(var_430) = &input.r#type { + object.key("Type").string(var_430.as_str()); } } @@ -1707,11 +1843,11 @@ pub fn serialize_structure_forwarded_ip_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ForwardedIpConfig, ) { - if let Some(var_400) = &input.header_name { - object.key("HeaderName").string(var_400); + if let Some(var_431) = &input.header_name { + object.key("HeaderName").string(var_431); } - if let Some(var_401) = &input.fallback_behavior { - object.key("FallbackBehavior").string(var_401.as_str()); + if let Some(var_432) = &input.fallback_behavior { + object.key("FallbackBehavior").string(var_432.as_str()); } } @@ -1719,8 +1855,8 @@ pub fn serialize_structure_excluded_rule( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ExcludedRule, ) { - if let Some(var_402) = &input.name { - object.key("Name").string(var_402); + if let Some(var_433) = &input.name { + object.key("Name").string(var_433); } } @@ -1728,14 +1864,14 @@ pub fn serialize_structure_ip_set_forwarded_ip_config( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::IpSetForwardedIpConfig, ) { - if let Some(var_403) = &input.header_name { - object.key("HeaderName").string(var_403); + if let Some(var_434) = &input.header_name { + object.key("HeaderName").string(var_434); } - if let Some(var_404) = &input.fallback_behavior { - object.key("FallbackBehavior").string(var_404.as_str()); + if let Some(var_435) = &input.fallback_behavior { + object.key("FallbackBehavior").string(var_435.as_str()); } - if let Some(var_405) = &input.position { - object.key("Position").string(var_405.as_str()); + if let Some(var_436) = &input.position { + object.key("Position").string(var_436.as_str()); } } @@ -1743,11 +1879,11 @@ pub fn serialize_structure_custom_http_header( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::CustomHttpHeader, ) { - if let Some(var_406) = &input.name { - object.key("Name").string(var_406); + if let Some(var_437) = &input.name { + object.key("Name").string(var_437); } - if let Some(var_407) = &input.value { - object.key("Value").string(var_407); + if let Some(var_438) = &input.value { + object.key("Value").string(var_438); } } @@ -1755,19 +1891,19 @@ pub fn serialize_structure_json_match_pattern( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::JsonMatchPattern, ) { - if let Some(var_408) = &input.all { - let mut object_409 = object.key("All").start_object(); - crate::json_ser::serialize_structure_all(&mut object_409, var_408); - object_409.finish(); + if let Some(var_439) = &input.all { + let mut object_440 = object.key("All").start_object(); + crate::json_ser::serialize_structure_all(&mut object_440, var_439); + object_440.finish(); } - if let Some(var_410) = &input.included_paths { - let mut array_411 = object.key("IncludedPaths").start_array(); - for item_412 in var_410 { + if let Some(var_441) = &input.included_paths { + let mut array_442 = object.key("IncludedPaths").start_array(); + for item_443 in var_441 { { - array_411.value().string(item_412); + array_442.value().string(item_443); } } - array_411.finish(); + array_442.finish(); } } @@ -1775,15 +1911,15 @@ pub fn serialize_structure_condition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::Condition, ) { - if let Some(var_413) = &input.action_condition { - let mut object_414 = object.key("ActionCondition").start_object(); - crate::json_ser::serialize_structure_action_condition(&mut object_414, var_413); - object_414.finish(); + if let Some(var_444) = &input.action_condition { + let mut object_445 = object.key("ActionCondition").start_object(); + crate::json_ser::serialize_structure_action_condition(&mut object_445, var_444); + object_445.finish(); } - if let Some(var_415) = &input.label_name_condition { - let mut object_416 = object.key("LabelNameCondition").start_object(); - crate::json_ser::serialize_structure_label_name_condition(&mut object_416, var_415); - object_416.finish(); + if let Some(var_446) = &input.label_name_condition { + let mut object_447 = object.key("LabelNameCondition").start_object(); + crate::json_ser::serialize_structure_label_name_condition(&mut object_447, var_446); + object_447.finish(); } } @@ -1798,8 +1934,8 @@ pub fn serialize_structure_action_condition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::ActionCondition, ) { - if let Some(var_417) = &input.action { - object.key("Action").string(var_417.as_str()); + if let Some(var_448) = &input.action { + object.key("Action").string(var_448.as_str()); } } @@ -1807,7 +1943,7 @@ pub fn serialize_structure_label_name_condition( object: &mut smithy_json::serialize::JsonObjectWriter, input: &crate::model::LabelNameCondition, ) { - if let Some(var_418) = &input.label_name { - object.key("LabelName").string(var_418); + if let Some(var_449) = &input.label_name { + object.key("LabelName").string(var_449); } } diff --git a/sdk/wafv2/src/lib.rs b/sdk/wafv2/src/lib.rs index 916775d408a7..e9e6f922417e 100644 --- a/sdk/wafv2/src/lib.rs +++ b/sdk/wafv2/src/lib.rs @@ -6,29 +6,31 @@ #![allow(clippy::blacklisted_name)] //! WAF //! -//!

                                                                                      This is the latest version of the WAF API, released in -//! November, 2019. The names of the entities that you use to access this API, like -//! endpoints and namespaces, all have the versioning information added, like "V2" or "v2", -//! to distinguish from the prior version. We recommend migrating your resources to this -//! version, because it has a number of significant improvements.

                                                                                      -//!

                                                                                      If you used WAF prior to this release, you can't use this WAFV2 API to access -//! any WAF resources that you created before. You can access your old rules, web ACLs, -//! and other WAF resources only through the WAF Classic APIs. The WAF Classic -//! APIs have retained the prior names, endpoints, and namespaces.

                                                                                      -//!

                                                                                      For information, including how to migrate your WAF resources to this version, see the WAF -//! Developer Guide.

                                                                                      +//!

                                                                                      This is the latest version of the WAF API, +//! released in November, 2019. The names of the entities that you use to access this API, +//! like endpoints and namespaces, all have the versioning information added, like "V2" or +//! "v2", to distinguish from the prior version. We recommend migrating your resources to +//! this version, because it has a number of significant improvements.

                                                                                      +//!

                                                                                      If you used WAF prior to this release, you can't use this WAFV2 API to access any +//! WAF resources that you created before. You can access your old rules, web ACLs, and +//! other WAF resources only through the WAF Classic APIs. The WAF Classic APIs +//! have retained the prior names, endpoints, and namespaces.

                                                                                      +//!

                                                                                      For information, including how to migrate your WAF resources to this version, +//! see the WAF Developer Guide.

                                                                                      //!
                                                                                      -//!

                                                                                      WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests -//! that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AppSync GraphQL API. WAF also lets you control access to your content. Based on conditions that +//!

                                                                                      WAF is a web application firewall that lets you monitor the HTTP and HTTPS +//! requests that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AppSync +//! GraphQL API. WAF also lets you control access to your content. Based on conditions that //! you specify, such as the IP addresses that requests originate from or the values of query -//! strings, the Amazon API Gateway REST API, CloudFront distribution, the Application Load Balancer, -//! or the AppSync GraphQL API responds to requests -//! either with the requested content or with an HTTP 403 status code (Forbidden). You also can -//! configure CloudFront to return a custom error page when a request is blocked.

                                                                                      -//!

                                                                                      This API guide is for developers who need detailed information about WAF API -//! actions, data types, and errors. For detailed information about WAF features and an -//! overview of how to use WAF, see the WAF Developer Guide.

                                                                                      -//!

                                                                                      You can make calls using the endpoints listed in Amazon Web Services Service Endpoints for WAF.

                                                                                      +//! strings, the Amazon API Gateway REST API, CloudFront distribution, the Application Load Balancer, or the AppSync GraphQL +//! API responds to requests either with the requested content or with an HTTP 403 status code +//! (Forbidden). You also can configure CloudFront to return a custom error page when a request is +//! blocked.

                                                                                      +//!

                                                                                      This API guide is for developers who need detailed information about WAF API actions, +//! data types, and errors. For detailed information about WAF features and an overview of +//! how to use WAF, see the WAF Developer +//! Guide.

                                                                                      +//!

                                                                                      You can make calls using the endpoints listed in WAF endpoints and quotas.

                                                                                      //!
                                                                                        //!
                                                                                      • //!

                                                                                        For regional applications, you can use any of the endpoints in the list. @@ -42,8 +44,8 @@ //!

                                                                                        Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the //! programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

                                                                                        //!

                                                                                        We currently provide two versions of the WAF API: this API and the prior versions, -//! the classic WAF APIs. This new API provides the same functionality as the older -//! versions, with the following major improvements:

                                                                                        +//! the classic WAF APIs. This new API provides the same functionality as the older versions, +//! with the following major improvements:

                                                                                        //!
                                                                                          //!
                                                                                        • //!

                                                                                          You use one API for both global and regional applications. Where you need to diff --git a/sdk/wafv2/src/model.rs b/sdk/wafv2/src/model.rs index ac2a2dabf0ff..5ccbf5046a28 100644 --- a/sdk/wafv2/src/model.rs +++ b/sdk/wafv2/src/model.rs @@ -268,15 +268,18 @@ impl AsRef for ParameterExceptionField { } } -///

                                                                                          The response body to use in a custom response to a web request. This is referenced by key from CustomResponse +///

                                                                                          The response body to use in a custom response to a web request. This is referenced by +/// key from CustomResponse /// CustomResponseBodyKey.

                                                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CustomResponseBody { - ///

                                                                                          The type of content in the payload that you are defining in the Content string.

                                                                                          + ///

                                                                                          The type of content in the payload that you are defining in the Content + /// string.

                                                                                          pub content_type: std::option::Option, ///

                                                                                          The payload of the custom response.

                                                                                          - ///

                                                                                          You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType setting.

                                                                                          + ///

                                                                                          You can use JSON escape strings in JSON content. To do this, you must specify JSON + /// content in the ContentType setting.

                                                                                          ///

                                                                                          For information about the limits on count and size for custom request and response settings, see WAF quotas in the /// WAF Developer Guide.

                                                                                          pub content: std::option::Option, @@ -299,7 +302,8 @@ pub mod custom_response_body { pub(crate) content: std::option::Option, } impl Builder { - ///

                                                                                          The type of content in the payload that you are defining in the Content string.

                                                                                          + ///

                                                                                          The type of content in the payload that you are defining in the Content + /// string.

                                                                                          pub fn content_type(mut self, input: crate::model::ResponseContentType) -> Self { self.content_type = Some(input); self @@ -312,7 +316,8 @@ pub mod custom_response_body { self } ///

                                                                                          The payload of the custom response.

                                                                                          - ///

                                                                                          You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType setting.

                                                                                          + ///

                                                                                          You can use JSON escape strings in JSON content. To do this, you must specify JSON + /// content in the ContentType setting.

                                                                                          ///

                                                                                          For information about the limits on count and size for custom request and response settings, see WAF quotas in the /// WAF Developer Guide.

                                                                                          pub fn content(mut self, input: impl Into) -> Self { @@ -396,14 +401,17 @@ impl AsRef for ResponseContentType { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct VisibilityConfig { - ///

                                                                                          A boolean indicating whether WAF should store a sampling of the web - /// requests that match the rules. You can view the sampled requests through the - /// WAF console.

                                                                                          + ///

                                                                                          A boolean indicating whether WAF should store a sampling of the web requests that + /// match the rules. You can view the sampled requests through the WAF console.

                                                                                          pub sampled_requests_enabled: bool, - ///

                                                                                          A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see WAF Metrics.

                                                                                          + ///

                                                                                          A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the + /// list of available metrics, see WAF + /// Metrics.

                                                                                          pub cloud_watch_metrics_enabled: bool, - ///

                                                                                          A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain - /// whitespace or metric names reserved for WAF, for example "All" and "Default_Action."

                                                                                          + ///

                                                                                          A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, + /// - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't + /// contain whitespace or metric names reserved for WAF, for example "All" and + /// "Default_Action."

                                                                                          pub metric_name: std::option::Option, } impl std::fmt::Debug for VisibilityConfig { @@ -429,9 +437,8 @@ pub mod visibility_config { pub(crate) metric_name: std::option::Option, } impl Builder { - ///

                                                                                          A boolean indicating whether WAF should store a sampling of the web - /// requests that match the rules. You can view the sampled requests through the - /// WAF console.

                                                                                          + ///

                                                                                          A boolean indicating whether WAF should store a sampling of the web requests that + /// match the rules. You can view the sampled requests through the WAF console.

                                                                                          pub fn sampled_requests_enabled(mut self, input: bool) -> Self { self.sampled_requests_enabled = Some(input); self @@ -440,7 +447,9 @@ pub mod visibility_config { self.sampled_requests_enabled = input; self } - ///

                                                                                          A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the list of available metrics, see WAF Metrics.

                                                                                          + ///

                                                                                          A boolean indicating whether the associated resource sends metrics to Amazon CloudWatch. For the + /// list of available metrics, see WAF + /// Metrics.

                                                                                          pub fn cloud_watch_metrics_enabled(mut self, input: bool) -> Self { self.cloud_watch_metrics_enabled = Some(input); self @@ -449,8 +458,10 @@ pub mod visibility_config { self.cloud_watch_metrics_enabled = input; self } - ///

                                                                                          A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain - /// whitespace or metric names reserved for WAF, for example "All" and "Default_Action."

                                                                                          + ///

                                                                                          A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, + /// - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't + /// contain whitespace or metric names reserved for WAF, for example "All" and + /// "Default_Action."

                                                                                          pub fn metric_name(mut self, input: impl Into) -> Self { self.metric_name = Some(input.into()); self @@ -476,19 +487,19 @@ impl VisibilityConfig { } } -///

                                                                                          A single rule, which you can use in a WebACL or RuleGroup to identify -/// web requests that you want to allow, block, or count. -/// Each rule includes one top-level Statement that WAF uses to identify matching -/// web requests, and parameters that govern how WAF handles them.

                                                                                          +///

                                                                                          A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. +/// Each rule includes one top-level Statement that WAF uses to +/// identify matching web requests, and parameters that govern how WAF handles them.

                                                                                          #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Rule { - ///

                                                                                          The name of the rule. You can't change the name of a Rule after you create it.

                                                                                          + ///

                                                                                          The name of the rule. You can't change the name of a Rule after you create + /// it.

                                                                                          pub name: std::option::Option, - ///

                                                                                          If you define more than one Rule in a - /// WebACL, WAF evaluates each request against the Rules - /// in order based on the value of Priority. - /// WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

                                                                                          + ///

                                                                                          If you define more than one Rule in a WebACL, WAF + /// evaluates each request against the Rules in order based on the value of + /// Priority. WAF processes rules with lower priority first. The priorities + /// don't need to be consecutive, but they must all be different.

                                                                                          pub priority: i32, ///

                                                                                          The WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

                                                                                          pub statement: std::option::Option, @@ -517,9 +528,14 @@ pub struct Rule { ///
                                                                                        • ///
                                                                                        pub override_action: std::option::Option, - ///

                                                                                        Labels to apply to web requests that match the rule match statement. WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

                                                                                        - ///

                                                                                        Rules that run after this rule in the web ACL can match against these labels using a LabelMatchStatement.

                                                                                        - ///

                                                                                        For each label, provide a case-sensitive string containing optional namespaces and a label name, according to the following guidelines:

                                                                                        + ///

                                                                                        Labels to apply to web requests that match the rule match statement. WAF applies + /// fully qualified labels to matching web requests. A fully qualified label is the + /// concatenation of a label namespace and a rule label. The rule's rule group or web ACL + /// defines the label namespace.

                                                                                        + ///

                                                                                        Rules that run after this rule in the web ACL can match against these labels using a + /// LabelMatchStatement.

                                                                                        + ///

                                                                                        For each label, provide a case-sensitive string containing optional namespaces and a + /// label name, according to the following guidelines:

                                                                                        ///
                                                                                          ///
                                                                                        • ///

                                                                                          Separate each component of the label with a colon.

                                                                                          @@ -531,10 +547,13 @@ pub struct Rule { ///

                                                                                          You can specify up to 5 namespaces in a label.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          Don't use the following reserved words in your label specification: aws, waf, managed, rulegroup, webacl, regexpatternset, or ipset.

                                                                                          + ///

                                                                                          Don't use the following reserved words in your label specification: + /// aws, waf, managed, rulegroup, + /// webacl, regexpatternset, or ipset.

                                                                                          ///
                                                                                        • ///
                                                                                        - ///

                                                                                        For example, myLabelName or nameSpace1:nameSpace2:myLabelName.

                                                                                        + ///

                                                                                        For example, myLabelName or nameSpace1:nameSpace2:myLabelName. + ///

                                                                                        pub rule_labels: std::option::Option>, ///

                                                                                        Defines and enables Amazon CloudWatch metrics and web request sample collection.

                                                                                        pub visibility_config: std::option::Option, @@ -567,7 +586,8 @@ pub mod rule { pub(crate) visibility_config: std::option::Option, } impl Builder { - ///

                                                                                        The name of the rule. You can't change the name of a Rule after you create it.

                                                                                        + ///

                                                                                        The name of the rule. You can't change the name of a Rule after you create + /// it.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -576,10 +596,10 @@ pub mod rule { self.name = input; self } - ///

                                                                                        If you define more than one Rule in a - /// WebACL, WAF evaluates each request against the Rules - /// in order based on the value of Priority. - /// WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

                                                                                        + ///

                                                                                        If you define more than one Rule in a WebACL, WAF + /// evaluates each request against the Rules in order based on the value of + /// Priority. WAF processes rules with lower priority first. The priorities + /// don't need to be consecutive, but they must all be different.

                                                                                        pub fn priority(mut self, input: i32) -> Self { self.priority = Some(input); self @@ -688,7 +708,9 @@ impl Rule { } } -///

                                                                                        A single label container. This is used as an element of a label array in multiple contexts, for example, in RuleLabels inside a Rule and in Labels inside a SampledHTTPRequest.

                                                                                        +///

                                                                                        A single label container. This is used as an element of a label array in multiple +/// contexts, for example, in RuleLabels inside a Rule and in +/// Labels inside a SampledHTTPRequest.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Label { @@ -805,7 +827,8 @@ impl OverrideAction { } } -///

                                                                                        Specifies that WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the OverrideAction on the Rule.

                                                                                        +///

                                                                                        Specifies that WAF should do nothing. This is generally used to try out a rule +/// without performing any actions. You set the OverrideAction on the Rule.

                                                                                        ///

                                                                                        This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -836,7 +859,8 @@ impl NoneAction { } } -///

                                                                                        Specifies that WAF should count the request. Optionally defines additional custom handling for the request.

                                                                                        +///

                                                                                        Specifies that WAF should count the request. Optionally defines additional custom +/// handling for the request.

                                                                                        ///

                                                                                        This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -895,7 +919,8 @@ impl CountAction { } } -///

                                                                                        Custom request handling behavior that inserts custom headers into a web request. You can add custom request handling for the rule actions allow and count.

                                                                                        +///

                                                                                        Custom request handling behavior that inserts custom headers into a web request. You can +/// add custom request handling for the rule actions allow and count.

                                                                                        ///

                                                                                        For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the /// WAF Developer Guide.

                                                                                        #[non_exhaustive] @@ -956,7 +981,10 @@ impl CustomRequestHandling { #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct CustomHttpHeader { ///

                                                                                        The name of the custom header.

                                                                                        - ///

                                                                                        For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers that are already in the request. For example, for the header name sample, WAF inserts the header x-amzn-waf-sample.

                                                                                        + ///

                                                                                        For custom request header insertion, when WAF inserts the header into the request, + /// it prefixes this name x-amzn-waf-, to avoid confusion with the headers that + /// are already in the request. For example, for the header name sample, WAF + /// inserts the header x-amzn-waf-sample.

                                                                                        pub name: std::option::Option, ///

                                                                                        The value of the custom header.

                                                                                        pub value: std::option::Option, @@ -980,7 +1008,10 @@ pub mod custom_http_header { } impl Builder { ///

                                                                                        The name of the custom header.

                                                                                        - ///

                                                                                        For custom request header insertion, when WAF inserts the header into the request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers that are already in the request. For example, for the header name sample, WAF inserts the header x-amzn-waf-sample.

                                                                                        + ///

                                                                                        For custom request header insertion, when WAF inserts the header into the request, + /// it prefixes this name x-amzn-waf-, to avoid confusion with the headers that + /// are already in the request. For example, for the header name sample, WAF + /// inserts the header x-amzn-waf-sample.

                                                                                        pub fn name(mut self, input: impl Into) -> Self { self.name = Some(input.into()); self @@ -1014,7 +1045,8 @@ impl CustomHttpHeader { } } -///

                                                                                        The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

                                                                                        +///

                                                                                        The action that WAF should take on a web request when it matches a rule's +/// statement. Settings at the web ACL level can override the rule action setting.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RuleAction { @@ -1089,7 +1121,8 @@ impl RuleAction { } } -///

                                                                                        Specifies that WAF should allow the request and optionally defines additional custom handling for the request.

                                                                                        +///

                                                                                        Specifies that WAF should allow the request and optionally defines additional +/// custom handling for the request.

                                                                                        ///

                                                                                        This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -1148,7 +1181,8 @@ impl AllowAction { } } -///

                                                                                        Specifies that WAF should block the request and optionally defines additional custom handling for the response to the web request.

                                                                                        +///

                                                                                        Specifies that WAF should block the request and optionally defines additional +/// custom handling for the response to the web request.

                                                                                        ///

                                                                                        This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -1203,7 +1237,8 @@ impl BlockAction { } } -///

                                                                                        A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to BlockAction.

                                                                                        +///

                                                                                        A custom response to send to the client. You can define a custom response for rule +/// actions and default web ACL actions that are set to BlockAction.

                                                                                        ///

                                                                                        For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the /// WAF Developer Guide.

                                                                                        #[non_exhaustive] @@ -1213,9 +1248,12 @@ pub struct CustomResponse { ///

                                                                                        For a list of status codes that you can use in your custom reqponses, see Supported status codes for custom response in the /// WAF Developer Guide.

                                                                                        pub response_code: std::option::Option, - ///

                                                                                        References the response body that you want WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first - /// define the response body key and value in the CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference - /// the response body using this key.

                                                                                        + ///

                                                                                        References the response body that you want WAF to return to the web request + /// client. You can define a custom response for a rule action or a default web ACL action that + /// is set to block. To do this, you first define the response body key and value in the + /// CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL + /// default action BlockAction setting, you reference the response body using this + /// key.

                                                                                        pub custom_response_body_key: std::option::Option, ///

                                                                                        The HTTP headers to use in the response. Duplicate header names are not allowed.

                                                                                        ///

                                                                                        For information about the limits on count and size for custom request and response settings, see WAF quotas in the @@ -1254,9 +1292,12 @@ pub mod custom_response { self.response_code = input; self } - ///

                                                                                        References the response body that you want WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first - /// define the response body key and value in the CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction setting, you reference - /// the response body using this key.

                                                                                        + ///

                                                                                        References the response body that you want WAF to return to the web request + /// client. You can define a custom response for a rule action or a default web ACL action that + /// is set to block. To do this, you first define the response body key and value in the + /// CustomResponseBodies setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL + /// default action BlockAction setting, you reference the response body using this + /// key.

                                                                                        pub fn custom_response_body_key(mut self, input: impl Into) -> Self { self.custom_response_body_key = Some(input.into()); self @@ -1301,7 +1342,8 @@ impl CustomResponse { } } -///

                                                                                        The processing guidance for a Rule, used by WAF to determine whether a web request matches the rule.

                                                                                        +///

                                                                                        The processing guidance for a Rule, used by WAF to determine +/// whether a web request matches the rule.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Statement { @@ -1659,16 +1701,23 @@ impl Statement { pub struct LabelMatchStatement { ///

                                                                                        Specify whether you want to match using the label name or just the namespace.

                                                                                        pub scope: std::option::Option, - ///

                                                                                        The string to match against. The setting you provide for this depends on the match statement's Scope setting:

                                                                                        + ///

                                                                                        The string to match against. The setting you provide for this depends on the match + /// statement's Scope setting:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.

                                                                                          + ///

                                                                                          If the Scope indicates LABEL, then this specification + /// must include the name and can include any number of preceding namespace + /// specifications and prefix up to providing the fully qualified label name.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

                                                                                          + ///

                                                                                          If the Scope indicates NAMESPACE, then this + /// specification can include any number of contiguous namespace strings, and can include + /// the entire label namespace prefix from the rule group or web ACL where the label + /// originates.

                                                                                          ///
                                                                                        • ///
                                                                                        - ///

                                                                                        Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

                                                                                        + ///

                                                                                        Labels are case sensitive and components of a label must be separated by colon, for + /// example NS1:NS2:name.

                                                                                        pub key: std::option::Option, } impl std::fmt::Debug for LabelMatchStatement { @@ -1701,16 +1750,23 @@ pub mod label_match_statement { self.scope = input; self } - ///

                                                                                        The string to match against. The setting you provide for this depends on the match statement's Scope setting:

                                                                                        + ///

                                                                                        The string to match against. The setting you provide for this depends on the match + /// statement's Scope setting:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          If the Scope indicates LABEL, then this specification must include the name and can include any number of preceding namespace specifications and prefix up to providing the fully qualified label name.

                                                                                          + ///

                                                                                          If the Scope indicates LABEL, then this specification + /// must include the name and can include any number of preceding namespace + /// specifications and prefix up to providing the fully qualified label name.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          If the Scope indicates NAMESPACE, then this specification can include any number of contiguous namespace strings, and can include the entire label namespace prefix from the rule group or web ACL where the label originates.

                                                                                          + ///

                                                                                          If the Scope indicates NAMESPACE, then this + /// specification can include any number of contiguous namespace strings, and can include + /// the entire label namespace prefix from the rule group or web ACL where the label + /// originates.

                                                                                          ///
                                                                                        • ///
                                                                                        - ///

                                                                                        Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

                                                                                        + ///

                                                                                        Labels are case sensitive and components of a label must be separated by colon, for + /// example NS1:NS2:name.

                                                                                        pub fn key(mut self, input: impl Into) -> Self { self.key = Some(input.into()); self @@ -1794,9 +1850,20 @@ pub struct ManagedRuleGroupStatement { pub vendor_name: std::option::Option, ///

                                                                                        The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

                                                                                        pub name: std::option::Option, - ///

                                                                                        The rules whose actions are set to COUNT by the web ACL, regardless of the action that is set on the rule. This effectively excludes the rule from acting on web requests.

                                                                                        + ///

                                                                                        The version of the managed rule group to use. If you specify this, the version setting + /// is fixed until you change it. + /// If you don't specify this, WAF uses the vendor's default version, and then keeps the version + /// at the vendor's default when the vendor updates the managed rule group settings.

                                                                                        + pub version: std::option::Option, + ///

                                                                                        The rules whose actions are set to COUNT by the web ACL, regardless of the + /// action that is set on the rule. This effectively excludes the rule from acting on web + /// requests.

                                                                                        pub excluded_rules: std::option::Option>, - ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

                                                                                        + ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are + /// evaluated by the managed rule group. Requests are only evaluated by the rule group if they + /// match the scope-down statement. You can use any nestable Statement in the + /// scope-down statement, and you can nest statements at any level, the same as you can for a + /// rule statement.

                                                                                        pub scope_down_statement: std::option::Option>, } impl std::fmt::Debug for ManagedRuleGroupStatement { @@ -1804,6 +1871,7 @@ impl std::fmt::Debug for ManagedRuleGroupStatement { let mut formatter = f.debug_struct("ManagedRuleGroupStatement"); formatter.field("vendor_name", &self.vendor_name); formatter.field("name", &self.name); + formatter.field("version", &self.version); formatter.field("excluded_rules", &self.excluded_rules); formatter.field("scope_down_statement", &self.scope_down_statement); formatter.finish() @@ -1817,6 +1885,7 @@ pub mod managed_rule_group_statement { pub struct Builder { pub(crate) vendor_name: std::option::Option, pub(crate) name: std::option::Option, + pub(crate) version: std::option::Option, pub(crate) excluded_rules: std::option::Option>, pub(crate) scope_down_statement: std::option::Option>, @@ -1840,6 +1909,18 @@ pub mod managed_rule_group_statement { self.name = input; self } + ///

                                                                                        The version of the managed rule group to use. If you specify this, the version setting + /// is fixed until you change it. + /// If you don't specify this, WAF uses the vendor's default version, and then keeps the version + /// at the vendor's default when the vendor updates the managed rule group settings.

                                                                                        + pub fn version(mut self, input: impl Into) -> Self { + self.version = Some(input.into()); + self + } + pub fn set_version(mut self, input: std::option::Option) -> Self { + self.version = input; + self + } pub fn excluded_rules(mut self, input: impl Into) -> Self { let mut v = self.excluded_rules.unwrap_or_default(); v.push(input.into()); @@ -1853,7 +1934,11 @@ pub mod managed_rule_group_statement { self.excluded_rules = input; self } - ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

                                                                                        + ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are + /// evaluated by the managed rule group. Requests are only evaluated by the rule group if they + /// match the scope-down statement. You can use any nestable Statement in the + /// scope-down statement, and you can nest statements at any level, the same as you can for a + /// rule statement.

                                                                                        pub fn scope_down_statement( mut self, input: impl Into>, @@ -1873,6 +1958,7 @@ pub mod managed_rule_group_statement { crate::model::ManagedRuleGroupStatement { vendor_name: self.vendor_name, name: self.name, + version: self.version, excluded_rules: self.excluded_rules, scope_down_statement: self.scope_down_statement, } @@ -1886,9 +1972,9 @@ impl ManagedRuleGroupStatement { } } -///

                                                                                        Specifies a single rule to exclude from the rule group. Excluding a rule overrides -/// its action setting for the rule group in the web ACL, setting it to COUNT. -/// This effectively excludes the rule from acting on web requests.

                                                                                        +///

                                                                                        Specifies a single rule to exclude from the rule group. Excluding a rule overrides its +/// action setting for the rule group in the web ACL, setting it to COUNT. This +/// effectively excludes the rule from acting on web requests.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ExcludedRule { @@ -1990,7 +2076,8 @@ impl NotStatement { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct OrStatement { - ///

                                                                                        The statements to combine with OR logic. You can use any statements that can be nested.

                                                                                        + ///

                                                                                        The statements to combine with OR logic. You can use any statements that can be + /// nested.

                                                                                        pub statements: std::option::Option>, } impl std::fmt::Debug for OrStatement { @@ -2041,7 +2128,8 @@ impl OrStatement { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct AndStatement { - ///

                                                                                        The statements to combine with AND logic. You can use any statements that can be nested.

                                                                                        + ///

                                                                                        The statements to combine with AND logic. You can use any statements that can be nested. + ///

                                                                                        pub statements: std::option::Option>, } impl std::fmt::Debug for AndStatement { @@ -2104,25 +2192,35 @@ impl AndStatement { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RateBasedStatement { - ///

                                                                                        The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement, this limit is applied only to the requests that match the statement.

                                                                                        + ///

                                                                                        The limit on requests per 5-minute period for a single originating IP address. If the + /// statement includes a ScopeDownStatement, this limit is applied only to the + /// requests that match the statement.

                                                                                        pub limit: i64, - ///

                                                                                        Setting that indicates how to aggregate the request counts. The options are the following:

                                                                                        + ///

                                                                                        Setting that indicates how to aggregate the request counts. The options are the + /// following:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          IP - Aggregate the request counts on the IP address from the web request origin.

                                                                                          + ///

                                                                                          IP - Aggregate the request counts on the IP address from the web request + /// origin.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig, to specify the header to use.

                                                                                          + ///

                                                                                          FORWARDED_IP - Aggregate the request counts on the first IP address in an + /// HTTP header. If you use this, configure the ForwardedIPConfig, to + /// specify the header to use.

                                                                                          ///
                                                                                        • ///
                                                                                        pub aggregate_key_type: std::option::Option, - ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are evaluated by the rate-based statement. Requests are only tracked by the rate-based statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

                                                                                        + ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are + /// evaluated by the rate-based statement. Requests are only tracked by the rate-based + /// statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any + /// level, the same as you can for a rule statement.

                                                                                        pub scope_down_statement: std::option::Option>, ///

                                                                                        The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

                                                                                        /// ///

                                                                                        If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

                                                                                        ///
                                                                                        - ///

                                                                                        This is required if AggregateKeyType is set to FORWARDED_IP.

                                                                                        + ///

                                                                                        This is required if AggregateKeyType is set to + /// FORWARDED_IP.

                                                                                        pub forwarded_ip_config: std::option::Option, } impl std::fmt::Debug for RateBasedStatement { @@ -2149,7 +2247,9 @@ pub mod rate_based_statement { pub(crate) forwarded_ip_config: std::option::Option, } impl Builder { - ///

                                                                                        The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement, this limit is applied only to the requests that match the statement.

                                                                                        + ///

                                                                                        The limit on requests per 5-minute period for a single originating IP address. If the + /// statement includes a ScopeDownStatement, this limit is applied only to the + /// requests that match the statement.

                                                                                        pub fn limit(mut self, input: i64) -> Self { self.limit = Some(input); self @@ -2158,13 +2258,17 @@ pub mod rate_based_statement { self.limit = input; self } - ///

                                                                                        Setting that indicates how to aggregate the request counts. The options are the following:

                                                                                        + ///

                                                                                        Setting that indicates how to aggregate the request counts. The options are the + /// following:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          IP - Aggregate the request counts on the IP address from the web request origin.

                                                                                          + ///

                                                                                          IP - Aggregate the request counts on the IP address from the web request + /// origin.

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig, to specify the header to use.

                                                                                          + ///

                                                                                          FORWARDED_IP - Aggregate the request counts on the first IP address in an + /// HTTP header. If you use this, configure the ForwardedIPConfig, to + /// specify the header to use.

                                                                                          ///
                                                                                        • ///
                                                                                        pub fn aggregate_key_type( @@ -2181,7 +2285,10 @@ pub mod rate_based_statement { self.aggregate_key_type = input; self } - ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are evaluated by the rate-based statement. Requests are only tracked by the rate-based statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.

                                                                                        + ///

                                                                                        An optional nested statement that narrows the scope of the web requests that are + /// evaluated by the rate-based statement. Requests are only tracked by the rate-based + /// statement if they match the scope-down statement. You can use any nestable Statement in the scope-down statement, and you can nest statements at any + /// level, the same as you can for a rule statement.

                                                                                        pub fn scope_down_statement( mut self, input: impl Into>, @@ -2200,7 +2307,8 @@ pub mod rate_based_statement { /// ///

                                                                                        If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

                                                                                        ///
                                                                                        - ///

                                                                                        This is required if AggregateKeyType is set to FORWARDED_IP.

                                                                                        + ///

                                                                                        This is required if AggregateKeyType is set to + /// FORWARDED_IP.

                                                                                        pub fn forwarded_ip_config(mut self, input: crate::model::ForwardedIpConfig) -> Self { self.forwarded_ip_config = Some(input); self @@ -2234,9 +2342,9 @@ impl RateBasedStatement { /// ///

                                                                                        If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

                                                                                        ///
                                                                                        -///

                                                                                        This configuration is used for GeoMatchStatement and RateBasedStatement. -/// For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.

                                                                                        -///

                                                                                        WAF only evaluates the first IP address found in the specified HTTP header.

                                                                                        +///

                                                                                        This configuration is used for GeoMatchStatement and RateBasedStatement. For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.

                                                                                        +///

                                                                                        WAF only evaluates the first IP address found in the specified HTTP header. +///

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ForwardedIpConfig { @@ -2439,7 +2547,8 @@ impl AsRef for RateBasedStatementAggregateKeyType { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct RegexPatternSetReferenceStatement { - ///

                                                                                        The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

                                                                                        + ///

                                                                                        The Amazon Resource Name (ARN) of the RegexPatternSet that this + /// statement references.

                                                                                        pub arn: std::option::Option, ///

                                                                                        The part of a web request that you want WAF to inspect. For more information, see FieldToMatch.

                                                                                        pub field_to_match: std::option::Option, @@ -2469,7 +2578,8 @@ pub mod regex_pattern_set_reference_statement { std::option::Option>, } impl Builder { - ///

                                                                                        The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

                                                                                        + ///

                                                                                        The Amazon Resource Name (ARN) of the RegexPatternSet that this + /// statement references.

                                                                                        pub fn arn(mut self, input: impl Into) -> Self { self.arn = Some(input.into()); self @@ -2523,13 +2633,15 @@ impl RegexPatternSetReferenceStatement { } } -///

                                                                                        Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. -///

                                                                                        +///

                                                                                        Text transformations eliminate some of the unusual formatting that attackers use in web +/// requests in an effort to bypass detection.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TextTransformation { - ///

                                                                                        Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all - /// transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

                                                                                        + ///

                                                                                        Sets the relative processing order for multiple transformations that are defined for a + /// rule statement. WAF processes all transformations, from lowest priority to highest, + /// before inspecting the transformed content. The priorities don't need to be consecutive, but + /// they must all be different.

                                                                                        pub priority: i32, ///

                                                                                        You can specify the following transformation types:

                                                                                        ///

                                                                                        @@ -2668,9 +2780,7 @@ pub struct TextTransformation { /// REPLACE_NULLS - Replace NULL bytes in the input /// with space characters (ASCII 0x20).

                                                                                        ///

                                                                                        - /// SQL_HEX_DECODE - Decode the following ANSI C escape sequences: - /// \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Encodings - /// that aren't valid remain in the output.

                                                                                        + /// SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

                                                                                        ///

                                                                                        /// URL_DECODE - Decode a URL-encoded value.

                                                                                        ///

                                                                                        @@ -2702,8 +2812,10 @@ pub mod text_transformation { pub(crate) r#type: std::option::Option, } impl Builder { - ///

                                                                                        Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all - /// transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

                                                                                        + ///

                                                                                        Sets the relative processing order for multiple transformations that are defined for a + /// rule statement. WAF processes all transformations, from lowest priority to highest, + /// before inspecting the transformed content. The priorities don't need to be consecutive, but + /// they must all be different.

                                                                                        pub fn priority(mut self, input: i32) -> Self { self.priority = Some(input); self @@ -2849,9 +2961,7 @@ pub mod text_transformation { /// REPLACE_NULLS - Replace NULL bytes in the input /// with space characters (ASCII 0x20).

                                                                                        ///

                                                                                        - /// SQL_HEX_DECODE - Decode the following ANSI C escape sequences: - /// \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Encodings - /// that aren't valid remain in the output.

                                                                                        + /// SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

                                                                                        ///

                                                                                        /// URL_DECODE - Decode a URL-encoded value.

                                                                                        ///

                                                                                        @@ -3019,34 +3129,59 @@ impl AsRef for TextTransformationType { } } -///

                                                                                        The part of a web request that you want WAF to inspect. Include the single FieldToMatch type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.

                                                                                        +///

                                                                                        The part of a web request that you want WAF to inspect. Include the single +/// FieldToMatch type that you want to inspect, with additional specifications +/// as needed, according to the type. You specify a single request component in +/// FieldToMatch for each rule statement that requires it. To inspect more than +/// one component of a web request, create a separate rule statement for each component.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct FieldToMatch { - ///

                                                                                        Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

                                                                                        + ///

                                                                                        Inspect a single header. Provide the name of the header to inspect, for example, + /// User-Agent or Referer. This setting isn't case + /// sensitive.

                                                                                        ///

                                                                                        Example JSON: "SingleHeader": { "Name": "haystack" } ///

                                                                                        pub single_header: std::option::Option, - ///

                                                                                        Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

                                                                                        + ///

                                                                                        Inspect a single query argument. Provide the name of the query argument to inspect, such + /// as UserName or SalesRegion. The name can be up to + /// 30 characters long and isn't case sensitive.

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        ///

                                                                                        Example JSON: "SingleQueryArgument": { "Name": "myArgument" } ///

                                                                                        pub single_query_argument: std::option::Option, ///

                                                                                        Inspect all query arguments.

                                                                                        pub all_query_arguments: std::option::Option, - ///

                                                                                        Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

                                                                                        + ///

                                                                                        Inspect the request URI path. This is the part of a web request that identifies a + /// resource, for example, /images/daily-ad.jpg.

                                                                                        pub uri_path: std::option::Option, - ///

                                                                                        Inspect the query string. This is the part of a URL that appears after a ? character, if any.

                                                                                        + ///

                                                                                        Inspect the query string. This is the part of a URL that appears after a ? + /// character, if any.

                                                                                        pub query_string: std::option::Option, - ///

                                                                                        Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any - /// additional data that you want to send to your web server as the HTTP request body, such as data from a form.

                                                                                        - ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. If you don't need to inspect more than 8 KB, you can guarantee that you don't allow additional bytes in by combining a statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, with a SizeConstraintStatement that enforces an 8 KB size limit on the body of the request. WAF doesn't support inspecting the entire contents of web requests whose bodies exceed the 8 KB limit.

                                                                                        + ///

                                                                                        Inspect the request body as plain text. The request body immediately follows the request + /// headers. This is the part of a request that contains any additional data that you want to + /// send to your web server as the HTTP request body, such as data from a form.

                                                                                        + ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to + /// WAF for inspection by the underlying host service. If you don't need to inspect more + /// than 8 KB, you can guarantee that you don't allow additional bytes in by combining a + /// statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, + /// with a SizeConstraintStatement that enforces an 8 KB size limit on the + /// body of the request. WAF doesn't support inspecting the entire contents of web requests + /// whose bodies exceed the 8 KB limit.

                                                                                        pub body: std::option::Option, - ///

                                                                                        Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

                                                                                        + ///

                                                                                        Inspect the HTTP method. The method indicates the type of operation that the request is + /// asking the origin to perform.

                                                                                        pub method: std::option::Option, - ///

                                                                                        Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any - /// additional data that you want to send to your web server as the HTTP request body, such as data from a form.

                                                                                        - ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. If you don't need to inspect more than 8 KB, you can guarantee that you don't allow additional bytes in by combining a statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, with a SizeConstraintStatement that enforces an 8 KB size limit on the body of the request. WAF doesn't support inspecting the entire contents of web requests whose bodies exceed the 8 KB limit.

                                                                                        + ///

                                                                                        Inspect the request body as JSON. The request body immediately follows the request + /// headers. This is the part of a request that contains any additional data that you want to + /// send to your web server as the HTTP request body, such as data from a form.

                                                                                        + ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to + /// WAF for inspection by the underlying host service. If you don't need to inspect more + /// than 8 KB, you can guarantee that you don't allow additional bytes in by combining a + /// statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, + /// with a SizeConstraintStatement that enforces an 8 KB size limit on the + /// body of the request. WAF doesn't support inspecting the entire contents of web requests + /// whose bodies exceed the 8 KB limit.

                                                                                        pub json_body: std::option::Option, } impl std::fmt::Debug for FieldToMatch { @@ -3079,7 +3214,9 @@ pub mod field_to_match { pub(crate) json_body: std::option::Option, } impl Builder { - ///

                                                                                        Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

                                                                                        + ///

                                                                                        Inspect a single header. Provide the name of the header to inspect, for example, + /// User-Agent or Referer. This setting isn't case + /// sensitive.

                                                                                        ///

                                                                                        Example JSON: "SingleHeader": { "Name": "haystack" } ///

                                                                                        pub fn single_header(mut self, input: crate::model::SingleHeader) -> Self { @@ -3093,7 +3230,9 @@ pub mod field_to_match { self.single_header = input; self } - ///

                                                                                        Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

                                                                                        + ///

                                                                                        Inspect a single query argument. Provide the name of the query argument to inspect, such + /// as UserName or SalesRegion. The name can be up to + /// 30 characters long and isn't case sensitive.

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        ///

                                                                                        Example JSON: "SingleQueryArgument": { "Name": "myArgument" } ///

                                                                                        @@ -3120,7 +3259,8 @@ pub mod field_to_match { self.all_query_arguments = input; self } - ///

                                                                                        Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

                                                                                        + ///

                                                                                        Inspect the request URI path. This is the part of a web request that identifies a + /// resource, for example, /images/daily-ad.jpg.

                                                                                        pub fn uri_path(mut self, input: crate::model::UriPath) -> Self { self.uri_path = Some(input); self @@ -3129,7 +3269,8 @@ pub mod field_to_match { self.uri_path = input; self } - ///

                                                                                        Inspect the query string. This is the part of a URL that appears after a ? character, if any.

                                                                                        + ///

                                                                                        Inspect the query string. This is the part of a URL that appears after a ? + /// character, if any.

                                                                                        pub fn query_string(mut self, input: crate::model::QueryString) -> Self { self.query_string = Some(input); self @@ -3141,9 +3282,16 @@ pub mod field_to_match { self.query_string = input; self } - ///

                                                                                        Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any - /// additional data that you want to send to your web server as the HTTP request body, such as data from a form.

                                                                                        - ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. If you don't need to inspect more than 8 KB, you can guarantee that you don't allow additional bytes in by combining a statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, with a SizeConstraintStatement that enforces an 8 KB size limit on the body of the request. WAF doesn't support inspecting the entire contents of web requests whose bodies exceed the 8 KB limit.

                                                                                        + ///

                                                                                        Inspect the request body as plain text. The request body immediately follows the request + /// headers. This is the part of a request that contains any additional data that you want to + /// send to your web server as the HTTP request body, such as data from a form.

                                                                                        + ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to + /// WAF for inspection by the underlying host service. If you don't need to inspect more + /// than 8 KB, you can guarantee that you don't allow additional bytes in by combining a + /// statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, + /// with a SizeConstraintStatement that enforces an 8 KB size limit on the + /// body of the request. WAF doesn't support inspecting the entire contents of web requests + /// whose bodies exceed the 8 KB limit.

                                                                                        pub fn body(mut self, input: crate::model::Body) -> Self { self.body = Some(input); self @@ -3152,7 +3300,8 @@ pub mod field_to_match { self.body = input; self } - ///

                                                                                        Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

                                                                                        + ///

                                                                                        Inspect the HTTP method. The method indicates the type of operation that the request is + /// asking the origin to perform.

                                                                                        pub fn method(mut self, input: crate::model::Method) -> Self { self.method = Some(input); self @@ -3161,9 +3310,16 @@ pub mod field_to_match { self.method = input; self } - ///

                                                                                        Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any - /// additional data that you want to send to your web server as the HTTP request body, such as data from a form.

                                                                                        - ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to WAF for inspection by the underlying host service. If you don't need to inspect more than 8 KB, you can guarantee that you don't allow additional bytes in by combining a statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, with a SizeConstraintStatement that enforces an 8 KB size limit on the body of the request. WAF doesn't support inspecting the entire contents of web requests whose bodies exceed the 8 KB limit.

                                                                                        + ///

                                                                                        Inspect the request body as JSON. The request body immediately follows the request + /// headers. This is the part of a request that contains any additional data that you want to + /// send to your web server as the HTTP request body, such as data from a form.

                                                                                        + ///

                                                                                        Note that only the first 8 KB (8192 bytes) of the request body are forwarded to + /// WAF for inspection by the underlying host service. If you don't need to inspect more + /// than 8 KB, you can guarantee that you don't allow additional bytes in by combining a + /// statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, + /// with a SizeConstraintStatement that enforces an 8 KB size limit on the + /// body of the request. WAF doesn't support inspecting the entire contents of web requests + /// whose bodies exceed the 8 KB limit.

                                                                                        pub fn json_body(mut self, input: crate::model::JsonBody) -> Self { self.json_body = Some(input); self @@ -3194,56 +3350,59 @@ impl FieldToMatch { } } -///

                                                                                        The body of a web request, inspected as JSON. The body immediately follows the request headers. This is used in the FieldToMatch specification.

                                                                                        -///

                                                                                        Use the specifications in this object to indicate which parts of the JSON body to inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON that result from the matches that you indicate.

                                                                                        +///

                                                                                        The body of a web request, inspected as JSON. The body immediately follows the request +/// headers. This is used in the FieldToMatch specification.

                                                                                        +///

                                                                                        Use the specifications in this object to indicate which parts of the JSON body to +/// inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON +/// that result from the matches that you +/// indicate. +///

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct JsonBody { - ///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria.

                                                                                        + ///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these + /// pattern matches against the rule inspection criteria.

                                                                                        pub match_pattern: std::option::Option, - ///

                                                                                        The parts of the JSON to match against using the MatchPattern. If you specify All, WAF matches against keys and values.

                                                                                        + ///

                                                                                        The parts of the JSON to match against using the MatchPattern. If you + /// specify All, WAF matches against keys and values.

                                                                                        pub match_scope: std::option::Option, - ///

                                                                                        What WAF should do if it fails to completely parse the JSON body. The options are the following:

                                                                                        + ///

                                                                                        What WAF should do if it fails to completely parse the JSON body. The options are + /// the following:

                                                                                        ///
                                                                                          ///
                                                                                        • ///

                                                                                          - /// EVALUATE_AS_STRING - Inspect the body as - /// plain text. WAF applies the text transformations and - /// inspection criteria that you defined for the JSON inspection to - /// the body text string.

                                                                                          + /// EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies + /// the text transformations and inspection criteria that you defined for the JSON + /// inspection to the body text string.

                                                                                          ///
                                                                                        • ///
                                                                                        • ///

                                                                                          - /// MATCH - Treat the web request as matching - /// the rule statement. WAF applies the rule action to the - /// request.

                                                                                          + /// MATCH - Treat the web request as matching the rule statement. WAF + /// applies the rule action to the request.

                                                                                          ///
                                                                                        • ///
                                                                                        • ///

                                                                                          - /// NO_MATCH - Treat the web request as not - /// matching the rule statement.

                                                                                          + /// NO_MATCH - Treat the web request as not matching the rule + /// statement.

                                                                                          ///
                                                                                        • ///
                                                                                        - ///

                                                                                        If you don't provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.

                                                                                        - ///

                                                                                        WAF does its best to parse the entire JSON body, but might be forced - /// to stop for reasons such as characters that aren't valid, duplicate keys, - /// truncation, and any content whose root node isn't an object or an array.

                                                                                        - ///

                                                                                        WAF parses the JSON in the following examples as two valid key, - /// value pairs:

                                                                                        + ///

                                                                                        If you don't provide this setting, WAF parses and evaluates the content only up to the + /// first parsing failure that it encounters.

                                                                                        + ///

                                                                                        WAF does its best to parse the entire JSON body, but might be forced to stop for + /// reasons such as invalid characters, duplicate keys, truncation, and any content whose root + /// node isn't an object or an array.

                                                                                        + ///

                                                                                        WAF parses the JSON in the following examples as two valid key, value pairs:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          Missing comma: - /// {"key1":"value1""key2":"value2"} + ///

                                                                                          Missing comma: {"key1":"value1""key2":"value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          Missing colon: - /// {"key1":"value1","key2""value2"} + ///

                                                                                          Missing colon: {"key1":"value1","key2""value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          Extra colons: - /// {"key1"::"value1","key2""value2"} + ///

                                                                                          Extra colons: {"key1"::"value1","key2""value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        @@ -3270,7 +3429,8 @@ pub mod json_body { std::option::Option, } impl Builder { - ///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria.

                                                                                        + ///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these + /// pattern matches against the rule inspection criteria.

                                                                                        pub fn match_pattern(mut self, input: crate::model::JsonMatchPattern) -> Self { self.match_pattern = Some(input); self @@ -3282,7 +3442,8 @@ pub mod json_body { self.match_pattern = input; self } - ///

                                                                                        The parts of the JSON to match against using the MatchPattern. If you specify All, WAF matches against keys and values.

                                                                                        + ///

                                                                                        The parts of the JSON to match against using the MatchPattern. If you + /// specify All, WAF matches against keys and values.

                                                                                        pub fn match_scope(mut self, input: crate::model::JsonMatchScope) -> Self { self.match_scope = Some(input); self @@ -3294,47 +3455,43 @@ pub mod json_body { self.match_scope = input; self } - ///

                                                                                        What WAF should do if it fails to completely parse the JSON body. The options are the following:

                                                                                        + ///

                                                                                        What WAF should do if it fails to completely parse the JSON body. The options are + /// the following:

                                                                                        ///
                                                                                          ///
                                                                                        • ///

                                                                                          - /// EVALUATE_AS_STRING - Inspect the body as - /// plain text. WAF applies the text transformations and - /// inspection criteria that you defined for the JSON inspection to - /// the body text string.

                                                                                          + /// EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies + /// the text transformations and inspection criteria that you defined for the JSON + /// inspection to the body text string.

                                                                                          ///
                                                                                        • ///
                                                                                        • ///

                                                                                          - /// MATCH - Treat the web request as matching - /// the rule statement. WAF applies the rule action to the - /// request.

                                                                                          + /// MATCH - Treat the web request as matching the rule statement. WAF + /// applies the rule action to the request.

                                                                                          ///
                                                                                        • ///
                                                                                        • ///

                                                                                          - /// NO_MATCH - Treat the web request as not - /// matching the rule statement.

                                                                                          + /// NO_MATCH - Treat the web request as not matching the rule + /// statement.

                                                                                          ///
                                                                                        • ///
                                                                                        - ///

                                                                                        If you don't provide this setting, WAF parses and evaluates the content only up to the first parsing failure that it encounters.

                                                                                        - ///

                                                                                        WAF does its best to parse the entire JSON body, but might be forced - /// to stop for reasons such as characters that aren't valid, duplicate keys, - /// truncation, and any content whose root node isn't an object or an array.

                                                                                        - ///

                                                                                        WAF parses the JSON in the following examples as two valid key, - /// value pairs:

                                                                                        + ///

                                                                                        If you don't provide this setting, WAF parses and evaluates the content only up to the + /// first parsing failure that it encounters.

                                                                                        + ///

                                                                                        WAF does its best to parse the entire JSON body, but might be forced to stop for + /// reasons such as invalid characters, duplicate keys, truncation, and any content whose root + /// node isn't an object or an array.

                                                                                        + ///

                                                                                        WAF parses the JSON in the following examples as two valid key, value pairs:

                                                                                        ///
                                                                                          ///
                                                                                        • - ///

                                                                                          Missing comma: - /// {"key1":"value1""key2":"value2"} + ///

                                                                                          Missing comma: {"key1":"value1""key2":"value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          Missing colon: - /// {"key1":"value1","key2""value2"} + ///

                                                                                          Missing colon: {"key1":"value1","key2""value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        • - ///

                                                                                          Extra colons: - /// {"key1"::"value1","key2""value2"} + ///

                                                                                          Extra colons: {"key1"::"value1","key2""value2"} ///

                                                                                          ///
                                                                                        • ///
                                                                                        @@ -3475,19 +3632,29 @@ impl AsRef for JsonMatchScope { } } -///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria. This is used with the FieldToMatch option JsonBody.

                                                                                        +///

                                                                                        The patterns to look for in the JSON body. WAF inspects the results of these +/// pattern matches against the rule inspection criteria. This is used with the FieldToMatch option JsonBody.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct JsonMatchPattern { - ///

                                                                                        Match all of the elements. See also MatchScope in JsonBody.

                                                                                        - ///

                                                                                        You must specify either this setting or the IncludedPaths setting, but not both.

                                                                                        + ///

                                                                                        Match all of the elements. See also + /// MatchScope + /// in JsonBody.

                                                                                        + ///

                                                                                        You must specify either this setting or the IncludedPaths setting, but not + /// both.

                                                                                        pub all: std::option::Option, - ///

                                                                                        Match only the specified include paths. See also MatchScope in JsonBody.

                                                                                        - ///

                                                                                        Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see the Internet Engineering Task Force (IETF) documentation - /// JavaScript Object Notation (JSON) Pointer.

                                                                                        - ///

                                                                                        You must specify either this setting or the All setting, but not both.

                                                                                        + ///

                                                                                        Match only the specified include paths. See also + /// MatchScope + /// in JsonBody.

                                                                                        + ///

                                                                                        Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths": + /// ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see the + /// Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) + /// Pointer.

                                                                                        + ///

                                                                                        You must specify either this setting or the All setting, but not + /// both.

                                                                                        /// - ///

                                                                                        Don't use this option to include all paths. Instead, use the All setting.

                                                                                        + ///

                                                                                        Don't use this option to include all paths. Instead, use the All + /// setting.

                                                                                        ///
                                                                                        pub included_paths: std::option::Option>, } @@ -3509,8 +3676,11 @@ pub mod json_match_pattern { pub(crate) included_paths: std::option::Option>, } impl Builder { - ///

                                                                                        Match all of the elements. See also MatchScope in JsonBody.

                                                                                        - ///

                                                                                        You must specify either this setting or the IncludedPaths setting, but not both.

                                                                                        + ///

                                                                                        Match all of the elements. See also + /// MatchScope + /// in JsonBody.

                                                                                        + ///

                                                                                        You must specify either this setting or the IncludedPaths setting, but not + /// both.

                                                                                        pub fn all(mut self, input: crate::model::All) -> Self { self.all = Some(input); self @@ -3548,8 +3718,11 @@ impl JsonMatchPattern { } } -///

                                                                                        Inspect all of the elements that WAF has parsed and extracted from the web request JSON body that are within the JsonBody -/// MatchScope. This is used with the FieldToMatch option JsonBody.

                                                                                        +///

                                                                                        Inspect all of the elements that WAF has parsed and extracted from the web request +/// JSON body that are within the JsonBody +/// MatchScope. This is used with the FieldToMatch option +/// JsonBody. +///

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -3580,7 +3753,8 @@ impl All { } } -///

                                                                                        The HTTP method of a web request. The method indicates the type of operation that the request is asking the origin to perform.

                                                                                        +///

                                                                                        The HTTP method of a web request. The method indicates the type of operation that the +/// request is asking the origin to perform.

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -3642,7 +3816,8 @@ impl Body { } } -///

                                                                                        The query string of a web request. This is the part of a URL that appears after a ? character, if any.

                                                                                        +///

                                                                                        The query string of a web request. This is the part of a URL that appears after a +/// ? character, if any.

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -3735,7 +3910,9 @@ impl AllQueryArguments { } } -///

                                                                                        One query argument in a web request, identified by name, for example UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

                                                                                        +///

                                                                                        One query argument in a web request, identified by name, for example +/// UserName or SalesRegion. The name can be up to +/// 30 characters long and isn't case sensitive.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SingleQueryArgument { @@ -3780,7 +3957,9 @@ impl SingleQueryArgument { } } -///

                                                                                        One of the headers in a web request, identified by name, for example, User-Agent or Referer. This setting isn't case sensitive.

                                                                                        +///

                                                                                        One of the headers in a web request, identified by name, for example, +/// User-Agent or Referer. This setting isn't case +/// sensitive.

                                                                                        ///

                                                                                        This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -3831,7 +4010,8 @@ impl SingleHeader { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IpSetReferenceStatement { - ///

                                                                                        The Amazon Resource Name (ARN) of the IPSet that this statement references.

                                                                                        + ///

                                                                                        The Amazon Resource Name (ARN) of the IPSet that this statement + /// references.

                                                                                        pub arn: std::option::Option, ///

                                                                                        The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

                                                                                        /// @@ -3861,7 +4041,8 @@ pub mod ip_set_reference_statement { std::option::Option, } impl Builder { - ///

                                                                                        The Amazon Resource Name (ARN) of the IPSet that this statement references.

                                                                                        + ///

                                                                                        The Amazon Resource Name (ARN) of the IPSet that this statement + /// references.

                                                                                        pub fn arn(mut self, input: impl Into) -> Self { self.arn = Some(input.into()); self @@ -3908,7 +4089,7 @@ impl IpSetReferenceStatement { /// ///

                                                                                        If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

                                                                                        ///
                                                                                        -///

                                                                                        This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.

                                                                                        +///

                                                                                        This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.

                                                                                        #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct IpSetForwardedIpConfig { @@ -3933,17 +4114,23 @@ pub struct IpSetForwardedIpConfig { ///
                                                                                      • ///
                                                                                      pub fallback_behavior: std::option::Option, - ///

                                                                                      The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

                                                                                      + ///

                                                                                      The position in the header to search for the IP address. The header can contain IP + /// addresses of the original client and also of proxies. For example, the header value could + /// be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the + /// original client and the rest identify proxies that the request went through.

                                                                                      ///

                                                                                      The options for this setting are the following:

                                                                                      ///
                                                                                        ///
                                                                                      • - ///

                                                                                        FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.

                                                                                        + ///

                                                                                        FIRST - Inspect the first IP address in the list of IP addresses in the + /// header. This is usually the client's original IP.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        LAST - Inspect the last IP address in the list of IP addresses in the header.

                                                                                        + ///

                                                                                        LAST - Inspect the last IP address in the list of IP addresses in the + /// header.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.

                                                                                        + ///

                                                                                        ANY - Inspect all IP addresses in the header for a match. If the header + /// contains more than 10 IP addresses, WAF inspects the last 10.

                                                                                        ///
                                                                                      • ///
                                                                                      pub position: std::option::Option, @@ -4006,17 +4193,23 @@ pub mod ip_set_forwarded_ip_config { self.fallback_behavior = input; self } - ///

                                                                                      The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

                                                                                      + ///

                                                                                      The position in the header to search for the IP address. The header can contain IP + /// addresses of the original client and also of proxies. For example, the header value could + /// be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the + /// original client and the rest identify proxies that the request went through.

                                                                                      ///

                                                                                      The options for this setting are the following:

                                                                                      ///
                                                                                        ///
                                                                                      • - ///

                                                                                        FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.

                                                                                        + ///

                                                                                        FIRST - Inspect the first IP address in the list of IP addresses in the + /// header. This is usually the client's original IP.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        LAST - Inspect the last IP address in the list of IP addresses in the header.

                                                                                        + ///

                                                                                        LAST - Inspect the last IP address in the list of IP addresses in the + /// header.

                                                                                        ///
                                                                                      • ///
                                                                                      • - ///

                                                                                        ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, WAF inspects the last 10.

                                                                                        + ///

                                                                                        ANY - Inspect all IP addresses in the header for a match. If the header + /// contains more than 10 IP addresses, WAF inspects the last 10.

                                                                                        ///
                                                                                      • ///
                                                                                      pub fn position(mut self, input: crate::model::ForwardedIpPosition) -> Self { @@ -4107,7 +4300,8 @@ impl AsRef for ForwardedIpPosition { pub struct RuleGroupReferenceStatement { ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      pub arn: std::option::Option, - ///

                                                                                      The names of rules that are in the referenced rule group, but that you want WAF to exclude from processing for this rule statement.

                                                                                      + ///

                                                                                      The names of rules that are in the referenced rule group, but that you want WAF to + /// exclude from processing for this rule statement.

                                                                                      pub excluded_rules: std::option::Option>, } impl std::fmt::Debug for RuleGroupReferenceStatement { @@ -4170,7 +4364,8 @@ impl RuleGroupReferenceStatement { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GeoMatchStatement { - ///

                                                                                      An array of two-character country codes, for example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

                                                                                      + ///

                                                                                      An array of two-character country codes, for example, [ "US", "CN" ], from + /// the alpha-2 country ISO codes of the ISO 3166 international standard.

                                                                                      pub country_codes: std::option::Option>, ///

                                                                                      The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

                                                                                      /// @@ -5375,12 +5570,16 @@ impl SqliMatchStatement { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ByteMatchStatement { - ///

                                                                                      A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

                                                                                      - ///

                                                                                      Valid values depend on the component that you specify for inspection in FieldToMatch:

                                                                                      + ///

                                                                                      A string value that you want WAF to search for. WAF searches only in the part of + /// web requests that you designate for inspection in FieldToMatch. The + /// maximum length of the value is 50 bytes.

                                                                                      + ///

                                                                                      Valid values depend on the component that you specify for inspection in + /// FieldToMatch:

                                                                                      ///
                                                                                        ///
                                                                                      • ///

                                                                                        - /// Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.

                                                                                        + /// Method: The HTTP method that you want WAF to search for. This + /// indicates the type of operation specified in the request.

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        @@ -5388,22 +5587,23 @@ pub struct ByteMatchStatement { /// for example, /images/daily-ad.jpg.

                                                                                        ///
                                                                                      • ///
                                                                                      - ///

                                                                                      If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

                                                                                      + ///

                                                                                      If SearchString includes alphabetic characters A-Z and a-z, note that the + /// value is case sensitive.

                                                                                      ///

                                                                                      /// If you're using the WAF API ///

                                                                                      - ///

                                                                                      Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

                                                                                      - ///

                                                                                      For example, suppose the value of Type is HEADER and the - /// value of Data is User-Agent. If you want to search the + ///

                                                                                      Specify a base64-encoded version of the value. The maximum length of the value before + /// you base64-encode it is 50 bytes.

                                                                                      + ///

                                                                                      For example, suppose the value of Type is HEADER and the value + /// of Data is User-Agent. If you want to search the /// User-Agent header for the value BadBot, you base64-encode - /// BadBot using MIME - /// base64-encoding - /// and include the resulting value, QmFkQm90, in the value of - /// SearchString.

                                                                                      + /// BadBot using MIME base64-encoding and include the resulting value, + /// QmFkQm90, in the value of SearchString.

                                                                                      ///

                                                                                      /// If you're using the CLI or one of the Amazon Web Services SDKs ///

                                                                                      - ///

                                                                                      The value that you want WAF to search for. The SDK automatically base64 encodes the value.

                                                                                      + ///

                                                                                      The value that you want WAF to search for. The SDK automatically base64 encodes the + /// value.

                                                                                      pub search_string: std::option::Option, ///

                                                                                      The part of a web request that you want WAF to inspect. For more information, see FieldToMatch.

                                                                                      pub field_to_match: std::option::Option, @@ -5411,43 +5611,50 @@ pub struct ByteMatchStatement { /// If you specify one or more transformations in a rule statement, WAF performs all transformations on the /// content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

                                                                                      pub text_transformations: std::option::Option>, - ///

                                                                                      The area within the portion of a web request that you want WAF to search for SearchString. Valid values include the following:

                                                                                      + ///

                                                                                      The area within the portion of a web request that you want WAF to search for + /// SearchString. Valid values include the following:

                                                                                      ///

                                                                                      /// CONTAINS ///

                                                                                      - ///

                                                                                      The specified part of the web request must include the value of SearchString, but the location doesn't matter.

                                                                                      + ///

                                                                                      The specified part of the web request must include the value of + /// SearchString, but the location doesn't matter.

                                                                                      ///

                                                                                      /// CONTAINS_WORD ///

                                                                                      - ///

                                                                                      The specified part of the web request must include the value of SearchString, and - /// SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, - /// SearchString must be a word, which means that both of the following are true:

                                                                                      + ///

                                                                                      The specified part of the web request must include the value of + /// SearchString, and SearchString must contain only alphanumeric + /// characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must + /// be a word, which means that both of the following are true:

                                                                                      ///
                                                                                        ///
                                                                                      • ///

                                                                                        - /// SearchString is at the beginning of the specified part of the web request or is - /// preceded by a character other than an alphanumeric character or underscore (_). - /// Examples include the value of a header and ;BadBot.

                                                                                        + /// SearchString is at the beginning of the specified part of the web + /// request or is preceded by a character other than an alphanumeric character or + /// underscore (_). Examples include the value of a header and + /// ;BadBot.

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        - /// SearchString is at the end of the specified part of the web request or is - /// followed by a character other than an alphanumeric character or underscore (_), for example, - /// BadBot; and -BadBot;.

                                                                                        + /// SearchString is at the end of the specified part of the web request or + /// is followed by a character other than an alphanumeric character or underscore (_), + /// for example, BadBot; and -BadBot;.

                                                                                        ///
                                                                                      • ///
                                                                                      ///

                                                                                      /// EXACTLY ///

                                                                                      - ///

                                                                                      The value of the specified part of the web request must exactly match the value of SearchString.

                                                                                      + ///

                                                                                      The value of the specified part of the web request must exactly match the value of + /// SearchString.

                                                                                      ///

                                                                                      /// STARTS_WITH ///

                                                                                      - ///

                                                                                      The value of SearchString must appear at the beginning of the specified part of the web request.

                                                                                      + ///

                                                                                      The value of SearchString must appear at the beginning of the specified + /// part of the web request.

                                                                                      ///

                                                                                      /// ENDS_WITH ///

                                                                                      - ///

                                                                                      The value of SearchString must appear at the end of the specified part of the web request.

                                                                                      + ///

                                                                                      The value of SearchString must appear at the end of the specified part of + /// the web request.

                                                                                      pub positional_constraint: std::option::Option, } impl std::fmt::Debug for ByteMatchStatement { @@ -5473,12 +5680,16 @@ pub mod byte_match_statement { pub(crate) positional_constraint: std::option::Option, } impl Builder { - ///

                                                                                      A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

                                                                                      - ///

                                                                                      Valid values depend on the component that you specify for inspection in FieldToMatch:

                                                                                      + ///

                                                                                      A string value that you want WAF to search for. WAF searches only in the part of + /// web requests that you designate for inspection in FieldToMatch. The + /// maximum length of the value is 50 bytes.

                                                                                      + ///

                                                                                      Valid values depend on the component that you specify for inspection in + /// FieldToMatch:

                                                                                      ///
                                                                                        ///
                                                                                      • ///

                                                                                        - /// Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.

                                                                                        + /// Method: The HTTP method that you want WAF to search for. This + /// indicates the type of operation specified in the request.

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        @@ -5486,22 +5697,23 @@ pub mod byte_match_statement { /// for example, /images/daily-ad.jpg.

                                                                                        ///
                                                                                      • ///
                                                                                      - ///

                                                                                      If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

                                                                                      + ///

                                                                                      If SearchString includes alphabetic characters A-Z and a-z, note that the + /// value is case sensitive.

                                                                                      ///

                                                                                      /// If you're using the WAF API ///

                                                                                      - ///

                                                                                      Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

                                                                                      - ///

                                                                                      For example, suppose the value of Type is HEADER and the - /// value of Data is User-Agent. If you want to search the + ///

                                                                                      Specify a base64-encoded version of the value. The maximum length of the value before + /// you base64-encode it is 50 bytes.

                                                                                      + ///

                                                                                      For example, suppose the value of Type is HEADER and the value + /// of Data is User-Agent. If you want to search the /// User-Agent header for the value BadBot, you base64-encode - /// BadBot using MIME - /// base64-encoding - /// and include the resulting value, QmFkQm90, in the value of - /// SearchString.

                                                                                      + /// BadBot using MIME base64-encoding and include the resulting value, + /// QmFkQm90, in the value of SearchString.

                                                                                      ///

                                                                                      /// If you're using the CLI or one of the Amazon Web Services SDKs ///

                                                                                      - ///

                                                                                      The value that you want WAF to search for. The SDK automatically base64 encodes the value.

                                                                                      + ///

                                                                                      The value that you want WAF to search for. The SDK automatically base64 encodes the + /// value.

                                                                                      pub fn search_string(mut self, input: smithy_types::Blob) -> Self { self.search_string = Some(input); self @@ -5538,43 +5750,50 @@ pub mod byte_match_statement { self.text_transformations = input; self } - ///

                                                                                      The area within the portion of a web request that you want WAF to search for SearchString. Valid values include the following:

                                                                                      + ///

                                                                                      The area within the portion of a web request that you want WAF to search for + /// SearchString. Valid values include the following:

                                                                                      ///

                                                                                      /// CONTAINS ///

                                                                                      - ///

                                                                                      The specified part of the web request must include the value of SearchString, but the location doesn't matter.

                                                                                      + ///

                                                                                      The specified part of the web request must include the value of + /// SearchString, but the location doesn't matter.

                                                                                      ///

                                                                                      /// CONTAINS_WORD ///

                                                                                      - ///

                                                                                      The specified part of the web request must include the value of SearchString, and - /// SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, - /// SearchString must be a word, which means that both of the following are true:

                                                                                      + ///

                                                                                      The specified part of the web request must include the value of + /// SearchString, and SearchString must contain only alphanumeric + /// characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must + /// be a word, which means that both of the following are true:

                                                                                      ///
                                                                                        ///
                                                                                      • ///

                                                                                        - /// SearchString is at the beginning of the specified part of the web request or is - /// preceded by a character other than an alphanumeric character or underscore (_). - /// Examples include the value of a header and ;BadBot.

                                                                                        + /// SearchString is at the beginning of the specified part of the web + /// request or is preceded by a character other than an alphanumeric character or + /// underscore (_). Examples include the value of a header and + /// ;BadBot.

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        - /// SearchString is at the end of the specified part of the web request or is - /// followed by a character other than an alphanumeric character or underscore (_), for example, - /// BadBot; and -BadBot;.

                                                                                        + /// SearchString is at the end of the specified part of the web request or + /// is followed by a character other than an alphanumeric character or underscore (_), + /// for example, BadBot; and -BadBot;.

                                                                                        ///
                                                                                      • ///
                                                                                      ///

                                                                                      /// EXACTLY ///

                                                                                      - ///

                                                                                      The value of the specified part of the web request must exactly match the value of SearchString.

                                                                                      + ///

                                                                                      The value of the specified part of the web request must exactly match the value of + /// SearchString.

                                                                                      ///

                                                                                      /// STARTS_WITH ///

                                                                                      - ///

                                                                                      The value of SearchString must appear at the beginning of the specified part of the web request.

                                                                                      + ///

                                                                                      The value of SearchString must appear at the beginning of the specified + /// part of the web request.

                                                                                      ///

                                                                                      /// ENDS_WITH ///

                                                                                      - ///

                                                                                      The value of SearchString must appear at the end of the specified part of the web request.

                                                                                      + ///

                                                                                      The value of SearchString must appear at the end of the specified part of + /// the web request.

                                                                                      pub fn positional_constraint(mut self, input: crate::model::PositionalConstraint) -> Self { self.positional_constraint = Some(input); self @@ -5669,8 +5888,9 @@ impl AsRef for PositionalConstraint { } } -///

                                                                                      In a WebACL, this is the action that you want WAF -/// to perform when a web request doesn't match any of the rules in the WebACL. The default action must be a terminating action, so you can't use count.

                                                                                      +///

                                                                                      In a WebACL, this is the action that you want WAF to perform +/// when a web request doesn't match any of the rules in the WebACL. The default +/// action must be a terminating action, so you can't use count.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DefaultAction { @@ -5828,16 +6048,25 @@ impl Regex { } } -///

                                                                                      A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a -/// specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

                                                                                      -///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP -/// sets, and regex pattern sets. You can't manage or view tags through the WAF console.

                                                                                      +///

                                                                                      A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to +/// categorize and manage your resources, for purposes like billing or other management. +/// Typically, the tag key represents a category, such as "environment", and the tag value +/// represents a specific value within that category, such as "test," "development," or +/// "production". Or you might set the tag key to "customer" and the value to the customer name +/// or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a +/// resource.

                                                                                      +///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule +/// groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF +/// console.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct Tag { - ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

                                                                                      + ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag key to describe a + /// category of information, such as "customer." Tag keys are case-sensitive.

                                                                                      pub key: std::option::Option, - ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

                                                                                      + ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag value to describe a + /// specific value within a category, such as "companyA" or "companyB." Tag values are + /// case-sensitive.

                                                                                      pub value: std::option::Option, } impl std::fmt::Debug for Tag { @@ -5858,7 +6087,8 @@ pub mod tag { pub(crate) value: std::option::Option, } impl Builder { - ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

                                                                                      + ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag key to describe a + /// category of information, such as "customer." Tag keys are case-sensitive.

                                                                                      pub fn key(mut self, input: impl Into) -> Self { self.key = Some(input.into()); self @@ -5867,7 +6097,9 @@ pub mod tag { self.key = input; self } - ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

                                                                                      + ///

                                                                                      Part of the key:value pair that defines a tag. You can use a tag value to describe a + /// specific value within a category, such as "companyA" or "companyB." Tag values are + /// case-sensitive.

                                                                                      pub fn value(mut self, input: impl Into) -> Self { self.value = Some(input.into()); self @@ -5892,28 +6124,107 @@ impl Tag { } } -///

                                                                                      Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL resource, for -/// logging from WAF. -/// As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you -/// can specify filters so that you log only a subset of the logging records.

                                                                                      +///

                                                                                      A version of the named managed rule group, that the rule group's vendor publishes for +/// use by customers.

                                                                                      +/// +///

                                                                                      This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                      +///

                                                                                      Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +///
                                                                                      +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct VersionToPublish { + ///

                                                                                      The Amazon Resource Name (ARN) of the vendor's rule group that's used in the published + /// managed rule group version.

                                                                                      + pub associated_rule_group_arn: std::option::Option, + ///

                                                                                      The amount of time the vendor expects this version of the managed rule group to last, in + /// days.

                                                                                      + pub forecasted_lifetime: std::option::Option, +} +impl std::fmt::Debug for VersionToPublish { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("VersionToPublish"); + formatter.field("associated_rule_group_arn", &self.associated_rule_group_arn); + formatter.field("forecasted_lifetime", &self.forecasted_lifetime); + formatter.finish() + } +} +/// See [`VersionToPublish`](crate::model::VersionToPublish) +pub mod version_to_publish { + /// A builder for [`VersionToPublish`](crate::model::VersionToPublish) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) associated_rule_group_arn: std::option::Option, + pub(crate) forecasted_lifetime: std::option::Option, + } + impl Builder { + ///

                                                                                      The Amazon Resource Name (ARN) of the vendor's rule group that's used in the published + /// managed rule group version.

                                                                                      + pub fn associated_rule_group_arn(mut self, input: impl Into) -> Self { + self.associated_rule_group_arn = Some(input.into()); + self + } + pub fn set_associated_rule_group_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.associated_rule_group_arn = input; + self + } + ///

                                                                                      The amount of time the vendor expects this version of the managed rule group to last, in + /// days.

                                                                                      + pub fn forecasted_lifetime(mut self, input: i32) -> Self { + self.forecasted_lifetime = Some(input); + self + } + pub fn set_forecasted_lifetime(mut self, input: std::option::Option) -> Self { + self.forecasted_lifetime = input; + self + } + /// Consumes the builder and constructs a [`VersionToPublish`](crate::model::VersionToPublish) + pub fn build(self) -> crate::model::VersionToPublish { + crate::model::VersionToPublish { + associated_rule_group_arn: self.associated_rule_group_arn, + forecasted_lifetime: self.forecasted_lifetime, + } + } + } +} +impl VersionToPublish { + /// Creates a new builder-style object to manufacture [`VersionToPublish`](crate::model::VersionToPublish) + pub fn builder() -> crate::model::version_to_publish::Builder { + crate::model::version_to_publish::Builder::default() + } +} + +///

                                                                                      Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL +/// resource, for logging from WAF. As part of the association, you can specify parts of +/// the standard logging fields to keep out of the logs and you can specify filters so that you +/// log only a subset of the logging records.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LoggingConfiguration { ///

                                                                                      The Amazon Resource Name (ARN) of the web ACL that you want to associate with /// LogDestinationConfigs.

                                                                                      pub resource_arn: std::option::Option, - ///

                                                                                      The Amazon Kinesis Data Firehose Amazon Resource Name (ARNs) that you want to associate with the web ACL.

                                                                                      + ///

                                                                                      The Amazon Kinesis Data Firehose Amazon Resource Name (ARNs) that you want to associate + /// with the web ACL.

                                                                                      pub log_destination_configs: std::option::Option>, - ///

                                                                                      The parts of the request that you want to keep out of the logs. For - /// example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.

                                                                                      + ///

                                                                                      The parts of the request that you want to keep out of the logs. For example, if you + /// redact the HEADER field, the HEADER field in the firehose will be + /// xxx.

                                                                                      /// - ///

                                                                                      You must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD.

                                                                                      + ///

                                                                                      You must use one of the following values: URI, + /// QUERY_STRING, HEADER, or METHOD.

                                                                                      ///
                                                                                      pub redacted_fields: std::option::Option>, - ///

                                                                                      Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only - /// Firewall Manager can modify or delete the configuration.

                                                                                      + ///

                                                                                      Indicates whether the logging configuration was created by Firewall Manager, as part of an + /// WAF policy configuration. If true, only Firewall Manager can modify or delete the + /// configuration.

                                                                                      pub managed_by_firewall_manager: bool, - ///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

                                                                                      + ///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped. + /// You can filter on the rule action and on the web request labels that were applied by + /// matching rules during web ACL evaluation.

                                                                                      pub logging_filter: std::option::Option, } impl std::fmt::Debug for LoggingConfiguration { @@ -5979,8 +6290,9 @@ pub mod logging_configuration { self.redacted_fields = input; self } - ///

                                                                                      Indicates whether the logging configuration was created by Firewall Manager, as part of an WAF policy configuration. If true, only - /// Firewall Manager can modify or delete the configuration.

                                                                                      + ///

                                                                                      Indicates whether the logging configuration was created by Firewall Manager, as part of an + /// WAF policy configuration. If true, only Firewall Manager can modify or delete the + /// configuration.

                                                                                      pub fn managed_by_firewall_manager(mut self, input: bool) -> Self { self.managed_by_firewall_manager = Some(input); self @@ -5989,7 +6301,9 @@ pub mod logging_configuration { self.managed_by_firewall_manager = input; self } - ///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

                                                                                      + ///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped. + /// You can filter on the rule action and on the web request labels that were applied by + /// matching rules during web ACL evaluation.

                                                                                      pub fn logging_filter(mut self, input: crate::model::LoggingFilter) -> Self { self.logging_filter = Some(input); self @@ -6020,14 +6334,17 @@ impl LoggingConfiguration { } } -///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped, defined for a web ACL's LoggingConfiguration.

                                                                                      -///

                                                                                      You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

                                                                                      +///

                                                                                      Filtering that specifies which web requests are kept in the logs and which are dropped, +/// defined for a web ACL's LoggingConfiguration.

                                                                                      +///

                                                                                      You can filter on the rule action and on the web request labels that were applied by +/// matching rules during web ACL evaluation.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LoggingFilter { ///

                                                                                      The filters that you want to apply to the logs.

                                                                                      pub filters: std::option::Option>, - ///

                                                                                      Default handling for logs that don't match any of the specified filtering conditions.

                                                                                      + ///

                                                                                      Default handling for logs that don't match any of the specified filtering conditions. + ///

                                                                                      pub default_behavior: std::option::Option, } impl std::fmt::Debug for LoggingFilter { @@ -6061,7 +6378,8 @@ pub mod logging_filter { self.filters = input; self } - ///

                                                                                      Default handling for logs that don't match any of the specified filtering conditions.

                                                                                      + ///

                                                                                      Default handling for logs that don't match any of the specified filtering conditions. + ///

                                                                                      pub fn default_behavior(mut self, input: crate::model::FilterBehavior) -> Self { self.default_behavior = Some(input); self @@ -6145,7 +6463,8 @@ impl AsRef for FilterBehavior { pub struct Filter { ///

                                                                                      How to handle logs that satisfy the filter's conditions and requirement.

                                                                                      pub behavior: std::option::Option, - ///

                                                                                      Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.

                                                                                      + ///

                                                                                      Logic to apply to the filtering conditions. You can specify that, in order to satisfy + /// the filter, a log must match all conditions or must match at least one condition.

                                                                                      pub requirement: std::option::Option, ///

                                                                                      Match conditions for the filter.

                                                                                      pub conditions: std::option::Option>, @@ -6182,7 +6501,8 @@ pub mod filter { self.behavior = input; self } - ///

                                                                                      Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.

                                                                                      + ///

                                                                                      Logic to apply to the filtering conditions. You can specify that, in order to satisfy + /// the filter, a log must match all conditions or must match at least one condition.

                                                                                      pub fn requirement(mut self, input: crate::model::FilterRequirement) -> Self { self.requirement = Some(input); self @@ -6291,11 +6611,13 @@ impl Condition { } } -///

                                                                                      A single label name condition for a Condition in a logging filter.

                                                                                      +///

                                                                                      A single label name condition for a Condition in a logging +/// filter.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct LabelNameCondition { - ///

                                                                                      The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

                                                                                      + ///

                                                                                      The label name that a log record must contain in order to meet the condition. This must + /// be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

                                                                                      pub label_name: std::option::Option, } impl std::fmt::Debug for LabelNameCondition { @@ -6314,7 +6636,8 @@ pub mod label_name_condition { pub(crate) label_name: std::option::Option, } impl Builder { - ///

                                                                                      The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

                                                                                      + ///

                                                                                      The label name that a log record must contain in order to meet the condition. This must + /// be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

                                                                                      pub fn label_name(mut self, input: impl Into) -> Self { self.label_name = Some(input.into()); self @@ -6342,7 +6665,8 @@ impl LabelNameCondition { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ActionCondition { - ///

                                                                                      The action setting that a log record must contain in order to meet the condition.

                                                                                      + ///

                                                                                      The action setting that a log record must contain in order to meet the condition. + ///

                                                                                      pub action: std::option::Option, } impl std::fmt::Debug for ActionCondition { @@ -6361,7 +6685,8 @@ pub mod action_condition { pub(crate) action: std::option::Option, } impl Builder { - ///

                                                                                      The action setting that a log record must contain in order to meet the condition.

                                                                                      + ///

                                                                                      The action setting that a log record must contain in order to meet the condition. + ///

                                                                                      pub fn action(mut self, input: crate::model::ActionValue) -> Self { self.action = Some(input); self @@ -6498,7 +6823,7 @@ pub struct WebAclSummary { pub id: std::option::Option, ///

                                                                                      A description of the web ACL that helps with identification.

                                                                                      pub description: std::option::Option, - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub lock_token: std::option::Option, ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      pub arn: std::option::Option, @@ -6554,7 +6879,7 @@ pub mod web_acl_summary { self.description = input; self } - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -6591,10 +6916,16 @@ impl WebAclSummary { } } -///

                                                                                      The collection of tagging definitions for an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a -/// specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

                                                                                      -///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP -/// sets, and regex pattern sets. You can't manage or view tags through the WAF console.

                                                                                      +///

                                                                                      The collection of tagging definitions for an Amazon Web Services resource. Tags are key:value pairs +/// that you can use to categorize and manage your resources, for purposes like billing or +/// other management. Typically, the tag key represents a category, such as "environment", and +/// the tag value represents a specific value within that category, such as "test," +/// "development," or "production". Or you might set the tag key to "customer" and the value to +/// the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up +/// to 50 tags for a resource.

                                                                                      +///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule +/// groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF +/// console.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct TagInfoForResource { @@ -6669,7 +7000,7 @@ pub struct RuleGroupSummary { pub id: std::option::Option, ///

                                                                                      A description of the rule group that helps with identification.

                                                                                      pub description: std::option::Option, - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub lock_token: std::option::Option, ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      pub arn: std::option::Option, @@ -6725,7 +7056,7 @@ pub mod rule_group_summary { self.description = input; self } - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -6825,7 +7156,7 @@ pub struct RegexPatternSetSummary { pub id: std::option::Option, ///

                                                                                      A description of the set that helps with identification.

                                                                                      pub description: std::option::Option, - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub lock_token: std::option::Option, ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      pub arn: std::option::Option, @@ -6881,7 +7212,7 @@ pub mod regex_pattern_set_summary { self.description = input; self } - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -6918,6 +7249,158 @@ impl RegexPatternSetSummary { } } +///

                                                                                      High-level information for a managed rule set.

                                                                                      +/// +///

                                                                                      This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                      +///

                                                                                      Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +///
                                                                                      +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ManagedRuleSetSummary { + ///

                                                                                      The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                      + ///

                                                                                      This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                      + pub name: std::option::Option, + ///

                                                                                      A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                      + pub id: std::option::Option, + ///

                                                                                      A description of the set that helps with identification.

                                                                                      + pub description: std::option::Option, + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + pub lock_token: std::option::Option, + ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      + pub arn: std::option::Option, + ///

                                                                                      The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

                                                                                      + ///
                                                                                        + ///
                                                                                      • + ///

                                                                                        The syntax for the label namespace prefix for a managed rule group is the following:

                                                                                        + ///

                                                                                        + /// awswaf:managed:::

                                                                                        + ///
                                                                                      • + ///
                                                                                      • + ///

                                                                                        When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

                                                                                        + ///

                                                                                        + /// + ///

                                                                                        + ///
                                                                                      • + ///
                                                                                      + pub label_namespace: std::option::Option, +} +impl std::fmt::Debug for ManagedRuleSetSummary { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ManagedRuleSetSummary"); + formatter.field("name", &self.name); + formatter.field("id", &self.id); + formatter.field("description", &self.description); + formatter.field("lock_token", &self.lock_token); + formatter.field("arn", &self.arn); + formatter.field("label_namespace", &self.label_namespace); + formatter.finish() + } +} +/// See [`ManagedRuleSetSummary`](crate::model::ManagedRuleSetSummary) +pub mod managed_rule_set_summary { + /// A builder for [`ManagedRuleSetSummary`](crate::model::ManagedRuleSetSummary) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) id: std::option::Option, + pub(crate) description: std::option::Option, + pub(crate) lock_token: std::option::Option, + pub(crate) arn: std::option::Option, + pub(crate) label_namespace: std::option::Option, + } + impl Builder { + ///

                                                                                      The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

                                                                                      + ///

                                                                                      This name is assigned to the corresponding managed rule group, which your customers can access and use.

                                                                                      + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                      A unique identifier for the managed rule set. The ID is returned in the responses to commands like list. You provide it to operations like get and update.

                                                                                      + pub fn id(mut self, input: impl Into) -> Self { + self.id = Some(input.into()); + self + } + pub fn set_id(mut self, input: std::option::Option) -> Self { + self.id = input; + self + } + ///

                                                                                      A description of the set that helps with identification.

                                                                                      + pub fn description(mut self, input: impl Into) -> Self { + self.description = Some(input.into()); + self + } + pub fn set_description(mut self, input: std::option::Option) -> Self { + self.description = input; + self + } + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + pub fn lock_token(mut self, input: impl Into) -> Self { + self.lock_token = Some(input.into()); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.lock_token = input; + self + } + ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      + pub fn arn(mut self, input: impl Into) -> Self { + self.arn = Some(input.into()); + self + } + pub fn set_arn(mut self, input: std::option::Option) -> Self { + self.arn = input; + self + } + ///

                                                                                      The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix.

                                                                                      + ///
                                                                                        + ///
                                                                                      • + ///

                                                                                        The syntax for the label namespace prefix for a managed rule group is the following:

                                                                                        + ///

                                                                                        + /// awswaf:managed:::

                                                                                        + ///
                                                                                      • + ///
                                                                                      • + ///

                                                                                        When a rule with a label matches a web request, WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon:

                                                                                        + ///

                                                                                        + /// + ///

                                                                                        + ///
                                                                                      • + ///
                                                                                      + pub fn label_namespace(mut self, input: impl Into) -> Self { + self.label_namespace = Some(input.into()); + self + } + pub fn set_label_namespace( + mut self, + input: std::option::Option, + ) -> Self { + self.label_namespace = input; + self + } + /// Consumes the builder and constructs a [`ManagedRuleSetSummary`](crate::model::ManagedRuleSetSummary) + pub fn build(self) -> crate::model::ManagedRuleSetSummary { + crate::model::ManagedRuleSetSummary { + name: self.name, + id: self.id, + description: self.description, + lock_token: self.lock_token, + arn: self.arn, + label_namespace: self.label_namespace, + } + } + } +} +impl ManagedRuleSetSummary { + /// Creates a new builder-style object to manufacture [`ManagedRuleSetSummary`](crate::model::ManagedRuleSetSummary) + pub fn builder() -> crate::model::managed_rule_set_summary::Builder { + crate::model::managed_rule_set_summary::Builder::default() + } +} + ///

                                                                                      High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -6928,7 +7411,7 @@ pub struct IpSetSummary { pub id: std::option::Option, ///

                                                                                      A description of the IP set that helps with identification.

                                                                                      pub description: std::option::Option, - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub lock_token: std::option::Option, ///

                                                                                      The Amazon Resource Name (ARN) of the entity.

                                                                                      pub arn: std::option::Option, @@ -6984,7 +7467,7 @@ pub mod ip_set_summary { self.description = input; self } - ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      + ///

                                                                                      A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                      pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -7021,6 +7504,72 @@ impl IpSetSummary { } } +///

                                                                                      Describes a single version of a managed rule group.

                                                                                      +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ManagedRuleGroupVersion { + ///

                                                                                      The version name.

                                                                                      + pub name: std::option::Option, + ///

                                                                                      The date and time that the managed rule group owner updated the rule group version + /// information.

                                                                                      + pub last_update_timestamp: std::option::Option, +} +impl std::fmt::Debug for ManagedRuleGroupVersion { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ManagedRuleGroupVersion"); + formatter.field("name", &self.name); + formatter.field("last_update_timestamp", &self.last_update_timestamp); + formatter.finish() + } +} +/// See [`ManagedRuleGroupVersion`](crate::model::ManagedRuleGroupVersion) +pub mod managed_rule_group_version { + /// A builder for [`ManagedRuleGroupVersion`](crate::model::ManagedRuleGroupVersion) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) name: std::option::Option, + pub(crate) last_update_timestamp: std::option::Option, + } + impl Builder { + ///

                                                                                      The version name.

                                                                                      + pub fn name(mut self, input: impl Into) -> Self { + self.name = Some(input.into()); + self + } + pub fn set_name(mut self, input: std::option::Option) -> Self { + self.name = input; + self + } + ///

                                                                                      The date and time that the managed rule group owner updated the rule group version + /// information.

                                                                                      + pub fn last_update_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.last_update_timestamp = Some(input); + self + } + pub fn set_last_update_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.last_update_timestamp = input; + self + } + /// Consumes the builder and constructs a [`ManagedRuleGroupVersion`](crate::model::ManagedRuleGroupVersion) + pub fn build(self) -> crate::model::ManagedRuleGroupVersion { + crate::model::ManagedRuleGroupVersion { + name: self.name, + last_update_timestamp: self.last_update_timestamp, + } + } + } +} +impl ManagedRuleGroupVersion { + /// Creates a new builder-style object to manufacture [`ManagedRuleGroupVersion`](crate::model::ManagedRuleGroupVersion) + pub fn builder() -> crate::model::managed_rule_group_version::Builder { + crate::model::managed_rule_group_version::Builder::default() + } +} + ///

                                                                                      High-level information about a managed rule group, returned by ListAvailableManagedRuleGroups. This provides information like the name and vendor name, that you provide when you add a ManagedRuleGroupStatement to a web ACL. Managed rule groups include Amazon Web Services Managed Rules rule groups, which are free of charge to WAF customers, and Marketplace managed rule groups, which you can subscribe to through Marketplace.

                                                                                      #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] @@ -7102,9 +7651,12 @@ impl ManagedRuleGroupSummary { pub struct WebAcl { ///

                                                                                      The name of the web ACL. You cannot change the name of a web ACL after you create it.

                                                                                      pub name: std::option::Option, - ///

                                                                                      A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

                                                                                      + ///

                                                                                      A unique identifier for the WebACL. This ID is returned in the responses to + /// create and list commands. You use this ID to do things like get, update, and delete a + /// WebACL.

                                                                                      pub id: std::option::Option, - ///

                                                                                      The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.

                                                                                      + ///

                                                                                      The Amazon Resource Name (ARN) of the web ACL that you want to associate with the + /// resource.

                                                                                      pub arn: std::option::Option, ///

                                                                                      The action to perform if none of the Rules contained in the WebACL match.

                                                                                      pub default_action: std::option::Option, @@ -7127,23 +7679,26 @@ pub struct WebAcl { /// web ACL WCU usage when they use a rule group. /// The WCU limit for web ACLs is 1,500.

                                                                                      pub capacity: i64, - ///

                                                                                      The first set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and - /// contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are - /// prioritized after these.

                                                                                      - ///

                                                                                      In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL - /// and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to - /// determine their relative processing order.

                                                                                      + ///

                                                                                      The first set of rules for WAF to process in the web ACL. This is defined in an + /// Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any + /// rules and rule groups that you define for the web ACL are prioritized after these.

                                                                                      + ///

                                                                                      In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run + /// first in the web ACL and a set of rule groups to run last. Within each set, the + /// administrator prioritizes the rule groups, to determine their relative processing + /// order.

                                                                                      pub pre_process_firewall_manager_rule_groups: std::option::Option>, - ///

                                                                                      The last set of rules for WAF to process in the web ACL. This is defined in an Firewall Manager WAF policy and - /// contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are - /// prioritized before these.

                                                                                      - ///

                                                                                      In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL - /// and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to - /// determine their relative processing order.

                                                                                      + ///

                                                                                      The last set of rules for WAF to process in the web ACL. This is defined in an + /// Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any + /// rules and rule groups that you define for the web ACL are prioritized before these.

                                                                                      + ///

                                                                                      In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run + /// first in the web ACL and a set of rule groups to run last. Within each set, the + /// administrator prioritizes the rule groups, to determine their relative processing + /// order.

                                                                                      pub post_process_firewall_manager_rule_groups: std::option::Option>, - ///

                                                                                      Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

                                                                                      + ///

                                                                                      Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can + /// delete the web ACL or any Firewall Manager rule groups in the web ACL.

                                                                                      pub managed_by_firewall_manager: bool, ///

                                                                                      The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix.

                                                                                      /// - ///

                                                                                      For more information about CIDR notation, see the Wikipedia entry Classless - /// Inter-Domain Routing.

                                                                                      + ///

                                                                                      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

                                                                                      pub addresses: std::option::Option>, } impl std::fmt::Debug for IpSet { @@ -8780,7 +9739,7 @@ pub mod ip_set { self.description = input; self } - ///

                                                                                      Specify IPV4 or IPV6.

                                                                                      + ///

                                                                                      The version of the IP addresses, either IPV4 or IPV6.

                                                                                      pub fn ip_address_version(mut self, input: crate::model::IpAddressVersion) -> Self { self.ip_address_version = Some(input); self @@ -8831,7 +9790,8 @@ impl IpSet { pub struct RuleSummary { ///

                                                                                      The name of the rule.

                                                                                      pub name: std::option::Option, - ///

                                                                                      The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

                                                                                      + ///

                                                                                      The action that WAF should take on a web request when it matches a rule's + /// statement. Settings at the web ACL level can override the rule action setting.

                                                                                      pub action: std::option::Option, } impl std::fmt::Debug for RuleSummary { @@ -8861,7 +9821,8 @@ pub mod rule_summary { self.name = input; self } - ///

                                                                                      The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

                                                                                      + ///

                                                                                      The action that WAF should take on a web request when it matches a rule's + /// statement. Settings at the web ACL level can override the rule action setting.

                                                                                      pub fn action(mut self, input: crate::model::RuleAction) -> Self { self.action = Some(input); self diff --git a/sdk/wafv2/src/operation.rs b/sdk/wafv2/src/operation.rs index 38a5ef2ff51a..a1aeff40ea7f 100644 --- a/sdk/wafv2/src/operation.rs +++ b/sdk/wafv2/src/operation.rs @@ -1,6 +1,9 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -///

                                                                                      Associates a web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                      -///

                                                                                      For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the web ACL. For information, see UpdateDistribution.

                                                                                      +///

                                                                                      Associates a web ACL with a regional application resource, to protect the resource. +/// A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                      +///

                                                                                      For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To +/// associate a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID +/// to the Amazon Resource Name (ARN) of the web ACL. For information, see UpdateDistribution.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct AssociateWebACL { _private: (), @@ -65,7 +68,10 @@ impl smithy_http::response::ParseStrictResponse for CheckCapacity { } } -///

                                                                                      Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure WAF to block them using an IPSet that lists those IP addresses.

                                                                                      +///

                                                                                      Creates an IPSet, which you use to identify web requests that +/// originate from specific IP addresses or ranges of IP addresses. For example, if you're +/// receiving a lot of requests from a ranges of IP addresses, you can configure WAF to +/// block them using an IPSet that lists those IP addresses.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateIPSet { _private: (), @@ -91,7 +97,8 @@ impl smithy_http::response::ParseStrictResponse for CreateIPSet { } } -///

                                                                                      Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF inspect a web request component for the specified patterns.

                                                                                      +///

                                                                                      Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF inspect a web request +/// component for the specified patterns.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct CreateRegexPatternSet { _private: (), @@ -176,7 +183,8 @@ impl smithy_http::response::ParseStrictResponse for CreateWebACL { } ///

                                                                                      Deletes all rule groups that are managed by Firewall Manager for the specified web ACL.

                                                                                      -///

                                                                                      You can only use this if ManagedByFirewallManager is false in the specified WebACL.

                                                                                      +///

                                                                                      You can only use this if ManagedByFirewallManager is false in the specified +/// WebACL.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteFirewallManagerRuleGroups { _private: (), @@ -230,8 +238,7 @@ impl smithy_http::response::ParseStrictResponse for DeleteIPSet { } } -///

                                                                                      Deletes the LoggingConfiguration from the specified web -/// ACL.

                                                                                      +///

                                                                                      Deletes the LoggingConfiguration from the specified web ACL.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteLoggingConfiguration { _private: (), @@ -345,7 +352,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteRuleGroup { } ///

                                                                                      Deletes the specified WebACL.

                                                                                      -///

                                                                                      You can only use this if ManagedByFirewallManager is false in the specified WebACL.

                                                                                      +///

                                                                                      You can only use this if ManagedByFirewallManager is false in the specified +/// WebACL.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DeleteWebACL { _private: (), @@ -371,7 +379,8 @@ impl smithy_http::response::ParseStrictResponse for DeleteWebACL { } } -///

                                                                                      Provides high-level information for a managed rule group, including descriptions of the rules.

                                                                                      +///

                                                                                      Provides high-level information for a managed rule group, including descriptions of the +/// rules.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DescribeManagedRuleGroup { _private: (), @@ -400,7 +409,9 @@ impl smithy_http::response::ParseStrictResponse for DescribeManagedRuleGroup { } ///

                                                                                      Disassociates a web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

                                                                                      -///

                                                                                      For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution.

                                                                                      +///

                                                                                      For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To +/// disassociate a web ACL, provide an empty web ACL ID in the CloudFront call +/// UpdateDistribution. For information, see UpdateDistribution.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct DisassociateWebACL { _private: (), @@ -481,6 +492,38 @@ impl smithy_http::response::ParseStrictResponse for GetLoggingConfiguration { } } +///

                                                                                      Retrieves the specified managed rule set.

                                                                                      +/// +///

                                                                                      This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                      +///

                                                                                      Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +///
                                                                                      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct GetManagedRuleSet { + _private: (), +} +impl GetManagedRuleSet { + /// Creates a new builder-style object to manufacture [`GetManagedRuleSetInput`](crate::input::GetManagedRuleSetInput) + pub fn builder() -> crate::input::get_managed_rule_set_input::Builder { + crate::input::get_managed_rule_set_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for GetManagedRuleSet { + type Output = std::result::Result< + crate::output::GetManagedRuleSetOutput, + crate::error::GetManagedRuleSetError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_get_managed_rule_set_error(response) + } else { + crate::operation_deser::parse_get_managed_rule_set_response(response) + } + } +} + ///

                                                                                      Returns the IAM policy that is attached to the specified rule group.

                                                                                      ///

                                                                                      You must be the owner of the rule group to perform this operation.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] @@ -510,7 +553,9 @@ impl smithy_http::response::ParseStrictResponse for GetPermissionPolicy { } } -///

                                                                                      Retrieves the keys that are currently blocked by a rate-based rule. The maximum number of managed keys that can be blocked for a single rate-based rule is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

                                                                                      +///

                                                                                      Retrieves the keys that are currently blocked by a rate-based rule. The maximum number +/// of managed keys that can be blocked for a single rate-based rule is 10,000. If more than +/// 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetRateBasedStatementManagedKeys { _private: (), @@ -592,11 +637,16 @@ impl smithy_http::response::ParseStrictResponse for GetRuleGroup { } } -///

                                                                                      Gets detailed information about a specified number of requests--a sample--that WAF randomly selects from among the first 5,000 requests that your Amazon Web Services resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

                                                                                      +///

                                                                                      Gets detailed information about a specified number of requests--a sample--that WAF +/// randomly selects from among the first 5,000 requests that your Amazon Web Services resource received +/// during a time range that you choose. You can specify a sample size of up to 500 requests, +/// and you can specify any time range in the previous three hours.

                                                                                      ///

                                                                                      -/// GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource -/// (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests -/// returns an updated time range. This new time range indicates the actual period during which WAF selected the requests in the sample.

                                                                                      +/// GetSampledRequests returns a time range, which is usually the time range that +/// you specified. However, if your resource (such as a CloudFront distribution) received 5,000 +/// requests before the specified time range elapsed, GetSampledRequests returns +/// an updated time range. This new time range indicates the actual period during which WAF +/// selected the requests in the sample.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct GetSampledRequests { _private: (), @@ -677,7 +727,9 @@ impl smithy_http::response::ParseStrictResponse for GetWebACLForResource { } } -///

                                                                                      Retrieves an array of managed rule groups that are available for you to use. This list includes all Amazon Web Services Managed Rules rule groups and the Marketplace managed rule groups that you're subscribed to.

                                                                                      +///

                                                                                      Retrieves an array of managed rule groups that are available for you to use. This list +/// includes all Amazon Web Services Managed Rules rule groups and all of the Marketplace managed rule groups that you're +/// subscribed to.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListAvailableManagedRuleGroups { _private: (), @@ -705,7 +757,38 @@ impl smithy_http::response::ParseStrictResponse for ListAvailableManagedRuleGrou } } -///

                                                                                      Retrieves an array of IPSetSummary objects for the IP sets that you manage.

                                                                                      +///

                                                                                      Returns a list of the available versions for the specified managed rule group.

                                                                                      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListAvailableManagedRuleGroupVersions { + _private: (), +} +impl ListAvailableManagedRuleGroupVersions { + /// Creates a new builder-style object to manufacture [`ListAvailableManagedRuleGroupVersionsInput`](crate::input::ListAvailableManagedRuleGroupVersionsInput) + pub fn builder() -> crate::input::list_available_managed_rule_group_versions_input::Builder { + crate::input::list_available_managed_rule_group_versions_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListAvailableManagedRuleGroupVersions { + type Output = std::result::Result< + crate::output::ListAvailableManagedRuleGroupVersionsOutput, + crate::error::ListAvailableManagedRuleGroupVersionsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_available_managed_rule_group_versions_error(response) + } else { + crate::operation_deser::parse_list_available_managed_rule_group_versions_response( + response, + ) + } + } +} + +///

                                                                                      Retrieves an array of IPSetSummary objects for the IP sets that you +/// manage.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListIPSets { _private: (), @@ -759,7 +842,40 @@ impl smithy_http::response::ParseStrictResponse for ListLoggingConfigurations { } } -///

                                                                                      Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.

                                                                                      +///

                                                                                      Retrieves the managed rule sets that you own.

                                                                                      +/// +///

                                                                                      This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                      +///

                                                                                      Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +///
                                                                                      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct ListManagedRuleSets { + _private: (), +} +impl ListManagedRuleSets { + /// Creates a new builder-style object to manufacture [`ListManagedRuleSetsInput`](crate::input::ListManagedRuleSetsInput) + pub fn builder() -> crate::input::list_managed_rule_sets_input::Builder { + crate::input::list_managed_rule_sets_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for ListManagedRuleSets { + type Output = std::result::Result< + crate::output::ListManagedRuleSetsOutput, + crate::error::ListManagedRuleSetsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_list_managed_rule_sets_error(response) + } else { + crate::operation_deser::parse_list_managed_rule_sets_response(response) + } + } +} + +///

                                                                                      Retrieves an array of RegexPatternSetSummary objects for the regex +/// pattern sets that you manage.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListRegexPatternSets { _private: (), @@ -787,7 +903,9 @@ impl smithy_http::response::ParseStrictResponse for ListRegexPatternSets { } } -///

                                                                                      Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL. If you want the list of Amazon CloudFront resources, use the CloudFront call ListDistributionsByWebACLId.

                                                                                      +///

                                                                                      Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that +/// are associated with the specified web ACL. If you want the list of Amazon CloudFront resources, use +/// the CloudFront call ListDistributionsByWebACLId.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListResourcesForWebACL { _private: (), @@ -815,7 +933,8 @@ impl smithy_http::response::ParseStrictResponse for ListResourcesForWebACL { } } -///

                                                                                      Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.

                                                                                      +///

                                                                                      Retrieves an array of RuleGroupSummary objects for the rule groups +/// that you manage.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListRuleGroups { _private: (), @@ -841,9 +960,14 @@ impl smithy_http::response::ParseStrictResponse for ListRuleGroups { } } -///

                                                                                      Retrieves the TagInfoForResource for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

                                                                                      -///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP -/// sets, and regex pattern sets. You can't manage or view tags through the WAF console.

                                                                                      +///

                                                                                      Retrieves the TagInfoForResource for the specified resource. Tags are +/// key:value pairs that you can use to categorize and manage your resources, for purposes like +/// billing. For example, you might set the tag key to "customer" and the value to the customer +/// name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags +/// for a resource.

                                                                                      +///

                                                                                      You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule +/// groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF +/// console.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListTagsForResource { _private: (), @@ -871,7 +995,8 @@ impl smithy_http::response::ParseStrictResponse for ListTagsForResource { } } -///

                                                                                      Retrieves an array of WebACLSummary objects for the web ACLs that you manage.

                                                                                      +///

                                                                                      Retrieves an array of WebACLSummary objects for the web ACLs that you +/// manage.

                                                                                      #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct ListWebACLs { _private: (), @@ -897,24 +1022,34 @@ impl smithy_http::response::ParseStrictResponse for ListWebACLs { } } -///

                                                                                      Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.

                                                                                      +///

                                                                                      Enables the specified LoggingConfiguration, to start logging from a +/// web ACL, according to the configuration provided.

                                                                                      ///

                                                                                      You can access information about all traffic that WAF inspects using the following /// steps:

                                                                                      ///
                                                                                        ///
                                                                                      1. -///

                                                                                        Create an Amazon Kinesis Data -/// Firehose.

                                                                                        -///

                                                                                        Create the data firehose with a PUT source and in the Region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

                                                                                        -///

                                                                                        Give the data firehose a name that starts with the prefix aws-waf-logs-. For example, aws-waf-logs-us-east-2-analytics.

                                                                                        +///

                                                                                        Create an Amazon Kinesis Data Firehose.

                                                                                        +///

                                                                                        Create the data firehose with a PUT source and in the Region that you are +/// operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US +/// East (N. Virginia).

                                                                                        +///

                                                                                        Give the data firehose a name that starts with the prefix +/// aws-waf-logs-. For example, +/// aws-waf-logs-us-east-2-analytics.

                                                                                        /// -///

                                                                                        Do not create the data firehose using a Kinesis stream as your source.

                                                                                        +///

                                                                                        Do not create the data firehose using a Kinesis stream as your +/// source.

                                                                                        ///
                                                                                        ///
                                                                                      2. ///
                                                                                      3. -///

                                                                                        Associate that firehose to your web ACL using a PutLoggingConfiguration request.

                                                                                        +///

                                                                                        Associate that firehose to your web ACL using a +/// PutLoggingConfiguration request.

                                                                                        ///
                                                                                      4. ///
                                                                                      -///

                                                                                      When you successfully enable logging using a PutLoggingConfiguration request, WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the WAF Developer Guide.

                                                                                      +///

                                                                                      When you successfully enable logging using a PutLoggingConfiguration +/// request, WAF will create a service linked role with the necessary permissions to write +/// logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL +/// Traffic Information in the WAF Developer +/// Guide.

                                                                                      /// ///

                                                                                      This operation completely replaces the mutable specifications that you already have for the logging configuration with the ones that you provide to this call. To modify the logging configuration, retrieve it by calling GetLoggingConfiguration, update the settings as needed, and then provide the complete logging configuration specification to this call.

                                                                                      ///
                                                                                      @@ -945,15 +1080,57 @@ impl smithy_http::response::ParseStrictResponse for PutLoggingConfiguration { } } -///

                                                                                      Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.

                                                                                      +///

                                                                                      Defines the versions of your managed rule set that you are offering to the customers. +/// Customers see your offerings as managed rule groups with versioning.

                                                                                      +/// +///

                                                                                      This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                      +///

                                                                                      Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +///
                                                                                      +///

                                                                                      Customers retrieve their managed rule group list by calling ListAvailableManagedRuleGroups. The name that you provide here for your +/// managed rule set is the name the customer sees for the corresponding managed rule group. +/// Customers can retrieve the available versions for a managed rule group by calling ListAvailableManagedRuleGroupVersions. You provide a rule group +/// specification for each version. For each managed rule set, you must specify a version that +/// you recommend using.

                                                                                      +///

                                                                                      To initiate the expiration of a managed rule group version, use UpdateManagedRuleSetVersionExpiryDate.

                                                                                      +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct PutManagedRuleSetVersions { + _private: (), +} +impl PutManagedRuleSetVersions { + /// Creates a new builder-style object to manufacture [`PutManagedRuleSetVersionsInput`](crate::input::PutManagedRuleSetVersionsInput) + pub fn builder() -> crate::input::put_managed_rule_set_versions_input::Builder { + crate::input::put_managed_rule_set_versions_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for PutManagedRuleSetVersions { + type Output = std::result::Result< + crate::output::PutManagedRuleSetVersionsOutput, + crate::error::PutManagedRuleSetVersionsError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_put_managed_rule_set_versions_error(response) + } else { + crate::operation_deser::parse_put_managed_rule_set_versions_response(response) + } + } +} + +///

                                                                                      Attaches an IAM policy to the specified resource. Use this to share a rule group across +/// accounts.

                                                                                      ///

                                                                                      You must be the owner of the rule group to perform this operation.

                                                                                      ///

                                                                                      This action is subject to the following restrictions:

                                                                                      ///
                                                                                        ///
                                                                                      • -///

                                                                                        You can attach only one policy with each PutPermissionPolicy request.

                                                                                        +///

                                                                                        You can attach only one policy with each PutPermissionPolicy +/// request.

                                                                                        ///
                                                                                      • ///
                                                                                      • -///

                                                                                        The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same Region.

                                                                                        +///

                                                                                        The ARN in the request must be a valid WAF RuleGroup ARN and the +/// rule group must exist in the same Region.

                                                                                        ///
                                                                                      • ///
                                                                                      • ///

                                                                                        The user making the request must be the owner of the rule group.

                                                                                        @@ -986,9 +1163,14 @@ impl smithy_http::response::ParseStrictResponse for PutPermissionPolicy { } } -///

                                                                                        Associates tags with the specified Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

                                                                                        -///

                                                                                        You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP -/// sets, and regex pattern sets. You can't manage or view tags through the WAF console.

                                                                                        +///

                                                                                        Associates tags with the specified Amazon Web Services resource. Tags are key:value pairs that you can +/// use to categorize and manage your resources, for purposes like billing. For example, you +/// might set the tag key to "customer" and the value to the customer name or ID. You can +/// specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a +/// resource.

                                                                                        +///

                                                                                        You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule +/// groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF +/// console.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct TagResource { _private: (), @@ -1014,7 +1196,10 @@ impl smithy_http::response::ParseStrictResponse for TagResource { } } -///

                                                                                        Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs that you can associate with Amazon Web Services resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each Amazon Web Services resource.

                                                                                        +///

                                                                                        Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs that you can +/// associate with Amazon Web Services resources. For example, the tag key might be "customer" and the tag +/// value might be "companyA." You can specify one or more tags to add to each container. You +/// can add up to 50 tags to each Amazon Web Services resource.

                                                                                        #[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] pub struct UntagResource { _private: (), @@ -1069,6 +1254,44 @@ impl smithy_http::response::ParseStrictResponse for UpdateIPSet { } } +///

                                                                                        Updates the expiration information for your managed rule set. Use this to initiate the +/// expiration of a managed rule group version. After you initiate expiration for a version, +/// WAF excludes it from the reponse to ListAvailableManagedRuleGroupVersions for the managed rule group.

                                                                                        +/// +///

                                                                                        This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Marketplace sellers.

                                                                                        +///

                                                                                        Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

                                                                                        +///
                                                                                        +#[derive(std::default::Default, std::clone::Clone, std::fmt::Debug)] +pub struct UpdateManagedRuleSetVersionExpiryDate { + _private: (), +} +impl UpdateManagedRuleSetVersionExpiryDate { + /// Creates a new builder-style object to manufacture [`UpdateManagedRuleSetVersionExpiryDateInput`](crate::input::UpdateManagedRuleSetVersionExpiryDateInput) + pub fn builder() -> crate::input::update_managed_rule_set_version_expiry_date_input::Builder { + crate::input::update_managed_rule_set_version_expiry_date_input::Builder::default() + } + pub fn new() -> Self { + Self { _private: () } + } +} +impl smithy_http::response::ParseStrictResponse for UpdateManagedRuleSetVersionExpiryDate { + type Output = std::result::Result< + crate::output::UpdateManagedRuleSetVersionExpiryDateOutput, + crate::error::UpdateManagedRuleSetVersionExpiryDateError, + >; + fn parse(&self, response: &http::Response) -> Self::Output { + if !response.status().is_success() && response.status().as_u16() != 200 { + crate::operation_deser::parse_update_managed_rule_set_version_expiry_date_error( + response, + ) + } else { + crate::operation_deser::parse_update_managed_rule_set_version_expiry_date_response( + response, + ) + } + } +} + ///

                                                                                        Updates the specified RegexPatternSet.

                                                                                        /// ///

                                                                                        This operation completely replaces the mutable specifications that you already have for the regex pattern set with the ones that you provide to this call. To modify the regex pattern set, retrieve it by calling GetRegexPatternSet, update the settings as needed, and then provide the complete regex pattern set specification to this call.

                                                                                        diff --git a/sdk/wafv2/src/operation_deser.rs b/sdk/wafv2/src/operation_deser.rs index c817ed91eb73..147d8294892b 100644 --- a/sdk/wafv2/src/operation_deser.rs +++ b/sdk/wafv2/src/operation_deser.rs @@ -139,6 +139,24 @@ pub fn parse_check_capacity_error( let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { + "WAFExpiredManagedRuleGroupVersionException" => crate::error::CheckCapacityError { + meta: generic, + kind: crate::error::CheckCapacityErrorKind::WafExpiredManagedRuleGroupVersionException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)]let mut output = crate::error::waf_expired_managed_rule_group_version_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_expired_managed_rule_group_version_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::CheckCapacityError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, "WAFInternalErrorException" => { crate::error::CheckCapacityError { meta: generic, @@ -2379,115 +2397,91 @@ pub fn parse_describe_managed_rule_group_error( let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "WAFInternalErrorException" => { - crate::error::DescribeManagedRuleGroupError { - meta: generic, - kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInternalErrorException({ - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = - crate::error::waf_internal_error_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }), - } - } - "WAFInvalidOperationException" => { - crate::error::DescribeManagedRuleGroupError { - meta: generic, - kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidOperationException( - { - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = - crate::error::waf_invalid_operation_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }, - ), - } - } - "WAFInvalidParameterException" => { - crate::error::DescribeManagedRuleGroupError { - meta: generic, - kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidParameterException( - { - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = - crate::error::waf_invalid_parameter_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }, - ), - } - } - "WAFInvalidResourceException" => { - crate::error::DescribeManagedRuleGroupError { - meta: generic, - kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidResourceException( - { - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = - crate::error::waf_invalid_resource_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_invalid_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }, - ), - } - } - "WAFNonexistentItemException" => { - crate::error::DescribeManagedRuleGroupError { - meta: generic, - kind: crate::error::DescribeManagedRuleGroupErrorKind::WafNonexistentItemException( - { - #[allow(unused_mut)] - let mut tmp = { - #[allow(unused_mut)] - let mut output = - crate::error::waf_nonexistent_item_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; - output.build() - }; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - }, - ), - } - } - _ => crate::error::DescribeManagedRuleGroupError::generic(generic), + "WAFExpiredManagedRuleGroupVersionException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafExpiredManagedRuleGroupVersionException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_expired_managed_rule_group_version_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_expired_managed_rule_group_version_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInternalErrorException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInternalErrorException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidOperationException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidParameterException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidResourceException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafInvalidResourceException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_resource_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_resource_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFNonexistentItemException" => crate::error::DescribeManagedRuleGroupError { meta: generic, kind: crate::error::DescribeManagedRuleGroupErrorKind::WafNonexistentItemException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_nonexistent_item_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::DescribeManagedRuleGroupError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::DescribeManagedRuleGroupError::generic(generic) }) } @@ -2868,32 +2862,50 @@ pub fn parse_get_logging_configuration_response( } #[allow(clippy::unnecessary_wraps)] -pub fn parse_get_permission_policy_error( +pub fn parse_get_managed_rule_set_error( response: &http::Response, -) -> std::result::Result< - crate::output::GetPermissionPolicyOutput, - crate::error::GetPermissionPolicyError, -> { +) -> std::result::Result +{ let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::GetPermissionPolicyError::unhandled)?; + .map_err(crate::error::GetManagedRuleSetError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => return Err(crate::error::GetPermissionPolicyError::unhandled(generic)), + None => return Err(crate::error::GetManagedRuleSetError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { "WAFInternalErrorException" => { - crate::error::GetPermissionPolicyError { + crate::error::GetManagedRuleSetError { meta: generic, - kind: crate::error::GetPermissionPolicyErrorKind::WafInternalErrorException({ + kind: crate::error::GetManagedRuleSetErrorKind::WafInternalErrorException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::waf_internal_error_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetManagedRuleSetError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "WAFInvalidOperationException" => { + crate::error::GetManagedRuleSetError { + meta: generic, + kind: crate::error::GetManagedRuleSetErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetManagedRuleSetError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -2904,16 +2916,16 @@ pub fn parse_get_permission_policy_error( } } "WAFInvalidParameterException" => { - crate::error::GetPermissionPolicyError { + crate::error::GetManagedRuleSetError { meta: generic, - kind: crate::error::GetPermissionPolicyErrorKind::WafInvalidParameterException({ + kind: crate::error::GetManagedRuleSetErrorKind::WafInvalidParameterException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::waf_invalid_parameter_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetManagedRuleSetError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -2924,16 +2936,16 @@ pub fn parse_get_permission_policy_error( } } "WAFNonexistentItemException" => { - crate::error::GetPermissionPolicyError { + crate::error::GetManagedRuleSetError { meta: generic, - kind: crate::error::GetPermissionPolicyErrorKind::WafNonexistentItemException({ + kind: crate::error::GetManagedRuleSetErrorKind::WafNonexistentItemException({ #[allow(unused_mut)] let mut tmp = { #[allow(unused_mut)] let mut output = crate::error::waf_nonexistent_item_exception::Builder::default(); let _ = response; - output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetManagedRuleSetError::unhandled)?; output.build() }; if (&tmp.message).is_none() { @@ -2943,74 +2955,172 @@ pub fn parse_get_permission_policy_error( }), } } - _ => crate::error::GetPermissionPolicyError::generic(generic), + _ => crate::error::GetManagedRuleSetError::generic(generic), }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_get_permission_policy_response( +pub fn parse_get_managed_rule_set_response( response: &http::Response, -) -> std::result::Result< - crate::output::GetPermissionPolicyOutput, - crate::error::GetPermissionPolicyError, -> { +) -> std::result::Result +{ Ok({ #[allow(unused_mut)] - let mut output = crate::output::get_permission_policy_output::Builder::default(); + let mut output = crate::output::get_managed_rule_set_output::Builder::default(); let _ = response; - output = crate::json_deser::deser_operation_get_permission_policy( + output = crate::json_deser::deser_operation_get_managed_rule_set( response.body().as_ref(), output, ) - .map_err(crate::error::GetPermissionPolicyError::unhandled)?; + .map_err(crate::error::GetManagedRuleSetError::unhandled)?; output.build() }) } #[allow(clippy::unnecessary_wraps)] -pub fn parse_get_rate_based_statement_managed_keys_error( +pub fn parse_get_permission_policy_error( response: &http::Response, ) -> std::result::Result< - crate::output::GetRateBasedStatementManagedKeysOutput, - crate::error::GetRateBasedStatementManagedKeysError, + crate::output::GetPermissionPolicyOutput, + crate::error::GetPermissionPolicyError, > { let generic = crate::json_deser::parse_generic_error(&response) - .map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; + .map_err(crate::error::GetPermissionPolicyError::unhandled)?; let error_code = match generic.code() { Some(code) => code, - None => { - return Err(crate::error::GetRateBasedStatementManagedKeysError::unhandled(generic)) - } + None => return Err(crate::error::GetPermissionPolicyError::unhandled(generic)), }; let _error_message = generic.message().map(|msg| msg.to_owned()); Err(match error_code { - "WAFInternalErrorException" => crate::error::GetRateBasedStatementManagedKeysError { meta: generic, kind: crate::error::GetRateBasedStatementManagedKeysErrorKind::WafInternalErrorException({ - #[allow(unused_mut)]let mut tmp = - { - #[allow(unused_mut)]let mut output = crate::error::waf_internal_error_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; - output.build() - } - ; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } - tmp - })}, - "WAFInvalidOperationException" => crate::error::GetRateBasedStatementManagedKeysError { meta: generic, kind: crate::error::GetRateBasedStatementManagedKeysErrorKind::WafInvalidOperationException({ - #[allow(unused_mut)]let mut tmp = - { - #[allow(unused_mut)]let mut output = crate::error::waf_invalid_operation_exception::Builder::default(); - let _ = response; - output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; - output.build() - } - ; - if (&tmp.message).is_none() { - tmp.message = _error_message; - } + "WAFInternalErrorException" => { + crate::error::GetPermissionPolicyError { + meta: generic, + kind: crate::error::GetPermissionPolicyErrorKind::WafInternalErrorException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "WAFInvalidParameterException" => { + crate::error::GetPermissionPolicyError { + meta: generic, + kind: crate::error::GetPermissionPolicyErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "WAFNonexistentItemException" => { + crate::error::GetPermissionPolicyError { + meta: generic, + kind: crate::error::GetPermissionPolicyErrorKind::WafNonexistentItemException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_nonexistent_item_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::GetPermissionPolicyError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_permission_policy_response( + response: &http::Response, +) -> std::result::Result< + crate::output::GetPermissionPolicyOutput, + crate::error::GetPermissionPolicyError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::get_permission_policy_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_get_permission_policy( + response.body().as_ref(), + output, + ) + .map_err(crate::error::GetPermissionPolicyError::unhandled)?; + output.build() + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_get_rate_based_statement_managed_keys_error( + response: &http::Response, +) -> std::result::Result< + crate::output::GetRateBasedStatementManagedKeysOutput, + crate::error::GetRateBasedStatementManagedKeysError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::GetRateBasedStatementManagedKeysError::unhandled(generic)) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "WAFInternalErrorException" => crate::error::GetRateBasedStatementManagedKeysError { meta: generic, kind: crate::error::GetRateBasedStatementManagedKeysErrorKind::WafInternalErrorException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidOperationException" => crate::error::GetRateBasedStatementManagedKeysError { meta: generic, kind: crate::error::GetRateBasedStatementManagedKeysErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::GetRateBasedStatementManagedKeysError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } tmp })}, "WAFInvalidParameterException" => crate::error::GetRateBasedStatementManagedKeysError { meta: generic, kind: crate::error::GetRateBasedStatementManagedKeysErrorKind::WafInvalidParameterException({ @@ -3750,6 +3860,93 @@ pub fn parse_list_available_managed_rule_groups_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_available_managed_rule_group_versions_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAvailableManagedRuleGroupVersionsOutput, + crate::error::ListAvailableManagedRuleGroupVersionsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "WAFInternalErrorException" => crate::error::ListAvailableManagedRuleGroupVersionsError { meta: generic, kind: crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInternalErrorException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidOperationException" => crate::error::ListAvailableManagedRuleGroupVersionsError { meta: generic, kind: crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidParameterException" => crate::error::ListAvailableManagedRuleGroupVersionsError { meta: generic, kind: crate::error::ListAvailableManagedRuleGroupVersionsErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::ListAvailableManagedRuleGroupVersionsError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_available_managed_rule_group_versions_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListAvailableManagedRuleGroupVersionsOutput, + crate::error::ListAvailableManagedRuleGroupVersionsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::list_available_managed_rule_group_versions_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_available_managed_rule_group_versions( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListAvailableManagedRuleGroupVersionsError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_list_ip_sets_error( response: &http::Response, @@ -3953,6 +4150,106 @@ pub fn parse_list_logging_configurations_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_managed_rule_sets_error( + response: &http::Response, +) -> std::result::Result< + crate::output::ListManagedRuleSetsOutput, + crate::error::ListManagedRuleSetsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::ListManagedRuleSetsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::error::ListManagedRuleSetsError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "WAFInternalErrorException" => { + crate::error::ListManagedRuleSetsError { + meta: generic, + kind: crate::error::ListManagedRuleSetsErrorKind::WafInternalErrorException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListManagedRuleSetsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "WAFInvalidOperationException" => { + crate::error::ListManagedRuleSetsError { + meta: generic, + kind: crate::error::ListManagedRuleSetsErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListManagedRuleSetsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + "WAFInvalidParameterException" => { + crate::error::ListManagedRuleSetsError { + meta: generic, + kind: crate::error::ListManagedRuleSetsErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::ListManagedRuleSetsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + } + } + _ => crate::error::ListManagedRuleSetsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_list_managed_rule_sets_response( + response: &http::Response, +) -> std::result::Result< + crate::output::ListManagedRuleSetsOutput, + crate::error::ListManagedRuleSetsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::list_managed_rule_sets_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_list_managed_rule_sets( + response.body().as_ref(), + output, + ) + .map_err(crate::error::ListManagedRuleSetsError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_list_regex_pattern_sets_error( response: &http::Response, @@ -4714,6 +5011,162 @@ pub fn parse_put_logging_configuration_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_put_managed_rule_set_versions_error( + response: &http::Response, +) -> std::result::Result< + crate::output::PutManagedRuleSetVersionsOutput, + crate::error::PutManagedRuleSetVersionsError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::error::PutManagedRuleSetVersionsError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "WAFInternalErrorException" => { + crate::error::PutManagedRuleSetVersionsError { + meta: generic, + kind: crate::error::PutManagedRuleSetVersionsErrorKind::WafInternalErrorException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "WAFInvalidOperationException" => crate::error::PutManagedRuleSetVersionsError { + meta: generic, + kind: crate::error::PutManagedRuleSetVersionsErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "WAFInvalidParameterException" => crate::error::PutManagedRuleSetVersionsError { + meta: generic, + kind: crate::error::PutManagedRuleSetVersionsErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = + crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }), + }, + "WAFNonexistentItemException" => { + crate::error::PutManagedRuleSetVersionsError { + meta: generic, + kind: crate::error::PutManagedRuleSetVersionsErrorKind::WafNonexistentItemException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_nonexistent_item_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + "WAFOptimisticLockException" => { + crate::error::PutManagedRuleSetVersionsError { + meta: generic, + kind: crate::error::PutManagedRuleSetVersionsErrorKind::WafOptimisticLockException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = + crate::error::waf_optimistic_lock_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_optimistic_lock_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + } + } + _ => crate::error::PutManagedRuleSetVersionsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_put_managed_rule_set_versions_response( + response: &http::Response, +) -> std::result::Result< + crate::output::PutManagedRuleSetVersionsOutput, + crate::error::PutManagedRuleSetVersionsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::output::put_managed_rule_set_versions_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_put_managed_rule_set_versions( + response.body().as_ref(), + output, + ) + .map_err(crate::error::PutManagedRuleSetVersionsError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_put_permission_policy_error( response: &http::Response, @@ -5320,6 +5773,121 @@ pub fn parse_update_ip_set_response( }) } +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_managed_rule_set_version_expiry_date_error( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateManagedRuleSetVersionExpiryDateOutput, + crate::error::UpdateManagedRuleSetVersionExpiryDateError, +> { + let generic = crate::json_deser::parse_generic_error(&response) + .map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err( + crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled(generic), + ) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "WAFInternalErrorException" => crate::error::UpdateManagedRuleSetVersionExpiryDateError { meta: generic, kind: crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInternalErrorException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_internal_error_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_internal_error_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidOperationException" => crate::error::UpdateManagedRuleSetVersionExpiryDateError { meta: generic, kind: crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidOperationException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_operation_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_operation_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFInvalidParameterException" => crate::error::UpdateManagedRuleSetVersionExpiryDateError { meta: generic, kind: crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafInvalidParameterException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_invalid_parameter_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_invalid_parameter_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFNonexistentItemException" => crate::error::UpdateManagedRuleSetVersionExpiryDateError { meta: generic, kind: crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafNonexistentItemException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_nonexistent_item_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_nonexistent_item_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + "WAFOptimisticLockException" => crate::error::UpdateManagedRuleSetVersionExpiryDateError { meta: generic, kind: crate::error::UpdateManagedRuleSetVersionExpiryDateErrorKind::WafOptimisticLockException({ + #[allow(unused_mut)]let mut tmp = + { + #[allow(unused_mut)]let mut output = crate::error::waf_optimistic_lock_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_optimistic_lock_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + } + ; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + })}, + _ => crate::error::UpdateManagedRuleSetVersionExpiryDateError::generic(generic) + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn parse_update_managed_rule_set_version_expiry_date_response( + response: &http::Response, +) -> std::result::Result< + crate::output::UpdateManagedRuleSetVersionExpiryDateOutput, + crate::error::UpdateManagedRuleSetVersionExpiryDateError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = + crate::output::update_managed_rule_set_version_expiry_date_output::Builder::default(); + let _ = response; + output = crate::json_deser::deser_operation_update_managed_rule_set_version_expiry_date( + response.body().as_ref(), + output, + ) + .map_err(crate::error::UpdateManagedRuleSetVersionExpiryDateError::unhandled)?; + output.build() + }) +} + #[allow(clippy::unnecessary_wraps)] pub fn parse_update_regex_pattern_set_error( response: &http::Response, @@ -5741,6 +6309,24 @@ pub fn parse_update_web_acl_error( }), } } + "WAFExpiredManagedRuleGroupVersionException" => crate::error::UpdateWebACLError { + meta: generic, + kind: crate::error::UpdateWebACLErrorKind::WafExpiredManagedRuleGroupVersionException( + { + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)]let mut output = crate::error::waf_expired_managed_rule_group_version_exception::Builder::default(); + let _ = response; + output = crate::json_deser::deser_structure_waf_expired_managed_rule_group_version_exceptionjson_err(response.body().as_ref(), output).map_err(crate::error::UpdateWebACLError::unhandled)?; + output.build() + }; + if (&tmp.message).is_none() { + tmp.message = _error_message; + } + tmp + }, + ), + }, "WAFInternalErrorException" => { crate::error::UpdateWebACLError { meta: generic, diff --git a/sdk/wafv2/src/operation_ser.rs b/sdk/wafv2/src/operation_ser.rs index 161a0162e985..12116dde6f88 100644 --- a/sdk/wafv2/src/operation_ser.rs +++ b/sdk/wafv2/src/operation_ser.rs @@ -172,6 +172,16 @@ pub fn serialize_operation_get_logging_configuration( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_get_managed_rule_set( + input: &crate::input::GetManagedRuleSetInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_get_managed_rule_set_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_get_permission_policy( input: &crate::input::GetPermissionPolicyInput, ) -> Result { @@ -258,6 +268,19 @@ pub fn serialize_operation_list_available_managed_rule_groups( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_list_available_managed_rule_group_versions( + input: &crate::input::ListAvailableManagedRuleGroupVersionsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_available_managed_rule_group_versions_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_list_ip_sets( input: &crate::input::ListIpSetsInput, ) -> Result { @@ -278,6 +301,16 @@ pub fn serialize_operation_list_logging_configurations( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_list_managed_rule_sets( + input: &crate::input::ListManagedRuleSetsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_list_managed_rule_sets_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_list_regex_pattern_sets( input: &crate::input::ListRegexPatternSetsInput, ) -> Result { @@ -338,6 +371,16 @@ pub fn serialize_operation_put_logging_configuration( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_put_managed_rule_set_versions( + input: &crate::input::PutManagedRuleSetVersionsInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_put_managed_rule_set_versions_input(&mut object, input); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_put_permission_policy( input: &crate::input::PutPermissionPolicyInput, ) -> Result { @@ -378,6 +421,19 @@ pub fn serialize_operation_update_ip_set( Ok(smithy_http::body::SdkBody::from(out)) } +pub fn serialize_operation_update_managed_rule_set_version_expiry_date( + input: &crate::input::UpdateManagedRuleSetVersionExpiryDateInput, +) -> Result { + let mut out = String::new(); + let mut object = smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::json_ser::serialize_structure_update_managed_rule_set_version_expiry_date_input( + &mut object, + input, + ); + object.finish(); + Ok(smithy_http::body::SdkBody::from(out)) +} + pub fn serialize_operation_update_regex_pattern_set( input: &crate::input::UpdateRegexPatternSetInput, ) -> Result { diff --git a/sdk/wafv2/src/output.rs b/sdk/wafv2/src/output.rs index 04576685099e..c11afae10ba5 100644 --- a/sdk/wafv2/src/output.rs +++ b/sdk/wafv2/src/output.rs @@ -2,7 +2,7 @@ #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateWebAclOutput { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub next_lock_token: std::option::Option, } impl std::fmt::Debug for UpdateWebAclOutput { @@ -21,7 +21,7 @@ pub mod update_web_acl_output { pub(crate) next_lock_token: std::option::Option, } impl Builder { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub fn next_lock_token(mut self, input: impl Into) -> Self { self.next_lock_token = Some(input.into()); self @@ -51,7 +51,7 @@ impl UpdateWebAclOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateRuleGroupOutput { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub next_lock_token: std::option::Option, } impl std::fmt::Debug for UpdateRuleGroupOutput { @@ -70,7 +70,7 @@ pub mod update_rule_group_output { pub(crate) next_lock_token: std::option::Option, } impl Builder { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub fn next_lock_token(mut self, input: impl Into) -> Self { self.next_lock_token = Some(input.into()); self @@ -100,7 +100,7 @@ impl UpdateRuleGroupOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateRegexPatternSetOutput { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub next_lock_token: std::option::Option, } impl std::fmt::Debug for UpdateRegexPatternSetOutput { @@ -119,7 +119,7 @@ pub mod update_regex_pattern_set_output { pub(crate) next_lock_token: std::option::Option, } impl Builder { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub fn next_lock_token(mut self, input: impl Into) -> Self { self.next_lock_token = Some(input.into()); self @@ -146,10 +146,95 @@ impl UpdateRegexPatternSetOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct UpdateManagedRuleSetVersionExpiryDateOutput { + ///

                                                                                        The version that is set to expire.

                                                                                        + pub expiring_version: std::option::Option, + ///

                                                                                        The time that the version will expire.

                                                                                        + ///

                                                                                        Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

                                                                                        + pub expiry_timestamp: std::option::Option, + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub next_lock_token: std::option::Option, +} +impl std::fmt::Debug for UpdateManagedRuleSetVersionExpiryDateOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("UpdateManagedRuleSetVersionExpiryDateOutput"); + formatter.field("expiring_version", &self.expiring_version); + formatter.field("expiry_timestamp", &self.expiry_timestamp); + formatter.field("next_lock_token", &self.next_lock_token); + formatter.finish() + } +} +/// See [`UpdateManagedRuleSetVersionExpiryDateOutput`](crate::output::UpdateManagedRuleSetVersionExpiryDateOutput) +pub mod update_managed_rule_set_version_expiry_date_output { + /// A builder for [`UpdateManagedRuleSetVersionExpiryDateOutput`](crate::output::UpdateManagedRuleSetVersionExpiryDateOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) expiring_version: std::option::Option, + pub(crate) expiry_timestamp: std::option::Option, + pub(crate) next_lock_token: std::option::Option, + } + impl Builder { + ///

                                                                                        The version that is set to expire.

                                                                                        + pub fn expiring_version(mut self, input: impl Into) -> Self { + self.expiring_version = Some(input.into()); + self + } + pub fn set_expiring_version( + mut self, + input: std::option::Option, + ) -> Self { + self.expiring_version = input; + self + } + ///

                                                                                        The time that the version will expire.

                                                                                        + ///

                                                                                        Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".

                                                                                        + pub fn expiry_timestamp(mut self, input: smithy_types::Instant) -> Self { + self.expiry_timestamp = Some(input); + self + } + pub fn set_expiry_timestamp( + mut self, + input: std::option::Option, + ) -> Self { + self.expiry_timestamp = input; + self + } + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub fn next_lock_token(mut self, input: impl Into) -> Self { + self.next_lock_token = Some(input.into()); + self + } + pub fn set_next_lock_token( + mut self, + input: std::option::Option, + ) -> Self { + self.next_lock_token = input; + self + } + /// Consumes the builder and constructs a [`UpdateManagedRuleSetVersionExpiryDateOutput`](crate::output::UpdateManagedRuleSetVersionExpiryDateOutput) + pub fn build(self) -> crate::output::UpdateManagedRuleSetVersionExpiryDateOutput { + crate::output::UpdateManagedRuleSetVersionExpiryDateOutput { + expiring_version: self.expiring_version, + expiry_timestamp: self.expiry_timestamp, + next_lock_token: self.next_lock_token, + } + } + } +} +impl UpdateManagedRuleSetVersionExpiryDateOutput { + /// Creates a new builder-style object to manufacture [`UpdateManagedRuleSetVersionExpiryDateOutput`](crate::output::UpdateManagedRuleSetVersionExpiryDateOutput) + pub fn builder() -> crate::output::update_managed_rule_set_version_expiry_date_output::Builder { + crate::output::update_managed_rule_set_version_expiry_date_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UpdateIpSetOutput { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub next_lock_token: std::option::Option, } impl std::fmt::Debug for UpdateIpSetOutput { @@ -168,7 +253,7 @@ pub mod update_ip_set_output { pub(crate) next_lock_token: std::option::Option, } impl Builder { - ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

                                                                                        pub fn next_lock_token(mut self, input: impl Into) -> Self { self.next_lock_token = Some(input.into()); self @@ -282,6 +367,55 @@ impl PutPermissionPolicyOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct PutManagedRuleSetVersionsOutput { + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub next_lock_token: std::option::Option, +} +impl std::fmt::Debug for PutManagedRuleSetVersionsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("PutManagedRuleSetVersionsOutput"); + formatter.field("next_lock_token", &self.next_lock_token); + formatter.finish() + } +} +/// See [`PutManagedRuleSetVersionsOutput`](crate::output::PutManagedRuleSetVersionsOutput) +pub mod put_managed_rule_set_versions_output { + /// A builder for [`PutManagedRuleSetVersionsOutput`](crate::output::PutManagedRuleSetVersionsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_lock_token: std::option::Option, + } + impl Builder { + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub fn next_lock_token(mut self, input: impl Into) -> Self { + self.next_lock_token = Some(input.into()); + self + } + pub fn set_next_lock_token( + mut self, + input: std::option::Option, + ) -> Self { + self.next_lock_token = input; + self + } + /// Consumes the builder and constructs a [`PutManagedRuleSetVersionsOutput`](crate::output::PutManagedRuleSetVersionsOutput) + pub fn build(self) -> crate::output::PutManagedRuleSetVersionsOutput { + crate::output::PutManagedRuleSetVersionsOutput { + next_lock_token: self.next_lock_token, + } + } + } +} +impl PutManagedRuleSetVersionsOutput { + /// Creates a new builder-style object to manufacture [`PutManagedRuleSetVersionsOutput`](crate::output::PutManagedRuleSetVersionsOutput) + pub fn builder() -> crate::output::put_managed_rule_set_versions_output::Builder { + crate::output::put_managed_rule_set_versions_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct PutLoggingConfigurationOutput { @@ -657,6 +791,78 @@ impl ListRegexPatternSetsOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListManagedRuleSetsOutput { + ///

                                                                                        When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                        + pub next_marker: std::option::Option, + ///

                                                                                        Your managed rule sets.

                                                                                        + pub managed_rule_sets: std::option::Option>, +} +impl std::fmt::Debug for ListManagedRuleSetsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListManagedRuleSetsOutput"); + formatter.field("next_marker", &self.next_marker); + formatter.field("managed_rule_sets", &self.managed_rule_sets); + formatter.finish() + } +} +/// See [`ListManagedRuleSetsOutput`](crate::output::ListManagedRuleSetsOutput) +pub mod list_managed_rule_sets_output { + /// A builder for [`ListManagedRuleSetsOutput`](crate::output::ListManagedRuleSetsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_marker: std::option::Option, + pub(crate) managed_rule_sets: + std::option::Option>, + } + impl Builder { + ///

                                                                                        When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                        + pub fn next_marker(mut self, input: impl Into) -> Self { + self.next_marker = Some(input.into()); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.next_marker = input; + self + } + pub fn managed_rule_sets( + mut self, + input: impl Into, + ) -> Self { + let mut v = self.managed_rule_sets.unwrap_or_default(); + v.push(input.into()); + self.managed_rule_sets = Some(v); + self + } + pub fn set_managed_rule_sets( + mut self, + input: std::option::Option>, + ) -> Self { + self.managed_rule_sets = input; + self + } + /// Consumes the builder and constructs a [`ListManagedRuleSetsOutput`](crate::output::ListManagedRuleSetsOutput) + pub fn build(self) -> crate::output::ListManagedRuleSetsOutput { + crate::output::ListManagedRuleSetsOutput { + next_marker: self.next_marker, + managed_rule_sets: self.managed_rule_sets, + } + } + } +} +impl ListManagedRuleSetsOutput { + /// Creates a new builder-style object to manufacture [`ListManagedRuleSetsOutput`](crate::output::ListManagedRuleSetsOutput) + pub fn builder() -> crate::output::list_managed_rule_sets_output::Builder { + crate::output::list_managed_rule_sets_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListLoggingConfigurationsOutput { @@ -737,7 +943,8 @@ pub struct ListIpSetsOutput { /// for retrieval exceeds the limit, WAF returns a NextMarker /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                        pub next_marker: std::option::Option, - ///

                                                                                        Array of IPSets. This may not be the full list of IPSets that you have defined. See the Limit specification for this request.

                                                                                        + ///

                                                                                        Array of IPSets. This may not be the full list of IPSets that you have defined. See the + /// Limit specification for this request.

                                                                                        pub ip_sets: std::option::Option>, } impl std::fmt::Debug for ListIpSetsOutput { @@ -798,6 +1005,75 @@ impl ListIpSetsOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct ListAvailableManagedRuleGroupVersionsOutput { + ///

                                                                                        When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                        + pub next_marker: std::option::Option, + ///

                                                                                        The versions that are currently available for the specified managed rule group.

                                                                                        + pub versions: std::option::Option>, +} +impl std::fmt::Debug for ListAvailableManagedRuleGroupVersionsOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("ListAvailableManagedRuleGroupVersionsOutput"); + formatter.field("next_marker", &self.next_marker); + formatter.field("versions", &self.versions); + formatter.finish() + } +} +/// See [`ListAvailableManagedRuleGroupVersionsOutput`](crate::output::ListAvailableManagedRuleGroupVersionsOutput) +pub mod list_available_managed_rule_group_versions_output { + /// A builder for [`ListAvailableManagedRuleGroupVersionsOutput`](crate::output::ListAvailableManagedRuleGroupVersionsOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) next_marker: std::option::Option, + pub(crate) versions: + std::option::Option>, + } + impl Builder { + ///

                                                                                        When you request a list of objects with a Limit setting, if the number of objects that are still available + /// for retrieval exceeds the limit, WAF returns a NextMarker + /// value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

                                                                                        + pub fn next_marker(mut self, input: impl Into) -> Self { + self.next_marker = Some(input.into()); + self + } + pub fn set_next_marker(mut self, input: std::option::Option) -> Self { + self.next_marker = input; + self + } + pub fn versions(mut self, input: impl Into) -> Self { + let mut v = self.versions.unwrap_or_default(); + v.push(input.into()); + self.versions = Some(v); + self + } + pub fn set_versions( + mut self, + input: std::option::Option>, + ) -> Self { + self.versions = input; + self + } + /// Consumes the builder and constructs a [`ListAvailableManagedRuleGroupVersionsOutput`](crate::output::ListAvailableManagedRuleGroupVersionsOutput) + pub fn build(self) -> crate::output::ListAvailableManagedRuleGroupVersionsOutput { + crate::output::ListAvailableManagedRuleGroupVersionsOutput { + next_marker: self.next_marker, + versions: self.versions, + } + } + } +} +impl ListAvailableManagedRuleGroupVersionsOutput { + /// Creates a new builder-style object to manufacture [`ListAvailableManagedRuleGroupVersionsOutput`](crate::output::ListAvailableManagedRuleGroupVersionsOutput) + pub fn builder() -> crate::output::list_available_managed_rule_group_versions_output::Builder { + crate::output::list_available_managed_rule_group_versions_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct ListAvailableManagedRuleGroupsOutput { @@ -874,7 +1150,8 @@ impl ListAvailableManagedRuleGroupsOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetWebAclForResourceOutput { - ///

                                                                                        The web ACL that is associated with the resource. If there is no associated resource, WAF returns a null web ACL.

                                                                                        + ///

                                                                                        The web ACL that is associated with the resource. If there is no associated resource, + /// WAF returns a null web ACL.

                                                                                        pub web_acl: std::option::Option, } impl std::fmt::Debug for GetWebAclForResourceOutput { @@ -893,7 +1170,8 @@ pub mod get_web_acl_for_resource_output { pub(crate) web_acl: std::option::Option, } impl Builder { - ///

                                                                                        The web ACL that is associated with the resource. If there is no associated resource, WAF returns a null web ACL.

                                                                                        + ///

                                                                                        The web ACL that is associated with the resource. If there is no associated resource, + /// WAF returns a null web ACL.

                                                                                        pub fn web_acl(mut self, input: crate::model::WebAcl) -> Self { self.web_acl = Some(input); self @@ -920,9 +1198,10 @@ impl GetWebAclForResourceOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetWebAclOutput { - ///

                                                                                        The web ACL specification. You can modify the settings in this web ACL and use it to update this web ACL or create a new one.

                                                                                        + ///

                                                                                        The web ACL specification. You can modify the settings in this web ACL and use it to + /// update this web ACL or create a new one.

                                                                                        pub web_acl: std::option::Option, - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub lock_token: std::option::Option, } impl std::fmt::Debug for GetWebAclOutput { @@ -943,7 +1222,8 @@ pub mod get_web_acl_output { pub(crate) lock_token: std::option::Option, } impl Builder { - ///

                                                                                        The web ACL specification. You can modify the settings in this web ACL and use it to update this web ACL or create a new one.

                                                                                        + ///

                                                                                        The web ACL specification. You can modify the settings in this web ACL and use it to + /// update this web ACL or create a new one.

                                                                                        pub fn web_acl(mut self, input: crate::model::WebAcl) -> Self { self.web_acl = Some(input); self @@ -952,7 +1232,7 @@ pub mod get_web_acl_output { self.web_acl = input; self } - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -980,15 +1260,19 @@ impl GetWebAclOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetSampledRequestsOutput { - ///

                                                                                        A complex type that contains detailed information about each of the requests in the sample.

                                                                                        + ///

                                                                                        A complex type that contains detailed information about each of the requests in the + /// sample.

                                                                                        pub sampled_requests: std::option::Option>, - ///

                                                                                        The total number of requests from which GetSampledRequests got a sample of MaxItems requests. - /// If PopulationSize is less than MaxItems, the sample includes every request that your Amazon Web Services resource + ///

                                                                                        The total number of requests from which GetSampledRequests got a sample of + /// MaxItems requests. If PopulationSize is less than + /// MaxItems, the sample includes every request that your Amazon Web Services resource /// received during the specified time range.

                                                                                        pub population_size: i64, - ///

                                                                                        Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. - /// However, if your Amazon Web Services resource received more than 5,000 requests during the time range that you specified in the request, - /// GetSampledRequests returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.

                                                                                        + ///

                                                                                        Usually, TimeWindow is the time range that you specified in the + /// GetSampledRequests request. However, if your Amazon Web Services resource received more + /// than 5,000 requests during the time range that you specified in the request, + /// GetSampledRequests returns the time range for the first 5,000 requests. + /// Times are in Coordinated Universal Time (UTC) format.

                                                                                        pub time_window: std::option::Option, } impl std::fmt::Debug for GetSampledRequestsOutput { @@ -1028,8 +1312,9 @@ pub mod get_sampled_requests_output { self.sampled_requests = input; self } - ///

                                                                                        The total number of requests from which GetSampledRequests got a sample of MaxItems requests. - /// If PopulationSize is less than MaxItems, the sample includes every request that your Amazon Web Services resource + ///

                                                                                        The total number of requests from which GetSampledRequests got a sample of + /// MaxItems requests. If PopulationSize is less than + /// MaxItems, the sample includes every request that your Amazon Web Services resource /// received during the specified time range.

                                                                                        pub fn population_size(mut self, input: i64) -> Self { self.population_size = Some(input); @@ -1039,9 +1324,11 @@ pub mod get_sampled_requests_output { self.population_size = input; self } - ///

                                                                                        Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. - /// However, if your Amazon Web Services resource received more than 5,000 requests during the time range that you specified in the request, - /// GetSampledRequests returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.

                                                                                        + ///

                                                                                        Usually, TimeWindow is the time range that you specified in the + /// GetSampledRequests request. However, if your Amazon Web Services resource received more + /// than 5,000 requests during the time range that you specified in the request, + /// GetSampledRequests returns the time range for the first 5,000 requests. + /// Times are in Coordinated Universal Time (UTC) format.

                                                                                        pub fn time_window(mut self, input: crate::model::TimeWindow) -> Self { self.time_window = Some(input); self @@ -1075,7 +1362,7 @@ impl GetSampledRequestsOutput { pub struct GetRuleGroupOutput { ///

                                                                                        pub rule_group: std::option::Option, - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub lock_token: std::option::Option, } impl std::fmt::Debug for GetRuleGroupOutput { @@ -1108,7 +1395,7 @@ pub mod get_rule_group_output { self.rule_group = input; self } - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -1138,7 +1425,7 @@ impl GetRuleGroupOutput { pub struct GetRegexPatternSetOutput { ///

                                                                                        pub regex_pattern_set: std::option::Option, - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub lock_token: std::option::Option, } impl std::fmt::Debug for GetRegexPatternSetOutput { @@ -1171,7 +1458,7 @@ pub mod get_regex_pattern_set_output { self.regex_pattern_set = input; self } - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -1316,6 +1603,69 @@ impl GetPermissionPolicyOutput { } } +#[non_exhaustive] +#[derive(std::clone::Clone, std::cmp::PartialEq)] +pub struct GetManagedRuleSetOutput { + ///

                                                                                        The managed rule set that you requested.

                                                                                        + pub managed_rule_set: std::option::Option, + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub lock_token: std::option::Option, +} +impl std::fmt::Debug for GetManagedRuleSetOutput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut formatter = f.debug_struct("GetManagedRuleSetOutput"); + formatter.field("managed_rule_set", &self.managed_rule_set); + formatter.field("lock_token", &self.lock_token); + formatter.finish() + } +} +/// See [`GetManagedRuleSetOutput`](crate::output::GetManagedRuleSetOutput) +pub mod get_managed_rule_set_output { + /// A builder for [`GetManagedRuleSetOutput`](crate::output::GetManagedRuleSetOutput) + #[non_exhaustive] + #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] + pub struct Builder { + pub(crate) managed_rule_set: std::option::Option, + pub(crate) lock_token: std::option::Option, + } + impl Builder { + ///

                                                                                        The managed rule set that you requested.

                                                                                        + pub fn managed_rule_set(mut self, input: crate::model::ManagedRuleSet) -> Self { + self.managed_rule_set = Some(input); + self + } + pub fn set_managed_rule_set( + mut self, + input: std::option::Option, + ) -> Self { + self.managed_rule_set = input; + self + } + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + pub fn lock_token(mut self, input: impl Into) -> Self { + self.lock_token = Some(input.into()); + self + } + pub fn set_lock_token(mut self, input: std::option::Option) -> Self { + self.lock_token = input; + self + } + /// Consumes the builder and constructs a [`GetManagedRuleSetOutput`](crate::output::GetManagedRuleSetOutput) + pub fn build(self) -> crate::output::GetManagedRuleSetOutput { + crate::output::GetManagedRuleSetOutput { + managed_rule_set: self.managed_rule_set, + lock_token: self.lock_token, + } + } + } +} +impl GetManagedRuleSetOutput { + /// Creates a new builder-style object to manufacture [`GetManagedRuleSetOutput`](crate::output::GetManagedRuleSetOutput) + pub fn builder() -> crate::output::get_managed_rule_set_output::Builder { + crate::output::get_managed_rule_set_output::Builder::default() + } +} + #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct GetLoggingConfigurationOutput { @@ -1370,7 +1720,7 @@ impl GetLoggingConfigurationOutput { pub struct GetIpSetOutput { ///

                                                                                        pub ip_set: std::option::Option, - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub lock_token: std::option::Option, } impl std::fmt::Debug for GetIpSetOutput { @@ -1400,7 +1750,7 @@ pub mod get_ip_set_output { self.ip_set = input; self } - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub fn lock_token(mut self, input: impl Into) -> Self { self.lock_token = Some(input.into()); self @@ -1457,13 +1807,19 @@ impl DisassociateWebAclOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DescribeManagedRuleGroupOutput { - ///

                                                                                        The web ACL capacity units (WCUs) required for this rule group. - /// WAF uses web ACL capacity units (WCU) to calculate and control the operating - /// resources that are used to run your rules, rule groups, and web ACLs. WAF - /// calculates capacity differently for each rule type, to reflect each rule's relative - /// cost. Rule group capacity is fixed at creation, so users can plan their - /// web ACL WCU usage when they use a rule group. - /// The WCU limit for web ACLs is 1,500.

                                                                                        + ///

                                                                                        The managed rule group's version.

                                                                                        + pub version_name: std::option::Option, + ///

                                                                                        The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to record changes + /// to the managed rule group. You can subscribe to the SNS topic to receive notifications when + /// the managed rule group is modified, such as for new versions and for version expiration. + /// For more information, see the Amazon Simple Notification Service Developer Guide.

                                                                                        + pub sns_topic_arn: std::option::Option, + ///

                                                                                        The web ACL capacity units (WCUs) required for this rule group. WAF uses web ACL + /// capacity units (WCU) to calculate and control the operating resources that are used to run + /// your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule + /// type, to reflect each rule's relative cost. Rule group capacity is fixed at creation, so + /// users can plan their web ACL WCU usage when they use a rule group. The WCU limit for web + /// ACLs is 1,500.

                                                                                        pub capacity: i64, ///

                                                                                        pub rules: std::option::Option>, @@ -1490,6 +1846,8 @@ pub struct DescribeManagedRuleGroupOutput { impl std::fmt::Debug for DescribeManagedRuleGroupOutput { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut formatter = f.debug_struct("DescribeManagedRuleGroupOutput"); + formatter.field("version_name", &self.version_name); + formatter.field("sns_topic_arn", &self.sns_topic_arn); formatter.field("capacity", &self.capacity); formatter.field("rules", &self.rules); formatter.field("label_namespace", &self.label_namespace); @@ -1504,6 +1862,8 @@ pub mod describe_managed_rule_group_output { #[non_exhaustive] #[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)] pub struct Builder { + pub(crate) version_name: std::option::Option, + pub(crate) sns_topic_arn: std::option::Option, pub(crate) capacity: std::option::Option, pub(crate) rules: std::option::Option>, pub(crate) label_namespace: std::option::Option, @@ -1511,13 +1871,36 @@ pub mod describe_managed_rule_group_output { pub(crate) consumed_labels: std::option::Option>, } impl Builder { - ///

                                                                                        The web ACL capacity units (WCUs) required for this rule group. - /// WAF uses web ACL capacity units (WCU) to calculate and control the operating - /// resources that are used to run your rules, rule groups, and web ACLs. WAF - /// calculates capacity differently for each rule type, to reflect each rule's relative - /// cost. Rule group capacity is fixed at creation, so users can plan their - /// web ACL WCU usage when they use a rule group. - /// The WCU limit for web ACLs is 1,500.

                                                                                        + ///

                                                                                        The managed rule group's version.

                                                                                        + pub fn version_name(mut self, input: impl Into) -> Self { + self.version_name = Some(input.into()); + self + } + pub fn set_version_name(mut self, input: std::option::Option) -> Self { + self.version_name = input; + self + } + ///

                                                                                        The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to record changes + /// to the managed rule group. You can subscribe to the SNS topic to receive notifications when + /// the managed rule group is modified, such as for new versions and for version expiration. + /// For more information, see the Amazon Simple Notification Service Developer Guide.

                                                                                        + pub fn sns_topic_arn(mut self, input: impl Into) -> Self { + self.sns_topic_arn = Some(input.into()); + self + } + pub fn set_sns_topic_arn( + mut self, + input: std::option::Option, + ) -> Self { + self.sns_topic_arn = input; + self + } + ///

                                                                                        The web ACL capacity units (WCUs) required for this rule group. WAF uses web ACL + /// capacity units (WCU) to calculate and control the operating resources that are used to run + /// your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule + /// type, to reflect each rule's relative cost. Rule group capacity is fixed at creation, so + /// users can plan their web ACL WCU usage when they use a rule group. The WCU limit for web + /// ACLs is 1,500.

                                                                                        pub fn capacity(mut self, input: i64) -> Self { self.capacity = Some(input); self @@ -1593,6 +1976,8 @@ pub mod describe_managed_rule_group_output { /// Consumes the builder and constructs a [`DescribeManagedRuleGroupOutput`](crate::output::DescribeManagedRuleGroupOutput) pub fn build(self) -> crate::output::DescribeManagedRuleGroupOutput { crate::output::DescribeManagedRuleGroupOutput { + version_name: self.version_name, + sns_topic_arn: self.sns_topic_arn, capacity: self.capacity.unwrap_or_default(), rules: self.rules, label_namespace: self.label_namespace, @@ -1786,7 +2171,7 @@ impl DeleteIpSetOutput { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct DeleteFirewallManagerRuleGroupsOutput { - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub next_web_acl_lock_token: std::option::Option, } impl std::fmt::Debug for DeleteFirewallManagerRuleGroupsOutput { @@ -1805,7 +2190,7 @@ pub mod delete_firewall_manager_rule_groups_output { pub(crate) next_web_acl_lock_token: std::option::Option, } impl Builder { - ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        + ///

                                                                                        A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

                                                                                        pub fn next_web_acl_lock_token(mut self, input: impl Into) -> Self { self.next_web_acl_lock_token = Some(input.into()); self diff --git a/sdk/wellarchitected/Cargo.toml b/sdk/wellarchitected/Cargo.toml index a24d13049fa6..9ee0872a32ba 100644 --- a/sdk/wellarchitected/Cargo.toml +++ b/sdk/wellarchitected/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-wellarchitected" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS Well-Architected Tool\n \n

                                                                                        This is the AWS Well-Architected Tool API Reference. The AWS Well-Architected Tool API provides programmatic access to the \n AWS Well-Architected Tool in the \n AWS Management Console. For information \n about the AWS Well-Architected Tool, see the \n AWS Well-Architected Tool User Guide.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/workdocs/Cargo.toml b/sdk/workdocs/Cargo.toml index 54c48b286297..aac3c984144f 100644 --- a/sdk/workdocs/Cargo.toml +++ b/sdk/workdocs/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-workdocs" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        The WorkDocs API is designed for the following use cases:

                                                                                        \n
                                                                                          \n
                                                                                        • \n

                                                                                          File Migration: File migration applications are supported for users who\n want to migrate their files from an on-premises or off-premises file system or\n service. Users can insert files into a user directory structure, as well as\n allow for basic metadata changes, such as modifications to the permissions of\n files.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          Security: Support security applications are supported for users who have\n additional security needs, such as antivirus or data loss prevention. The API\n actions, along with AWS CloudTrail, allow these applications to detect when\n changes occur in Amazon WorkDocs. Then, the application can take the necessary\n actions and replace the target file. If the target file violates the policy, the\n application can also choose to email the user.

                                                                                          \n
                                                                                        • \n
                                                                                        • \n

                                                                                          eDiscovery/Analytics: General administrative applications are supported,\n such as eDiscovery and analytics. These applications can choose to mimic or\n record the actions in an Amazon WorkDocs site, along with AWS CloudTrail, to\n replicate data for eDiscovery, backup, or analytical applications.

                                                                                          \n
                                                                                        • \n
                                                                                        \n

                                                                                        All Amazon WorkDocs API actions are Amazon authenticated and certificate-signed.\n They not only require the use of the AWS SDK, but also allow for the exclusive use of\n IAM users and roles to help facilitate access, trust, and permission policies. By\n creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM\n user gains full administrative visibility into the entire Amazon WorkDocs site (or as\n set in the IAM policy). This includes, but is not limited to, the ability to modify file\n permissions and upload any file to any user. This allows developers to perform the three\n use cases above, as well as give users the ability to grant access on a selective basis\n using the IAM model.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/worklink/Cargo.toml b/sdk/worklink/Cargo.toml index b44cf36c5462..d318434e0561 100644 --- a/sdk/worklink/Cargo.toml +++ b/sdk/worklink/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-worklink" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        Amazon WorkLink is a cloud-based service that provides secure access\n to internal websites and web apps from iOS and Android phones. In a single step, your users, such as\n employees, can access internal websites as efficiently as they access any other public website.\n They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink\n authenticates the user's access and securely renders authorized internal web content in a secure\n rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on\n mobile devices.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/workmail/Cargo.toml b/sdk/workmail/Cargo.toml index 1950f799277b..cceb05733d6a 100644 --- a/sdk/workmail/Cargo.toml +++ b/sdk/workmail/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-workmail" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        Amazon WorkMail is a secure, managed business email and calendaring service with support for\n existing desktop and mobile email clients. You can access your email, contacts, and\n calendars using Microsoft Outlook, your browser, or other native iOS and Android email\n applications. You can integrate WorkMail with your existing corporate directory and control\n both the keys that encrypt your data and the location in which your data is\n stored.

                                                                                        \n

                                                                                        The WorkMail API is designed for the following scenarios:

                                                                                        \n
                                                                                          \n
                                                                                        • \n

                                                                                          Listing and describing organizations

                                                                                          \n
                                                                                        • \n
                                                                                        \n
                                                                                          \n
                                                                                        • \n

                                                                                          Managing users

                                                                                          \n
                                                                                        • \n
                                                                                        \n
                                                                                          \n
                                                                                        • \n

                                                                                          Managing groups

                                                                                          \n
                                                                                        • \n
                                                                                        \n
                                                                                          \n
                                                                                        • \n

                                                                                          Managing resources

                                                                                          \n
                                                                                        • \n
                                                                                        \n

                                                                                        All WorkMail API operations are Amazon-authenticated and certificate-signed. They not\n only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management\n users and roles to help facilitate access, trust, and permission policies. By creating a\n role and allowing an IAM user to access the WorkMail site, the IAM user gains full\n administrative visibility into the entire WorkMail organization (or as set in the IAM\n policy). This includes, but is not limited to, the ability to create, update, and delete\n users, groups, and resources. This allows developers to perform the scenarios listed above,\n as well as give users the ability to grant access on a selective basis using the IAM\n model.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/workmailmessageflow/Cargo.toml b/sdk/workmailmessageflow/Cargo.toml index 3256e5ad9ab8..e8278582c540 100644 --- a/sdk/workmailmessageflow/Cargo.toml +++ b/sdk/workmailmessageflow/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-workmailmessageflow" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        The WorkMail Message Flow API provides access to email messages as they are\n being\n sent and received by\n a\n WorkMail organization.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/workspaces/Cargo.toml b/sdk/workspaces/Cargo.toml index 5c215bf9ecf5..8efd3d9aac23 100644 --- a/sdk/workspaces/Cargo.toml +++ b/sdk/workspaces/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-workspaces" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon WorkSpaces Service\n

                                                                                        Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows and\n Amazon Linux desktops for your users.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/xray/Cargo.toml b/sdk/xray/Cargo.toml index b704c5c0dc8e..93934559a05c 100644 --- a/sdk/xray/Cargo.toml +++ b/sdk/xray/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-xray" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

                                                                                        AWS X-Ray provides APIs for managing debug traces and retrieving service maps\n and other data created by processing those traces.

                                                                                        " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/xray/src/model.rs b/sdk/xray/src/model.rs index 9e3e4384a52b..a0a3dbbb9104 100644 --- a/sdk/xray/src/model.rs +++ b/sdk/xray/src/model.rs @@ -2956,7 +2956,7 @@ pub enum AnnotationValue { StringValue(std::string::String), } impl AnnotationValue { - pub fn as_boolean_value(&self) -> Result<&bool, &Self> { + pub fn as_boolean_value(&self) -> std::result::Result<&bool, &Self> { if let AnnotationValue::BooleanValue(val) = &self { Ok(&val) } else { @@ -2966,7 +2966,7 @@ impl AnnotationValue { pub fn is_boolean_value(&self) -> bool { self.as_boolean_value().is_ok() } - pub fn as_number_value(&self) -> Result<&f64, &Self> { + pub fn as_number_value(&self) -> std::result::Result<&f64, &Self> { if let AnnotationValue::NumberValue(val) = &self { Ok(&val) } else { @@ -2976,7 +2976,7 @@ impl AnnotationValue { pub fn is_number_value(&self) -> bool { self.as_number_value().is_ok() } - pub fn as_string_value(&self) -> Result<&std::string::String, &Self> { + pub fn as_string_value(&self) -> std::result::Result<&std::string::String, &Self> { if let AnnotationValue::StringValue(val) = &self { Ok(&val) } else {
            ///
          • ///

            - /// $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

            + /// $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier. To identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped in double quotes.

            ///
          • ///
          • ///

            @@ -841,7 +841,7 @@ pub mod object_reference { ///

              ///
            • ///

              - /// $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

              + /// $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier. To identify an object with ObjectIdentifier, the ObjectIdentifier must be wrapped in double quotes.

              ///
            • ///
            • ///

              @@ -1724,9 +1724,10 @@ impl Tag { #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct SchemaFacet { - ///

              The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

              + ///

              The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions. + /// If this value is set, FacetName must also be set.

              pub schema_arn: std::option::Option, - ///

              The name of the facet.

              + ///

              The name of the facet. If this value is set, SchemaArn must also be set.

              pub facet_name: std::option::Option, } impl std::fmt::Debug for SchemaFacet { @@ -1747,7 +1748,8 @@ pub mod schema_facet { pub(crate) facet_name: std::option::Option, } impl Builder { - ///

              The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

              + ///

              The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions. + /// If this value is set, FacetName must also be set.

              pub fn schema_arn(mut self, input: impl Into) -> Self { self.schema_arn = Some(input.into()); self @@ -1756,7 +1758,7 @@ pub mod schema_facet { self.schema_arn = input; self } - ///

              The name of the facet.

              + ///

              The name of the facet. If this value is set, SchemaArn must also be set.

              pub fn facet_name(mut self, input: impl Into) -> Self { self.facet_name = Some(input.into()); self @@ -5771,6 +5773,7 @@ pub struct BatchReadSuccessfulResponse { std::option::Option, ///

              The list of attributes to retrieve from the typed link.

              pub get_link_attributes: std::option::Option, + ///

              The list of parent objects to retrieve.

              pub list_object_parents: std::option::Option, } impl std::fmt::Debug for BatchReadSuccessfulResponse { @@ -6027,6 +6030,7 @@ pub mod batch_read_successful_response { self.get_link_attributes = input; self } + ///

              The list of parent objects to retrieve.

              pub fn list_object_parents( mut self, input: crate::model::BatchListObjectParentsResponse, @@ -6069,11 +6073,14 @@ impl BatchReadSuccessfulResponse { } } +///

              Represents the output of a ListObjectParents response operation.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchListObjectParentsResponse { + ///

              Returns a list of parent reference and LinkName Tuples.

              pub parent_links: std::option::Option>, + ///

              The pagination token.

              pub next_token: std::option::Option, } impl std::fmt::Debug for BatchListObjectParentsResponse { @@ -6113,6 +6120,7 @@ pub mod batch_list_object_parents_response { self.parent_links = input; self } + ///

              The pagination token.

              pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -7018,6 +7026,8 @@ pub struct BatchReadOperation { pub get_object_information: std::option::Option, ///

              Retrieves attributes within a facet that are associated with an object.

              pub get_object_attributes: std::option::Option, + ///

              Lists parent objects that are associated with a given object in pagination + /// fashion.

              pub list_object_parents: std::option::Option, ///

              Returns policies attached to an object in pagination fashion.

              pub list_object_policies: std::option::Option, @@ -7185,6 +7195,8 @@ pub mod batch_read_operation { self.get_object_attributes = input; self } + ///

              Lists parent objects that are associated with a given object in pagination + /// fashion.

              pub fn list_object_parents(mut self, input: crate::model::BatchListObjectParents) -> Self { self.list_object_parents = Some(input); self @@ -7984,12 +7996,17 @@ impl BatchListObjectPolicies { } } +///

              Lists parent objects that are associated with a given object in pagination +/// fashion.

              #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct BatchListObjectParents { ///

              The reference that identifies an object.

              pub object_reference: std::option::Option, + ///

              The pagination token.

              pub next_token: std::option::Option, + ///

              The maximum number of items to be retrieved in a single call. This is an approximate + /// number.

              pub max_results: std::option::Option, } impl std::fmt::Debug for BatchListObjectParents { @@ -8024,6 +8041,7 @@ pub mod batch_list_object_parents { self.object_reference = input; self } + ///

              The pagination token.

              pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -8032,6 +8050,8 @@ pub mod batch_list_object_parents { self.next_token = input; self } + ///

              The maximum number of items to be retrieved in a single call. This is an approximate + /// number.

              pub fn max_results(mut self, input: i32) -> Self { self.max_results = Some(input); self diff --git a/sdk/cloudformation/Cargo.toml b/sdk/cloudformation/Cargo.toml index f766939d97be..cae7af8377cc 100644 --- a/sdk/cloudformation/Cargo.toml +++ b/sdk/cloudformation/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudformation" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CloudFormation\n

              CloudFormation allows you to create and manage Amazon Web Services\n infrastructure deployments predictably and repeatedly. You can use CloudFormation\n to leverage Amazon Web Services products, such as Amazon Elastic Compute Cloud, Amazon\n Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto\n Scaling to build highly-reliable, highly scalable, cost-effective applications without\n creating or configuring the underlying Amazon Web Services infrastructure.

              \n

              With CloudFormation, you declare all of your resources and dependencies in a\n template file. The template defines a collection of resources as a single unit called a\n stack. CloudFormation creates and deletes all member resources of the stack\n together and manages all dependencies between the resources for you.

              \n

              For more information about CloudFormation, see the CloudFormation Product Page.

              \n

              CloudFormation makes use of other Amazon Web Services products. If you need\n additional technical information about a specific Amazon Web Services product, you can find\n the product's technical documentation at \n docs.aws.amazon.com\n .

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudfront/Cargo.toml b/sdk/cloudfront/Cargo.toml index f18237c71c90..2c2e088f8ba3 100644 --- a/sdk/cloudfront/Cargo.toml +++ b/sdk/cloudfront/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudfront" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon CloudFront\n\t\t

              This is the Amazon CloudFront API Reference. This guide\n is for developers who need detailed information about \n\t\t\tCloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudhsm/Cargo.toml b/sdk/cloudhsm/Cargo.toml index d544e9de5b99..778f3e4a11f3 100644 --- a/sdk/cloudhsm/Cargo.toml +++ b/sdk/cloudhsm/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudhsm" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CloudHSM Service\n

              This is documentation for AWS CloudHSM Classic. For\n more information, see AWS CloudHSM\n Classic FAQs, the AWS\n CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

              \n

              \n For information about the current version of AWS\n CloudHSM, see AWS CloudHSM, the\n AWS CloudHSM User Guide,\n and the AWS CloudHSM API\n Reference.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudhsmv2/Cargo.toml b/sdk/cloudhsmv2/Cargo.toml index 7a576ce83a70..c2d5872d6641 100644 --- a/sdk/cloudhsmv2/Cargo.toml +++ b/sdk/cloudhsmv2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudhsmv2" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

              For more information about AWS CloudHSM, see AWS CloudHSM and the AWS\n CloudHSM User Guide.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudsearch/Cargo.toml b/sdk/cloudsearch/Cargo.toml index 25a039a32f50..f25a99b314d8 100644 --- a/sdk/cloudsearch/Cargo.toml +++ b/sdk/cloudsearch/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudsearch" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "Amazon CloudSearch Configuration Service\n

              You use the Amazon CloudSearch configuration service to create, configure, and manage search domains.\n Configuration service requests are submitted using the AWS Query protocol. AWS Query requests\n are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action.

              \n

              The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com.\n For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints,\n see Regions and Endpoints.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudsearchdomain/Cargo.toml b/sdk/cloudsearchdomain/Cargo.toml index 0f689dc1a6cc..cd9cd1e18a4d 100644 --- a/sdk/cloudsearchdomain/Cargo.toml +++ b/sdk/cloudsearchdomain/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudsearchdomain" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

              You use the AmazonCloudSearch2013 API to upload documents to a search domain and search those documents.

              \n\n

              The endpoints for submitting UploadDocuments, Search, and Suggest requests are domain-specific. To get the endpoints for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. The domain endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. You submit suggest requests to the search endpoint.

              \n

              For more information, see the Amazon CloudSearch Developer Guide.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudtrail/Cargo.toml b/sdk/cloudtrail/Cargo.toml index b9c69aaa40e6..516c27edab73 100644 --- a/sdk/cloudtrail/Cargo.toml +++ b/sdk/cloudtrail/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudtrail" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "AWS CloudTrail\n

              This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

              \n

              CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service.

              \n \n \n

              As an alternative to the API,\n you can use one of the AWS SDKs, which consist of libraries and sample code for various\n programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs\n provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs\n take care of cryptographically signing requests, managing errors, and retrying requests\n automatically. For information about the AWS SDKs, including how to download and install\n them, see the Tools for Amazon Web Services\n page.

              \n
              \n

              See the AWS CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudwatch/Cargo.toml b/sdk/cloudwatch/Cargo.toml index 22d4f939ec2e..aebf4b48530c 100644 --- a/sdk/cloudwatch/Cargo.toml +++ b/sdk/cloudwatch/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudwatch" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

              Amazon CloudWatch monitors your Amazon Web Services (Amazon Web Services) resources and the\n\t\t\tapplications you run on Amazon Web Services in real time. You can use CloudWatch to collect and track\n\t\t\tmetrics, which are the variables you want to measure for your resources and\n\t\t\tapplications.

              \n\n\t\t

              CloudWatch alarms send notifications or automatically change the resources you are monitoring based on rules\n\t\t\tthat you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon EC2\n\t\t\tinstances. Then, use this data to determine whether you should launch\n\t\t\tadditional instances to handle increased load. You can also use this data to stop\n\t\t\tunder-used instances to save\n\t\t\tmoney.

              \n\n\t\t

              In addition to monitoring the built-in metrics that come with Amazon Web Services, you can monitor\n\t\t\tyour own custom metrics. With CloudWatch, you gain system-wide visibility into resource\n\t\t\tutilization, application performance, and operational health.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudwatchevents/Cargo.toml b/sdk/cloudwatchevents/Cargo.toml index a5391996c196..cb703ade862b 100644 --- a/sdk/cloudwatchevents/Cargo.toml +++ b/sdk/cloudwatchevents/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudwatchevents" -version = "0.0.15-alpha" +version = "0.0.16-alpha" description = "

              Amazon EventBridge helps you to respond to state changes in your AWS resources. When your\n resources change state, they automatically send events into an event stream. You can create\n rules that match selected events in the stream and route them to targets to take action. You\n can also use rules to take action on a predetermined schedule. For example, you can configure\n rules to:

              \n
                \n
              • \n

                Automatically invoke an AWS Lambda function to update DNS entries when an event\n notifies you that Amazon EC2 instance enters the running state.

                \n
              • \n
              • \n

                Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for\n detailed analysis of potential security or availability risks.

                \n
              • \n
              • \n

                Periodically invoke a built-in target to create a snapshot of an Amazon EBS\n volume.

                \n
              • \n
              \n

              For more information about the features of Amazon EventBridge, see the Amazon EventBridge User\n Guide.

              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" diff --git a/sdk/cloudwatchlogs/Cargo.toml b/sdk/cloudwatchlogs/Cargo.toml index 74e1c3026cfa..0b79b3ce6856 100644 --- a/sdk/cloudwatchlogs/Cargo.toml +++ b/sdk/cloudwatchlogs/Cargo.toml @@ -1,8 +1,8 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-cloudwatchlogs" -version = "0.0.15-alpha" -description = "

              You can use Amazon CloudWatch Logs to monitor, store, and access your log files from\n EC2 instances, AWS CloudTrail, and other sources. You can then retrieve the associated\n log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the\n AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

              \n

              You can use CloudWatch Logs to:

              \n
                \n
              • \n

                \n Monitor logs from EC2 instances in real-time: You\n can use CloudWatch Logs to monitor applications and systems using log data. For example,\n CloudWatch Logs can track the number of errors that occur in your application logs and\n send you a notification whenever the rate of errors exceeds a threshold that you specify.\n CloudWatch Logs uses your log data for monitoring so no code changes are required. For\n example, you can monitor application logs for specific literal terms (such as\n \"NullReferenceException\") or count the number of occurrences of a literal term at a\n particular position in log data (such as \"404\" status codes in an Apache access log). When\n the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch\n metric that you specify.

                \n
              • \n
              • \n

                \n Monitor AWS CloudTrail logged events: You can\n create alarms in CloudWatch and receive notifications of particular API activity as\n captured by CloudTrail. You can use the notification to perform troubleshooting.

                \n
              • \n
              • \n

                \n Archive log data: You can use CloudWatch Logs to\n store your log data in highly durable storage. You can change the log retention setting so\n that any log events older than this setting are automatically deleted. The CloudWatch Logs\n agent makes it easy to quickly send both rotated and non-rotated log data off of a host\n and into the log service. You can then access the raw log data when you need it.

                \n
              • \n
              " +version = "0.0.16-alpha" +description = "

              You can use Amazon CloudWatch Logs to monitor, store, and access your log files from\n EC2 instances, CloudTrail, and other sources. You can then retrieve the associated\n log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the\n Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

              \n

              You can use CloudWatch Logs to:

              \n
                \n
              • \n

                \n Monitor logs from EC2 instances in real-time: You\n can use CloudWatch Logs to monitor applications and systems using log data. For example,\n CloudWatch Logs can track the number of errors that occur in your application logs and\n send you a notification whenever the rate of errors exceeds a threshold that you specify.\n CloudWatch Logs uses your log data for monitoring so no code changes are required. For\n example, you can monitor application logs for specific literal terms (such as\n \"NullReferenceException\") or count the number of occurrences of a literal term at a\n particular position in log data (such as \"404\" status codes in an Apache access log). When\n the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch\n metric that you specify.

                \n
              • \n
              • \n

                \n Monitor CloudTrail logged events: You can\n create alarms in CloudWatch and receive notifications of particular API activity as\n captured by CloudTrail. You can use the notification to perform troubleshooting.

                \n
              • \n
              • \n

                \n Archive log data: You can use CloudWatch Logs to\n store your log data in highly durable storage. You can change the log retention setting so\n that any log events older than this setting are automatically deleted. The CloudWatch Logs\n agent makes it easy to quickly send both rotated and non-rotated log data off of a host\n and into the log service. You can then access the raw log data when you need it.

                \n
              • \n
              " authors = ["AWS Rust SDK Team ", "Russell Cohen "] license = "Apache-2.0" edition = "2018" diff --git a/sdk/cloudwatchlogs/src/client.rs b/sdk/cloudwatchlogs/src/client.rs index b164330f6b12..a746586c5f5a 100644 --- a/sdk/cloudwatchlogs/src/client.rs +++ b/sdk/cloudwatchlogs/src/client.rs @@ -211,7 +211,7 @@ pub mod fluent_builders { self } ///

              The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys.

              + /// For more information, see Amazon Resource Names - Key Management Service and Using Symmetric and Asymmetric Keys.

              pub fn kms_key_id(mut self, input: impl Into) -> Self { self.inner = self.inner.kms_key_id(input); self @@ -349,7 +349,7 @@ pub mod fluent_builders { self.inner = self.inner.set_to(input); self } - ///

              The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

              + ///

              The name of S3 bucket for the exported log data. The bucket must be in the same Amazon Web Services region.

              pub fn destination(mut self, input: impl Into) -> Self { self.inner = self.inner.destination(input); self @@ -416,7 +416,7 @@ pub mod fluent_builders { self } ///

              The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

              + /// For more information, see Amazon Resource Names - Key Management Service.

              pub fn kms_key_id(mut self, input: impl Into) -> Self { self.inner = self.inner.kms_key_id(input); self @@ -426,6 +426,11 @@ pub mod fluent_builders { self } ///

              The key-value pairs to use for the tags.

              + ///

              CloudWatch Logs doesn’t support IAM policies that prevent users from assigning specified tags to + /// log groups using the aws:Resource/key-name + /// or aws:TagKeys condition keys. + /// For more information about using tags to control access, see + /// Controlling access to Amazon Web Services resources using tags.

              pub fn tags( mut self, k: impl Into, @@ -1801,7 +1806,6 @@ pub mod fluent_builders { self } ///

              The token for the next set of items to return. (You received this token from a previous call.)

              - ///

              Using this token works only when you specify true for startFromHead.

              pub fn next_token(mut self, input: impl Into) -> Self { self.inner = self.inner.next_token(input); self @@ -1823,7 +1827,8 @@ pub mod fluent_builders { ///

              If the value is true, the earliest log events are returned first. /// If the value is false, the latest log events are returned first. /// The default value is false.

              - ///

              If you are using nextToken in this operation, you must specify true for startFromHead.

              + ///

              If you are using a previous nextForwardToken value as the nextToken in this operation, + /// you must specify true for startFromHead.

              pub fn start_from_head(mut self, input: bool) -> Self { self.inner = self.inner.start_from_head(input); self @@ -2433,7 +2438,15 @@ pub mod fluent_builders { ///

              Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. /// This parameter is required.

              ///

              The following example creates a resource policy enabling the Route 53 service to put - /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

              + /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of + /// your CloudWatch Logs resource, such as a log group or log stream.

              + ///

              CloudWatch Logs also supports aws:SourceArn + /// and aws:SourceAccount + /// condition context keys.

              + ///

              In the example resource policy, you would replace the value of SourceArn with the resource making the + /// call from Route 53 to CloudWatch Logs and replace the value of SourceAccount with + /// the Amazon Web Services account ID making that call.

              + ///

              ///

              /// { /// "Version": "2012-10-17", @@ -2446,11 +2459,19 @@ pub mod fluent_builders { /// "route53.amazonaws.com" /// ] /// }, - /// "Action":"logs:PutLogEvents", - /// "Resource": "logArn" + /// "Action": "logs:PutLogEvents", + /// "Resource": "logArn", + /// "Condition": { + /// "ArnLike": { + /// "aws:SourceArn": "myRoute53ResourceArn" + /// }, + /// "StringEquals": { + /// "aws:SourceAccount": "myAwsAccountId" + /// } + /// } /// } /// ] - /// } + /// } ///

              pub fn policy_document(mut self, input: impl Into) -> Self { self.inner = self.inner.policy_document(input); @@ -2509,8 +2530,9 @@ pub mod fluent_builders { } ///

              The number of days to retain the log events in the specified log group. /// Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

              - ///

              If you omit retentionInDays in a PutRetentionPolicy operation, - /// the events in the log group are always retained and never expire.

              + ///

              To set a log group to never have log events expire, use + /// DeleteRetentionPolicy. + ///

              pub fn retention_in_days(mut self, input: i32) -> Self { self.inner = self.inner.retention_in_days(input); self @@ -2605,7 +2627,7 @@ pub mod fluent_builders { /// subscription filter, for same-account delivery.

              ///
            • ///
            • - ///

              An AWS Lambda function belonging to the same account as the subscription filter, + ///

              A Lambda function belonging to the same account as the subscription filter, /// for same-account delivery.

              ///
            • ///
            diff --git a/sdk/cloudwatchlogs/src/error.rs b/sdk/cloudwatchlogs/src/error.rs index 261b010ec97e..90d91f07ca70 100644 --- a/sdk/cloudwatchlogs/src/error.rs +++ b/sdk/cloudwatchlogs/src/error.rs @@ -4684,7 +4684,7 @@ impl OperationAbortedException { } } -///

            The most likely cause is an invalid AWS access key ID or secret key.

            +///

            The most likely cause is an invalid Amazon Web Services access key ID or secret key.

            #[non_exhaustive] #[derive(std::clone::Clone, std::cmp::PartialEq)] pub struct UnrecognizedClientException { diff --git a/sdk/cloudwatchlogs/src/input.rs b/sdk/cloudwatchlogs/src/input.rs index 6db7ab7e060c..acc8dde0131d 100644 --- a/sdk/cloudwatchlogs/src/input.rs +++ b/sdk/cloudwatchlogs/src/input.rs @@ -23,7 +23,7 @@ pub mod associate_kms_key_input { self } ///

            The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys.

            + /// For more information, see Amazon Resource Names - Key Management Service and Using Symmetric and Asymmetric Keys.

            pub fn kms_key_id(mut self, input: impl Into) -> Self { self.kms_key_id = Some(input.into()); self @@ -363,7 +363,7 @@ pub mod create_export_task_input { self.to = input; self } - ///

            The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

            + ///

            The name of S3 bucket for the exported log data. The bucket must be in the same Amazon Web Services region.

            pub fn destination(mut self, input: impl Into) -> Self { self.destination = Some(input.into()); self @@ -538,7 +538,7 @@ pub mod create_log_group_input { self } ///

            The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. - /// For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

            + /// For more information, see Amazon Resource Names - Key Management Service.

            pub fn kms_key_id(mut self, input: impl Into) -> Self { self.kms_key_id = Some(input.into()); self @@ -4064,7 +4064,6 @@ pub mod get_log_events_input { self } ///

            The token for the next set of items to return. (You received this token from a previous call.)

            - ///

            Using this token works only when you specify true for startFromHead.

            pub fn next_token(mut self, input: impl Into) -> Self { self.next_token = Some(input.into()); self @@ -4086,7 +4085,8 @@ pub mod get_log_events_input { ///

            If the value is true, the earliest log events are returned first. /// If the value is false, the latest log events are returned first. /// The default value is false.

            - ///

            If you are using nextToken in this operation, you must specify true for startFromHead.

            + ///

            If you are using a previous nextForwardToken value as the nextToken in this operation, + /// you must specify true for startFromHead.

            pub fn start_from_head(mut self, input: bool) -> Self { self.start_from_head = Some(input); self @@ -5702,7 +5702,15 @@ pub mod put_resource_policy_input { ///

            Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. /// This parameter is required.

            ///

            The following example creates a resource policy enabling the Route 53 service to put - /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

            + /// DNS query logs in to the specified log group. Replace "logArn" with the ARN of + /// your CloudWatch Logs resource, such as a log group or log stream.

            + ///

            CloudWatch Logs also supports aws:SourceArn + /// and aws:SourceAccount + /// condition context keys.

            + ///

            In the example resource policy, you would replace the value of SourceArn with the resource making the + /// call from Route 53 to CloudWatch Logs and replace the value of SourceAccount with + /// the Amazon Web Services account ID making that call.

            + ///

            ///

            /// { /// "Version": "2012-10-17", @@ -5715,11 +5723,19 @@ pub mod put_resource_policy_input { /// "route53.amazonaws.com" /// ] /// }, - /// "Action":"logs:PutLogEvents", - /// "Resource": "logArn" + /// "Action": "logs:PutLogEvents", + /// "Resource": "logArn", + /// "Condition": { + /// "ArnLike": { + /// "aws:SourceArn": "myRoute53ResourceArn" + /// }, + /// "StringEquals": { + /// "aws:SourceAccount": "myAwsAccountId" + /// } + /// } /// } /// ] - /// } + /// } ///

            pub fn policy_document(mut self, input: impl Into) -> Self { self.policy_document = Some(input.into()); @@ -5878,8 +5894,9 @@ pub mod put_retention_policy_input { } ///

            The number of days to retain the log events in the specified log group. /// Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

            - ///

            If you omit retentionInDays in a PutRetentionPolicy operation, - /// the events in the log group are always retained and never expire.

            + ///

            To set a log group to never have log events expire, use + /// DeleteRetentionPolicy. + ///

            pub fn retention_in_days(mut self, input: i32) -> Self { self.retention_in_days = Some(input); self @@ -6078,7 +6095,7 @@ pub mod put_subscription_filter_input { /// subscription filter, for same-account delivery.

            ///
          • ///
          • - ///

            An AWS Lambda function belonging to the same account as the subscription filter, + ///

            A Lambda function belonging to the same account as the subscription filter, /// for same-account delivery.

            ///
          • ///